FreeBSD Audio

# · 🔥 123 · 💬 52 · 13 days ago · meka.rs · 0mp
On the other hand, a musician playing through a FreeBSD machine is interested in both: speed of processing and precision. Today we have a different situation thanks to Hans Peter Selasky who wrote cuse, virtual oss, USB stack and snd uaudio and Yuri who ported around 1500 applications to FreeBSD, among which is a huge number of audio/MIDI apps. The reason why anyone would want virtual oss is to make audio routing easy by having a virtual sound card which knows how to route the signal while user space applications are unaware of it and they just use FreeBSD sound(4) API. There are numerous other features of virtual oss that can come handy like mixing, compressing and EQ in user space, but audio routing and splitting/merging one card to many virtual ones or combining input and output from different devices is the most common use case, like having bluetooth headphones and USB microphone, so virtual oss is required more and more outside of recording studio and high-end sound setups. Today Ka Ho Ng is FreeBSD developer who implemented nvlist(9) based API to enumerate devices, or in simple terms: list hardware and virtual sound devices using nice API. User space applications and libraries are growing and apps that I would like to mention that have been ported to FreeBSD are Ardour, Muse Sequencer, Zrythm, Drumgizmo, EQ10Q, Calf and Invada plugins. So to put it really short, FreeBSD is great for audio studio not because it brings some unseen features, but because it does not collide with anything on the system while providing real time support, so the feeling is "This is just a normal desktop with audio apps". There are no distro-specific questions, the handbook is for FreeBSD and not just one of the FreeBSD forks/distributions. Making APIs nicer to work with and documentation/examples better is what we as FreeBSD community must do if we want developers on other operating systems to be more portable and FreeBSD friendly.
FreeBSD Audio



Archive | Send Feedback | WebAssembly Version (beta)