[SOLVED]prosty interfejs karty dźwiękowej w c++

0

Witam,
Po przewertowaniu różnych bibliotek(rtaudio, pulseaudio) doszedłem do wniosku, że są one przeznaczone do dużych projektów.Czy istnieją jakieś proste biblioteki które w prosty sposób umożliwiają elementarne operacje na strumieniu(odczyt z mikrofonu,manipulacja,wysłanie na lineout)?
Ewentualnie prosiłbym o jakieś porady w jaki sposób zabrać się do stworzenia własnego prostego interfejsu. Wszystko oczywiście pod linuxem oraz w C/C++.

Po co mnie to ?

  1. Bo interesuje mnie dsp
  2. Żeby nie być uzależnionym od cudzych bibliotek i wiedzieć jak to działa
1

Programujesz gołą ALSE w takim razie (ALSA zapewnia Ci pewnie większość z Twoich wymagań, ino tylko prosta, to ona nie jest).
http://www.alsa-project.org/main/index.php/Tutorials_and_Presentations

0

Okej,
Czyli alsa jest tym najniższym poziomem dla tych nie wtajemniczonych ?
Bo alsę również wertowałem ale nie mogłem znaleźć jakichś w miarę przyswajalnych tutoriali.
Może sprecyzuję trochę pytanie: Czy istnieją jakieś biblioteki do cpp które są na prawdę proste ?
Chodzi o to że nie muszą a nawet nie wskazane dla mnie jest żeby miały bajery jak strumienowanie radia.
No albo mogą być jakieś trochę "niższego poziomu" biblioteki, które są mega dobrze wyjaśnione.

BTW. Nie spodziewałem się że pisanie interfejsu do karty dźwiękowej może zachaczać o tyle zagadnień.
No to chyba się skieruję w stronę jakiejś prostej biblioteki.
Znacie jakieś ?

0

Low-level i "dobre tutoriale" (tudzież takie step-by-step) raczej nie idą w parze, niestety.
Trzeba samemu próbować, próbować, i jescze raz próbować.
W sumie jak chcesz pisać libke stricte do obsługi dźwięku, to troche sie z celem mija używanie kolejnych (prócz np, ALSY, chyba że np DSP, imo nie jest proste i możnaby zaprzęc coś do tego zadania) zewnętrznych bibliotek, bo Ci chyba raczej taki wrapper na realizujące podobne zadania funkcje tej libki po prostu wyjdzie.
ALSA nie jest najniższym poziomem, możesz jescze napisać moduł kernela (ALSA jest właśnie modułem kernela) ;p

0

Dodam, że to co chcę zrobić to móc manipulować sygnałem w czasie rzeczywistym(czyli c++ bo ma to być szybkie),
oraz ważne dla mnie jest, żeby odczyt ze standardowego mikrofonu był po prostu nie skomplikowany(czytam z taką a taką częstotliwością i głębią, to samo z lineoutem). Jakaś zawiła ta moja wypowiedź, ale nie wiem jak to prościej ująć ; |

0

No to w takim razie szukam, prostej biblioteki z dobrymi przykładami.

0

Hmm, jeśli zależy Ci głównie na manipulacji dźwięku real-time to polecę Ci FMOD, nie jest niestety otwarta, ale spokojnie własne DSP jakieś możesz tam pisać,jest cross-platformowa, dokumentacje też ma całkiem okej, i tutoriale są prościutkie.

0

FMOD'owi się przyjrzę , ale to czego szukam, to funkcji czytaj sampel, przetwórz, wyrzuć sampel. Tyle, bez bajerów.

0

Mógłby ktoś rzucić jakąś prostą, dobrze opisaną biblioteką w c++ ?

Wiem, że w pythonie dobranie się do danych z mikrofonu i dostęp do urządzenia line - out nie jest trudny, taki jak poniżej
http://stackoverflow.com/questions/1936828/how-get-sound-input-from-microphone-in-python-and-process-it-on-the-fly

ale jest on stanowczo za wolny do czasu rzeczywistego.

0

a gstreamer nie wystarczy?

0

Dzięki Proxima,
chyba skieruję się w stronę pulseaudio , Zamykam.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.