logo

Live Production Software Forums


Welcome Guest! To enable all features please Login or Register.

Notification

Icon
Error

Options
Go to last post Go to first unread
jello  
#1 Posted : Friday, October 25, 2024 3:55:20 AM(UTC)
jello

Rank: Member

Groups: Registered
Joined: 5/28/2022(UTC)
Posts: 16

Thanks: 1 times
Was thanked: 1 time(s) in 1 post(s)

I am attempting to set a trigger with OnAudioMeterDB on Zoom inputs, because OnActiveSpeaker doesn't work in Spotlight mode.

OnAudioMeterDB works fine with other inputs, but doesn't seem to work on Zoom inputs.

Is that expected?

I have "a thing" next week where the functionality would be used, so if there's a fix... please let me know.

27.0.0.85
admin  
#2 Posted : Friday, October 25, 2024 12:25:00 PM(UTC)
admin

Rank: Administration

Groups: Administrators
Joined: 1/13/2010(UTC)
Posts: 5,228
Man
Location: Gold Coast, Australia

Was thanked: 4332 time(s) in 1528 post(s)
Yes, just tested and can confirm it is working on Zoom inputs.
Zoom does a lot of audio processing and it may just be the audio level may rarely exceed 6dB if you are using that particular setting.
jello  
#3 Posted : Friday, October 25, 2024 1:04:35 PM(UTC)
jello

Rank: Member

Groups: Registered
Joined: 5/28/2022(UTC)
Posts: 16

Thanks: 1 times
Was thanked: 1 time(s) in 1 post(s)
Thank you for testing. To try to replicate I used a different machine, and started from scratch with these exact steps

add Color input on 1, Zoom input on 2.

On input1 I set a layer template (the 1/2 at an angle).

On input2 I added a trigger... OnAudioMeterDB18, which does a setlayer, putting input 2 into layer 1 of input 1.

Join the zoom meeting, set the participant.

Doesn't work.



HOWEVER

Then I put input 1 into the Preview window instead of the Output window, where it was by default.

THEN it started working... and continued to work, whether in output, preview, or neither.


I'll have to do more testing, but it looks like it doesn't work "by default"... you have to put the target input into Preview for it to start working. OnActiveSpeaker didn't have that problem, so I never tried that technique.


So... if you could try those steps... it still seems like there is a bug, but it seems like it is quickly workaroundable.


thanks again.
admin  
#4 Posted : Friday, October 25, 2024 7:00:52 PM(UTC)
admin

Rank: Administration

Groups: Administrators
Joined: 1/13/2010(UTC)
Posts: 5,228
Man
Location: Gold Coast, Australia

Was thanked: 4332 time(s) in 1528 post(s)
Ok, that is probably not going to work, the DB trigger will not work if it detects the Input you have assigned to the trigger is already in Output (in this case Input 1).

The DB trigger is designed to do simple switching based on audio levels, and not to directly control other inputs.

So with that in mind, you can do the following, as it is still a simple switch as far as the DB trigger is concerned:

1. Create a separate Mix input
2. Set the Trigger to do a Cut of that Mix number (say Mix 2), but crucially with the source input being the Zoom input itself.
3. You can use that Mix input as a layer in Input 1
4. Repeat these steps for other Zoom inputs, so they are all switched to that specific Mix when the audio levels are high enough.

With the above you don't need to use SetLayer at all, as the Mix input will be fixed.

Regards,

Martin
vMix
jello  
#5 Posted : Friday, October 25, 2024 11:23:52 PM(UTC)
jello

Rank: Member

Groups: Registered
Joined: 5/28/2022(UTC)
Posts: 16

Thanks: 1 times
Was thanked: 1 time(s) in 1 post(s)
Thank you. The actual scenario is to create an active speaker / gallery view on an external display.

40 Zoom inputs... Inputs 41 and up.

Then one input with a 9-layer layout, turned sideways for a vertical layout. The top layer is activespeaker, the rest are statically assigned to various zoom inputs (I was going to do a randizer script to periodically rotate them out.)

Each of the 40 Zoom inputs we set to put themselves in layer 10 of the layout when in activespeaker.

When we found out it didn't work when spotlighted, we tried onaudiodb, but it didn't work.

None of the zoom inputs, nor the layout input were ever in Output or Preview... but now I'm thinking that's why it didn't work... the Layout needs to be in Preview at least once to start working, even if it never is again.

I'll do more testing when I get into the studio.


Thank you
admin  
#6 Posted : Saturday, October 26, 2024 12:00:28 AM(UTC)
admin

Rank: Administration

Groups: Administrators
Joined: 1/13/2010(UTC)
Posts: 5,228
Man
Location: Gold Coast, Australia

Was thanked: 4332 time(s) in 1528 post(s)
Seem my previous response. The solution I provided will work that case.

Simply replace the active speaker slot with the new Mix input and use the DB trigger to cut what input goes into that mix input instead of using setlayer.
jello  
#7 Posted : Saturday, October 26, 2024 12:08:14 AM(UTC)
jello

Rank: Member

Groups: Registered
Joined: 5/28/2022(UTC)
Posts: 16

Thanks: 1 times
Was thanked: 1 time(s) in 1 post(s)
Thank you, yes, I intend to try that as well, it sounds more elegant. I just wanted to confirm the nature of "when it works and when it doesn't" on the OnAudioMeterDB.
jello  
#8 Posted : Saturday, October 26, 2024 1:03:26 PM(UTC)
jello

Rank: Member

Groups: Registered
Joined: 5/28/2022(UTC)
Posts: 16

Thanks: 1 times
Was thanked: 1 time(s) in 1 post(s)
Yes, your suggestion works... thank you.

No, I wasn't able to pin down under what circumstances my method works and doesn't work. Sometimes it does, sometimes it doesn't... not sure what the trick is.


But while testing I found another oddity:

While I was editing the existing triggers to change them from SetLayer to Cut... I clicked the trigger, changed the things that needed changing and hit Edit. Normally that works fine for changing values.

However, after my changes didn't work as intended, I noticed that when you go from SetLayer to Cut, there are extra values that remain that Cut doesn't use, which breaks the trigger.

Ideally, when switching to a function that needs fewer values, the unnecessary values should be nulled out.

To fix, you either have to switch back to SetLayer and remove the offending values, then switch back to cut... or delete and add a new trigger.

fwiw.
Users browsing this topic
Guest
Forum Jump  
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.