Loading ivas_processing_scripts/audiotools/convert/osba.py +12 −6 Original line number Diff line number Diff line Loading @@ -129,14 +129,20 @@ def convert_osba( ) # only render SBA part to MASA out_sba = audio.fromtype(out.name[4:]) out_sba.metadata_file = out.metadata_files[-1] render_sba_to_masa(sba, out_sba) out_masa = audio.fromtype(out.name[4:]) if str(out.metadata_files[-1]).endswith(".met"): # if MASA metadata filename is given, copy it out_masa.metadata_file = copy(out.metadata_files[-1]) render_sba_to_masa(sba, out_masa) # combine ISM audio with MASA audio into OMASA audio out.audio = np.concatenate((oba.audio, out_masa.audio), axis=1) # ism audio is passed through ism_audio = osba.audio[:, : osba.num_ism_channels] # combine ISM metadata with MASA metadata filenames out.metadata_files = oba.metadata_files + [out_masa.metadata_file] out.audio = np.concatenate((ism_audio, out_sba.audio), axis=1) # copy ISM object positions out.object_pos = copy(oba.object_pos) # OSBA -> OSBA elif isinstance(out, audio.OSBAAudio): Loading ivas_processing_scripts/audiotools/convert/scenebased.py +11 −0 Original line number Diff line number Diff line Loading @@ -197,6 +197,17 @@ def render_sba_to_masa( masa_out: audio.MetadataAssistedSpatialAudio, ) -> None: num_tcs = masa_out.num_channels # convert to HOA2 if input is HOA3 if sba_in.name.endswith("HOA3"): warn( "MASA conversion only supports up to 2nd order ambisonics! Converting to HOA2 format." ) sba_hoa2 = audio.fromtype("HOA2") sba_hoa2.fs = sba_in.fs render_sba_to_sba(sba_in, sba_hoa2) sba_in = sba_hoa2 masa = masaAnalyzer(sba_in, num_tcs, masa_out.dirs, masa_out.metadata_file) masa_out.audio = masa.audio Loading ivas_processing_scripts/audiotools/wrappers/reverb.py +4 −2 Original line number Diff line number Diff line Loading @@ -285,6 +285,7 @@ def reverb_hoa2( input: Audio, hoa2_IR: Audio, align: Optional[float] = None, mode: Optional[str] = None, ) -> Audio: """ Convolve mono audio signal with an HOA2 impulse response Loading Loading @@ -322,7 +323,7 @@ def reverb_hoa2( # separate IR into each channel IR.audio = hoa2_IR.audio[:, [i]] # convolve mono input with channel IR ych.append(reverb(input, IR, align=align)) ych.append(reverb(input, IR, align=align, modee=mode)) # combine into HOA2 output y = audio.fromtype("HOA2") Loading @@ -336,6 +337,7 @@ def reverb_hoa3( input: Audio, hoa3_IR: Audio, align: Optional[float] = None, mode: Optional[str] = None, ) -> Audio: """ Convolve mono audio signal with an HOA3 impulse response Loading Loading @@ -373,7 +375,7 @@ def reverb_hoa3( # separate IR into each channel IR.audio = hoa3_IR.audio[:, [i]] # convolve mono input with channel IR ych.append(reverb(input, IR, align=align)) ych.append(reverb(input, IR, align=align, mode=mode)) # combine into HOA3 output y = audio.fromtype("HOA3") Loading ivas_processing_scripts/generation/generate_ismN_items.py +4 −4 Original line number Diff line number Diff line Loading @@ -288,12 +288,12 @@ def generate_ismN_scene( x.fs = cfg.fs # adjust the level of the audio source file (need to convert to MONO first) if np.isinf(level): # set all channels to zero x.audio = np.zeros_like(x.audio) elif level is None: if level is None: # do not change the level of the audio source signal logger.info("-- Level of the audio source signal is not changed") elif np.isinf(level): # set all channels to zero x.audio = np.zeros_like(x.audio) else: x_temp = audio.ChannelBasedAudio( "MONO" Loading ivas_processing_scripts/generation/generate_masa_items.py +4 −4 Original line number Diff line number Diff line Loading @@ -316,12 +316,12 @@ def generate_MASA_scene( x = reverb_hoa3(x, IR, mode=None) # adjust the level of the FOA/HOA2/HOA3 signal if np.isinf(level): # set all channels to zero x.audio = np.zeros_like(x.audio) elif level is None: if level is None: # do not change the level of the audio source signal logger.info("-- Level of the audio source signal is not changed") elif np.isinf(level): # set all channels to zero x.audio = np.zeros_like(x.audio) else: x.audio, _ = loudness_norm(x, level, loudness_format="STEREO") Loading Loading
ivas_processing_scripts/audiotools/convert/osba.py +12 −6 Original line number Diff line number Diff line Loading @@ -129,14 +129,20 @@ def convert_osba( ) # only render SBA part to MASA out_sba = audio.fromtype(out.name[4:]) out_sba.metadata_file = out.metadata_files[-1] render_sba_to_masa(sba, out_sba) out_masa = audio.fromtype(out.name[4:]) if str(out.metadata_files[-1]).endswith(".met"): # if MASA metadata filename is given, copy it out_masa.metadata_file = copy(out.metadata_files[-1]) render_sba_to_masa(sba, out_masa) # combine ISM audio with MASA audio into OMASA audio out.audio = np.concatenate((oba.audio, out_masa.audio), axis=1) # ism audio is passed through ism_audio = osba.audio[:, : osba.num_ism_channels] # combine ISM metadata with MASA metadata filenames out.metadata_files = oba.metadata_files + [out_masa.metadata_file] out.audio = np.concatenate((ism_audio, out_sba.audio), axis=1) # copy ISM object positions out.object_pos = copy(oba.object_pos) # OSBA -> OSBA elif isinstance(out, audio.OSBAAudio): Loading
ivas_processing_scripts/audiotools/convert/scenebased.py +11 −0 Original line number Diff line number Diff line Loading @@ -197,6 +197,17 @@ def render_sba_to_masa( masa_out: audio.MetadataAssistedSpatialAudio, ) -> None: num_tcs = masa_out.num_channels # convert to HOA2 if input is HOA3 if sba_in.name.endswith("HOA3"): warn( "MASA conversion only supports up to 2nd order ambisonics! Converting to HOA2 format." ) sba_hoa2 = audio.fromtype("HOA2") sba_hoa2.fs = sba_in.fs render_sba_to_sba(sba_in, sba_hoa2) sba_in = sba_hoa2 masa = masaAnalyzer(sba_in, num_tcs, masa_out.dirs, masa_out.metadata_file) masa_out.audio = masa.audio Loading
ivas_processing_scripts/audiotools/wrappers/reverb.py +4 −2 Original line number Diff line number Diff line Loading @@ -285,6 +285,7 @@ def reverb_hoa2( input: Audio, hoa2_IR: Audio, align: Optional[float] = None, mode: Optional[str] = None, ) -> Audio: """ Convolve mono audio signal with an HOA2 impulse response Loading Loading @@ -322,7 +323,7 @@ def reverb_hoa2( # separate IR into each channel IR.audio = hoa2_IR.audio[:, [i]] # convolve mono input with channel IR ych.append(reverb(input, IR, align=align)) ych.append(reverb(input, IR, align=align, modee=mode)) # combine into HOA2 output y = audio.fromtype("HOA2") Loading @@ -336,6 +337,7 @@ def reverb_hoa3( input: Audio, hoa3_IR: Audio, align: Optional[float] = None, mode: Optional[str] = None, ) -> Audio: """ Convolve mono audio signal with an HOA3 impulse response Loading Loading @@ -373,7 +375,7 @@ def reverb_hoa3( # separate IR into each channel IR.audio = hoa3_IR.audio[:, [i]] # convolve mono input with channel IR ych.append(reverb(input, IR, align=align)) ych.append(reverb(input, IR, align=align, mode=mode)) # combine into HOA3 output y = audio.fromtype("HOA3") Loading
ivas_processing_scripts/generation/generate_ismN_items.py +4 −4 Original line number Diff line number Diff line Loading @@ -288,12 +288,12 @@ def generate_ismN_scene( x.fs = cfg.fs # adjust the level of the audio source file (need to convert to MONO first) if np.isinf(level): # set all channels to zero x.audio = np.zeros_like(x.audio) elif level is None: if level is None: # do not change the level of the audio source signal logger.info("-- Level of the audio source signal is not changed") elif np.isinf(level): # set all channels to zero x.audio = np.zeros_like(x.audio) else: x_temp = audio.ChannelBasedAudio( "MONO" Loading
ivas_processing_scripts/generation/generate_masa_items.py +4 −4 Original line number Diff line number Diff line Loading @@ -316,12 +316,12 @@ def generate_MASA_scene( x = reverb_hoa3(x, IR, mode=None) # adjust the level of the FOA/HOA2/HOA3 signal if np.isinf(level): # set all channels to zero x.audio = np.zeros_like(x.audio) elif level is None: if level is None: # do not change the level of the audio source signal logger.info("-- Level of the audio source signal is not changed") elif np.isinf(level): # set all channels to zero x.audio = np.zeros_like(x.audio) else: x.audio, _ = loudness_norm(x, level, loudness_format="STEREO") Loading