[SOLVED] AudioDeviceOutput issue in version 3.11
-
@woland, @DusX, @jfg, @Juriaan and @mark
Happy New Year !!
All the Best to All !!
I will try to show and explain this part of the patch.
Please forgive me for any mistakes, my English is limited.
In fact, the User Actor from the previous post is one of 2 equal Actors, different instances, that trigger the same microphone, but not simultaneously.
Each actor has a corresponding button (SW) on the operator console.We have 2 rooms, Pre-Show and Show:
- Both have their own ambient background music.
- At the right time, the operator activates the room's specific video.
- When he does this, the ambient music fades out and the video (with its audio) is played.
- When the video ends, the ambient sound will fade in.
- If the operator needs it, he interrupts the room's audio by pressing the corresponding button and speaks into the microphone, being heard only in that chosen room.So we have 2 ambient sounds and 2 videos: 4 digital audios managed by Isadora.
The microphone is connected to a USB audio interface and is 'routed' to the room required by the operator.-> The operator can jump in any of the rooms, regardless of the audio being played (ambient or video), at any time, by pressing the corresponding button.
Audio outputs:
- The Show room has an amplified sound system that receives the audio signal through the same USB interface that the microphone is connected to (FocusWrite Scarlet 18i20).
- The Pre-Show room has a TV and receives the audio signal via HDMI (audio and video).The image below shows this part of the patch.
This works perfectly on version 3.08f12 installed on Mac Mini M1 MacOS 11.6.1 Big Sur.
-
I don't know if it has to do with your problem because it doesn't work in 3.0.8f12 or 3.1.1. But when I switch the router actor back and forth, I get already by the second switch an error message and Isadora freeze . This for a very simple patch:
But the file has already been played.
best
Jean-François
-
@jfg said:
But the file has already been played
Which Audio device plays the file?
Perhaps each device is setup to accept different audio formats and conversion isn't applied automatically? -
Each room has 1 ambient music and 1 video.
The PRE-SHOW room has a TV that receives an HDMI signal:
- Video (stage 2 = HP USB video) and Audio (HP USB audio)
HP USB is a USB-C HDMI Display Link interfaceThe SHOW room has an amplified sound system and a projector
- Video (Stage 1 = Mac Mini HDMI port) and Audio (Scarlett 18i20 USB OUT 1-2)The microphone is also in the Scarlett interface (IN-3), which converts the analog microphone to a digital signal (DAW-3) which is available as a digital audio input on the Mac.
If it works on version 3.08f12 (Mac M1 not native), the point is that something in version 3.11 (Mac M1 native) has changed and it doesn't work anymore.
We know that what we're using and doing shouldn't be usual, and that's exactly why we love Isadora: It's possible and works with different configurations and equipment.
Best Wishes
-
@whitefly said:
If it works on version 3.08f12 (Mac M1 not native), the point is that something in version 3.11 (Mac M1 native) has changed and it doesn't work anymore.
We will have to investigate this further. I don't believe we made changes to this part of the program for 3.1.1, so it is possible the unlaying framework is behaving differently on the M1 native.
If possible, I think @Woland s suggestion of not de-activating the device, but rather adjusting the gain, could allow you to work around this. -
One output device is Built-in output the other one Blackhole. If I send direct (without Router) to Blackhole or Built-in Output there is no problem
best
Jean-François
-
As per my knowledge Sound, video, and game controls should all be double-clicked. Select Update Driver from the context menu when you right-click the audio device. To check for and install a driver, click Search automatically for updated driver software. If a new driver is installed, restart the computer if prompted before checking for sound.
-
@jfg said:
If I send direct (without Router) to Blackhole or Built-in Output there is no problem
I have confirmed with Mark that this router is not designed for the 'audio' data type. It is a bug that the router accepts this data type connection.
-
After many tests on different Macs (MacBook Pro i7 Big Sur 11.6.3, Mac Mini M1 Big Sur 11.6.2 and Mac Mini M1 Monterey 12.2), we found that the issue is directly linked to the AUSoundInput actor.
For us this complicates the project because we need a single microphone to be routed to one of the two rooms.We tested it with AUSpliter and the result doesn't change: the patch hangs.
Any news about the Core Audio framework?
Any suggestions for having a microphone input via the interface and two routed outputs?
(remembering that the two rooms also have their own video and audio sources)
Thanks in advance. -
We can look into it, but I can't imagine we will have a fix real soon, we are working towards our next release right now, so any fix would be included in the following release.
You might need to use an external audio routing/mixing tool, and control it from Isadora via Midi/OSC
SoundDesk seems to allow this (on PC I use Voicemeeter). -
We are using version 3.22F00 and we still need one AUSoundInput input (microphone via interface) to be able to output to two different AUDeviceOutputs (two rooms) at different times.
AUSplitter and AUMultiSplitter don't allow it, although they have one input and two outputs. Why ?
-
@whitefly said:
AUSplitter and AUMultiSplitter don't allow it, although they have one input and two outputs. Why ?
It's because these are Core Audio plugins that are part of the macOS architecture (we didn't create them), so they follow their own logic (which we cannot change). The warning that comes up when you try to do this also explains this:
It is possible to do what you want just by creating an AUSoundInput actor for each AUAudioDeviceOutput actor:
You could also create a Multi-Output Device and send your audio to multiple devices using that method.
Best wishes,
Woland