Se connecter
Se connecter

ou
Créer un compte

ou

Sujet Conception d'un synthétiseur virtuel analogique (VA)

  • 23 réponses
  • 7 participants
  • 953 vues
  • 9 followers
Sujet de la discussion Conception d'un synthétiseur virtuel analogique (VA)
Bonjour tout le monde ! Je suis musicien sur différents types d'instruments (synthétiseurs analogiques : modulaires, semi-modulaires, synthétiseur virtuel analogiques et numériques, sampler, etc...) et également étudiant en étude du numérique et d'électronique. Je suis donc passionné par la "fusion" du domaine de la musique avec la science et la technologie. Je suis titulaire d'un BTS Systèmes Numériques option Electronique et Communication et celui-ci m'a permis de participer à un projet qui m'a vraiment plût et intéressé : une table de mixage automatisée avec effets, bref bref bref ! Et j'ai donc accomplit ce projet grâce à une carte et au langage FPGA. Je suis donc très tenté de concevoir mon propre synthétiseur virtuel analogique (synthétiseur numérique virtuel qui simule le fonctionnement d'un synthétiseur analogique) qui contiendrait la génération de différentes formes d'ondes, l'application de différents types de filtres et d'oscillateurs à basses fréquences. Mais le problème n'est pas de savoir où me diriger, mais plutôt de savoir si justement je me dirige vers la bonne direction. Je sais pas comment fonctionnent et comment sont programmés ces synthétiseurs, chez les fabricants, appart pour les effets, ils utilisent des VSP (Virtual Signal Processing si je ne me trompe pas). Le FPGA me semble être un excellent moyen pour ce projet, mais son langage est vachement complexe, et assez coûteux.

Si vous avez des informations à propos de ce sujet, je vous écouterai volontier et je n'attends que ça !

Bonne soirée !!
Afficher le sujet de la discussion
11
Le terme "toolchain" représente l'ensemble des outils de développement.

En logiciel, il s'agit essentiellement d'éditeur de texte, de compilateur, d'assembleur, de linker ... le tout parfois rassemblé dans un IDE. Le plus souvent ca tourne autour des outils libres GCC (GNU Compiler Collection) et binutils associés.

En matériel, il s'agira de structurer ton design, d'en faire la synthèse*, le placement et le routage, et enfin de le charger sur la carte. Chaque fournisseur de FPGA a ses propres outils, car au moins le placement et le routage sont spécifiques de la puce utilisée.

* du coup, il peut y avoir confusion entre la synthèse sonore, l'objet de ton projet, et la synthèse logique, qui transforme le HDL en netlist.
12
x
Hors sujet :
Coder et optimiser son code sur un DSP n'est pas follement plus simple que de câbler système numérique dans un FPGA.

J'ai le souvenir d'avoir implémenté des FFT temps réel bien plus facilement avec un FPGA qu'avec un DSP.
13
Donc pour résumer un peu tout ça, vous me conseillez de me diriger plus vers quoi ? Pour avoir une base du fonctionnement, et pouvoir par la suite m'améliorer ?
14
x
Hors sujet :
C'est pas faux. Surtout depuis que les FPGA ont des modules DSP pré-câblés.


Avec un Zynq ou un Cyclone SoC, tu pourras t'adonner à la fois aux affres du soft et aux perversions du hard. :oops2:

[ Dernière édition du message le 18/07/2018 à 01:59:55 ]

15
Donc vous me conseillez bien de partir vers du FPGA ? :)
16
J'ai regardé quelques conférences d'ingénieurs en université, qui font du DSP en C et C++, qu'en pensez-vous ?
17
Citation de François-Arnaud :
Donc vous me conseillez bien de partir vers du FPGA ? :)


Ca dépend complètement de ce que tu veux faire.

D'un point de vue purement technique, il faut faire un truc vraiment compliqué en audio pour avoir besoin de FPGA. On peut déjà faire beaucoup de choses en logiciel, avec un CPU ou un DSP adapté.

D'un point de vue plus personnel, si c'est une compétence que tu souhaites développer, fonce.

L'idée que j'ai en te suggérant des puces FPGA+CPU, c'est de pouvoir développer tes compétences hardware d'une part, software d'autre part, et surtout l'interaction entre les deux.

Citation de François-Arnaud :
J'ai regardé quelques conférences d'ingénieurs en université, qui font du DSP en C et C++, qu'en pensez-vous ?


Sans savoir de quelles conférences il s'agit, je n'en pense pas grand-chose.
Après j'éviterais le C++ pour du DSP, le C permet de mieux contrôler ses structures de données et optimiser la façon dont la mémoire est utilisée. Il est également courant, si des performances élevées sont requises, de coder une partie d'un algorithme en assembleur.
18
Un truc intéressant dans un premier temps mais assez pointu techniquement c'est d'utiliser la partie FPGA comme un interface numérique entre la partie DSP et les autres périphériques du synthétiseur.

Par exemple, une machine à états capable de pré traiter les messages midi pour les placer dispo dans une mémoire partagée avec le DSP.
Ou encore implémenter une IP qui sert d'interface UART ou USB.
19
Tiens, en ce moment je joue avec ça pour m'éduquer: miniZED.
Ça coûte autour de 80€, avec une licence (verrouillée à la carte) pour la toolchain (qui fonctionne aussi sous linux).
C'est intéressant car certaines I/O ne sont accessibles qu'à travers le FPGA donc même pour un projet principalement software on se trouve à faire un minimum de hardware.
Ça se prêterait bien aux suggestions d'EraTom.

Resistance is not futile... it's voltage divided by current

20
C'est une petite carte bien sympa, avec juste ce qu'il faut d'IO et un prix tout à fait abordable.