2009-02-16 7 views
19

Je cherche à construire des interfaces de compression pour l'audio Windows, et je me demandais si quelqu'un pouvait connaître quelques trucs et astuces? Je voudrais construire mon propre égaliseur logiciel qui fonctionnera avec tout le système audio de Windows, pas seulement un programme particulier. Je sais que cela peut être fait - ma carte son en a une intégrée, mais elle n'a pas assez de canaux à mon goût. Je suis complètement nouveau dans la programmation audio, mais j'aimerais vraiment y pénétrer et me salir les mains. Si vous pouvez penser à des tutoriels/références/articles/conseils, j'aimerais les entendre!Commencer avec la programmation audio

J'utilise Visual Studio C++ 2008.

Répondre

8

Si vous cherchez à vous salir les mains avec des trucs DSP, je vous suggère de commencer par la programmation VST. L'écriture d'un plugin est une bonne façon de manipuler la manipulation audio en temps réel sans avoir à se soucier de se connecter au matériel du système, aux pilotes, etc. Fondamentalement, le séquenceur prend soin de tout cela pour vous, et votre plugin reçoit juste un tampon avec des données à virgule flottante que vous pouvez manipuler directement. Dans l'ensemble, cela est beaucoup plus facile que d'essayer d'écrire un plugin pour manipuler des données passant par les flux audio du système. De plus, l'API audio de Windows a changé de façon significative depuis Vista, et selon la version de Windows que vous utilisez, vous devrez suivre différentes conventions pour faire fonctionner votre matériel.

Mais encore une fois - commencer simple. Obtenez le VST SDK, consultez quelques tutorials, et commencez avec des étapes de bébé. :)

1

Vous devez probablement jeter un oeil à DirectSound mais gardez à l'esprit qu'il sera bientôt remplacé par XAudio2 - probablement dans Windows 7. Je devrais penser que DirectSound continuera à être pris en charge pendant un certain temps car il est été là depuis longtemps.

4

Essayez l'archive musicdsp pour obtenir un bon exemple de code pour les effets audio. Le KvR developer forum est également un excellent endroit pour obtenir de l'aide sur l'écriture de VST et effets en général. En ce qui concerne les API audio Windows, il y en a beaucoup, comme pour les API audio Windows. Le plus largement supporté est connu comme WinMM. Le dernier et le plus grand est la nouvelle interface WASAPI introduite avec Vista.

Enfin, pour obtenir un effet d'égaliseur système, vous devrez peut-être se pencher sur les interfaces de bas niveau tels que sAPO

6

Voici quelques liens qui ont été très utiles pour moi:

  1. Tammo Hinrichs "kb" du groupe de démonstration Farbrausch articles sur la programmation audio. Il y a aussi une vidéo d'un séminaire que Tammo a tenu au here.

  2. Jari Kleimola thèse de maîtrise "Design and Implementation of a Software Sound Synthesizer". Plus de 100 pages sur la programmation audio.

  3. The Synthesis ToolKit in C++. Une boîte à outils audio avancée développée dans les universités. L'auteur principal de la boîte à outils est Perry Cook, qui a également écrit un livre: "Real Sound Synthesis for Interactive Applications".

  4. "Basic sound theory and synthesis" article par Dr Petter.

2

Une introduction douce à la programmation VST est SynthEdit ... www.synthedit.com, il prévoit un glisser-déposer environnement de programmation, progressant vers vos propres writting C++ addons. Vous pouvez faire les bits 'ennuyeux' (conception graphique) avec glisser-déposer, et les bits algorithmiques 'amusants' en C++.

Questions connexes