4 ms·
The mess with audio servers is one of the main reasons I could never stand Linux as my primary laptop OS. Jack, ALSA, OSS, Pulse, etc. Far too often the answer
by pseudosavant 6y ago
The mess with audio servers is one of the main reasons I could never stand Linux as my primary laptop OS. Jack, ALSA, OSS, Pulse, etc. Far too often the answer to my problem was that it didn't work on that specific audio server, or that I needed to compile my own server/kernel/app from source.
Easily, reliably, and quickly playing audio is table stakes for Windows and Mac OS. They've been doing it for years. But instead of improving one or two audio APIs, on Linux it is time for a new audio server that will, but doesn't, solve all of the problems of every predecessor.
- jcelerier 6y ago> Easily, reliably, and quickly playing audio is table stakes for Windows and Mac OS. They've been doing it for years. But instead of improving one or two audio APIs, on Linux it is time for a new audio server that will, but doesn't, solve all of the problems of every predecessor. I mean, I have currently 5 soundcards on my desktop computer, 1 pro over PCIe, 2 pro over USB, 1 standard HD Audio and 1 output in my screen's HDMI, and I can assure you that even on windows it's definitely not a smooth ride between WASAPI, ASIO, MME, WDMKS... things crash or get stuck routinely, and I sometimes get random loud buzzes or no sound until I reboot. With my band we had tons of issues with a M-Audio card on windows fixating itself on the wrong sampling rate as soon as a desktop music playing was launched (this includes web browsers), entirely preventing playback on Ableton Live for instance. It's barely better on macOS, e.g. look at that shit: https://github.com/OSSIA/score/issues/778 https://github.com/OSSIA/score/issues/778. macOS also sacrifices some low-latency when comparing the same hardware on it versus Linux (with raw ALSA or JACK) and Windows with ASIO.
- rectang 6y agoWhat exists as far as open source digital audio interfaces? Meaning only digital i/o — no analog. It seems like a relatively contained problem to take multiple streams of PCM audio into a computer, locked to word clock. Then the hard, fiddly aspects of analog design can be left to high-quality outboard converters which speak MADI or whatever. I say "contained" because I don't want to minimize the difficulty of getting such a design right, but it seems like you only have to get it right once.
- nsajko 6y agoIs USB not sufficient?
- rectang 6y agoWhat I'm looking for is a way to hook up any converter which outputs via a standard digital audio protocol (SPIDF, AES/EBU, ADAT lightpipe, etc.). Then we don't need a USB driver for each converter! We only need one USB driver, for the digital i/o interface. And we can polish the driver for that one interface until it's actually reliable, instead of relying on the sketchy one-off driver for this year's soon-to-be-obsolete USB audio interface. ETA: Many such converters (most of them high-end) listed here: https://www.sweetwater.com/c796--AD_DA_Converters https://www.sweetwater.com/c796--AD_DA_Converters
- jcelerier 6y ago> SPIDF, AES/EBU, ADAT lightpipe, etc. If I'm not mistaken the underlying transport protocol is the same for all of those - you can get a coaxial to XLR to get S/PDIF into an AES port or a coaxial to TOSLink converter to get S/PDIF data into an ADAT port. You can look into the Madiface XT maybe ? https://www.rme-audio.de/hdspe-madi-fx.html https://www.rme-audio.de/hdspe-madi-fx.html or the other RME products which have enough digital I/O to cover a lot of needs
- nsajko 6y ago> If I'm not mistaken the underlying transport protocol Some quick usage of Wikipedia suggest that you are, sadly, mistaken. ADAT lightpipe seems to use a completely different protocol (more capable?), and while S/PDIF and AES/EBU use quite similar protocols, they differ in impedance and max and min voltages, so I'm guessing that directly electrically connecting the two controllers is a bad idea for both the controller and the data.
- rectang 6y agoIt doesn't matter for the purposes I'm investigating. So long as we can get the bits out of the wire and into open source software, we can make sense of them. (Licensing could be a concern though if ADAT lightpipe is proprietary — I'm not clear on that. But then we could just use other open protocols instead.)
- ericlewis 6y agounrelated, but what do you use 5 sound cards for?
- jcelerier 6y agoI only have a "main" soundcard (the PCIe one) - HD audio and HDMI thing are unused 99% of the time, but if you have a computer more recent than 2007 you have them. The two USB soundcards are temporary and here currently because I need to test stuff for the sequencer I'm developing (https://ossia.io https://ossia.io)
- zamadatix 6y agoI think the guy with 5 sound cards might be the exception that proves the rule - the conversation was about playing back audio from the browser not which OS starts to fall apart when you need a DAW for your band.
- jcelerier 6y ago> the conversation was about playing back audio from the browser well, no, the web audio API & stuff is explicitly being sold as something that will be equal in capability to other solutions, so definitely things used for pro audio.
- 7952 6y agoEven quite modest normal setups will have several input or output devices. Just on my laptop I have hdmi audio, built in speaker and mic, USB headset, bluetooth headset and remote audio from an RDP session.
- nsajko 6y agoMy Chromium plays audio to my external and internal cards fine without Pulseaudio, I have just ALSA and don't know who still uses OSS (no judgement, I just use the default). I think your comment can only have an adverse effect on the conversation if you don't give specific examples. (Nitpick: Linux has nothing to do with Pulseaudio, it's just the kernel.)
- nvarsj 6y agoI've had many issues with OS X audio on Catalina - all of my USB audio devices skip and pop on it. It's also a pain to configure, with options bizarrely hidden in the MIDI app. Windows probably has the best audio stack of them all (battle tested, easy to use UX). In comparison, JACK/pulse are pretty good as well and people use it professionally. Like most things on Linux, the initial UX is a bit of a pain, but once you get past it you get amazing customization, even more so than Windows. These are the only abstractions I'm aware of on Linux systems - and they are simply built on top of ALSA which is the kernel's core sound API. Almost all desktop environments simply install PulseAudio, and you never have to worry about sound.
- qppo 6y agoHow old is your Mac? That issue sounds very strange to me. CoreAudio is far and away the most impressive and powerful audio API across the board. It's ridiculous how much you can do with it and the abstractions it provides. It's also been better, faster, and supported lower latency than Windows up until WASAPI came around - you needed to use ASIO on Windows for years. Even today you can't programmatically change the sample rate of a device on Windows, which means that engines like RtAudio have to do resampling under the hood to support basic functionality that's been in CoreAudio. The only problem with it is that the documentation has evaporated. Which admittedly is a big one.
- nvarsj 6y ago> How old is your Mac? That issue sounds very strange to me. New MBP 16". Apparently it's a problem with the T2 security chip and affects almost all external USB 2.0/3.0 audio devices. Just do a google search for audio drop outs and T2. All digital audio goes through the T2 chip which seems to add latency and these drop outs. I think the only solution at the moment is to use a USB-C native device (but I haven't tested this). If you already have substantial hardware like I do, Catalina is basically unusable (and no fix in sight from Apple...).
- qppo 6y agofwiw I don't think any audio manufacturer (hardware or software) has advised it "ok" to use Catalina, and OS upgrades have been a problem for as long as I've used professional audio tools. I understand with brand new machines it's a problem, but buying less-than battle tested hardware/software has always been problematic. If you already have substantial hardware, you probably shouldn't be buying a brand new machine and expecting it to just work after a major OS upgrade.
- rhizome31 6y agoAfter a bit of struggle I found that Pulseaudio over Jack adresses my needs. Music production software connects directly to Jack and all other software (browser, video player, etc.) uses Pulseaudio. Also the Cadence GUI really helps to set this up correctly.