From b146a15e85d3c47f08738ab4f1d00bdc6a9c65f0 Mon Sep 17 00:00:00 2001 From: Vladimir Malenovsky Date: Wed, 13 Nov 2024 13:33:43 +0100 Subject: [PATCH 1/4] fixes in OMASA format conversion --- .../audiotools/convert/omasa.py | 2 +- .../audiotools/convert/scenebased.py | 4 +--- .../audiotools/wrappers/masaAnalyzer.py | 16 ++++++++++------ 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/ivas_processing_scripts/audiotools/convert/omasa.py b/ivas_processing_scripts/audiotools/convert/omasa.py index 68c66cba..4da18127 100644 --- a/ivas_processing_scripts/audiotools/convert/omasa.py +++ b/ivas_processing_scripts/audiotools/convert/omasa.py @@ -61,7 +61,7 @@ def convert_omasa( omasa.audio[:, : omasa.num_ism_channels], omasa.fs, ) - oba.metadata_files = copy(omasa.metadata_files) + oba.metadata_files = omasa.metadata_files[:-1] oba.object_pos = copy(omasa.object_pos) masa = audio.fromarray( "MASA" diff --git a/ivas_processing_scripts/audiotools/convert/scenebased.py b/ivas_processing_scripts/audiotools/convert/scenebased.py index de7e39ae..79ec3edb 100755 --- a/ivas_processing_scripts/audiotools/convert/scenebased.py +++ b/ivas_processing_scripts/audiotools/convert/scenebased.py @@ -197,9 +197,7 @@ def render_sba_to_masa( masa_out: audio.MetadataAssistedSpatialAudio, ) -> None: num_tcs = masa_out.num_channels - md_out_path = masa_out.metadata_file - - masa = masaAnalyzer(sba_in, num_tcs, masa_out.dirs, md_out_path) + masa = masaAnalyzer(sba_in, num_tcs, masa_out.dirs, masa_out.metadata_file) masa_out.audio = masa.audio diff --git a/ivas_processing_scripts/audiotools/wrappers/masaAnalyzer.py b/ivas_processing_scripts/audiotools/wrappers/masaAnalyzer.py index dde8bbdc..e55917c1 100644 --- a/ivas_processing_scripts/audiotools/wrappers/masaAnalyzer.py +++ b/ivas_processing_scripts/audiotools/wrappers/masaAnalyzer.py @@ -31,6 +31,8 @@ # from pathlib import Path from tempfile import TemporaryDirectory +from typing import Optional +import shutil from ivas_processing_scripts.audiotools import audio from ivas_processing_scripts.audiotools.audiofile import write @@ -40,7 +42,7 @@ from ivas_processing_scripts.utils import find_binary, run def masaAnalyzer( - sba: audio.SceneBasedAudio, num_tcs: int, num_dirs: int, metadata_out_path: Path + sba: audio.SceneBasedAudio, num_tcs: int, num_dirs: int, metadata_out_filename: Optional[Path] = None ) -> audio.MetadataAssistedSpatialAudio: """ Wrapper for masaAnalyzer (from MASA reference software) @@ -51,8 +53,8 @@ def masaAnalyzer( Number of MASA transport channels (1 - monoMASA, 2- stereoMASA) num_dirs: int Number of directions - metadata_out_path: - Path to output the Metadata file to + metadata_out_filename: + Output metadata filename (optional, tmp filename generated if not provided) Returns ------- @@ -84,7 +86,7 @@ def masaAnalyzer( str(binary), "-mono" if num_tcs == 1 else "-stereo", f"-{num_dirs}dir", - "-foa" if sba.name.endswith("FOA") else "-hoa2", + "-foaext" if sba.name.endswith("FOA") else "-hoa2ext", "", # 4 -> inputPcm "", # 5 -> outputPcm "", # 6 -> output metadata file @@ -94,10 +96,12 @@ def masaAnalyzer( tmp_dir = Path(tmp_dir) tmp_in = tmp_dir.joinpath("tmp_masaAnaIn.pcm") tmp_out_pcm = tmp_dir.joinpath("tmp_masaAnaOut.pcm") + if metadata_out_filename is None: + metadata_out_filename = tmp_dir.joinpath("tmp_masaAnaOut.met") cmd[4] = str(tmp_in) cmd[5] = str(tmp_out_pcm) - cmd[6] = str(metadata_out_path) + cmd[6] = str(metadata_out_filename.resolve()) tmp_audio = resample_itu(sba, 48000) write(tmp_in, tmp_audio, 48000) @@ -106,6 +110,6 @@ def masaAnalyzer( run(cmd, cwd=binary.resolve().parent) fmt = f"MASA{num_tcs}DIR{num_dirs}" - masa = audio.fromfile(fmt, tmp_out_pcm, 48000, metadata_out_path) + masa = audio.fromfile(fmt, tmp_out_pcm, 48000, tmp_out_met) return masa -- GitLab From 2e95d8043e9c9d893a2755210bd685bb693d3628 Mon Sep 17 00:00:00 2001 From: Vladimir Malenovsky Date: Fri, 31 Jan 2025 14:43:37 +0100 Subject: [PATCH 2/4] fix the output filename in audio.fromfile() --- ivas_processing_scripts/audiotools/wrappers/masaAnalyzer.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ivas_processing_scripts/audiotools/wrappers/masaAnalyzer.py b/ivas_processing_scripts/audiotools/wrappers/masaAnalyzer.py index e55917c1..19fb3320 100644 --- a/ivas_processing_scripts/audiotools/wrappers/masaAnalyzer.py +++ b/ivas_processing_scripts/audiotools/wrappers/masaAnalyzer.py @@ -110,6 +110,6 @@ def masaAnalyzer( run(cmd, cwd=binary.resolve().parent) fmt = f"MASA{num_tcs}DIR{num_dirs}" - masa = audio.fromfile(fmt, tmp_out_pcm, 48000, tmp_out_met) + masa = audio.fromfile(fmt, tmp_out_pcm, 48000, metadata_out_filename) return masa -- GitLab From 80512c4d6740d75af942170d04959ccefeafb64b Mon Sep 17 00:00:00 2001 From: Archit Tamarapu Date: Wed, 5 Feb 2025 12:41:31 +0100 Subject: [PATCH 3/4] [fix] revert CLI change to masaAnalyzer and remove unused import --- ivas_processing_scripts/audiotools/wrappers/masaAnalyzer.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/ivas_processing_scripts/audiotools/wrappers/masaAnalyzer.py b/ivas_processing_scripts/audiotools/wrappers/masaAnalyzer.py index 19fb3320..a6976273 100644 --- a/ivas_processing_scripts/audiotools/wrappers/masaAnalyzer.py +++ b/ivas_processing_scripts/audiotools/wrappers/masaAnalyzer.py @@ -32,7 +32,6 @@ from pathlib import Path from tempfile import TemporaryDirectory from typing import Optional -import shutil from ivas_processing_scripts.audiotools import audio from ivas_processing_scripts.audiotools.audiofile import write @@ -86,7 +85,7 @@ def masaAnalyzer( str(binary), "-mono" if num_tcs == 1 else "-stereo", f"-{num_dirs}dir", - "-foaext" if sba.name.endswith("FOA") else "-hoa2ext", + "-foa" if sba.name.endswith("FOA") else "-hoa2", "", # 4 -> inputPcm "", # 5 -> outputPcm "", # 6 -> output metadata file -- GitLab From c0f6f0371192372aed87f3effa6bcbe2d5750f26 Mon Sep 17 00:00:00 2001 From: Archit Tamarapu Date: Wed, 5 Feb 2025 16:01:43 +0100 Subject: [PATCH 4/4] formatting --- ivas_processing_scripts/audiotools/wrappers/masaAnalyzer.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ivas_processing_scripts/audiotools/wrappers/masaAnalyzer.py b/ivas_processing_scripts/audiotools/wrappers/masaAnalyzer.py index a6976273..3eea5dbe 100644 --- a/ivas_processing_scripts/audiotools/wrappers/masaAnalyzer.py +++ b/ivas_processing_scripts/audiotools/wrappers/masaAnalyzer.py @@ -41,7 +41,10 @@ from ivas_processing_scripts.utils import find_binary, run def masaAnalyzer( - sba: audio.SceneBasedAudio, num_tcs: int, num_dirs: int, metadata_out_filename: Optional[Path] = None + sba: audio.SceneBasedAudio, + num_tcs: int, + num_dirs: int, + metadata_out_filename: Optional[Path] = None, ) -> audio.MetadataAssistedSpatialAudio: """ Wrapper for masaAnalyzer (from MASA reference software) -- GitLab