Commit 8f4f4555 authored by Jan Kiene's avatar Jan Kiene
Browse files

Merge branch '28-masa-selection-test-experiments' of...

Merge branch '28-masa-selection-test-experiments' of forge.3gpp.org:ivas-codec-pc/ivas-processing-scripts into 28-masa-selection-test-experiments
parents fddbac27 067fd65a
Loading
Loading
Loading
Loading
+8 −4
Original line number Diff line number Diff line
@@ -32,9 +32,10 @@

import logging
from pathlib import Path, PurePath
from shutil import copyfile
from typing import Optional, Union

from numpy import empty
from shutil import copyfile

from ivas_processing_scripts.audiotools import audio, audioarray, metadata
from ivas_processing_scripts.audiotools.audiofile import write
@@ -310,7 +311,10 @@ def format_conversion(
    """Convert one audio format to another"""

    # validation
    if isinstance(output, audio.MetadataAssistedSpatialAudio) and not (isinstance(input, audio.SceneBasedAudio) or isinstance(input, audio.MetadataAssistedSpatialAudio )):
    if isinstance(output, audio.MetadataAssistedSpatialAudio) and not (
        isinstance(input, audio.SceneBasedAudio)
        or isinstance(input, audio.MetadataAssistedSpatialAudio)
    ):
        raise NotImplementedError("Can only convert to MASA from SBA")

    if isinstance(output, audio.ObjectBasedAudio) and input.name != output.name:
+4 −3
Original line number Diff line number Diff line
@@ -79,7 +79,9 @@ def convert_scenebased(

    # SBA -> MASA
    # NOTE: only allowed for 1st order ambisonics ("FOA" + "PLANARFOA")
    elif isinstance(out, audio.MetadataAssistedSpatialAudio) and sba.name.endswith("FOA"):
    elif isinstance(out, audio.MetadataAssistedSpatialAudio) and sba.name.endswith(
        "FOA"
    ):
        render_sba_to_masa(sba, out)

    else:
@@ -191,7 +193,6 @@ def render_sba_to_masa(
    sba_in: audio.SceneBasedAudio,
    masa_out: audio.MetadataAssistedSpatialAudio,
) -> None:

    # two dir only possible from HOA2, which is not yet implemented as conversion
    num_dirs = 1
    num_tcs = masa_out.audio.shape[1]
+6 −11
Original line number Diff line number Diff line

#!/usr/bin/env python3

#
@@ -34,17 +33,14 @@ from pathlib import Path
from tempfile import TemporaryDirectory

from ivas_processing_scripts.audiotools import audio
from ivas_processing_scripts.audiotools.audiofile import read, write
from ivas_processing_scripts.audiotools.audiofile import write
from ivas_processing_scripts.audiotools.wrappers.filter import resample_itu
from ivas_processing_scripts.constants import DEFAULT_CONFIG_BINARIES
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_path: Path
) -> audio.MetadataAssistedSpatialAudio:
    """
    Wrapper for masaAnalyzer (from MASA reference software)
@@ -110,4 +106,3 @@ def masaAnalyzer(
        masa = audio.fromfile(fmt, tmp_out_pcm, 48000, [metadata_out_path])

        return masa
+1 −1
Original line number Diff line number Diff line
@@ -468,7 +468,7 @@ def get_processing_chain(
                        "in_fs": tmp_in_fs,
                        "in_fmt": fmt_in,
                        "out_fs": tmp_in_fs,
                        "out_fmt": fmt_out
                        "out_fmt": fmt_out,
                    }
                )
            )
+1 −1
Original line number Diff line number Diff line
@@ -44,7 +44,7 @@ BINARIES = [
    "random",
    "networkSimulator_g192",
    "masaRenderer",
    "masaAnalyzer"
    "masaAnalyzer",
]