|
the big problem with .NET for very low latency is the garbage collector. When it kicks in it stops all threads from running and that can cause audio output glitches. There are some best practices for writing audio code in a way that reuses buffers so the
garbage collector has less work to do, but unfortunately you have almost no control over exactly when it will run.
Also, only the ASIO and WASAPI output modes are able to work at low latencies. WaveOut and DirectSound won't go much below 50ms.
NAudio hasn't been extensively optimised for very low latency, so you might also need to fine tune some classes if you are serious about doing this.
To make a full-featured DAW that competes in an already crowded market is a very big undertaking, so I suggest you start by creating some smaller audio applications first.
Mark
|