I think this thread is about "how to implement an audio interface", which basically boils down to being able to choose a suitable one in terms of audio latency and quality. Sound cards are connected in three different ways: by USB, Firewire (I have no such hardware, cannot test it) or PCI express (or PCI). A point was raised that an external USB interface introduces extra latency.
njaremko wrote:You won't improve performance with an external DAC (you're introducing USB latency). You'll be increasing your latency (by a few ms) and get better sound in return.
I've shown that latency is indeed introduced (about 5 ms, it will depend on the operating system, I use Linux), but this effect can be counteracted by smaller buffer size (ASIO buffer size under Windows). So, in effect, the total latency might stay about the same. But I don't think that an external USB sound card would actually significantly decrease latency. Well, at least not under Linux.
In the Linux world, there is no ASIO. We use a sound server called "jack", which is not a sound card driver (a driver is a different thing). Such a solution is actually more flexible, because we even can use our crappy motherboard-integrated sound cards with buffer sizes of 128 or 256 samples (64 sample buffers are too small and the jack server doesn't run with them). Whereas under Windows, a sound card without ASIO support in the driver (or using ASIO4ALL) would probably use a buffer of 1024 samples (I've no idea), which results in noticeable latency. Any attempts to reach buffer sizes of 256 or lower would probably fail. I think this has also been mentioned in this thread:
Luc Henrion wrote:A friend of mine just tested a very cheap Tascam US-144 MKII interface on his Macbook and saw a considerable improvement both in the sound and in the perfomance: he had "cracks" when playing many notes together (he's quite good at it!) and now he may just play as he wants.
The numbers I shared are "relative" latencies. I've just made this term up. I basically measure the change of delay relative to the Kawai piano sound, and the delay changes when a different sound card or/and different buffer size is used. My Kawai has 4 zones. I let zone 1 play an internal mono piano sound, and connect the instrument into the mixer (balance set to right). Zone 2 sends MIDI signals into the computer, where Pianoteq computes the sound, and again the output of the sound card is connected into the mixer (balance set to left). Then I record the output from the mixer.
So I don't see why the numbers would not be relevant for the choice of a suitable audio interface. I just wanted to show which type of audio interfaces has the lowest latencies (I mean from my personal experience using concrete examples). The round-trip latency is not needed for that purpose. It seems that the ideal choice for someone with a desktop computer is a PCI express card which able to use a 64 sample buffer. Firewire might be the same case as USB, adds some extra latency. Whereas the PCI express interface is used for graphic cards (have you ever seen a graphic card connected by a USB bus? :-) ), so its throughput must be higher, and I guess its latency is also low. I've read some article about increased PCI latency in the case when multiple devices are connected, but PCI express is designed differently. If I knew this a year ago, I would buy a PCI express card instead of a USB sound card.
Sorry for the long reply. The article on digital audio latency is a good read, BTW.
Last edited by jiriwiesner (01-06-2014 22:20)