diff --git a/ivas_processing_scripts/audiotools/convert/osba.py b/ivas_processing_scripts/audiotools/convert/osba.py index f97329b3c94dac616f07d6f79b39c9658a131729..26f8c36073006a866c36634bb6de8d0d234be128 100644 --- a/ivas_processing_scripts/audiotools/convert/osba.py +++ b/ivas_processing_scripts/audiotools/convert/osba.py @@ -82,14 +82,14 @@ def convert_osba( try: out.audio = out_ism.audio + out_sba.audio except ValueError as e: - if ( - out_ism.audio.shape[0] != out_sba.audio.shape[0] - and out_sba.audio.shape[0] == osba.audio.shape[0] - ): - out.audio = out_sba.audio - out.audio[: out_ism.audio.shape[0], :] += out_ism.audio - else: - raise e + min_len = min(out_ism.audio.shape[0], out_sba.audio.shape[0]) + Warning( + f"Encountered exception {e}\n" + f"Differing lengths for rendered ISM and SBA parts: {out_ism.audio.shape[0]} vs {out_sba.audio.shape[0]}\n" + f"Using first {min_len} samples\n" + ) + out.audio = out_sba.audio[:min_len, :] + out.audio += out_ism.audio[:min_len, :] # OSBA -> CBA elif isinstance(out, audio.ChannelBasedAudio):