Forum : 9 - Synthèse sonore et banques de sons

La question des cordophones

isis999 utilisateur non connecté Belgique
Bonjour,

Je suis en train de réaliser une banque de sons de contrebasse (acoustique à 5 cordes, pizz et archet, bien sûr accessible à tou-te-s une fois terminée).

Et je suis confronté à un dilemme, que je ne parviens pas à résoudre, faute de connaissances.

L'enregistrement des échantillons (toujours ceux de l'Université de l'iowa, mon dada...) donne plusieurs fois la même note jouée sur des cordes différentes. Le musicien joue deux octaves complètes sur chaque corde (sauf Do), et nous avons donc, par exemple, quatre La2 différents, joués sur les cordes de Mi, La, Ré, Sol.
Magnifique, nous avons une belle palette de couleurs de l'instrument à disposition!

Mais comment faire?

Je peux facilement "oublier" ces subtilités, et par exemple ne prendre que les échantillons joués en première position sur les 4 premières cordes, et monter en position sur la plus aiguë uniquement (parti-pris relativement objectif, drastiquement réducteur et facile).

Ou au contraire ne choisir que les notes qui me semblent les plus représentatives de l'idée que j'ai de la couleur de l'instrument, peu importe la corde jouée (éminemment subjectif et tout aussi réducteur).

Ou alors créer autant d'instruments que de possibilités (un instrument en 1re position, un instrument pour la corde de La, un pour la corde de Mi, etc)?

Dans les deux premiers cas, non seulement on perd une grande partie de la variété sonore de ce cordophone, mais aussi la réalité de l'instrument: tout ce qui devrait être joué en montant de position, etc, ne correspondra jamais à la belle complexité sonore de la contrebasse.

Dans le 3e cas, sur quelle base établir les différents instruments, que choisir, comment organiser tout ça??? Cela est-il réaliste, jouable en échantillonneur virtuel, sans bouffer trop de CPU, de RAM...?

Existe-t-il une 4e voie???


N'ayant pas accès aux banques de son "pro", comme la VSL , et je ne sais pas comment ils s'y sont pris, ni pour quel parti ils ont opté (tout ce que j'en sais, c'est qu'ils ont enregistré une grande variété d'articulations...) Mais ils ont sûrement ont dû en tenir compte.

Avez-vous connaissance d'un moyen efficace pour prendre en compte l'ensemble des échantillons, dans une banque de son, dès lors que la même note apparaît plusieurs fois avec des rendus différents? Et de donner la consigne à l'échantillonneur pour que soit joué tel ou tel échantillon de cette note, en fonction du rendu sonore voulu?


Merci d'avance pour vos idées, pour le partage de vos connaissances... biggrin

Bonne journée

olof utilisateur non connecté
hmmm, une banque de son avec gestion des differentes positions par le biais de program change ? en tant que guitariste, si je voulais vraiment avoir le rendu sonore distinct selon la position, je verrais bien ça ... comment fais tu pour la distinction arco/pizz, par exemple ?

isis999 utilisateur non connecté Belgique
Bonjour Olof,

Ben le moyen que je connais est simple, pour ce que j'en sais, et limité à la fois: en format SF2 ou en GIG, je crée deux instruments distincts. Ce qui oblige à changer d'instrument dans l'échantillonneur chaque fois que tu veux changer entre pizz et arco.

Dans LinuxSampler, en chargeant les deux instruments dans le moteur, tu peux passer de l'un à l'autre assez facilement. Mais il y a tout de même un temps de réponse (rechargement de l'instrument), plus ou moins long, selon le "poids" des échantillons, ce qui peut interférer négativement dans un life. Limite...

Mais j'imagine moins bien de passer d'un instrument "CB-Corde A" à un autre "CB-Corde E", par exemple... Quelle gymnastique intellectuelle! On n'est plus dans l'émotion créative, là! eek

Je suis encore novice dans ce domaine, mais je ne connais pas aujourd'hui d'autre moyen.
Si ça existe, ça m'a échappé... Merci alors de compléter! smile

ElectroKarma utilisateur non connecté
Salut isis,

On pourrait faire des expériences avec le format SFZ sur ton cas concret. Avoir une belle contrebasse sous la main n'est pas négligeable, ça vaudrait le coup d'essayer. D'autant qu'il me faudra impérativement des cordes acoustiques de grande qualité. De ce que j'en ai expérimenté, le format SFZ permet de restituer fidèlement les samples d'origine, il est non destructeur. De plus, moyennant des heures de peaufinage, il est doté dans sa version 2 de tous les paramètres imaginables affectant le jeu (La version 2 est encore non reconnue par Linux Sampler -> mais qu'est-ce qu'ils attendent ?! Même la molette de modulation n'est pas accessible ! Grrr)

Je crois avoir vu passer dans mes pérégrinations cette banque de sons quelque part, mais peux-tu m'en rappeler la source, le lien ? Je ferais des essais de mon côté, dès que j'en aurais fini avec cette fichue banque de sons du Monopoly qui me fait encore tourner en bourrique evil... ou bien pour justement sortir un moment du Monop, histoire de prendre l'air mrgreen

D'après ce que j'ai pigé avec SFZ il est possible de combiner plusieurs couches sonores (layers), dont chacune sera rendue audible suivant par exemple le niveau de vélocité, mais ce peut être aussi suivant la position de la molette de modulation (cc1), ou tout ce qu'on veut en contrôle MIDI. Le plus logique est toutefois la vélocité pour ton cas.

L'idée : on créé un groupe pour la note, on créé ensuite autant de régions qu'il y a de samples disponibles interprétant la note considérée, on définit pour chacune d'elles le paramètre (cf: vélocité) et sa plage de déclenchement. Plus finement, il faudrait voir comment réaliser des "crossfade" entre les couches et non pas seulement des déclenchements qui brutalement passe d'un sample à l'autre une fois le seuil du paramètre considéré franchi. Je ne touche pas ma bille en MAO, mais je sais que nombre de synthés hardware savent très bien faire ça pour les avoir pratiqués (je pense par exemple à la série JV de Roland dont chaque programme est composé de quatre synthés (couches), chacun disposant de ses propres courbes de réponse au clavier), il suffit de s'inspirer de leur logique. D'autant que SFZ ne limite pas le nombre de layers.

Pour la logique donc, rien de compliqué. Long peut-être, certes. Mais le plus dur sera d'affiner au plus naturel possible, toutes oreilles tendues, le rendu général. Nous avons ceci en commun tous les deux d'avoir touché du doigt la musique baroque par le passé, et je pense que saisir les nuances de ce genre d'instrument peux aider à appréhender la part subjective/artistique de ce travail.

Question : est-ce que cette banque de sons possède des samples avec effets vibrato ? Si oui, ceux-ci pourraient être déclenchés avec l'aftertouch. Ca gagnerait encore davantage en naturel.

En tout cas, bien des expérimentations sont possibles.

A noter qu'il existe une banque de sons au format sfz et Kontakt que je n'ai pas testée (temps de téléchargement trèèèèès long), mais qui paraît-il est aboutie : http://www.karoryfer.com/karoryfer-samples/wydawnictwa/cello
Je ne sais pas ce que ça vaut, mais peut-être devrait-on s'inspirer de ces sfz ? Ou finalement abandonner l'idée après les avoir téléchargé car tellement-leur-son-c'est-de-la-tuerie-qu'on-fera-jamais-mieux mrgreen

olof utilisateur non connecté
interessante cette fonction qui permet de choisir la couche selon un parametre au choix. mais moi je dirais surtout pas selon la velocité, qui ne correspond pas du tout à ce cas. elle va bien si on dispose de plusieurs echantillons joués ... a des velocités differentes rolleyes.

ensuite plutot qu'une gestion par corde, une gestion par position serait plus en accord avec la realité du jeu : on ne joue pas toute une gamme sur une seule corde, mais sur une position, si, les phrases musicales sont souvent intimement liées à une position de jeu.

et si linuxsampler ne lit pas le format 2 des sfz, y a t'il un autre programme libre sous linux qui sache le faire ?

isis, tu utilises quel logiciel pour creer la font à partir des echantillons ?

isis999 utilisateur non connecté Belgique
Merci pour vos intervention! smile

C'est juste un petit mot en passant pour vous dire que là, ça devient vraiment passionnant!

Et je prends le temps cette nuit, tard, très tard... quand j'aurai rangé mes casquettes familiales,(si pas top fatigué) ou demain, pour continuer à explorer ce sujet avec vous!
On va faire des trucs grandioses, je le sens!

Très bon début de soirée à vous smile

ElectroKarma utilisateur non connecté
@olof

Pas la vélocité OK. J'avais mal compris en effet : le but est de disposer des couleurs sonores différentes selon la corde jouée. C'est une question de timbre, et non de volume ou dynamique de jeu. Gardons la vélocité dans son rôle classique. Il me semble pourtant qu'on approche du but : si pas la vélocité, autre chose alors ? Qu'est-ce qui est dispo sous la main en cours de jeu pour un claviériste, car il me semble que le but sera de pouvoir le jouer au clavier ?
Qu'avons-nous ? Pitch-bender, molette de modulation, aftertouch, vélocité. En fait, c'est à peu près tous les contrôles dispos sur une majorité de claviers. Je raisonne bien sûr hardware, car je suis à 90% équipé hardware et n'ai pas encore exploré tous les trucs étranges qu'un PC peut faire en la matière.

J'expose ici cet angle de vue du problème posé, car je ne vois pas ce que tu entends par "gestion par position". Je ne comprend pas trop ce que ça pourrait être. Comme je l'entends, les positions des notes sur un clavier et celle d'un instrument à corde sont naturellement différentes, de façon immuables, car physiquement propres à chaque instrument. Aussi qu'est-ce précisément ce que tu entends par "gestion par position" ? Désolé, j'ai des défauts de comprenette parfois redface

EDIT : t'embêtes pas : j'ai pigé ça y est idea (je viens de te relire en détail). Oui en effet : très bonne suggestion. Sauf qu'il n'y aura au final toujours qu'une seule variante sonore disponible sous les doigts. Certes on progressera avec un timbre différent suivant la note jouée, mais pour une note donnée, nous n'aurons quand même qu'un seul timbre. Le Do3 jouera par exemple la corde 2, le Ré3 la corde 3, le timbre sera variant, mais le jeu demeurera figé selon ce schéma, tout autant qu'une simple gestion par vélocité ou équivalent. Ce sera plus naturel, certes, mais on est encore loin de l'idéal auquel songe isis. Car des Do3 il n'y en a pas qu'un. C'est justement là le problème posé, quasi mathématique - ou logique. A nous de trouver la bonne clé de l'énigme. Dans ces moments-là je ferme l'ordi et je prend un crayon, un papier et je songe à la question posée wink.

Déjà première des choses : bien connaître l'instrument en question : quelles sont les plages de notes jouées par chacune des cordes ? Quelle est sa tessiture ? Quels sont les nuances et types de jeu possibles ? De quels échantillons disposons-nous et que couvrent-ils en matière de jeu ? Cela déterminera le schéma d'ensemble (programmation de keyswitches, layers...).

@isis

Houlààà, grandioses je ne sais pas. Disons que si on peux faire des trucs sympas ce sera déjà pas si mal. Et disposer d'une banque de sons de bonne facture fait partie de ces choses sympathiques qui se mêlera aux autres avancées dans le domaine du libre. Ce qui sera grandiose en revanche, ce sera de composer LA partition du siècle avec. Le genre de truc qui traversera les âges comme nos prédécesseurs l'ont fait. Et ça c'est une autre histoire. N'est pas Beethoven, Haendel ou Lizt qui veut...

En revanche et ça j'y crois : plus on disposera de banques de sons qui tiennent la route, plus d'utilisateurs il y aura et plus d'utilisateurs il y aura, davantage les développeurs développeront pour notre plus grande satisfaction. biggrin

olof utilisateur non connecté
voici l'accord de la contrebasse :

elle s'accorde en quartes comme une basse electrique, ou les 4 cordes basses de la guitare.

ce qui veut dire que l'on en joue comme d'une basse, à savoir généralement 4 demi tons par position de jeu :

position 1 :

- la corde basse donne mi à vide (une octave plus bas que le mi du bas de la clé de fa), fa à l'index, fa# au majeur, sol à l'annulaire, sol# au petit doigt
- la deuxieme donne la à vide, sib à l'index, si au majeur, do à l'annulaire, do# au petit doigt
- la 3e : de ré à vide à fa#
- la 4e : de sol à vide à si

dans cette position de jeu, aucune note n'est doublée, donc chaque note peut avoir son echantillon unique pour cette position.

alors dans la pratique, contrairement au violon (qui lui est accordé en quinte) ou on appelle position 2 la position qui demarre completement apres la position un, à la basse on appelle position 2 la position ou l'index se trouve en face du fa# sur la grosse corde, et qui va donc jusqu'au la au petit doigt sur cette meme corde.

mais cela ne conviendrait pas pour la font de creer un instrument par position de jeu, il y aurait bien trop de redondances, sans compter que dans la pratique on "demanche" souvent, en changeant de position en cours de phrase.

par contre il serait suffisant pour gerer tous les cas de figure, de creer donc un instrument pour la position 1, un pour la position 5 (du la au do pour la grosse corde), un pour la position 9 (du do# au mi pour la grosse corde), un pour la position 13 (du fa au sol#) et un pour la position 17 (du la au do)

on comprend bien que le fa de la position 13 est une octave plus haut que celui de la position 1.

maintenant passer d'une position à une autre, je vois bien en effet utiliser la molette de modulation. de combien de positions differentes dispose t'elle ? (l'ideal serait donc 5), et de garder le pitch ben pour ... faire du pitch bend, ce qui est tout à fait indiqué pour la contrebasse qui n'a pas de frettes, à nous les glissandis !

mais je songeais pour ma part plutot à utiliser les program change et faire tout simplement 5 instruments correspondant aux 5 positions susmentionnées et envoyer un donc un program change selon la position ou on désire jouer, tout comme on le ferait pour passer à la volée d'un son de clarinette à celui d'un saxo par exemple.
Mais cela correspond à une utilisation plutot live.
pour utiliser avec un editeur de partition type musescore par exemple, il faut encore réfléchir d'une autre manière, je ne sais pas ce qu'il fait pour faire la distinction entre une trompette normale et une trompette bouchée par exemple, mais je sais qu'il peut le faire sans changer de piste...

... affaire à suivre

yruama utilisateur non connecté
bon, je passe par là...

pour ce qui est des banque de son commerciale, je ne pense pas qu'ils aient ce genre de considération. je pense qu'ils préfèrent passer leur temps et leur énergie sur des chose plus évidente comme la gestion des articulations et les effets de jeux.

Après je pense qu'utiliser un controlleur pour changer la corde ou la position de jeu peut etre une bonne idée.

@ElectroKarma : je pense que le crossfade entre couche est a éviter sur un instruments solo. Dans les zone intermédiaire, ça risque de sonner comme 2 instruments qui joue la même note.

@olof alors pour le rendu de certain effet jeu dans musescore, la méthode est simple. muscore utilise 1 "instruments" par type d'effet de jeu. Ca se voit dans le mélangeur audio. Par exemple, si tu crée une portée de violon, ca va créer 3 instrument dans le mélangeur : violon normal, violon pizziato,violon tremolo.

olof utilisateur non connecté
@yruama oui c'est ce qu j'avais remarqué avec la voix de trompette, la question est de savoir comment on a le controle sur le passage d'un instrument à l'autre

isis999 utilisateur non connecté Belgique
@ tous,
Merci pour vos interventions!
Donc, jusqu'ici, il semble que ce soit possible, de conserver la diversité de timbre par position, sur les cordophones! Génial, et merci pour vos idées lumineuses.

Voici une petite synthèse de ce qui a déjà été développé dans ce fil. C'est dense! smile

- Tout d'abord, il semble qu'il y a nécessité de disposer de très bonnes banques de sons sous Linux... Ce type de projet aurait donc du sens.
- Le format SFZ version 2 offre une souplesse d'utilisation compatible avec des projets complexes.
- Mais LinuxSampler ne reconnaît pas encore ce format.
- Question: quel autre échantillonneur libre lit-il les SFZ version 2?

- Deux propositions: soit créer des couches différentes pour chaque position, en utilisant par ex. la molette de modulation pour passer de l'une à l'autre.
soit créer des instruments différents., même molette de modulation pour passer de l'un à l'autre, ou alors le Program Change (MIDI).
- Garder le PitchBend pour les glissandi.
- Pour la CB, 5 instruments suffiraient: position 1 (corde grave -MI- à vide ->sol#)
position 5 (la -> do)
position 9 (do# -> mi)
position 13 (fa -> sol# -octave)
position 17 (la -> do)
- Ceci sans oublier la gestion des articulations, des effets de jeux.
- Question de savoir comment gérer ces divers instruments dans un éditeur comme MuseScore?

isis999 utilisateur non connecté Belgique
Pour ma part, voici:

Objectivement, les échantillons de l'University of Iowa sont très bien enregistrés, dans des conditions matérielles et acoustiques professionnelles. Cependant, ils sont inégaux en qualité, variant d'un instrument à l'autre, et même au sein d'un même instrument. La qualité de chaque note peut différer d'une autre: attaque, justesse, longueur... En fonction du musicien qui joue.

Ils sont donc exploitables, à mon avis, sous l'angle du rendu sonore fidèle qu'ils offrent pour chaque instrument.
Quant au reste, c'est parfois aléatoire...

Pour cette CB, par exemple, ils offrent de très bons sons dans les graves et les positions pas trop hautes (une octave? Une et demi?). Les attaques et la justesse des positions hautes laissent parfois à désirer... Mais il est possible de corriger ceci, pour cette CB.

Ils n'offrent malheureusement que deux types de jeux: pizz et arco (environ une longueur d'archet). Aucune articulation, pas de vibrato... Et c'est une règle pour la plupart des instruments disponibles à cette source, que de ne pas fournir (ou peu) de diversité de jeux.

Donc, en vérité, il y a un GROS travail à fournir en amont: l'enregistrement d'échantillons sonores (plus que) décents... (Ce qui me passionnerait, d'ailleurs. smile )

@ElectroKarma: Le cello de Karoryfer: oui, je l'ai mrgreen Excellent mrgreen et je n'ai pas encore fait le tour... Et la licence ne prévoit aucune restriction de diffusion explicite (ni implicite, selon moi).
licence de Karoryfer écrit :
This sample library is royalty-free for all commercial and non-commercial use. The samples and sfz files are also open-source, and we especially encourage adaptation, reuse and further improvement of the vibrato, legato and humanization. The Kontakt instrument uses Robert D. Villwock's WIPS scripts - please see his site regarding information on reuse and modification of those scripts.
Copyright 2016 Karoryfer Lecolds and bigcat instruments.


Je peux l'uploader sur cjoint.com, si c'est plus rapide et que ça intéresse quelqu'un...

isis999 utilisateur non connecté Belgique
Enfin - et après j'arrête de vous casser les... oreilles! Promis, pour aujourd'hui mrgreen :

J'ai presque terminé d'enlever les silences d'avant les attaques et de fin, sur les 208 échantillons de cette contrebasse, avec Audacity. Boulot répétitif et fastidieux.
Ensuite (dès demain je pense), ils seront à votre disposition. Sur cjoint.com? C'est un bon plan?

De mon côté, je vais contrôler la justesse des notes, toutes les attaques, et commencer cette banque SFZ, en tenant compte de vos réflexions éclairées! smile

Question: Toujours pas possible d'obtenir librement la doc officielle sur la version 2 des SFZ??? J'ai demandé l'accès sur Google drive, mais sans réponse jusqu'ici. (Je viens de réitérer la demande). Cela semble "un peu" cadenassé...rolleyes

On continue, oui, hein?biggrin

Bonne fin de journée

olof utilisateur non connecté
apres réflexion , il me prait interessant de te proposer une petite modification à la répartition des notes par position :

il serait plus simple, et resterait tres pres de la realité de jeu de l'instrument, de n'implementer que 4 positions :

la position "0" de mi à sol#, la position 5 de la à do#, la position 10 de re à fa#, la position 15 de sol à à si, et s'il reste des echantillons, ajouter ceux au dela de la position 20 uniquement sur la corde de sol (on ne joue quasiment jamais au dela de la "case" 20 sur d'autres cordes que l'aigue)

cette repartition apporte une plus grande clarté car on change de position seulement lorsqu'on rencontre une nouvelle variante des cordes à vide.

olicha utilisateur non connecté France
Bonjour,
Je passe un peu tard sur cette conversation. Je vais juste donner mon avis de musicien classique qui écrit pour orchestre.

Je ne me suis jamais posé la question pour la contrebasse mais j'ai souvent rencontré l'écriture de passages orchestraux sur une seule corde pour les violons, altos et violoncelles. J'aurais déjà aimé pouvoir écrire un passage "Sul G" pour violon si la banque de sons me l'avait autorisé.

Par ailleurs, lorsqu'on précise "Sul G", c'est pour toute une phrase, pas pour une note.
Si, en tant que compositeur, je connais l'accord des cordes des instruments pour lesquels j'écris, je me perds rapidement dans les positions qui ne me servent pas beaucoup, même pour écrire des doubles ou triples cordes (il y a des intervalles plus faciles que d'autres, quelque soit la position).

Donc quand j'écris un passage pour violon, je m'attendrais à trouver, à côté de "sustenuto", "staccato", "pizz", plutôt "sul G", "sul D" et "sul A". Personnellement je n'imagine utiliser que le premier. Il me semble que les passages écrits sur une corde sont plutôt dans une articulation soutenue. Je ne pense pas entendre la différence sur un pizz. Mais je ne suis pas du tout violoniste. Et je ne me pose pas non plus la question de la position qui sera choisie par l'interprète pour jouer ce que je lui ai écrit. C'est lui le spécialiste de son instrument et, si je le remplace par un ordinateur, je suis incapable d'expliquer à la machine comment jouer comme un vrai.

Du point de vue pratique de la MAO, j'ai initialement essayé de n'utiliser qu'une piste pour un instrument, en envoyant des commandes pour changer d'articulation, mais j'ai eu quelques soucis de temps de latence dans le changement. Au final, je crée autant de pistes que d'articulations. L'informatique d'aujourd'hui absorbe ça sans problème.

Voilà pour le retour utilisateur.

isis999 utilisateur non connecté Belgique
Merci olicha pour ces infos passionnantes!

Peu à peu, on commence à cerner les besoins, et c'est vraiment intéressant! On commence à voir comment créer des banques de sons complètes, adaptées aux utilisateurs.

Pas assez de temps aujourd'hui, ni ce soir, pour en discuter... Mes poulettes sont exigeantes, et là je vais faire la tambouille! smile

Mais demain, oui!

Très bonne soirée, à toi ainsi qu'à tou(te)s qui liront smile

isis999 utilisateur non connecté Belgique
Bonsoir,
Voila j'ai enfin terminé de "nettoyer" les 208 échantillons: ils sont exempts de silences.
Je vais commencer la banque, en tenant compte des infos des posts de ce fil.

Si qqu'un a envie de s'y atteler aussi, soit en collaboration, soit de son côté, ils sont à disposition.
Mais comment les partager?
cjoint.com: pas adapté.
Wetransfer? OK, mais envoyez-moi une adresse mail en MP.
Une autre idée?

Bonne soirée smile