Question

Je l'ai cherché sur le net, mais n'a pas trouvé quelque chose d'intéressant. Peut-être que je fais quelque chose de mal.

Je suis à la recherche de l'API de synthèse sonore écrite sur C, C ++ ou même Objective-C, qui peut synthétiser différents types d'ondes, les effets sont facultatifs.

Était-ce utile?

La solution

Voici une bibliothèque complète / boîte à outils pour FM (modulation de fréquence) synthèse:

link1 lien2

Si vous avez du temps libre ... la création simple, la synthèse sonore à partir de zéro est en fait un effort amusant. Si vous créez un petit tampon de 256 échantillons de 16 bits qui représentent soit une condition sine. une dent de scie, bloc ou impulsion, vous pouvez copier sur un audiobuffer en direct (par exemple un petit tampon (par exemple 16kb)) qui fait une boucle en permanence. En restant avant la playposition, et remplir constamment le tampon avec de nouvelles valeurs, vous pouvez créer le soundoutput. Vous pouvez utiliser les petits tampons pour les combiner de façon intéressante (est plus simple que de les additionner (synthèse additive)).

La fréquence de la tonalité peut être manipulée en utilisant une grande ou plus petite étape d'échantillonnage à travers les petits tampons. Amplitude peuvent être manipulés en escaladant les échantillons avant de les mettre dans la mémoire tampon de sortie.

Beaucoup de plaisir à expérimenter avec cela!

Si vous avez cette étape clouée, vous pouvez ajouter des effets plus sophistiqués tels que les filtres (passe-bas, passe-haut, etc.) et les effets (réverbérations, échos, etc.)

R

Autres conseils

Avez-vous regardé la boîte à outils de synthèse ( STK )? Il est en C ++ (je ne pense pas ObjC est la bonne langue pour la synthèse audio, en fait des unités audio, manière d'Apple de faire des trucs audio, y compris les générateurs / filtres / effets ... est en C ++).

STK fonctionne sur Mac OS X et iOS aucun problème (CoreAudio est pris en charge), mais aussi fonctionner sur Linux et Windows (son direct et ASIO), en utilisant RTAudio. Il est vraiment bien fait et léger, ces gars-là ont passé beaucoup de temps à réfléchir à ce sujet et il vous donnera certainement un grand départ de la tête. Il peut gérer des charges de différents formats de fichiers audio + midi (et je l'espère OSC bientôt ...).

Il est également Créer et CLAM ce qui est énorme, ceux-ci comprennent des composants de l'interface graphique et bien d'autres choses que vous pourriez ou peut-être pas envie. Si vous êtes seulement intéressé à faire la synthèse sonore Je recommande vraiment STK.

PortAudio est aussi une grande API C que nous avons utilisé le dernier semestre dans un cours de programmation audio. Il fournit un rappel audio ... que pourriez-vous besoin !?

Je ne l'ai pas essayé l'incorporer avec quoi que ce soit dans encore Objective-C, mais rapporterai quand je fais.

L'écriture des algorithmes de synthèse audio en C / C-obj est assez difficile à mon avis. Je recommande d'écrire vos algorithmes de traitement du signal en utilisant PureData et puis utilisez ou href="http://gitorious.org/pdlib/pages/Libpd" rel="nofollow"> libpd pour intégrer et interpréter les patchs pd dans votre application.

La bibliothèque C est une autre nsound:

http://nsound.sourceforge.net

On peut produire tout type de signal modulé en utilisant la classe de générateur ou en utilisant la classe prévue Sine. Chaque fois étape peut avoir sa propre fréquence instantanée et décalage de phase.

Vous pouvez également expérimenter avec le module Python pour prototyper rapidement votre algorithme, puis mettre en œuvre en C ++. Il peut produire des jolies matplotlib parcelles de Python et même de C ++!

Avez-vous regardé CSound? Il est une plate-forme de génération audio incroyablement flexible, et peut gérer tout de simple génération de forme d'onde à la synthèse FM et tous les types de filtres. Il fournit également le support MIDI, et vous pouvez l'étendre en écrivant opcodes personnalisés. Il y a une complète API C et plusieurs API C ++ ainsi.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top