Commit fdecadfa authored by Jan Kiene's avatar Jan Kiene
Browse files

also create 32 and 16 kHz OSBA test vectors

parent 11477dfb
Loading
Loading
Loading
Loading
Loading
+68 −58
Original line number Original line Diff line number Diff line
@@ -38,6 +38,7 @@ import numpy as np


from pyaudio3dtools import audiofile, audioarray
from pyaudio3dtools import audiofile, audioarray


FS = [48, 32, 16]


# scripts/testv/ path
# scripts/testv/ path
input_dir = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'testv')
input_dir = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'testv')
@@ -52,24 +53,24 @@ print(f'Writing new files into {output_dir}')
force_overwrite = False  # overwrite existing files
force_overwrite = False  # overwrite existing files


# define MASA test item files
# define MASA test item files
masa_alts = ({'masa_meta_file': 'stv2MASA2TC48c.met',
masa_alts = ({'masa_meta_file': 'stv2MASA2TC{}c.met',
              'masa_audio_file': 'stv2MASA2TC48c.wav',
              'masa_audio_file': 'stv2MASA2TC{}c.wav',
              'masa_tag': '2MASA2TC'},
              'masa_tag': '2MASA2TC'},
             {'masa_meta_file': 'stv2MASA1TC48c.met',
             {'masa_meta_file': 'stv2MASA1TC{}c.met',
              'masa_audio_file': 'stv2MASA1TC48c.wav',
              'masa_audio_file': 'stv2MASA1TC{}c.wav',
              'masa_tag': '2MASA1TC'},
              'masa_tag': '2MASA1TC'},
              {'masa_meta_file': 'stv1MASA2TC48c.met',
              {'masa_meta_file': 'stv1MASA2TC{}c.met',
              'masa_audio_file': 'stv1MASA2TC48c.wav',
              'masa_audio_file': 'stv1MASA2TC{}c.wav',
              'masa_tag': '1MASA2TC'},
              'masa_tag': '1MASA2TC'},
             {'masa_meta_file': 'stv1MASA1TC48c.met',
             {'masa_meta_file': 'stv1MASA1TC{}c.met',
              'masa_audio_file': 'stv1MASA1TC48c.wav',
              'masa_audio_file': 'stv1MASA1TC{}c.wav',
              'masa_tag': '1MASA1TC'})
              'masa_tag': '1MASA1TC'})


sba_alts = ({'sba_audio_file': 'stvFOA48c.wav',
sba_alts = ({'sba_audio_file': 'stvFOA{}c.wav',
              'sba_tag': 'FOA'},
              'sba_tag': 'FOA'},
             {'sba_audio_file': 'stv2OA48c.wav',
             {'sba_audio_file': 'stv2OA{}c.wav',
              'sba_tag': '2OA'},
              'sba_tag': '2OA'},
             {'sba_audio_file': 'stv3OA48c.wav',
             {'sba_audio_file': 'stv3OA{}c.wav',
              'sba_tag': '3OA'})
              'sba_tag': '3OA'})


# files containing 1-4 ISMs as channels
# files containing 1-4 ISMs as channels
@@ -78,20 +79,26 @@ ism_files = ('stv1ISM48s.wav', 'stv2ISM48s.wav', 'stv3ISM48s.wav', 'stv4ISM48s.w
ism_meta_files = ('stvISM1.csv', 'stvISM2.csv', 'stvISM3.csv', 'stvISM4.csv')
ism_meta_files = ('stvISM1.csv', 'stvISM2.csv', 'stvISM3.csv', 'stvISM4.csv')


wrote_files = []
wrote_files = []
for fs in FS:
    for enum_idx, (ism_audio_file, ism_meta_file) in enumerate(zip(ism_files, ism_meta_files)):
    for enum_idx, (ism_audio_file, ism_meta_file) in enumerate(zip(ism_files, ism_meta_files)):
        n_isms = enum_idx + 1
        n_isms = enum_idx + 1
        ism_audio, ism_fs = audiofile.readfile(filename=os.path.join(input_dir, ism_audio_file))
        ism_audio, ism_fs = audiofile.readfile(filename=os.path.join(input_dir, ism_audio_file))


        # no stv MASA files in other sampling rates available currently
        if fs == 48:
            for masa_item in masa_alts:
            for masa_item in masa_alts:
                masa_tag = masa_item['masa_tag']
                masa_tag = masa_item['masa_tag']
                masa_audio_file = masa_item['masa_audio_file'].format(fs)
                meta_file = masa_item['masa_meta_file'].format(fs)


        omasa_file_body = f'stvOMASA_{n_isms}ISM_{masa_tag}48c'
                omasa_file_body = f'stvOMASA_{n_isms}ISM_{masa_tag}{fs}c'
                omasa_file = os.path.join(output_dir, f'{omasa_file_body}.wav')
                omasa_file = os.path.join(output_dir, f'{omasa_file_body}.wav')


                if not os.path.exists(omasa_file) or force_overwrite:
                if not os.path.exists(omasa_file) or force_overwrite:
                    audiofile.combinefiles(in_filenames=[os.path.join(input_dir, ism_audio_file),
                    audiofile.combinefiles(in_filenames=[os.path.join(input_dir, ism_audio_file),
                                                os.path.join(input_dir, masa_item['masa_audio_file'])],
                                                        os.path.join(input_dir, masa_audio_file)],
                                out_file=omasa_file)
                                           out_file=omasa_file,
                                           in_fs=fs * 1000)
                    wrote_files.append(omasa_file)
                    wrote_files.append(omasa_file)


                # copy ISM metadata files under names matching the combined file
                # copy ISM metadata files under names matching the combined file
@@ -102,21 +109,24 @@ for enum_idx, (ism_audio_file, ism_meta_file) in enumerate(zip(ism_files, ism_me
                        wrote_files.append(ism_file_name)
                        wrote_files.append(ism_file_name)


                # copy MASA metadata file under a matching name
                # copy MASA metadata file under a matching name
        masa_meta_name = os.path.join(output_dir, f'{omasa_file_body}{os.path.splitext(masa_item["masa_meta_file"])[1]}')
                masa_meta_name = os.path.join(output_dir, f'{omasa_file_body}{os.path.splitext(meta_file)[1]}')


                if not os.path.exists(masa_meta_name) or force_overwrite:
                if not os.path.exists(masa_meta_name) or force_overwrite:
            shutil.copyfile(os.path.join(input_dir, masa_item['masa_meta_file']), masa_meta_name)
                    shutil.copyfile(os.path.join(input_dir, meta_file), masa_meta_name)
                    wrote_files.append(masa_meta_name)
                    wrote_files.append(masa_meta_name)

        for sba_item in sba_alts:
        for sba_item in sba_alts:
            sba_tag = sba_item['sba_tag']
            sba_tag = sba_item['sba_tag']
            sba_audio_file = sba_item['sba_audio_file'].format(fs)


        osba_file_body = f'stvOSBA_{n_isms}ISM_{sba_tag}48c'
            osba_file_body = f'stvOSBA_{n_isms}ISM_{sba_tag}{fs}c'
            osba_file = os.path.join(output_dir, f'{osba_file_body}.wav')
            osba_file = os.path.join(output_dir, f'{osba_file_body}.wav')


            if not os.path.exists(osba_file) or force_overwrite:
            if not os.path.exists(osba_file) or force_overwrite:
                audiofile.combinefiles(in_filenames=[os.path.join(input_dir, ism_audio_file),
                audiofile.combinefiles(in_filenames=[os.path.join(input_dir, ism_audio_file),
                                                os.path.join(input_dir, sba_item['sba_audio_file'])],
                                                    os.path.join(input_dir, sba_audio_file)],
                                out_file=osba_file)
                                       out_file=osba_file,
                                       in_fs=fs * 1000)
                wrote_files.append(osba_file)
                wrote_files.append(osba_file)


            # copy ISM metadata files under names matching the combined file
            # copy ISM metadata files under names matching the combined file

scripts/testv/stv2OA16c.wav

0 → 100644LFS
+132 B

File added.

No diff preview for this file type.

scripts/testv/stv3OA16c.wav

0 → 100644LFS
+133 B

File added.

No diff preview for this file type.