Se connecter
Se connecter

ou
Créer un compte

ou

Sujet Création d'un synthé sous Matlab (Choc par ici !)

  • 114 réponses
  • 7 participants
  • 14 243 vues
  • 9 followers
Sujet de la discussion Création d'un synthé sous Matlab (Choc par ici !)
Salut à tous et à Choc qui a intérêt à se ramener vite fait :ptdr:

Bon, je me suis acheté un Palm T|X pour pouvoir faire tourner dessus le séquenceur MIDI Bhajis Loops (basé sur un sampleur et sur des banques d'échantillons, une vraie tuerie ce soft !). Donc j'ai commencé à sampler plein de trucs à droite et à gauche pour en faire des WAV qui sont lisibles par ce logiciel.

Je me suis dit que c'était comme même dommage qu'il n'y ait pas de VSTis sur ce séquenceur, même si je sais pertinemment que de toutes façons, au vu de la puissance des CPU pour Palm, ça serait complètement impossible... Du coup je me suis dit que ça serait génial d'avoir un synthétiseur sur Palm, qui ne fonctionne pas en temps réel mais qui permette d'exporter des WAV pour les utiliser dans Bhajis Loops ! Ca serait parfait.

J'ai donc deux solutions pour faire ça : la première c'est de développer un soft avec un compilateur pour Palm OS, comme HB++... Ca a l'air un peu pénible comme même mais c'est faisable...

La deuxième solution, qui me convient le plus, c'est un Matlab like gratuit qui existe sur Palm OS qui s'appelle LyME ! Ainsi, j'aurais qu'à écrire le programme et changer les définitions de variables au début pour le paramétrer... En plus je crois qu'il y a des fonctions pour faire une vraie GUI donc c'est parfait. Le seul hic, c'est que ce soft ne fait pas encore l'import/export en WAV, mais j'ai contacté les developpeurs à ce sujet, donc ça sera peut être possible...Donc, en attendant, je vais m'y mettre sur Matlab !

En gros, si vous avez des conseils, je suis preneur... Je vais faire un truc de synthèse additive pour commencer avec 2 ou 3 oscillos, autant de filtres, un LFO etc. et ensuite il faudra que l'utilisateur spécifie un fréquence d'échantillonnage et une note/octave, pour créer un fichier WAV correspondant... Bref il me faut un truc versatile, qui crée une bonne variété de sons différents, et peut-être que je vais tester ensuite d'autres types de synthèse. Quelques suggestions ? Des remarques sur mon projet ?

Autre question en passant : qu'est-ce qui donne le caractère de tel ou tel autre synthétiseur numérique ? Est-ce les formes d'ondes (par exemple un sinus bruité modélise sur du sinus analogique au lieu d'un sinus numérique parfait), la nature des filtres ?

Choc > je suis en train de me plonger dans tes sources Matlab sur la synthèse, c'est très intéressant et ça va bien m'aider :bave:

Développeur de Musical Entropy | Nouveau plug-in freeware, The Great Escape

Afficher le sujet de la discussion
81
Ouaih, perso ca me soualle tous ces langages tous ces trucs...

Rien que les synthé modulaires genre MaxmPS c'est le bordel, tiens, tu fais des scripts en Javascrript, tu fais des external en C, tu peux faire du Java etc...tu connectes tes briques a la volé avec des script etc...tu fais faire de l'open gl, il te faut jitter ou alors des briques javscript, tu veux compiler ton truc en VST, il te faut pluggo

Fuck, j'suis pas un geek, ras le bol de tout ca..

Donc matlab j'aime bien, y a plein de truc pre programmé et tres puissant, ca va peut etre pas trop vite, mais a la rigueur je m'en fous :bravo:
82
C'est comme tout, ca depend de ce tu veux faire. Si tu veux faire de l'openGL avec matlab, tu peux t'amuser aussi :)

perso, j'ai touche a python parce que matlab n'avait pas de liste, et donc que c'est impossible d'avoir le concept de vecteurs de taille variable (il y a bien les cells arrays, mais ca marche avec rien, il faut looper dessus...). Puis apres, j'ai essaye d'autres trucs. Les trucs qui me saoulent dans matlab, et qui m'ont decide:

- le prix
- l'absence de listes
- la difficulte de faire de faires de bonnes figures "publication ready" avec (le subplot est une horreur a gerer pour l'export en postscript)
- la difficulte de gerer beaucoup de parametres en meme temps (pas de vraies functions a arguments variable, pas de keyword, pas de vraie structure objet). Sur de gros projets, ca rend le code super degueu (typiquement, je comprends rien a netlab ou les excellentes toolboxes de Murphy, parce c'est du code spaghetti)
- la nullite de l'interface pour ecrire des extensions en C (ca, c'est vraiment chiant).

Apres, ce sont pas forcement des trucs fondamentaux pour tout le monde.
83
Je repars sur mes histoires de synthés...

J'ai découvert deux freewares récemments, STS-24 et ProtoPlasm de HG Fortune (ceux qui ont fait le Friday Freeware de la semaine). Je les trouve vraiment très bien, ça sonne bordel :aime: Mais surtout, ce que je trouve particulièrement intéressant, c'est au niveau du concept : au lieu d'avoir des formes d'ondes "de base" comme des dents de scie, des sinus etc., les oscillos balancent toutes sortes de sons échantillonnés, comme des ensembles de cordes, et ma foi ça rend super bien pour faire des nappes...

Faudrait que je regarde à quel point le son est "magnifié" par la partie synthèse, en comparant les oscillateurs seuls et le rendu optimal des synthés. J'aimerais savoir aussi quels critères permettent de sélectionner des sons utilisables dans la partie "oscillo" (quelle longueur, quelle fréquence, quelle nature etc).

Vous connaissez pas des synthés logiciels qui ont la même approche ? Comment ça rend par rapport à de la synthèse avec des formes d'ondes de base ?

J'aimerais bien mettre une section convolution aussi, en m'inspirant de ce que j'ai mis dans la section "créative" de mon dossier AF sur le sujet...

On verra tout ça à la fin de mon stage :)

Développeur de Musical Entropy | Nouveau plug-in freeware, The Great Escape

84

Citation : Vous connaissez pas des synthés logiciels qui ont la même approche ? Comment ça rend par rapport à de la synthèse avec des formes d'ondes de base ?



Dans absynth, tu peux utiliser des oscillo en mode sampleur ou tu importe une forme d'onde...enfin je sais pas si c'ets vraiement ca que tu cherches

a mon avis pour que ca marche, il faut que tu tu conserves a partir d'un sample (vilon ou piano) une partie stationnaire du signal (au sens microscopique). Comme quadn tu boucles en sampling sur le sustain !


C'ets derniers temps je m'amuse a faire des patch absynth avec des oscillos qui genere des amples de violons ou de cuivres, apres je triate le son comme je le fait d'habitude, comb filter en pagaille, LFO, delay, etc.

Au niveau de la convolution, ca peut etre tre ssympa effectivement.
En numerique, y a plein de probleme pour la simulation de filtres analo par exemple (genre la TB303) ou pour d'autres modules difficilement reproductible en numerique. On pourrait exquiver le probleme en proposant des modules pouvant etre cablé aux modeles de synthése basée sur de la convolution....genre tel oscillo on l'injecte dans une simu d'ampli lampe, puis ensuite on l'injecte dans des modules purement numeriques (comb filter par exemple) etc...faire en sorte un truc semblable a l'evolver ou l'architecture du synthé hard est composé de traitement numerique et de traitement 100% analo, le but ? combiner le meilleur des deux mondes !
85
Yop Choc !

Pour Absynth je connaissais cette fonction... Je me disais justement que ça pourrait être marrant de générer des sons par synthèse puis de les réinjecter comme forme d'onde... Voire de proposer une option dans un synthé qui fasse ça automatiquement en mixant des patchs différents :aime:

Citation : Comme quadn tu boucles en sampling sur le sustain !


Je vois ce que tu veux dire, ça me paraît impératif, en fait je pensais prendre une période si on veut... Donc générer ce genre de sons par synthèse, à moins d'implanter des fonctions de sampling avancées (bouclage, enveloppes) dans l'oscillateur.

Citation : Au niveau de la convolution, ca peut etre tre ssympa effectivement.


Surtout que je vois à peine ce qu'on pourrait faire dans le domaine, mais je sais que ça donne des sons sympas d'après ce que j'ai pu entendre en démos, plus le fait que c'est une approche que personne n'a jamais utilisée... Ca peut être un outil créatif de synthèse du tonnerre !

Citation : En numerique, y a plein de probleme pour la simulation de filtres analo par exemple (genre la TB303) ou pour d'autres modules difficilement reproductible en numerique. On pourrait exquiver le probleme en proposant des modules pouvant etre cablé aux modeles de synthése basée sur de la convolution....genre tel oscillo on l'injecte dans une simu d'ampli lampe, puis ensuite on l'injecte dans des modules purement numeriques (comb filter par exemple) etc...faire en sorte un truc semblable a l'evolver ou l'architecture du synthé hard est composé de traitement numerique et de traitement 100% analo, le but ? combiner le meilleur des deux mondes !


C'est un peu ce que j'ai envie de faire, proposer différentes formes d'ondes d'oscillos (pures en numériques, récupérées sur de l'analogique, ou space comme je disais précédemment), faire pareil pour les filtres, essayer tout ce qui peut rajouter de la "chaleur" au son...

Donc en résumé faire de la diversité pour les sources, proposer une section "chaleur" qui aura pour but de "grossir" de "magnifier" le son (filtres, waveshaping, chorus, simulations d'effets analogiques), et une section "créative" pour étendre les possibilités de synthèse (convolution, modulations...)

Développeur de Musical Entropy | Nouveau plug-in freeware, The Great Escape

86
Oui combiner les deux ca peut avoir un plus enorme

Au niveau de la convolution, je verais bien ca pour:
- Simuler des comportements non lineaire de lampes
- Simuler des comportements non linaires de transitor
- Simuler des comportements de filtrage bien particulier (reverberation ?,Binaural non j'deconne pour la bibine)
- Simuler des comportements de filtres dont les emulations numerique ne sont actuellement pas top (303, filtre de moog)

Par contre niveau CPU ca va bouffer severe :boire2:

Apres faut rester dans l'esprit modulaire ou semi modulaire, l'utilisateur pourrait cabler ces modules suivant ces envies...genre tiens je vais rechauffer tel oscillo avec tel lampes, tiens je vais mettre une amplication type transistor en sortie de tel filtre.

Comme je te l'ai deja dis, j'aimerai bien que les boite sdefinissent un standard pour les filtres. Comme des banques de samples mais pour des filtres, apres on pourrait importer des banques qui s'achetent dans le comemrce. Genre TB303 filter, Synth analog filter, Binaural filter, reverberbation filter, Marshall Filter etc etc
87
Tu comprends pas où je veux en venir :oops2: Déjà la convolution pour faire du très fortement non linéaire c'est de la merde en barre (à moins d'avoir 100 personnes qui bossent sous tes ordres et d'avoir des PC qui tournent avec 15 processeurs).

Moi ce à quoi je pensais c'est de faire de la convolution du son avec... n'importe quoi... mais pas trop :mrg: Je me souviens du mec de SCV Audio qui me faisait une démo d'Absynth 3 en convoluant la sortie avec un son de cymbale inversée... C'était intéressant... Et j'imagine à peine le rendu si on met une section de filtres sur chaque élement avant les convolutions... Et comme je disais, je parlais dans mon article de banques de sons qui servent à être convoluées avec du son à traiter (des instrus, du synthé etc) et ça sonnait pas mal sur les démos...

Pour les comportements non linéaires et les filtres, rien ne vaut la modélisation physique, si on veut que ça reste raisonnable en ressources CPU... Et y a moyen de faire des bons trucs...

Tes histoires de banques de samples de "filtres", ça pourrait marcher si il y'avait des algos de convolution non linéaire existants qui bouffent pas trop de ressources, qui soient efficaces, et dispos dans des produits que tout le monde auraient... Les deux premiers points sont pas gagnés.

Développeur de Musical Entropy | Nouveau plug-in freeware, The Great Escape

88
Je vois loin dans l'avenir man :mrg:

la modelisation physque pour l'instant :diable:
89

Citation :
Comme je te l'ai deja dis, j'aimerai bien que les boite sdefinissent un standard pour les filtres. Comme des banques de samples mais pour des filtres, apres on pourrait importer des banques qui s'achetent dans le comemrce



pouvoir programmer ses filtres pour reaktor, par exemple, ca serait classe. Mais bon, j'y crois pas un seul instant pour des raisons commerciales. Puis meme techniquement, finalement, ca va etre super dur d'avoir un vrai standart, car selon les buts du moteur audio derriere, tu ne vas pas avoir les memes contraintes de latence, de qualite, etc... (le probleme fondamental etant la frequence de traitement, de refraichissement des modulations, pb de feedback, etc...).

Il y avait un thread recemment sur music-dsp a ce sujet; malheureusement, ca depassait assez largement mes competences en info. Si ca vous interesse, je peux essayer de le retrouver.
90

Citation : Moi ce à quoi je pensais c'est de faire de la convolution du son avec... n'importe quoi... mais pas trop




  • t'ouvres maxmsp

  • tu charges un VSTI

  • tu connectes la sortie de ton VSTi a un objet buffir qui va te faire la convolution

  • tu charges un son dans ton buffir

  • tu connectes ca a ta sortie audio