Audio Ports - understanding INPUT ports (new user)


#1

I’ve just started to dig into Cantabile for use as a VST effects host.
Have to say I really like the diagrammatic interface (wiring view) of input and output ports. To me this feature is very useful; excellent actually.

But there is something I don’t quite understand with Cantabile, and it may be a generic DAW thing: how the DAW doesn’t allow you to pull stereo signals from devices that Windows has registered as “recording devices” on your PC.

To explain:

When using some windows audio apps, (let’s take Audacity since it’s a well known app; in my view not a DAW but more a wave editor), going into “device settings” you see a list of all the audio hardware devices that windows recognized - both Recording devices and Playback devices.
And you can pick both a Recording device (input) and a Playback device (output) to suit the needs of your work session. All good.

Now, in CONTRAST, when I use Cantabile, under Preferences -> Audio Engine I am prompted to select an OUTPUT device, but there is no way to select one of the windows registered Recording devices as an INPUT source into Cantabile.

Why is that ?

PS: If it can be done and I have simply missed it, please drop a brief hint as to how ?


#2

Hey Steve,

Please check @brad’s excellent Guides on “Getting Started” and on “Audio Ports

Fundamentally, with “Audio Engine”, you select the interface and driver - if you want to use input ports as well as output ports, you need to use an ASIO driver, since WASAPI doesn’t allow that yet.

Important: this also means that your input and output ports need to be managed by ONE driver. You can’t select different hardware devices for output vs. input.

After selecting your audio engine, you move to the “Audio Ports” part of the settings and set the input ports. Again, this only works with ASIO drivers - check out ASIO4all if your audio interface doesn’t have one. You need to create “logical” audio ports (like “Main Output”, “second Output”, “Microphone in”, “Stereo In”) and assign them to the audio ports provided by your interface. Again, check @brad’s guides.

Now you can use the logical audio ports in your Cantabile songs.

Cheers,

Torsten


#3

Thanks for answering Torsten, especially this part: "… this also means that your input and output ports need to be managed by ONE driver. You can’t select different hardware devices for output vs. input. "

That’s the crux of the matter.

I asked because in some windows audio apps (I mentioned Audacity) - you can use different hardware for your input and output channels. Which doesn’t seem an unreasonable thing to do.

Just building some understanding here. This constraint of Cantabile (and some other DAWs) to only allow one piece of external hardware - does that arise from the architecture of Asio drivers ?

If the answer to that is a yes, then what about Wasapi drivers - can we use different hardware for input vs output if we use Wasapi drivers for each ?


#4

The issue is more one of real-time audio stream processing: when you process audio coming from an input port, then run it through plugins and then stream it out again, the input and output streams need to be in sync, otherwise you get audio dropouts and other funky stuff.

This is why most DAWs allow you only one audio device and driver - because these drivers then take care of synchronization of input and output stream. Mostly, this is taken care inside the audio hardware itself. Thus, the DAW can rely on audio input and output streams to be synchronized.

If we wanted to do run Cantabile with different drivers drivers (WASAPI or ASIO) for input and output, they would need to be synchronized inside Cantabile, which is a challenging real-time task. I think it is somewhere on @brad’s roadmap, but not realized yet. This is why currently WASAPI allows only output in Cantabile - running input AND output with WASAPI would require synchronizing two different drivers.

So unfortunately “no” to your question: you can’t currently select any WASAPI input drivers, until @brad has solved that issue.

The only avenue you could explore is ASIO4ALL - in some configurations, people have got this working to combine inputs and outputs of different audio hardware. But no guarantees - this may also go completely and horribly wrong.

If you really want to process audio input through Cantabile, I suggest you get a decent audio interface with decent latency performance and a good ASIO driver. At the lower end of the spectrum, the Behringer UMC HD series has gotten goot feedback recently - and you can get the 2x2 version for about 63 EUR. In the mid-range, the Focusrite Scarlett range offers great audio quality and good latency performance - you can get the new 2i2 for around 170 EUR.

This will give you far better audio quality than on-board sound chips, plus good latency and an absolutely no-fuss configuration.

Cheers,

Torsten


#5

BTW: Audacity may allow you to select different drivers for input and output, because it is not truly a DAW, so it doesn’t need to process input to output in real time. That makes it easier to deal with audio through different devices.

Cheers,

Torsten


#6

Beautiful answers, Torsten, thanks.
So glad you dipped into a technical explanation - that’s just what I needed to hear.

I now appreciate that with multiple devices it would be difficult to sync, in real time, the audio inflows with outflows while keeping latency low.

Hope you’ll entertain a follow-up question, based on me connecting just a single hardware device to the PC.

I have an option to acquire a Steinberg UR28M interface, which has (amongst others) a SPDIF input port and 6 analogue outputs.

If I get this box, will Cantabile allow me to do the following ?
(a) Feed a digital audio stream (stereo) into the SPDIF port
(b) Let Cantabile apply some VST effects and send the output to the six analogue outs

The Steinberg interface has an Asio driver.
I know if I feed analogue audio into the Steinberg’s many analogue ports, Cantabile would handle the situation with flying colours.
It’s whether Cantabile would be happy to take an audio feed in via the Steinberg’s SPDIF port that I am not confident of.

Steve


#7

Hi Steve,

unfortunately, I don’t have this interface available to test. It all depends on whether the S/PDIF port is visible to the ASIO driver. Cantabile doesn’t care if the input is analog or digital - the interface provides a digital audio stream in any case.

So you might want to check the interface’s documentation beforehand. But for most modern interfaces, the S/PDIF port is treated like any other input, so you should be good.

Cheers,

Torsten


#8

Thanks Torsten, will give it a shot.