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 238 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

2
Yo :mdr: et merci bien de l'estime que tu me porte :D:

La je taffe, je te repondrais plus amplement ce soir, on peut se prevoir une session MSN si tu veux :clin:

j'aimerai bien pousser a mort le coté synthese sur matlab, genre une petite toolbox avec quelques algorithmes d'analsye resynthese (j'en ai qui fonctionnent du tonnerre: http://vincent.choqueuse.free.fr/steackhache/Analyse_resynthese_piano/) et la possibilité de faire facilement de la synthese FM, soustractive, additive, granularie etc etc etc

Citation : qu'est-ce qui donne le caractère de tel ou tel autre synthétiseur numérique



J'avais regardé les formes d'onde de bases sur la plupard des modulaires...c'ets tres surprenant, elles ne se ressemblent pas.
Le moteur anti aliasing est assez important, certains soft n'en possede pas (par exemple dans absynth, il ets en option, tu peux l'activer ou le desactiver)

Apres on niveau des filtres, je pense qu'ils les implemente peut etre differement d'un modulaire a l'autre.

Le truc qui me ferais super kiffer, c'est d'implementer des synthés deja existant, genre une 303 sur matlab. En sortant l'artilerie lourde, ca peut etre super marrant. Les filtres de la machine d'origine sont tres difficiles a approcher de maniere quasi-parfaite en numerique.

Citation : et une note/octave, pour créer un fichier WAV correspondant



Pourquoi pas rendre le truc compatible MIDI, c'ets pas le protocole le plus compliqué. Tiens pour matloubb, t'as la toolbox midi qu'est sympa:

http://www.jyu.fi/musica/miditoolbox/

Ahh matlab, c'ets le pied :aime:

Citation : je suis en train de me plonger dans tes sources Matlab sur la synthèse



Enfin ca date tout ca :oops:
3

Citation : Pourquoi pas rendre le truc compatible MIDI


J'aimerais bien mais le blème c'est que avec un Palm on peut rien faire en MIDI :noidea: En fait j'attaque la prog sur Matlab mais après je continuerai sur mon Palm :D:

Citation : J'avais regardé les formes d'onde de bases sur la plupard des modulaires...c'ets tres surprenant, elles ne se ressemblent pas.


Donc y a bien anguille sous roche au niveau des formes d'ondes... Pour l'instant je vais en prendre des parfaites, on verra ensuite...

Citation : Le moteur anti aliasing est assez important, certains soft n'en possede pas


Je t'entends en parler sans arrêt mais je ne sais pas ce que c'est :mrg: Je sais que ça a avoir avec le lissage d'un truc... mais de quoi donc ? :ptdr:

Citation : Apres on niveau des filtres, je pense qu'ils les implemente peut etre differement d'un modulaire a l'autre.


Là va falloir que je ressorte mes cours de filtrage numérique, pour l'instant je pense que ça doit se faire par convolution, après avoir calulé les coefficients du filtre en fonction des caractéristiques voulues...

Citation : avec quelques algorithmes d'analsye resynthese (j'en ai qui fonctionnent du tonnerre)


C'est marrant, ce matin un élève de mon ancienne prépa m'a contacté pour son TIPE, je lui ai donné ton papier sur l'analyse/resynthèse en lien :mrg:

Bon merci des infos J'ai commencé ce matin, pour l'instant ça génère des ondes sinusoidales/triangulaires/rectangulaires en fonction de la note et de l'octave demandé, sur une certaine durée.

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

4

Citation : avec un Palm on peut rien faire en MIDI



Ya pas moyen de developper un programme pour que ca soit compatible. Par exemple pour les prog matlab de synthese, le top serait que ca puisse importer du midi, avec le CC pour controler les parametres de synthèse.

Ou alors rensigne toi sur le protocole SAOL/SASL, c'ets un protocole qui definit a la fois les parametres de syntheses et l'architecture du synthé...j'ai vu un synthé une fois compatible SAOL mais malheureusement y a plus grand monde qui bosse dessus, c'ets peut etre un standard mort né :|

Citation : Je sais que ça a avoir avec le lissage d'un truc...



Faut respecter la condition de shannon, et c'ets tout (petit filtrage inside) :clin:

Citation : Là va falloir que je ressorte mes cours de filtrage numérique, pour l'instant je pense que ça doit se faire par convolution, après avoir calulé les coefficients du filtre en fonction des caractéristiques voulues...



sur matlab c'est tout simplement la fonction filter. Tu donnes les coefficients de la partie recursive (les b(n)) et non recursive (les a(n)).

y(n)=a(1).x(n)+a(2).x(n-1)+a(3).x(n-2)+....
+b(1).y(n-1)+b(2).y(n-2)+b(3).y(n-3)

pour des filtres modelisant les filtres analogiques, ca peut etre des filtres numeriques avec beaucoup de coefficients.

Citation : je lui ai donné ton papier sur l'analyse/resynthèse en lien



Yes, faudrait que je le refasse ce papier :P:

:bravo:
5

Citation : Ya pas moyen de developper un programme pour que ca soit compatible. Par exemple pour les prog matlab de synthese, le top serait que ca puisse importer du midi, avec le CC pour controler les parametres de synthèse.


En fait d'après le développeur de Bhajis Loops, on peut utiliser un Palm comme contrôleur MIDI sur un autre appareil, mais l'inverse est difficile à mettre en oeuvre, c'est la synchro audio/MIDI qui pose problème... Faut se taper la programmation d'un protocole du genre ASIO en assembleur :|

Citation : Faut respecter la condition de shannon, et c'ets tout (petit filtrage inside)


Donc l'anti-aliasing c'est juste un filtre passe-bas à 22 KHz ? Bon facile alors :mrg:

Citation : sur matlab c'est tout simplement la fonction filter. Tu donnes les coefficients de la partie recursive (les b(n)) et non recursive (les a(n)).


OK, c'est plus simple à mettre en oeuvre qu'une convolution (enfin si y a pas trop de coeffs récursifs sinon ça revient au même :mrg: ) Bon maintenant la difficulté c'est de pouvoir définir ces coeffs en fonction des paramètres du synthé...

Bon pour l'instant, mon synthé il a 3 oscillos avec 4 formes d'ondes (sinus, triangle, carré, bruit), contrôle du volume et accordage de -1 à +1 ton, je vais rajouter des enveloppes fixes, de la modulation AM avec un LFO, et après j'attaque le filtrage...

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

6
Et la GUI :P:

Pour les filtres peut etre que tu peux trouver sur des sites les coefs des filtres le splus connus en synthé (genre les filtres moog ou de TB303)

COmme je t'ai dis avant ces filtres ont un comportement different des filtres numeriques. Si tu considere que le filtre est stationnaire (coef constant dans le temps) le resultat rique d'etre juste moyen. En fait ca serait une betise de dire que ces filtres ont un comportement stationnaire.

Un axe de recherche passionnant consiste a essayer de modeliser ce comportement instable de ces filtres :bravo:
7
Problème, LyME ne permet pas de faire de GUI :| Ca veut dire qu'il faudra modifier tous les paramètres à la main :| Le seul moyen de passer outre c'est de programmer un vrai logiciel pour Palm (avec HB++ par exemple) mais bon, on va avancer par étapes...

Citation : pas utiliser la loi de kepler pour controler des parametres de synthéses; pourquoi pas utiliser des algorithmes de sciences cognitives etc etc, ca peut etre super delire


Rien compris :ptdr:

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

8
L'autre fois j'ai lu un rapport du DEA ATIAM.

Le gars il a fait BAC+5, i¨£c%m etc etc pour passer 6 mois sur:

Utiliser les algorithmes des sciences cognitives regissant la position des oiseaux dans un groupe pour controler les parametres d'un synthé additif (fréquence des partiels, etc etc)...Faut arreter la fumette les gars :mdr:

Autre truc qui m'avait fait halluciner:

Controle des notes joués de plusieurs instruments par analyse prealable d'un son. Au debut, le gars jouait n'importe quoi au piano (comme un gosse). Apres ce dernier avait crée un programme pour extraire certains parametres dans le temps, genre "quand est ce que le signal est placé entre tel et tel quantification" etc etc. Ces données lui servaient ensuite a controler l'apparition et les notes d'un instru...Le plus marrant, c'est quand t'entend les gens (de l'i%c¨%m bien sur) dire: "arf c'est un de mes compositeurs preféré"....

Perso, quand j'utilise des algos pour le controle j'essaye de trouver des choses plus pertinante. Je prefere avoir uen reflexion sur ma maniere de concevoir la musique et de formaliser ca (comme les excelletn travaux de xenakis) plutot que d'utiliser le nombre de voitures qui passe entre 6H et 9H30 sur le periph parisien pour controler des parametres :mdr:
9
Quand on sait pas quoi faire :mrg:

Hors sujet : N'empêche je suis dans une meeeeeeerde pour mon stage :oo: Ce ****** de tuteur ne s'est toujours pas bougé le cul pour aller à son administration et pouvoir me dire si je peux venir quoi :8O: Je sais toujours pas si je suis accepté, où je pourrais loger, combien j'aurais de salaire... RIEN RIEN RIEN ! Du coup je vais essayer de recontacter FT pour savoir si ils ont pris quelqu'un sur le sujet mais je me fais pas d'illusions... Je vais voir aussi avec le LMA mais pareil, bref je risque de me retrouver sans rien avec les trucs inintéressants des labos de mon école à faire pendant 6 mois :(((

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

10

Hors sujet : Motive ton gars, expliques lui que t'as dis non a d'autres personnes car tu pensais que c'etait OK pour ce stage :idee: