Originally Posted by: Shadowhelm ... 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.