If you understand code and ask / answer technical questions, please put them in here.
C-Library for audio i/o. Mostly active 5y ago, 70 open issues since then, Milestones 2 3 4 stale since 2018, not replying to pull requests since 2017
Very active, ubiquitous in open source audio applications (mainly on windows.)
Docs for Windows audio driver
High Definition (HD) Audio device driver interface (DDI)
Fork from WebAudio, uses nyquist for file i/o, worked once with backends iOS, Android, Alsa, Pulse, JACK, SteamAudio
- audio i/o
- Win: ASIO, DirectSound, WASAPI
- Linux: ALSA, JACK, PulseAudio
- Doc: http://www.music.mcgill.ca/~gary/rtaudio/
- multi devices possible
- Windows: WASAPI, DirectSound
- macOS, iOS
- Linux: ALSA, PulseAudio, JACK
- Android: AAudio, OpenSL|ES
- Raspberry Pi
- Emscripten / HTML5
Embedded Web Server https://github.com/cesanta/mongoose
Sometimes Pulse does automatically what you don’t want.
Tell it to keep its dirty hands off of Jack:
pactl unload-module module-jackdbus-detect pactl unload-module module-jack-sink pactl unload-module module-jack-source
and enabling again
pactl load-module module-jackdbus-detect pactl load-module module-jack-sink channels=2 pactl load-module module-jack-source channels=2
Or start the one application with
pasuspender -- MyJackApp
Latency inside the server
We need to be realtime group audio for jack to run properly in linux.
sudo usermod -a -G realtime $USER
Log out, log in, enjoy.
Qt5-based networking library for Audio, Video and control(OSC, MIDI, Artnet, WebSocket)
Open Source (MPL) since 2020-10, started in 2016
Stable development history of 5 main contributors, several art projects built with it during the last years.
Measuring latency for hardcore nerds
If you want to get rid of the last few nanoseconds, you need real tools.
And please have some XDP.
Raspbery Pi tuning
Jack config: 64 Buffer size; 2 periods
# remove internal sound: dtparam=audio=on
SOUnd Language - DSL for non-C++ people to do audio
Nice, we are listed in
The next professional+Consumer audio and video backend for Linux.
Great that it is compatible to all pulse and all jack clients. It will go into all distros starting this year.
Many devs still hate pulseaudio.
Not so good for extreme low-latency, since its all timer-based.
WebRTC for music during FOSDEM 2021
5G URLLC for professional audio transmission
- Lateny must not exceed 4 ms. Mixing and filtering of audio signals can take up to 2 ms, leaving only about 1 ms for transmission in one direction.
- Data rate 150 kbit/s – 5 Mbit/s
- Reliability 99.9999 %
- of audio links 50 – 300
- Synchronicity ≤ 1 µs
It is pretty quick:
- 2-symbols mini-slot support for downlink and uplink
- (Mini slot based) scheduling every 0.5 ms (for downlink and uplink)
Jitsi for music
- how to create a virtual webcam