Discrete OSBA Stereo output missing scaling factor of 0.5
The stereo output for discrete OSBA is missing a scaling factor of 0.5 at the decoder side, making it louder than the binaural output. For lower bitrates this factor is applied at the encoder side.
Compare stereo outputs of IVAS decoder, renderer and processing scripts:
# Codec
./IVAS_cod -ism_sba 4 3 NULL NULL NULL NULL 512000 48 scripts/testv/stvOSBA_4ISM_3OA48c.wav osba.bit
./IVAS_dec STEREO 48 osba.bit osba_st_dec.wav
# Renderer
./IVAS_rend -if ISM4SBA3 -of STEREO -im NULL NULL NULL NULL -i scripts/testv/stvOSBA_4ISM_3OA48c.wav -o osba_st_rend.wav
# Processing scripts
# dummy.csv needed since only real file paths are accepted
python -m ivas_processing_scripts.audiotools -if ISM4SBA3 -of STEREO -i ../ivas-codec/scripts/testv/stvOSBA_4ISM_3OA48c.wav -o ../ivas-codec/osba_st_py.wav -im dummy.csv dummy.csv dummy.csv dummy.csv
With Binaural outputs:
# Codec
./IVAS_dec BINAURAL 48 osba.bit osba_bin_dec.wav
# Renderer
./IVAS_rend -if ISM4SBA3 -of BINAURAL -im NULL NULL NULL NULL -i scripts/testv/stvOSBA_4ISM_3OA48c.wav -o osba_bin_rend.wav
# Processing scripts
python -m ivas_processing_scripts.audiotools -if ISM4SBA3 -of BINAURAL -i ../ivas-codec/scripts/testv/stvOSBA_4ISM_3OA48c.wav -o ../ivas-codec/osba_bin_py.wav -im dummy.csv dummy.csv dummy.csv dummy.csv
Looking at the loudness values, it is clear that the scaling factor is missing:
Output | Loudness (LUFS) |
---|---|
Codec Stereo | -18.83 |
Renderer Stereo | -24.85 |
Proc. scripts Stereo | -24.87 |
Codec Binaural | -20.97 |
Renderer Binaural | -20.99 |
Proc. scripts Binaural | -20.85 |
Edited by Archit Tamarapu