Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CoreAudio: Capturing audio from audio device with multiple streams not working as expected. #312

Closed
directmusic opened this issue May 26, 2021 · 6 comments

Comments

@directmusic
Copy link

Hello,

I am currently building an application that lets the user select a channel on their audio device for capture. In my testing with a virtual audio device on macOS this works as expected.

However, one of my beta testers ran into an issue when trying to capture audio from their interface which separates the 30 channels into 5 streams according to Audio Midi Setup. As they select channels for testing once they hit channel number for the second stream they only get silence.

When enumerating in miniaudio shows this interface as one device. I looked through the API docs to see if I could split this out, or potentially allow for these extra streams to show up and could not find anything of use. I've attached a screenshot showing what I am referring to.

Bildschirmfoto_2021-05-23_um_14

Any help or suggestions would be appreciated. Thanks!

@mackron
Copy link
Owner

mackron commented May 29, 2021

Unfortunately I don't know how streams work in relation to the Core Audio API. This is the first I've even heard of the notion of a stream in macOS. I'll need advice from the community on how to deal with this before I'll be able to do anything with it. I'll go ahead and mark this as a feature request.

@kritzikratzi
Copy link

kritzikratzi commented May 30, 2021

@directmusic what about the card in other software? for instance ableton, audacity, audition, etc. what if you record all 30 channels at the same time? there is no need that the channel order in audio-midi setup matches the channel order in coreaudio. if things haven't changed there is also a "MA_MAX_CHANNELS" define in miniaudio that you might have to modify.

@mackron i think "stream" was supposed to be "sections", seems like casual wording to me.

@directmusic
Copy link
Author

@kritzikratzi I asked the tester who had the issue to check. They tested in Ableton and Audacity and they both show all 30 channels and can record from all individually and at the same time. They also said the channel order does match what Audio Midi Setup shows.

Bildschirmfoto_2021-05-23_um_14 20 12

As for the term streams while I'm not sure it is correct but this is what is shown when the device is exclusively added to an aggregate device and they click "Configure Speakers..." in Audio Midi Setup. To be clear it still does not seem to work when it is in an aggregate regardless. Although, making an aggregate device with two or more other devices works as expected.

@MidimasterSoft
Copy link

When I look at the screenshot for me it looks like the user selected to only have 8 channels activ, or? There is also something written in the manual of the fireface to this behavoir. did you read?

@directmusic
Copy link
Author

If you're referring to the part that says "Stream: Analog 1-8" they tried changing that setting and it did not change the behavior.

@mackron
Copy link
Owner

mackron commented Dec 27, 2021

I need to make a call on this one so I can get this one off the list. Just re-reading this and looking at that screenshot again, it seems pretty clear to me that the reason has something to do with the "Stream" dropdown box being set to "Analog 1-8". I can also see in the "Format" section that it says "8 ch". I think with the way miniaudio is initializing it's Core Audio objects is such that the OS is reporting device capabilities based on those settings.

I'm not sure how to work around this or what Ableton and Audacity are doing. If the community can give me some advice and point me in the right direction I'm more than happy to consider it, but if there's no movement on this ticket I'm going to go ahead and close it because otherwise it'll just sit here forever.

@mackron mackron closed this as completed Jan 3, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants