2009-02-16 22 views
19

Chciałbym zbudować kilka interfejsów kompresji dla Windows Audio i zastanawiałem się, czy ktoś może znać jakieś wskazówki/wskazówki? Chciałbym zbudować własny korektor programowy, który będzie działał z całym systemem audio systemu Windows, a nie tylko z konkretnym programem. Wiem, że można to zrobić - moja karta dźwiękowa ma wbudowaną, ale nie ma wystarczającej liczby kanałów dla mojego gustu.Pierwsze kroki z programowaniem dźwięku

Jestem całkowicie nowy w programowaniu audio, ale naprawdę chciałbym się do niego włamać i zabrudzić sobie ręce. Jeśli możesz wymyślić jakieś tutoriale/referencje/artykuły/fragmenty porad, chciałbym je usłyszeć!

Używam Visual Studio C++ 2008.

Odpowiedz

8

Jeśli szukasz dostać się w ręce brudne z DSP rzeczy, bym Proponuję zacząć z programowaniem VST. Pisanie wtyczki to dobry sposób na manipulację dźwiękiem w czasie rzeczywistym bez obawy o połączenie ze sprzętem systemowym, sterownikami itd. Zasadniczo sekwenser dba o to wszystko, a twoja wtyczka otrzymuje bufor z danymi zmiennoprzecinkowymi, którymi możesz bezpośrednio manipulować.

Jest to ogólnie łatwiejsze niż próba napisania wtyczki do manipulowania danymi przechodzącymi przez systemowe strumienie audio. Ponadto interfejs Windows audio API znacznie się zmienił od czasu systemu Vista, a w zależności od używanej wersji systemu Windows należy postępować zgodnie z różnymi konwencjami, aby zapewnić sprawne działanie.

Ale znowu - zacznij proste. Uzyskaj numer VST SDK, sprawdź numer tutorials i zacznij od kroków dla dzieci. :)

1

Prawdopodobnie trzeba spojrzeć na DirectSound, ale należy pamiętać, że wkrótce zostanie zastąpiony przez XAudio2 - prawdopodobnie w Windows 7. Myślę, że DirectSound będzie nadal obsługiwany przez jakiś czas, ponieważ jest już od dłuższego czasu.

4

Wypróbuj archiwum musicdsp, aby uzyskać przykładowy kod efektów dźwiękowych. The KvR developer forum jest również doskonałym miejscem, aby uzyskać pomoc w pisaniu VST i efektów w ogóle.

Jeśli chodzi o interfejsy API audio Windows, jest ich wiele. Najszerzej obsługiwany jest znany jako WinMM. Najnowszy i największy jest nowy interfejs WASAPI wprowadzony w systemie Vista.

Wreszcie, aby osiągnąć efekt korektora całego systemu, może trzeba spojrzeć na interfejsach niższego poziomu, takich jak sAPO

6

Oto kilka linków, które były bardzo przydatne dla mnie:

  1. Tammo Hinrichs "kb" z grupy demo Farbrausch articles o programowaniu audio. Istnieje również wideo z seminarium, które Tammo odbyło się nad here.

  2. Jari Kleimola mistrzowska praca dyplomowa "Design and Implementation of a Software Sound Synthesizer". Ponad 100 stron o programowaniu audio.

  3. The Synthesis ToolKit in C++. Zaawansowany zestaw narzędzi audio opracowany na uniwersytetach. Głównym autorem tego zestawu narzędzi jest Perry Cook, który napisał także książkę "Real Sound Synthesis for Interactive Applications".

  4. "Basic sound theory and synthesis" artykuł dr Pettera.

2

łagodne wprowadzenie do programowania jest VST SynthEdit ... www.synthedit.com, zapewnia on dla przeciągnij i upuść środowiska programowania, postępuje się napisać własne C++ dodatki. Możesz wykonywać "nudne" bity (projekt GUI) za pomocą metody "przeciągnij i upuść" i "zabawne" algorytmiczne bity w C++.