Que faut-il savoir pour construire un synthétiseur logiciel?

19

Pour quelqu'un qui a une certaine expérience dans le développement de logiciels, aime ses synthés et connaît les [très] bases de la représentation audio numérique, quelles sont les premières étapes à suivre pour programmer un synthétiseur de musique, en termes de DSP?

vemv
la source

Réponses:

17

Obtenez une synthèse sonore réelle pour les applications interactives et téléchargez la boîte à outils de synthèse . Cela vous donnera des introductions pratiques et un code source de qualité pour la plupart des méthodes de synthèse numérique utilisées. Choisissez ensuite la méthode que vous trouvez la plus intéressante et commencez à modifier le code STK correspondant pour faire ce que vous voulez. Essayez ensuite de construire quelque chose de similaire à partir de zéro.

En outre, comme l' a suggéré hotpaw2 , tout ce qui provient de JOS est également un excellent matériel d'introduction. En particulier, Introduction aux filtres numériques avec applications audio et mathématiques de la transformation de Fourier discrète partent des bases et ne supposent pas beaucoup de contexte.

Du point de vue du filtre numérique / effets, un autre bon point de départ est de vérifier Faust . Vous n'avez même pas besoin d'apprendre leur langage de traitement de signal de diagramme, vous pouvez simplement utiliser les exemples pour vider le code de modèle VST, LADSPA, etc. comme moyen rapide de faire fonctionner quelque chose [que vous pouvez ensuite modifier].

Cela étant dit, il est encore plus facile de commencer avec le rendu du son, qui est fondamentalement la même chose, mais sans se soucier du fonctionnement en temps réel ou de l'interactivité. Vous enregistrez simplement les fichiers wav sur le disque. C'est un excellent moyen d'expérimenter de nouvelles techniques avant de passer par la difficulté de les faire fonctionner rapidement.

datageist
la source
Réponse parfaite - elle couvre une quantité très équilibrée de sujets. Je vous remercie!
vemv
6

Je voudrais lire un livre d'introduction sur DSP ainsi que quelques livres sur le thème de l'informatique musicale (Amazon et d'autres librairies en énumèrent plusieurs). Il y a aussi une multitude de cours de Stanford sur le DSP et la synthèse sonore. Des livres sur le système auditif humain et la psychoacoustique pourraient également être utiles.

hotpaw2
la source
5

Vous devez d'abord décider du type de synthétiseur que vous souhaitez construire - additif, FM, basé sur des échantillons, etc. Vous devez également décider si vous souhaitez émuler une sorte de synthétiseur analogique existant ou simplement concevoir le vôtre.

Le reste est assez facile - il vous suffit d'implémenter les différents blocs de construction du synthétiseur (par exemple, oscillateurs, filtres, générateurs de bruit, shapers d'enveloppe, etc.) dans le logiciel, puis d'implémenter un moyen de "câbler" ces éléments ensemble et de contrôler leurs paramètres.

Voir le livre de Hal Chamberlin, Musical Applications of Microprocessors , qui est une bonne introduction à de nombreuses bases.

Paul R
la source
4

Je suis assez surpris que personne n'ait encore mentionné SynthMaker . C'est ridiculement facile à utiliser, et bien qu'il soit difficile d'aller à bas niveau (assurez-vous d'utiliser le mode développeur ), vous pouvez en apprendre beaucoup sur l'architecture du synthétiseur avec elle, ainsi que sur le DSP général. Et vous pouvez réellement utiliser les choses construites avec, en fait, je l'utilise pour construire presque tous mes plugins.

à gauche
la source
En tant que développeur de logiciels, j'ai toujours été réticent aux assistants, mais je parie que DSP est un monde profond, donc SynthMaker pourrait être pratique. De plus, quelques amis ont eu une bonne expérience avec cela :)
vemv
J'allais mentionner SynthMaker moi-même. C'est un excellent programme.
Matt M.
4

Comme certains des autres contributeurs l'ont mentionné, une bonne introduction au DSP est indispensable. Il s'agit d'un excellent livre> http://www.dspguide.com/ et l'auteur a aimablement fourni un téléchargement PDF complet et gratuit. > Http://www.amazon.com/Computer-Music-Tutorial-Curtis-Roads/dp/0262680823 est un autre livre de cours de technologie musicale commun qui donne de bonnes vues de haut niveau sur diverses techniques de synthèse . Je voudrais également réitérer ce que le contributeur précédent a suggéré, Synthmaker, qui est un environnement de développement visuel très pratique pour développer des plugins VST. Enfin, si vous voulez simplement expérimenter sans y aller profondément, vous pouvez essayer d'utiliser Csound qui est un langage de programmation spécialement conçu pour la synthèse sonore.

Dan Barry
la source
2

Je veux juste sonner car la plupart des réponses se concentrent sur les problèmes DSP. Si vous n'utilisez pas un système de conception de blocs comme SynthMaker, vous allez passer beaucoup de temps de développement à gérer la gestion de la voix. Si vous écriviez un plugin d'instrument VSTi à partir de zéro, la courbe d'apprentissage est beaucoup plus longue que pour les plugins d'effets. Vous devrez gérer chaque objet note, décider de ce qui se passe quand il y a 20 notes si votre DSP n'est que suffisamment rapide pour 16 voix, répondre au pitch bend, au portamento, à la modulation, etc. Ce n'est pas une tâche facile et c'est pourquoi je recommande de commencer avec Buzz ou SynthMaker, et de rouler le vôtre lorsque vous vous heurtez enfin à un mur.

Matt M.
la source