Création d'un synthé sous Matlab (Choc par ici !)
- 114 réponses
- 7 participants
- 14 818 vues
- 9 followers

Wolfen


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

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

Choc



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

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

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

Site personnel: https://www.enib.fr/~choqueuse/

Wolfen

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


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


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

Bon merci des infos

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

Choc

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)

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


Site personnel: https://www.enib.fr/~choqueuse/

Wolfen

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

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

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

Choc


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

Site personnel: https://www.enib.fr/~choqueuse/

Wolfen



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

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

Choc

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

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

Site personnel: https://www.enib.fr/~choqueuse/

Wolfen


Hors sujet : N'empêche je suis dans une meeeeeeerde pour mon stage Ce ****** de tuteur ne s'est toujours pas bougé le cul pour aller à son administration et pouvoir me dire si je peux venir quoi
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 | Soundcloud

Choc

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
Site personnel: https://www.enib.fr/~choqueuse/

Wolfen

Hors sujet : Je l'ai même bien engueulé, je l'ai canardé de mails, en ce moment j'essaye de l'avoir au téléphone (vive l'anglais), mais ça avance pas, je vais pêter un câble
Développeur de Musical Entropy | Nouveau plug-in freeware, The Great Escape | Soundcloud

Choc

Hors sujet : Calmos Man, restes Zen, s'ennerver ca sert a rien Je crois eles doigts pour que tout se passe comme il faut
Honnetement je te comprend, c'est tres relou comme position et ca arrive a beaucoup de gens (ca m'est arrivé). Et on peux pas faire grand chose a part essayer de motiver les gars de l'autres cotés...En tout cas quand c'est dans l'autre sens (c'est toi qui les fait miroiter), ils ont les moyens de te soualler a fond. Je sais qu'il a un snipper (la section RH) au centre de recherche peugeot qui m'a sur ca liste
Site personnel: https://www.enib.fr/~choqueuse/

Wolfen

Hors sujet : Enfin, de toutes façons je vais faire ce que je peux pour faire avancer les choses de mon côté, et puis après il se passera ce qu'il se passera, je ne vais pas me rendre malade à cause des choses que je ne peux pas contrôler, il faut s'occuper que ce qui est de notre ressors
Bon j'attaque la section filtrage


En fait, la partie problématique c'est le filtrage et rien d'autre... On peut améliorer aussi les formes d'ondes pour que le résultat sonne plus "chaud" mais je pense que c'est surtout au niveau des filtres que ça jouer, surtout si ils ne sont pas stationnaires et contrôlés par des LFOs... A côté de ça, il faut 3 lignes pour écrire de la modulation FM ou AM.
Ce que je trouverait intéressant aussi, c'est de discuter des modules importants dans un synthétiseur additif... Pour l'instant dans l'ordre y a oscillateurs, filtres, LFO (modulation sur l'amplitude et la fréquence de coupure des filtres pour commencer), je somme les différentes ondes générées (attention aux histoires de phase peut-être ? sommer deux sinus synchrones ça risque pas d'être pauvre harmoniquement ?), je mets un filtrage un peu en dessous de Fe/2 pour l'anti aliasing et basta. Pour la section d'effets, je verrais bien un chorus et un ARP, mais comme y a déjà tout ça dans Bhajis Loops et que je dois générer un WAV qui sera joué par un sampleur avec contrôle de l'enveloppe ADSR, je vais zapper certains aspects...
Bon vivement que tu lâches tes dossiers sur la synthèse et que tu refasses des jolies sources Matlab sans fautes du genre Do4 à 440 Hz

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

Agentcarotte

Hors sujet : Ah oui d'accord Wolfen. J'espere que tu vas avoir des nouvelles rapidos.
Si vous avez besoin de conseils, j'suis là. J'ai déjà programmé un tetris il y a une dizaine d'années sur un amstrad cpc464.

Wolfen


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

Choc

Hors sujet : Ah Matloub....je suis sur un truc trop kiffant la. J'ai choppé des sons de wind chimes. En fait je crée un programme pour lequel je specifie la vitesse du vent et je simule le son de windchimes resultant, apres je mixe ca avec un prog de composition algorithmique ou c'est une melodie qui va controler les windchimes. En gros au debut ca fait un windchimes standard piloter par le vent et au fur et a mesure du temps ca vire comme une melodie de musique que je specifie....
Matlab c'ets trop de la balle
Site personnel: https://www.enib.fr/~choqueuse/

Wolfen

Hors sujet : Balance un mp3
Développeur de Musical Entropy | Nouveau plug-in freeware, The Great Escape | Soundcloud

Choc


Site personnel: https://www.enib.fr/~choqueuse/

Wolfen

http://www.theprojectstudiohandbook.com/articles17.htm
Développeur de Musical Entropy | Nouveau plug-in freeware, The Great Escape | Soundcloud

Dead_Hollywood_Stars




Wolfen

Par contre, je maîtrise mieux les transformées de Laplace pour le filtrage (c'est plus facile normal) et je sais faire des filtres facilement comme ça...
Question technique, comment on passe d'une fonction de transfert Laplace à une fonction de transfert Z ? Je sais que z = exp(-p) mais bon, c'est galère à appliquer tel quel

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

Choc


Site personnel: https://www.enib.fr/~choqueuse/

Wolfen


s -> 2 (1 - Z^-1) / ( T * (1 + Z ^-1)) avec T = 2tan(1/2)
L'intérêt majeur c'est qu'en Laplace, un filtre passe bas ça s'écrit juste comme ça :
H(s) = 1 / (1 + as), a = 1 / (2pi * fc)
J'ai pas réussi à écrire un truc qui ressemble à un malheureux passe-bas en Z



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

Agentcarotte



Wolfen



Développeur de Musical Entropy | Nouveau plug-in freeware, The Great Escape | Soundcloud
- < Liste des sujets
- Charte