Commit c233c98b authored by Anika Treffehn's avatar Anika Treffehn
Browse files

additional fix for osba evs

parent 9d5cad35
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -298,6 +298,7 @@ def combine(
    out_file: str,
    in_fs: Optional[int] = 48000,
    is_planar: Optional[bool] = False,
    is_planar_offset: Optional[int] = 0,
) -> None:
    """
    Combines audio files into one multi-channel file
@@ -310,6 +311,10 @@ def combine(
        Output multi-channel audio file name (.pcm, .raw or .wav)
    in_fs: Optional[int]
        Input sampling rate, required for .pcm and .raw input file, default 48000 Hz
    is_planar: Optional[bool]
        If true vertical SBA channels are set to zero
    is_planar_offset: Optional[int]
        Offset of SBA due to OSBA (corresponds to num of ISM channels)

    Returns
    -------
@@ -338,7 +343,7 @@ def combine(

    # set vertical channels to zero
    if is_planar:
        y[:, VERT_HOA_CHANNELS_ACN[VERT_HOA_CHANNELS_ACN < len(in_filenames)]] = 0
        y[:, VERT_HOA_CHANNELS_ACN[VERT_HOA_CHANNELS_ACN < (len(in_filenames) - is_planar_offset)] + is_planar_offset] = 0

    write(out_file, y, fs=in_fs)

+2 −1
Original line number Diff line number Diff line
@@ -260,7 +260,7 @@ class EVS(Processing):

        # combine the decoded channels into the output file
        if out_file.suffix in [".wav", ".pcm"]:
            combine(split_chan_out, out_file, in_fs=self.out_fs, is_planar=is_planar)
            combine(split_chan_out, out_file, in_fs=self.out_fs, is_planar=is_planar,is_planar_offset=is_planar_offset)
            if split_chan_bs_unprocessed != split_chan_bs and self.tx_condition:
                out_file_unprocessed = f"{Path(out_file.parent).joinpath(Path(out_file.name).with_suffix(''))}.noerror{out_file.suffix}"
                combine(
@@ -268,6 +268,7 @@ class EVS(Processing):
                    out_file_unprocessed,
                    in_fs=self.out_fs,
                    is_planar=is_planar,
                    is_planar_offset=is_planar_offset,
                )
            # copy ISM metadata for ISM pass-through
            if isinstance(self.in_fmt, audio.ObjectBasedAudio) or isinstance(self.in_fmt, audio.OMASAAudio) or isinstance(self.in_fmt, audio.OSBAAudio):