Outputting to multiple audio devices

Hello! I have a multichannel audio device (a motu) and I’m trying to output to most of the channels. However, when I list the channels using audio::Device::printDevicesToString() it comes in as a bunch of devices each with 2 channels, instead of a single device with 12.

My use case is to send separate mono audio to each channel all at the same time. Is it possible to send to multiple devices at the same time? All the samples look like you can only use a single device and you have to route the master context’s audio to just one device.

Thanks!
-c

Are you on Windows? I’ve gotten multichannel output working with the motu ultralite mk3 on windows, however I had to mess with the driver settings so that it appears to the OS as one soundcard with 10 outs, rather than 5 soundcards with 2 outs each. After that it worked great (on Mac OS X it worked out of the box).

AFAIK there is no way to utilize two audio devices at the same time from the same process (application), on any platform.

@rich.e - Perhaps I’m misunderstanding your final statement, but most DJ software (Traktor, Serato, VirtualDJ, etc.) is predicated on using more than a single audio device (typically one for the master output and one for the cue output). I personally use the BASS audio library to output audio to multiple devices. Not from the same thread mind you, but the same process I’d say.

I can’t say as to how well BASS supports outputting individual to each channel, but I’d imagine it’s possible.

@rich.e I am on Windows 10 and am using the ultralite mk3 as well. I’ll have to mess with the driver then, thanks!

@sharkbox Once you figure out the driver settings so you have access to all 10 channels, be sure to check out the MultichannelOutput sample, which shows you how to route a mono signal to specific channel on the OutputDeviceNode.

@Gazoo My understanding is that other audio frameworks consider a hardware device to be a collection of ‘software devices’ that you would want to route a stereo audio signal to. In cinder::audio, as well as the platform specific APIs we use like Core Audio on OS X or WASAPI on Windows, a device is what you see in your OS’s audio properties. Taking the MOTU Ultralite mk3 as an example, it has two modes; one where it shows up under window’s Audio Playback Devices as either a handful of stereo devices, or just one multichannel device with many outputs.

I do recall there being some really sketchy audio api called MMAPI or something that allowed you to open up multiple devices, but it was a hack and the quality / latency was never good.

@rich.e I’m not sure I’m following you. Perhaps because I’m not taking your original statement literal enough. You wrote

AFAIK there is no way to utilize two audio devices at the same time from the same process (application), on any platform.

and perhaps what you mean is claiming ownership of two audio devices simultaneously? I interpreted that as no application being able to supply two different audio devices with output.

I’m not too wise on audio libraries, having only worked with them for a few years.

Just wanted to update this thread with findings for future readers. Cinder works well with the MOTU Ultralite MK3 but only up to 8 analog channels out. I am currently testing on a MOTU 16A on Windows 10, and I think the drivers aren’t updated enough for the device to show up as more than a single 2 channel output when used as an Audio Interface. It also only works over usb, and not thunderbolt.

@sharkbox: Can you recall where you found the setting to enable 8 channels as one hardware ‘device’? I can’t at the moment after reading through their manual, and forgot where I originally found this. Need to do something similar for a different device (or figure out a more generic solution).

Thanks,
Rich

@rich.e It was either in the “MOTU Audio Console” app, or it might have just been if you right-clicked on it in Control Panel > Sound. You want to uncheck Stereo Pairs.

Screenshot from (https://s3.amazonaws.com/motu-data/manuals/firewire-usb-audio/Audio_Express_User_Guide_Win.pdf) Page 7

1 Like

Hi guys, I´m working with a Motu 4pre that has four analog outputs, but I´m having the same problems you guys mentioned before.

I Did left the “Use Stereo Pairs for Windows Windows Audio” unchecked:

but that did not made any difference.

Do any of you guys remember if there was another setting you had to play with so it would work?

this is my output from cinder btw:
-- MOTU FW USB In (07/08) (MOTU Audio Wave for 64 bit) -- key: {0.0.1.00000000}.{0fd9529b-d328-47d0-8c79-346e3437ec50} inputs: 2, outputs: 0 samplerate: 44100, frames per block: 512 -- MOTU FW USB In (03/04) (MOTU Audio Wave for 64 bit) -- key: {0.0.1.00000000}.{8bb8d3c7-44a5-410f-a14a-2d7418b20769} inputs: 2, outputs: 0 samplerate: 44100, frames per block: 512 -- MOTU FW USB In (05/06) (MOTU Audio Wave for 64 bit) -- key: {0.0.1.00000000}.{c73eeee5-b974-452d-acb1-5a7201f19217} inputs: 2, outputs: 0 samplerate: 44100, frames per block: 512 -- MOTU FW USB In (01/02) (MOTU Audio Wave for 64 bit) -- key: {0.0.1.00000000}.{e9ca22b1-610e-4705-a63e-1dfed3efc6cb} inputs: 2, outputs: 0 samplerate: 44100, frames per block: 512 -- MOTU FW USB Out (03/04) (MOTU Audio Wave for 64 bit) -- key: {0.0.0.00000000}.{1145c550-516b-4630-8081-6c36349dd07e} inputs: 0, outputs: 2 samplerate: 44100, frames per block: 512 -- MOTU FW USB Out (07/08) (MOTU Audio Wave for 64 bit) -- key: {0.0.0.00000000}.{53c65e3c-d991-4bda-81f9-deed10214518} inputs: 0, outputs: 2 samplerate: 44100, frames per block: 512 -- Áudio Digital (S/PDIF) (Dispositivo de High Definition Audio) -- key: {0.0.0.00000000}.{81f40344-a0f6-4155-9035-705f3cf0784e} inputs: 0, outputs: 2 samplerate: 44100, frames per block: 512 -- MOTU Phones (MOTU Audio Wave for 64 bit) -- key: {0.0.0.00000000}.{ac638744-c0e6-40c9-8fdf-e5e90039f476} inputs: 0, outputs: 2 samplerate: 44100, frames per block: 512 -- Áudio Digital (S/PDIF) (Dispositivo de High Definition Audio) -- key: {0.0.0.00000000}.{cd6cd3f6-661d-4c70-a43b-2886dc306723} inputs: 0, outputs: 2 samplerate: 44100, frames per block: 512 -- MOTU FW USB Out (05/06) (MOTU Audio Wave for 64 bit) -- key: {0.0.0.00000000}.{d4150502-cc9e-4cb9-bbc7-126e844aa3d3} inputs: 0, outputs: 2 samplerate: 44100, frames per block: 512
Any tip is appreciated =)

Hmm, looks like it’s still showing up as stereo pairs. Unchecking it worked for me immediately, my only recommendation at this point is making sure drivers are up to date, and a good old fashioned restart.

Are you using it over firewire? “MOTU FW USB Out” would suggest possibly that it’s trying to use firewire, and you might have better luck over USB2. That how I used it anyway.

Ummm,

yeah, I tried using an older driver & other computer and it did not worked.

I think it´s a hardware issue, in the link below the 4pre has only 2 analog output, while the ultralite as 8.
http://www.motu.com/techsupport/technotes/channellisting

Ah yes, same problem I as running into. You can’t utilize the Headphones/SPDIF/Analog out simultaneously. I’ve heard that people have gotten it to work with Jack audio, but I never got it working myself.

Hello,
I used multiple device and 6 analogs outputs on motu ultralite mk3 with 5.1 wave for the be a bee project
I configured mk3 easily on windows 10 with 8 analogs output on one device with Unchecking stereo pairs!
I used FMOD with this block to control multiple device (stereo via HDMI and 5.1 via MOTU) and to play 5.1 wave file.
https://colinbouvry@bitbucket.org/colinbouvry/cinder-soundplayer-fmod.git
I used the last FMOD C++ API dowloaded on FMOD website.

Cheers

Colin

Hi sharkbox, colin, thank you for the help!

weirdly, it worked with a c# library called NAudio ( http://naudio.codeplex.com/ ). But instead of having 1 device & 4 channels, we did something like acessing 2 devices with 2 channels.

thanks again!

I’ve realized that inevitably we will need to support multiple audio devices on Windows, however the current system was designed for only one so you need an audio interface that sends all of its channels to one ‘device’ instead of stereo pairs (such as the motu ultralite). I’ve opened an issue here for this, hoping to get to it in the near future.

2 Likes

thanks rich.e!
Ping me if you need any testing =)

Hi @rich.e,

just wondering if you ever circled back to this? I was hoping to use multiple audio device outputs on a current project. 4 stereo pairs from an 8 Channel ESI Gigaport HD+ AND a stereo pair from the built in audio.

Note I I really only need 5 channels but as well as triggering samples need to route video audio and am using Cinder-WMFVideo, which currently has support for specifying the audio device but not for panning, which prevents me from using only the surround card - but will make another post about that.

cheers,
nay