Co to jest cpalc
cpal to biblioteka w Rust, która pozwala bezpośrednio komunikować się z kartą dźwiękową.
Nie odtwarza gotowych plików jak MP3, tylko daje ci surowy dostęp do dźwięku – możesz samemu generować fale, nagrywać mikrofon, miksować itd.
🔊 Jak to działa (w skrócie)
- Host – systemowy interfejs audio (np. ALSA, CoreAudio, WASAPI).
- Device – konkretne urządzenie, np. „głośniki” lub „mikrofon”.
- Stream – połączenie z urządzeniem, przez które dane audio „płyną”.
Ty otwierasz taki strumień, a cpal woła twoją funkcję (callback) co chwilę i daje ci:
- bufor do wypełnienia dźwiękiem (jeśli to wyjście),
- albo bufor z nagranym dźwiękiem (jeśli to wejście).
Czyli: „tu masz tablicę próbek, zrób z nią co chcesz”.
🧩 Na jakich systemach działa
- Windows – przez WASAPI/WinMM
- macOS – przez CoreAudio
- Linux – przez ALSA lub JACK
- WASM (przeglądarka) – przez Web Audio API
🧰 Kiedy używać cpal
Używaj, gdy:
- sam chcesz tworzyć dźwięk (np. syntezator, generowanie fali),
- chcesz nagrywać audio z mikrofonu,
- potrzebujesz niskiej latencji i kontroli (np. w DAW, grze, efekcie czasu rzeczywistego).
💡 Gdy nie potrzebujesz tak niskiego poziomu
Jeśli chcesz tylko odtwarzać dźwięk, lepiej użyj:
rodio– prostsza biblioteka, działa na cpal, ale sama dekoduje pliki i odtwarza je,kira– bardziej rozbudowany system dźwięku do gier (z efektami i miksem).

