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
Shadowhelm  
#1 Posted : Wednesday, March 13, 2019 3:40:15 AM(UTC)
Shadowhelm

Rank: Member

Groups: Registered
Joined: 11/29/2017(UTC)
Posts: 16
Location: Birmingham, AL

Thanks: 1 times
Was thanked: 2 time(s) in 1 post(s)
I am using the current setup to test a NewTek Spark SDI unit.

Sony HXR-NX5U
NewTek Spark SDI
vMix 21.0.0.61

When I add the Camera as an NDI input I get a lot of audio noise. I am using the internal camera mic to test. On the camera it sounds clear, if I record on the camera it is clear, the NewTek Studio Monitor application sounds clear but when I add it to vMix it is noisy and also sounds very hot like the audio is being gained up in vMix. All audio settings are at the defaults. I can clear it up by going into the channel mixer for that input and turning the channels down but wasn't sure if this was the correct solution.

Has anyone else noticed this with audio from the Spark?
zenvideo  
#2 Posted : Wednesday, March 13, 2019 4:45:58 AM(UTC)
zenvideo

Rank: Advanced Member

Groups: Registered
Joined: 5/13/2014(UTC)
Posts: 514
Man
United Kingdom
Location: Manchester, UK

Thanks: 2 times
Was thanked: 183 time(s) in 130 post(s)
Originally Posted by: Shadowhelm Go to Quoted Post
... but when I add it to vMix it is noisy and also sounds very hot like the audio is being gained up in vMix. All audio settings are at the defaults. I can clear it up by going into the channel mixer for that input and turning the channels down but wasn't sure if this was the correct solution.


At present that is the best solution. The reason for this is a mismatch between the audio conversion used by NewTek (and others) and vMix (and others) for NDI audio. This has come about, I suspect, because of the slightly ambiguous way in which audio has been defined in the NDI SDK, particularly for non-audio engineers.

The short answer is that you probably need to attenuate the incoming level in vMix by 20dB.

Here's the longer answer, for anyone interested.

Audio in the NDI domain is represented by floating point values, whereas most digital audio uses signed integers (eg 16bit or 24bit numbers). The idea behind using floating point is to allow a far higher dynamic range - a kind of "digital wire" that doesn't clip, unlike integer audio where you can run out of digital dynamic range more easily.

However, there is no single global standard that defines how audio should be represented when floating point values are used, and when converting to and from integer audio, so the "digital wire" becomes a bit like analogue audio where there are a number of different conventions (eg consumer audio levels, professional audio levels).

NewTek have done two things.

1) They have defined NDI audio in a way that relates to analogue audio, where a notional SMPTE reference level of +4dBu (=0dB on an analogue VU meter, a.k.a. 0dBVU) equates to 1.0 in floating point. This is not necessarily the same convention as used by other audio software or function libraries.

2) Since the Tricaster is designed to use the SMPTE professional audio standards, they use SMPTE levels (+4dBu reference level with a maximum analogue output level of +24dBu). The Spark, of course, takes its audio from HDMI or SDI, which use integer audio levels, which are usually measured in dBFS - dBs referenced to Full Scale, the point where you run out of integer values). dBFS values are therefore always always negative, since 0dBFS represents the clipping point, whereas in an analogue system 0dB on a VU meter is only the reference/line-up level, way below the clipping point. The relationship between dBFS (integer digital) and analogue dBu (& NDI notional dBu) is defined by SMPTE as -20dBFS=+4dBu (=0dBVU).

The NewTek Spark & Spark Pro (and the Magewell Pro Convert) units convert -20dBFS (from SDI/HDMI) to an NDI level of +4dBu (=0dbVU on the NewTek Studio Monitor VU meter), but vMix decodes this as 0dB on the vMix input meter (which uses the same scale as a dBFS meter), so it's 20dB too high. The BirdDog generates a lower level from the same source because (currently) it's using the EBU conversion formula (-18dBFS=0dBu) which gives dBu levels 6dB lower than SMPTE.

You can safely attenuate the NDI audio in vMix because it also uses floating point audio internally, AFAIK.
thanks 4 users thanked zenvideo for this useful post.
stevespaw on 3/14/2019(UTC), mjgraves on 3/15/2019(UTC), stigaard on 4/1/2020(UTC), thickrichard on 11/5/2021(UTC)
Shadowhelm  
#3 Posted : Wednesday, March 13, 2019 5:13:46 AM(UTC)
Shadowhelm

Rank: Member

Groups: Registered
Joined: 11/29/2017(UTC)
Posts: 16
Location: Birmingham, AL

Thanks: 1 times
Was thanked: 2 time(s) in 1 post(s)
That is probably the best answer to a question I have ever seen posted on a forum anywhere in my entire online forum going life! It gives a short answer first and then explains the technical reasons behind the answer second. Thank you very much!

With all of that said, do you feel that going to the channel mixer and basically turning it down is the right solution? I have included a picture of what my channel mixer looks like after pulling those sliders down with ambient office noise.


vMixChannelMixerNewTekSpark.png (24kb) downloaded 0 time(s).
zenvideo  
#4 Posted : Wednesday, March 13, 2019 9:53:00 PM(UTC)
zenvideo

Rank: Advanced Member

Groups: Registered
Joined: 5/13/2014(UTC)
Posts: 514
Man
United Kingdom
Location: Manchester, UK

Thanks: 2 times
Was thanked: 183 time(s) in 130 post(s)
Using the Channel Mixer is akin to a "gain trim" in a traditional mixer, except that it can only attenuate and not increase the gain (that's done in another tab), but in this case attenuation is exactly what you need. If you set it to see a difference of 20dB between Pre & Post then you will know that any audio that was embedded in the SDI feed into the Spark will not exceed 0dBFS (ie maximum) on the vMix meters.

Of course the flip side of all this is that vMix's NDI output levels are 20dB below SMPTE levels, which is fine if you're sending vMix to vMix, but once hardware NDI decoders become more prevalent, and assuming that those decoders work in the same way as the hardware encoders - typically supporting SMPTE conversion levels - then the NDI audio from vMix is typically going to appear rather on the low side in the decoded HDMI/SDI output.
thanks 2 users thanked zenvideo for this useful post.
Shadowhelm on 3/13/2019(UTC), stigaard on 4/1/2020(UTC)
Shadowhelm  
#5 Posted : Wednesday, March 13, 2019 11:55:54 PM(UTC)
Shadowhelm

Rank: Member

Groups: Registered
Joined: 11/29/2017(UTC)
Posts: 16
Location: Birmingham, AL

Thanks: 1 times
Was thanked: 2 time(s) in 1 post(s)
Gotcha. Yes. It is a bit different than what I would expect on a mixer given that you have a "gain" option on the "General" tab but that is default set to "0". Is there a way to set the audio down exactly the 20dB or is it just an estimation based on the scale?

Thanks for the info!
zenvideo  
#6 Posted : Thursday, March 14, 2019 4:02:35 AM(UTC)
zenvideo

Rank: Advanced Member

Groups: Registered
Joined: 5/13/2014(UTC)
Posts: 514
Man
United Kingdom
Location: Manchester, UK

Thanks: 2 times
Was thanked: 183 time(s) in 130 post(s)
There's no simple "-20dB" setting, so my advice would be to use a signal source with constant level audio tone and then you can tweak the slider position so that the Pre/Post meter readings are 20dB apart.
thanks 1 user thanked zenvideo for this useful post.
stigaard on 4/1/2020(UTC)
richardgatarski  
#7 Posted : Thursday, March 14, 2019 6:37:13 PM(UTC)
richardgatarski

Rank: Advanced Member

Groups: Registered
Joined: 2/18/2014(UTC)
Posts: 1,811
Location: Stockholm

Thanks: 137 times
Was thanked: 292 time(s) in 246 post(s)
Thank you zenvideo for your excellent explanation!

On a side note I have noticed that the same applies the other way around for NDI out from vMix received by Newteks's Virtual Input. That is, one hase to change the Virtual Inputs audio setting to +20 dB to get sufficient audio, for example when sending audio to Skype.
Peter Berglund  
#8 Posted : Friday, March 15, 2019 6:58:59 PM(UTC)
Peter Berglund

Rank: Advanced Member

Groups: Registered
Joined: 1/9/2019(UTC)
Posts: 76
Man
Sweden
Location: Stockholm

Thanks: 18 times
Was thanked: 5 time(s) in 4 post(s)
Thanks for that explanation! I did a recording with vMix the other day with a bunch of cameras and among these I used a Sony FS-5 connected to a Spark using HDMI. As I used the FS-5 for the audio source, I carefully adjusted the level of my external microphone as I usually do during plain FS-5 recordings - as high as possible without clipping. However, I had to reduce the level in vMix to prevent clipping. I didn't really understand why and I have been thinking about this since then. But the explanation given by zenvideo makes sense.

Thx!
/Peter
zenvideo  
#9 Posted : Sunday, March 28, 2021 8:01:33 PM(UTC)
zenvideo

Rank: Advanced Member

Groups: Registered
Joined: 5/13/2014(UTC)
Posts: 514
Man
United Kingdom
Location: Manchester, UK

Thanks: 2 times
Was thanked: 183 time(s) in 130 post(s)
As a postscript to all this, the option of a 20dB adjustment to incoming and outgoing NDI audio levels was added to vMix in v23. For outputs, it can be found in the Output Settings for each output in the "Outputs/NDI/SRT" tab of the main Settings dialog window (shown as a "20dB Boost" checkbox), and for inputs it's in the General tab of the Audio Settings for individual NDI inputs (shown as a "-20dB Pad" checkbox).
Users browsing this topic
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.