RME FireFace and BabyFace cards on Windows show up as a single, multi-channel audio device in ASIO. However, using the latest (master) PTB ASIO is not an option. The substitute WASAPI show devices as being separate:
$ python -c "import pprint; import psychtoolbox.audio; pprint.pprint(psychtoolbox.audio.get_devices(13))"
PTB-INFO: Using modified PortAudio V19.6.0-devel, revision unknown
...{'DefaultSampleRate': 48000.0,
'DeviceIndex': 9.0,
'DeviceName': 'Speakers (RME Babyface Pro)',
'HighInputLatency': 0.0,
'HighOutputLatency': 0.01,
'HostAudioAPIId': 13.0,
'HostAudioAPIName': 'Windows WASAPI',
'LowInputLatency': 0.0,
'LowOutputLatency': 0.003,
'NrInputChannels': 0.0,
'NrOutputChannels': 2.0},
{'DefaultSampleRate': 48000.0,
'DeviceIndex': 10.0,
'DeviceName': 'Analog (3+4) (RME Babyface Pro)',
'HighInputLatency': 0.0,
'HighOutputLatency': 0.01,
'HostAudioAPIId': 13.0,'HostAudioAPIName': 'Windows WASAPI',
'LowInputLatency': 0.0,
'LowOutputLatency': 0.003,
'NrInputChannels': 0.0,
'NrOutputChannels': 2.0},So removal of ASIO is a backward incompatible change, as we can no longer send multi-channel audio using single load-buffer and start commands (even with the WASAPI channel-mapping options, AFAIK).
I've pinged the RME folks about the possibility of having it show up as a single multi-channel device, but given that the original issue is almost 10 years old I'm not optimistic:
https://www.forum.rme-audio.de/viewtopic.php?id=10688
In that thread they mention the possibility of the end software recognizing that separate WASAPI endpoints are all really part of the same device and treating them as a single device. Is this the sort of thing that could be done in Psychtoolbox? I imagine it's not trivial to do so, but in principle it (along with the WASAPI channel-mapping options) would allow working around this problem.
Or is there some other solution multi-channel RME users have found?