Skip to content

A few ASIO questions/observations on 4.0-preview (Windows, RME) #37

Description

@TommiIversen

Hi ModernMube,

Thanks for OwnAudioSharp, and for taking on the Rust rewrite in 4.0 — really nice to
see it coming together. I'm looking at it for a multichannel recording setup and spent
a bit of time trying the ASIO path on Windows. Ran into a few things, and figured it'd
be more useful to write them down in one place than to keep guessing. Quite possibly
I'm holding something wrong, so feel free to set me straight.

Environment

  • OwnAudioSharp 4.0.0-preview.28, .NET 10, Windows 11 (x64)
  • RME MADIface (ASIO driver "ASIO MADIface USB"); The RME is working fine right now in TotalMix and in another ASIO host, so the driver/hardware side looks healthy.

1. HostApi.Asio seems to return WASAPI devices
With AudioEngine.Create(HostApi.Asio) + EnumerateInputDevices() I get the same list
as HostApi.Wasapi — the Windows endpoints (stereo "Analog (1+2)", webcams, etc.), not
the registered ASIO drivers like "ASIO MADIface USB". CoreAudio and Alsa correctly
throw "not available", so Asio is accepted but then seems to fall back to the default
host for the listing. Is that expected in the preview, or am I missing a step?

2. 32-channel limit
Channels look capped at 32 (AudioConfig.Validate() returns false above 32, and there's
a Guard.InRange(channels, 1, 32) around the stream config). That's a tricky one for pro
audio — a lot of RME interfaces go well past 32: MADI alone is 64 in / 64 out, and the
larger Fireface/Digiface units expose even more. I think the same 32-channel limit was
around in the 3.1.x line too, so it's not a new regression — just something I'd love to
see lifted with the new engine. Any chance that limit could be made configurable or raised?

3. Couldn't open an ASIO input stream
Through the high-level engine (after OwnaudioNet.Initialize()) with HostType = ASIO,
opening fails with "stream configuration not supported by device (code 3)" for every
channel count I tried, at 48 kHz / F32. Since the enumeration above didn't give me an
ASIO device to inspect, I couldn't tell what sample rate / format / buffer size the
driver actually expects — so this one might just be me not finding the right config.
If you can point me at the intended ASIO capture flow, that'd be a big help.

For what it's worth, WASAPI capture worked without any trouble.

I completely understand ASIO is marked optional/experimental in the preview, so no
pressure at all — mainly wanted to share what I saw and check whether 1 and 2 are things
you'd want to look at.

Thanks again for the work on this!

Cheers,
Tommi

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions