target single speaker with surround mix

Hi,
I’m working on an installation that has 8 speakers setup around a room, and would like to assign tracks to play on a single speaker. I’ve setup my project’s Output Format in FMOD Studio to 7.1 Surround, and selected the ASIO driver for my Focusrite Scarlett 18i20 as my audio device. This device has 8 analog outputs on the back, but when I add a track to an event and force its surround panner to target a single channel, I still hear audio out of 4 of the outputs (some are quite loud). This is happening even though my Master bus is just showing audio going to a single channel:

screenshot of mix

Does surround mixing spatialize the audio in a way I’m not understanding? Any tips on how to make this work?

Hi,
Its possible your device isnt mapping the 8 channels to asio channel 0 to 7.
Have you tried WASAPI instead?
A speaker map option may be needed in fmod studio’s preferences section.

1 Like

Hi, I have similar problems while trying to do some low level programming.

I have the luxury to own both the Focusrite Scarlett 18i20 and an RME RayDAT.
For testing purposes I use the Multi_speaker example in the 10704 API.

In WASAPI, all channels of the RME are being recognized properly.
Only the front speakers are recognized from the Scarlett 18i20.

In ASIO both the RME and the Scarlett 18i20 are not driven as thet should be.
At first glance, all outputs seem to be recognized, but the sounds are just played at an unlogical order on the front speakers, instead of the other chosen speakers.

Kind regards,

Tom

Hi Tom, unfortunately ASIO doesnt map speakers in the way most other output modes do (even linux has a known layout) so you have to manually assign them yourself. We’ll have to add a UI in the settings to allow you to map asio numbered channels to logical speakers.

It’s necessary to give user a setting UI to map channels for surround sound. Hope for that urgently.What audio interface is perfectly adapted with FMOD surround sound ?

A standard WASAPI based card is the best way to author with Studio right now.

Update: In Fmod Studio the Scarlett 18i20 has only output on the front channels in whatever mode I choose (WASAPI, ASIO, Direct sound)
The RME uses all channels in WASAPI mode. However the output doesn’t match the position of the 3D panner…

Hi Brett,

Does this mean I have to use the ASIO SDK if I want to use multichannel output when programming with FMOD ?
Whatever soundcard I use in ASIO, I don’t succeed in having more than two output channels in FMOD. It seems to use the directX setting for ASIO. DirectX only recognises the first two two channels of each card.
Is there a way to set this up or can you redirect me to more information on how to solve this ?

Kind regards,

Tom

Hi Tom,
If you use windows 7 or above, it will be using WASAPI not directx. Direct X is XP and below.
FMOD will be using whatever your system settings are set to. If it is set to stereo, change it to 7.1. I’m talking about 16 channel output and the like for ASIO, which is not a standard speaker mode.

If you set it to 5.1 or 7.1 and WASAPI still only plays in stereo, then it is an issue with your soundcard not supporting windows properly.

Hi Brett,

ASIO is definitely needed as a lot of professional soundcards ( including my Scarlett 18i20 ) only allow usage of multichannel audio in ASIO mode.

Here’s what I found: I first find out which drivers are available using:
for (int i = 0; i < numDrivers; i++)
{
result = system->getDriverInfo(i, name, sizeof(name), 0, 0, 0, 0);
FMODErrorCheck(result);
std::cout << "Driver " << i << " is named " << name << std::endl;
}

It turns out that the 18i20 is driver number 4 so I select driver 4, set it to use ASIO and then initialize the system":

    result = system->setDriver(4);
FMODErrorCheck(result);
result = system->setOutput(FMOD_OUTPUTTYPE_ASIO);
result = system->init(100, FMOD_INIT_NORMAL,0);

What I meant in my previous message is that, as soon as I set FMOD to use ASIO it doesn’t use the 18i20 driver, which I selected using setDriver(4) but it starts using the directX asio driver.
Whatever soundcard I have selected in directX, gets selected by FMOD, but only the first two channels are available.

Then there’s an issue with FMOD studio:
ASIO doesn’t function on both audiocards. Sometimes I can select the 18i20 or the RME, but only the first two channels, sometimes 'none of the audiocards are recognized.

Strange thing though: It’s perfect for both cards, in ASIO, in FMOD EX.

What’s happening here ?

Regards,

Tom

Update: Mystery solved :wink:

  • First set the system to ASIO.
  • Then let it look what drivers you have, it won’t display the WASPI drivers, but a different list with ASIO drivers. The first one in the list happened to be the DirectX, so that’s why I got that one every time )
  • Then select the ASIO driver of the 80i20 or whatever card you want to use.

Still leaves a shady mystery in using FMOD Studio, but I can live with that, since I have an RME as well.

Kind regards,

Tom

1 Like