4 ms·
Yes, the new analogue music stuff being produced now is really amazing. For instance, the tracking (ability to produce the correct pitch) on some of the newer e
by black_knight 4y ago
Yes, the new analogue music stuff being produced now is really amazing. For instance, the tracking (ability to produce the correct pitch) on some of the newer eurorack oscillators is amazing across many octaves.
Also, everything analogue feels so snappy, compared to doing stuff in “the box”. On a computer, the audio must be buffered whenever transferred between components, and this really adds up to noticeable latency when doing real time stuff.
Of course, there is stuff which is not feasible to do in analogue. Spring reverbs are cool, but it is far from digital reverbs like the Valhalla shimmer.
(Speaking of telephones, I really miss the times when the phones did not have all this latency. It feels like speaking in a walkie-talkie some times.)
- jacquesm 4y ago> Speaking of telephones, I really miss the times when the phones did not have all this latency. It feels like speaking in a walkie-talkie some times. Amen to that. The number of times that I've gotten into 'we both start talking at the same time' deadlocks on the phone (and video conferencing, for that matter) in the last couple of years has reached high levels of irritation.
- NavinF 4y agoGet a USB audio interface, increase sample rate, and decrease buffer size in the device settings. This has completely eliminated VoIP latency on my system as long as I’m calling people that use Ethernet instead of Wi-Fi. On Linux you’ll also have to mess with pulseaudio settings, but that’s all you need on Windows. In theory a motherboard mic input could offer the same settings, but they (correctly) assume most users have a shitty CPU that can’t handle real time tasks without lag spikes that lead to buffer underruns.
- capableweb 4y ago> Ethernet instead of Wi-Fi. Unless you only work with other software developers (or gamers I guess) who are latency sensitive like us, most of the people you speak with over VoIP are unlikely to have a Ethernet connection. Last time I worked full-time in an office, some people didn't even know you could connect to the internet/router via a cable instead of wireless...
- NavinF 4y agoLucky me, the only 2 people I call regularly are a programmer and a gamer :) If that wasn’t the case, I’d probably buy them a 50ft cable on every holiday until they stop lagging.
- capableweb 4y agoLucky you indeed, wish I was that lucky :) If you're talking with them over VoIP, my hunch is that money isn't the problem here (30m ethernet cables cost like ~$15-30), but rather being able to pull a cable through the house/apartment without making it look like an eyesore or even being in the way.
- nyanpasu64 4y agoPipeWire can supply even lower latencies than PulseAudio (approaching jackd or perhaps matching it if mic and speakers run at the same clock and don't need resampling), but the only way to fully take advantage of PipeWire offering "zero latency routing and no mixing latency beyond hardware buffers" is to rewrite apps from the PulseAudio API to JACK or native PipeWire, which most browsers (and presumably VoIP software) haven't done.
- jacquesm 4y agoI run Jack, but if not that I'd go for Pipewire for sure, pulse is only good for quick and dirty stuff. There is a pulseaudio sink for Jack that allows for some interop but of course you will end up with the latencies stacked.
- jacquesm 4y agoI don't think I'll be able to get my customers and target companies to adapt, I just have to use whatever they bring to the table. I guarantee that the latency isn't on my end (128 byte buffer).
- aaaaaaaaaaab 4y ago>On a computer, the audio must be buffered whenever transferred between components Not true. Any half-decent audio API will drive the whole audio graph from the hardware I/O callback, so there’s only a single buffer, usually of length 256-512 samples. cc @PaulDavisThe1st
- black_knight 4y agoHow does that work? Sure, the buffers are in the hardware, but there still needs to be buffering between each pair of components? Say between two different effect plugins.
- NavinF 4y agoWhen people talk about audio buffers they’re talking about something that’s filled and drained from RAM when an interrupt fires every 1ms, not the data that’s processed every few nanoseconds as the CPU moves on from running one filter/plugin to the next. The latter doesn’t even leave the CPU cache.
- aaaaaaaaaaab 4y agoLet’s say you have an audio graph like this in your DAW: synth → reverb → output Every 5.33ms the OS audio system (CoreAudio, JACK, etc.) calls your DAW to produce 256 samples of audio. The DAW looks at the audio graph and asks the plugin connected to the output, the reverb, to produce 256 samples of audio. The reverb calls the next plugin, the synth, to produce 256 samples of audio, then applies the reverb effect on it, then returns it to the DAW, which returns it to the OS, which writes it to the audio hardware’s buffer. This all happens within the same 5.33ms callback. You can have as many plugins as you like, there’s no additional latency (unless the plugin explicitly adds buffering).
- black_knight 4y agoAh, I see. So, within a given process (such as a DAW) you can bundle stuff together, as long as the combination of everything is fast enough to make the deadline. But different processes communicating over, say, JACK, still have buffering between them.