I get "Unable to initialize the selected device" when selecting ASIO driver for device verified to work with Ableton Live


(Ilias Bergström) #1

Hi!

I get “Unable to initialize the selected device” when selecting ASIO driver for device verified to work with Ableton Live 64 bit.

This happens using FMOD studio 1.10.04 64-bit, Build #93853, Running on Windows 10.

The ASIO device in question is a Roland Duo-Capture, which is otherwise working just fine, with all other software.

What can it be?


(リチャード清水) #2

Hi Ilias,

Do you have another program open (such as Ableton Live) that is also using the same device? The ASIO driver doesn’t work if another software is using it.

Please close any other software that uses the Roland Duo-Capture first before trying to initialize the ASIO driver in FMOD Studio.

Thanks,
Richard


(Ilias Bergström) #3

Hi!

No, no other device is using it, other than windows having it as its default audio playback interface. Which does not stop Ableton from using it.

I rebooted, and ran only FMOD just to make sure - it still doesn’t see it.

I also tried with two other ASIO devices - a Blackmagic intensity shuttle and a Behringer x32 core - same problem.

Best,
Ilias B.


(Ilias Bergström) #4

Hi!

There it is, now I see errors related to it indeed.

The relevant bit is this:

09:27:06 fmod_systemi_driver.cpp(497), SystemI::setOutputInternal(): Setting output to ‘FMOD ASIO Output’
09:27:06 fmod_output_asio.cpp(196), OutputASIO::enumerate(): IASIO::init failed for driver 0 (Blackmagic ASIO Driver): ‘DeckLink ASIO Driver open Failure!’.
09:27:06 fmod_output_asio.cpp(196), OutputASIO::enumerate(): IASIO::init failed for driver 2 (X-USB ASIO Driver): ‘No device is connected to the PC.’.
09:27:06 fmod_runtime_manager.cpp(463), Manager::init(): maxchannels = 1024 studioflags = 00000004 flags 00100000 extradriverdata 0000000000000000.
09:27:06 fmod_systemi.cpp(2604), SystemI::init(): Initialize version=11004 (93853), maxchannels=1024, flags=0x00120000
09:27:06 fmod_output_asio.cpp(308), OutputASIO::init(): Requested DSP buffer count of 4 is being forced to 2.
09:27:06 fmod_output_asio.cpp(356), OutputASIO::init(): DSP buffer size 1024 must be a multiple of 320.
09:27:06 fmod_output_asio.cpp(508), OutputASIO::stop(): IASIO::stop returned -997

It seems to me then that FMOD expects a buffersize that is a multiple of 1024. However the Roland audio interface only has pre-set buffer sizes, and none of these is a multiple of 1024.

I also replied to the email with your forum reply, where I also attached the full log, if that is of any use to you.

Best,
Ilias B.


(リチャード清水) #5

Hi Ilias,

The DSP buffer size needs to be a multiple of 320. Check the settings for your Roland interface for a buffer size that is a multiple of 320 (640, 960, 1280, etc.).

Thanks,
Richard


(Ilias Bergström) #6

Hi!

Setting the buffer size on the Duo-Capture’s driver control panel is straight-forward. It IS set to 320. The GUI provides a slider, across which you get pre-set values, which indeed are multiples/divisions of 320.

So, the error message can (to me) only be interpreted as FMOD requiring a buffer sie of 1024, which it doesn’t find, and thus it fails.

Again, the audio interface works fine with all other software that uses ASIO, except FMOD.

Here’s what that interface looks like: http://ultimateoutsider.com/blogimages/nuc_photos/antec_duo_capture_settings.png

The buffer size number you see on there is different because the device is set to 44100hz.

The buffer size was 320, when the duo was set to 48000hz. I switched it also to 441000 to see if that would make a difference with FMOD, but it didn’t.

Here’s another console error from this morning, when I had set the DUO to buffer size 192:

09:29:04 fmod_output_asio.cpp(356), OutputASIO::init(): DSP buffer size 1024 must be a multiple of 192.
09:29:04 fmod_output_asio.cpp(508), OutputASIO::stop(): IASIO::stop returned -997.

So, in short, I’m quite convinced it is not a matter of my getting the settings right on my computer.

Best,
Ilias Bergström


(リチャード清水) #7

Hi Illias,

My apologies, you were right. FMOD requires the DSP buffer size to be a multiple of 1024. Could you try setting your interface’s buffer size to 256 or 512 and see if it works then?

Thanks,
Richard


(リチャード清水) #8

Hi Ilias,

Could you open up the logs by clicking Window > Console > Logging. There should be some errors in here that might give some clue what is happening.

Thanks,
Richard


(Ilias Bergström) #9

Hi! That’s not possible. Many interfaces, that one included, allow only preset buffer sizes, none of which fulfill that requirement.


(リチャード清水) #10

Hi Ilias,

My only other suggestion would be to use ASIO4ALL and make sure the buffer size of that is set to 256 or 512. If this does not work then unfortunately you will need to use a different output device.

Thanks,
Richard


(Ilias Bergström) #11

Hi!

The point I am raising is not about my ability to use or not use FMOD Studio myself.

Rather, as a developer, I’m raising my concern about a bug/shortcoming in a library my work depends on - FMOD, and its associated tool FMOD Studio.

If ASIO does not work for me, it will not work also for users of the software I ship that builds on FMOD.

And to any user of a software application, ASIO support, does not equal being able to use only the few devices that can do an 1024 buffer size. It means it will work with ‘any’ buffer size setting of any audio interface’s ASIO driver.

Audio interfaces provide ASIO drivers for very important reasons. They unlock access to crucial features for those devices, most importantly very low latency. Only being able to use Asio4All as opposed to native ASIO drivers, means any user loses the ability to access those very features, and is tantamount to not really supporting ASIO at all.

What I was hoping to hear in this conversation, is something along the lines of:

“Thank you for the bug report, we have filed it into our backlog”. And: “ASIO support is of importance to us, and we will include the fix to this bug in the next sprint”, or: “Unfortunately for us, ASIO support is not a priority, so we cannot commit to when we may be addressing this bug.”

You get my point. Speaking for the company I work for, as developers and users of FMOD, we want to know if this will be fixed, and if so when that is likely, as it is of great importance to us whether in the end it does work. It is in our case a feature that decides whether we will be using FMOD at all.

Best,
Ilias Bergström


(Ilias Bergström) #12

Just to complete the bug report, I should add:

I also tested on several computers running W10 64bit, and FMOD behaves the same on all.

One of the several audio interface we have at the office, the Behringer x32, does support setting the buffer size to 1024. And then, it does work with FMOD.

But, in the context of live audio, a buffer size of 1024 is absolutely huge, and means that audio latency is very high, counteracting the entire purpose of ASIO, and high performance audio interfaces.

With this I should add that your current implementation only works with multiples of 1024, not subdivisions! So when I set my X32 to a buffer size of 512, 256, or 128, I get the same error as before.

Best,
Ilias B.


(Mathew Block) #13

This issue is being addressed via e-mail, we are looking into improving FMOD compatibility with ASIO devices for a future 1.10 release.