Commit 5db3e841 authored by kinuthia's avatar kinuthia
Browse files

Merge branch 'main' into ericsson/test-linux-runner

parents 60cb7f30 febe3f1b
Loading
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -14,8 +14,13 @@ mc.double
experiments/selection/*/proc_input/cat*/*.wav
experiments/selection/*/proc_input/cat*/*.csv
experiments/selection/*/proc_input/cat*/*.pcm
experiments/selection/*/background_noise/*.wav
experiments/selection/*/proc_input/*.log
experiments/selection/*/proc_input/*.yml
experiments/selection/*/proc_output/
experiments/selection/*/config/*cat*-lab_*.yml
experiments/selection/*/gen_input/IRs/*.wav
experiments/selection/*/gen_input/items_mono/*.wav
*~
tests/temp_output_*
tests/cut
+6 −0
Original line number Diff line number Diff line
@@ -48,6 +48,11 @@ stages:
  - make -j
  - cd $dir

.get-codec-testvectors: &get-codec-testvectors
  - to_dir=$(pwd)/tests/data/testv
  - mkdir -p $to_dir
  - from_dir=$CODEC_DIR/scripts/testv
  - cp $from_dir/*.wav $to_dir/

# ------------------------------------
# check pre-conditions are met
@@ -82,6 +87,7 @@ experiments:
  script:
    - *print-common-info
    - *get-codec-binaries
    - *get-codec-testvectors
    - python3 -m pytest tests/test_experiments.py::test_generate_test_items -n auto | tee log.txt
  artifacts:
    paths:
+39 −1
Original line number Diff line number Diff line
@@ -47,6 +47,44 @@

---

# Quick guide: How to set up a listening test

The setup for a listening test from the experiments folder according to the Processing Plan (IVAS-7) and Test Plan (IVAS-8) consists of two steps:
item generation and item processing.
In the following sections the only purpose of the curly brackets is to mark the variables that thave to be replaced with the actual values.

## P800

### Item generation

To set up the P800-{X} listening test (X = 1, 2, ...9) copy your mono input files to 'experiments/selection/P800-{X}/gen_input/items_mono'.
These files have to follow the naming scheme '{l}{LL}p0{X}{name_of_item}' where 'l' stands for the listening lab designator: a (Force Technology),
b (HEAD acoustics), c (MQ University), d (Mesaqin.com), and 'LL' stands for the language: EN, GE, JA, MA, DA, FR.

The impluse responses have to be copied to experiments/selection/P800-{X}/gen_input/IRs.

To generate the items run `python -m ivas_processing_scripts.generation experiments/selection/P800-{X}/config/item_gen_P800-{X}_{l}.yml` from the root folder of the repository.
The resulting files can be found in 'experiments/selection/P800-{X}/proc_input' sorted by category.

For P800-3 the input files for the processing are already provided by the listening lab. This means this step can be skipped.
For tests with ISM input format (P800-6 and P800-7) no IRs are needed, only mono sentences

### Item processing

If the tests includes background noise, the corresponding files have to be copied to 'experiments/selection/P800-{X}/background_noise'.
The naming has to follow the scheme 'background_noise_cat{c}.wav' where 'c' denotes the category with a number between one and six.

To process the items run `python generate_test.py P800-{X},{l}` from the root folder of this repository.
The results can be found in 'experiments/selection/P800-{X}/proc_output'.

For more information about this processing step see 
[How to generate the configs and process items for the selection test experiments](#how-to-generate-the-configs-and-process-items-for-the-selection-test-experiments).

# MUSHRA
todo

---

# Item generation

The `item_generation_scripts` module may be used to generate audio items for the P.800 listening test according to the scene description. All scenes must be fully described in the `SCENE.yml` file. The module takes monophonic audio
@@ -706,7 +744,7 @@ options:
  --no_parallel      If given, configs will not be run in parallel
  --create_cfg_only  If given, only create the configs and folder structure without processing items
```
Before running the script, one needs to put the input files in the respective input folder (including the background noise files, see below). If input files are missing, the script will complain ad stop. For example, for processing tests P800-3 and BS1534-4a for labs b and d, respectively, command line would look like this (no whitespace between the commas!):
Before running the script, one needs to put the input files in the respective input folder (including the background noise files, see below). If input files are missing, the script will complain and stop. For example, for processing tests P800-3 and BS1534-4a for labs b and d, respectively, command line would look like this (no whitespace between the commas!):
```
python3 generate_test.py P800-3,b BS1534-4a,d
```
+4 −11
Original line number Diff line number Diff line
@@ -65,13 +65,10 @@ input:
    fmt: "HOA3"
    ### Input sampling rate in Hz needed for headerless audio files; default = 48000
    # fs: 32000
    ### Enable check for input files being aligned to a integer multiple of a given length in ms.
    ### If a file is not aligned, a warning will be issued. If the input format has metadata or force is true, an error is raised instead.
    # aligned_to:
    ### alignment length in ms, is needed if aligned_to is used
    #     len: 20
    ### default: false
    #     force: true
    ### Treatment of items that are not 20ms aligned
    ### options: "padding" (pads with low level noise to frame length), "warning" or "error" (raises a warning or an error when items are not aligned),
    ### "ignore" (no special treatment for items that are not aligned); default = "padding" (for ISM: default = "error")
    # frame_alignment: "error"

################################################
### Pre-processing on individual items
@@ -119,10 +116,6 @@ input:
    # preamble: 10000
    ### Flag wheter to use noise (amplitude +-4) for the preamble or silence; default = false (silence)
    # preamble_noise: true
    ### Specify postamble duration in ms. Postamble is added after concatenation and possible signal repetition. defaut = 0
    # postamble: 20
    ### Flag wheter to use noise (amplitude +-4) for the postamble or silence; default = false (silence)
    # postamble_noise: true
    ### Additive background noise
    # background_noise:
        ### SNR for background noise in dB; REQUIRED for prerecorded background noise and ignored for low level noise
+0 −2
Original line number Diff line number Diff line
@@ -35,8 +35,6 @@ preprocessing:
preprocessing_2:
    concatenate_input: false
    preamble_noise: false
    postamble: 20
    postamble_noise: true
    repeat_signal: true

#################################################
Loading