Commit 5e0de9ed authored by Vinit Veera's avatar Vinit Veera
Browse files

merged main into branch

parent ae40b7cb
Loading
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -16,3 +16,7 @@ proc_input/*.wav
proc_input/*.pcm
proc_output/
*~
tests/tmp_output_*
tests/cut
tests/ref
tests/concatenation_folder
 No newline at end of file
+13 −0
Original line number Diff line number Diff line
@@ -7,6 +7,7 @@ default:


stages:
  - check
  - test
  - analyze

@@ -31,6 +32,18 @@ stages:
  - cd $dir


# ------------------------------------
# check pre-conditions are met
# ------------------------------------
check_for_binaries:
  stage: check
  tags:
    - linux
  script:
    - *print-common-info
    - python3 -m pytest tests/test_binaries_present.py


# ------------------------------------
# functionality tests
# ------------------------------------
+11 −7
Original line number Diff line number Diff line
@@ -103,9 +103,9 @@ conditions_to_generate:
      bitrates:
          - 9600
      cod:
          bin: ~/git/ivas-codec/IVAS_cod
          bin: ~/git/ivas-codec/EVS_cod
      dec:
          bin: ~/git/ivas-codec/IVAS_dec
          bin: ~/git/ivas-codec/EVS_dec
postprocessing:
    fmt: "BINAURAL"
	fs: 48000
@@ -296,7 +296,7 @@ input:
###     mnru       generate MNRU condition
###     esdru      generate ESDRU condition
###     mono_dmx   generate mono downmix condition
###     evs        generate an EVS coded condition (see below examples for additional required keys) (currently uses IVAS EVS mode)
###     evs        generate an EVS coded condition (see below examples for additional required keys)
###     ivas       generate an IVAS coded condition (see below examples for additional required keys)
conditions_to_generate:
  ### Reference and anchor conditions ##########################
@@ -389,15 +389,17 @@ conditions_to_generate:
      ### for multi-channel configs, code LFE with 9.6 kbps NB (as mandated by IVAS-3)
      evs_lfe_9k6bps_nb: true
      cod:
          ### Path to encoder binary; default search for IVAS_cod in bin folder (primary) and PATH (secondary)
          bin: ~/git/ivas-codec/IVAS_cod
          ### Path to encoder binary; default search for EVS_cod in bin folder (primary) and PATH (secondary)
          bin: ~/git/ivas-codec/EVS_cod
          ### Encoder input sampling rate in Hz (resampling performed in case of mismatch); default = null (no resampling)
          # fs: 32000
      dec:
          ### Path to encoder binary; default search for IVAS_dec in bin folder (primary) and PATH (secondary)
          bin: ~/git/ivas-codec/IVAS_dec
          ### Path to encoder binary; default search for EVS_dec in bin folder (primary) and PATH (secondary)
          bin: ~/git/ivas-codec/EVS_dec
          ### Decoder output sampling rate; default = null (same as input)
          # fs: 48000
	  ### Option to use SBA format of lower or same order (planar also possible) for SBA input formats
      # sba_format: "PLANARFOA"
```

</details>
@@ -471,6 +473,7 @@ For the encoding stage `cod` and the decoding stage `dec`, the path to the IVAS_
Additionally some resampling can be applied by using the key `fs` followed by the desired sampling rate.
The general bitstream processing configuration can be locally overwritten for each EVS and IVAS condition with the key `tx`.
The additional key `evs_lfe_9k6bps_nb` is only available for EVS conditions and ensures a bitrate of 9.6kbps and narrow band processing of the LFE channel(s).
Also only available for EVS conditions is the `sba_format` key where a SBA format of lower order than the input can be specified for SBA input formats.
#### IVAS
The configuration of the IVAS condition is similar to the EVS condition. However, only one bitrate for all channels (and metadata) can be specified.
In addition to that, the encoder and decoder take some additional arguments defined by the key `opts`.
@@ -521,6 +524,7 @@ The following additional executables are needed for the different processing ste
| Random offset/seed generation (necessary for background noise and FER bitstream processing)   | random                | https://www.3gpp.org/ftp/tsg_sa/WG4_CODEC/TSGS4_76/docs/S4-131277.zip                                       |
| JBM network simulator                           | networkSimulator_g192 | https://www.3gpp.org/ftp/tsg_sa/WG4_CODEC/TSGS4_76/docs/S4-131277.zip                                       |
| MASA rendering (also used in loudness measurement of MASA items)        | masaRenderer        | https://www.3gpp.org/ftp/TSG_SA/WG4_CODEC/TSGS4_122_Athens/Docs/S4-230221.zip         |
| EVS reference conditions        | EVS_cod, EVS_dec      | https://www.3gpp.org/ftp/Specs/archive/26_series/26.443/26443-h00.zip                                       |

The necessary binaries have to be either placed in the [ivas_processing_scripts/bin](./ivas_processing_scripts/bin) folder or the path has to be specified in 
[ivas_processing_scripts/binary_paths.yml](./ivas_processing_scripts/binary_paths.yml).
+9 −7
Original line number Diff line number Diff line
@@ -151,7 +151,7 @@ input:
###     mnru       generate MNRU condition
###     esdru      generate ESDRU condition
###     mono_dmx   generate mono downmix condition
###     evs        generate an EVS coded condition (see below examples for additional required keys) (currently uses IVAS EVS mode)
###     evs        generate an EVS coded condition (see below examples for additional required keys)
###     ivas       generate an IVAS coded condition (see below examples for additional required keys)
conditions_to_generate:
  ### Reference and anchor conditions ##########################
@@ -251,19 +251,21 @@ conditions_to_generate:
      evs_lfe_9k6bps_nb: true
      ### Encoder options
      cod:
          ### Path to encoder binary; default search for IVAS_cod in bin folder (primary) and PATH (secondary)
          bin: ~/git/ivas-codec/IVAS_cod
          ### Path to encoder binary; default search for EVS_cod in bin folder (primary) and PATH (secondary)
          bin: EVS_cod
          ### Encoder input sampling rate in Hz (resampling performed in case of mismatch); default = null (no resampling)
          # fs: 32000
      ### Decoder options
      dec:
          ### Path to encoder binary; default search for IVAS_dec in bin folder (primary) and PATH (secondary)
          bin: ~/git/ivas-codec/IVAS_dec
          ### Path to encoder binary; default search for EVS_dec in bin folder (primary) and PATH (secondary)
          bin: EVS_dec
          ### Decoder output sampling rate; default = null (same as input)
          # fs: 48000
      ### Bitstream options
      # tx:
          ### For possible arguments see overall bitstream modification
      ### Option to use SBA format of lower or same order (planar also possible) for SBA input formats
      # sba_format: "PLANARFOA"

################################################
### Post-processing
@@ -287,7 +289,7 @@ postprocessing:
    # bin_dataset: SADIE
    ### Render LFE to binaural output with the specified gain (only valid for channel-based input); default = null
    # bin_lfe_gain: 1
    ### Flag whether output should be limited to avoid clipping (can alter target loudness); default = true
    # limit: false
    ### Flag whether output should be limited to avoid clipping (can alter target loudness); default = false
    # limit: true
    ### Head-tracking trajectory file for binaural output; default = null
    # trajectory: "path/to/file"
+4 −0
Original line number Diff line number Diff line
@@ -43,6 +43,7 @@ from ivas_processing_scripts.constants import (
)
from ivas_processing_scripts.processing import chains, config
from ivas_processing_scripts.processing.processing import (
    multiple_of_frame_size,
    preprocess,
    preprocess_2,
    preprocess_background_noise,
@@ -126,6 +127,9 @@ def main(args):

        cfg.metadata_path = metadata

        # checking if audio is a multiple of frame size
        multiple_of_frame_size(cfg)

        # run preprocessing only once
        if hasattr(cfg, "preprocessing"):
            # save process info for background noise
Loading