FlexASIO
FlexASIO copied to clipboard
Dummy channels
Hi Etienne,
I hope you are well since a few years.
I love your feature that watches in realtime C:\Users\User\FlexASIO.toml for changes, and immediately restart the driver, this is excellent! (I mean this feature https://github.com/dechamps/FlexASIO/issues/57#issuecomment-687347623).
Now I can switch easily between:
- 1: laptop config with built-in soundcard (1 stereo input, 2 stereo outputs)
- 2: studio config with external USB soundcard (8 stereo inputs, 8 stereo inputs)
The only little problem I have is that when I switch to config (1), it resets this in Ableton:
and when I go back to (2), I have to reenable all the 16 checkboxes manually : click click click click click click click ... in Ableton to reenable all the channels.
Question: is there a way that, if I do [input] channels = 8 in the TOML config, dummy empty channels are reported to the DAW, even if the current soundcard has only 1 input channel?
Or another idea around this?
Current behaviour: if I do channels = 8 and my soundcard only has 1, then FlexASIO cannot be started in the DAW, it doesn't work. Could you add an option to consider all missing channels to be empty dummy channels ? i.e. a slience [0 0 0 0 ... 0] input/output stream...
Oh hello @josephernest, it's been a while!
Some of the FlexASIO backends are able to downmix/upmix to adapt between the channel count specified in the channels option and what the hardware is actually configured for. However, I suspect that mostly only works for output, not input. I'm not sure any backend would natively support upmixing a mono input to 8 channels because that normally doesn't make much sense.
I could implement the feature that you describe but that seems like a really niche feature for a very contrived use case, to be honest. It would make more sense to file a request against Ableton to improve the behavior around dynamic changes in ASIO channel count.
That being said, I can think of at least one workaround you could use to achieve the same result. It's a bit involved, though. The idea is, you could use Equalizer APO to do this. If you set up Equalizer APO on your laptop built-in soundcard device, it should be possible to use it to upmix from 1 channel to 8 - and then FlexASIO (as well as all other Windows apps) will see 8 channels for that device. In fact you would even be able to choose whether you want the extra channels to be silence or copies of the original - see the Copy Equalizer APO command. There are a couple of caveats though: Equalizer APO has a bit of a learning curve, it will not work with WASAPI Exclusive nor WDM-KS because these bypass APOs, and this workaround will affect the behavior of your input device across your entire system, not just FlexASIO.
Oops, I spoke too soon (as I was not in my studio, I was planning this for the next day ;)):
Now I can switch easily between:
1: laptop config with built-in soundcard (1 stereo input, 2 stereo outputs) 2: studio config with external USB soundcard (8 stereo inputs, 8 stereo inputs)
Now I see PortAudioDevices.exe shows:
Device index: 46 Device name: "MOTU Analog 1-2 (MOTU Audio Wave for 64 bit)" Default sample rate: 44100 Input: max channel count 2, default latency 0.003s (low) 0.01s (high) Output: max channel count 0, default latency 0s (low) 0s (high) Host API name: Windows WASAPI Host API type: 13 [WASAPI]
The MOTU 828 mk3 interface is splitted into many input devices of "channel count : 2", instead of 1 input device with "channel count : 16"... :-(
This means I cannot use it with FlexASIO...
The MOTU 828 mk3 interface is splitted into many input devices of "channel count : 2", instead of 1 input device with "channel count : 16"... :-( This means I cannot use it with FlexASIO...
Yes, you've already reported this 5 years ago in #58. I'm afraid my answer on this hasn't changed - making this work would be non trivial and is beyond the amount of time and effort I am willing to spend.
Yes... When fiddling again with FlexASIO after a long pause, I had the same hope than I had 5 years, and then I rediscovered the same issue with the MOTU driver which splits everything in multiple devices :)
Edit: I've now found something! Disabling the checkbox "Use Stereo Pairs for Windows" in the MOTU audio interface config helped, and now I can see 8 channels in the same input device :-) To be continued...