spandsp: GSM 06.10 full rate codec tests

spandsp 0.0.6

GSM 06.10 full rate codec tests

# What does it do?

Two sets of tests are performed:

- The tests defined in the GSM 06.10 specification, using the test data files supplied with the specification.
- A generally audio quality test, consisting of compressing and decompressing a speeech file for audible comparison.

# How is it used?

To perform the tests in the GSM 06.10 specification you need to obtain the test data files from the specification. These are copyright material, and so cannot be distributed with this test software. They can, however, be freely downloaded from the ETSI web site.

The files, containing test vectors, which are supplied with the GSM 06.10 specification, should be copied to etsitests/gsm0610/unpacked so the files are arranged in the following directories.

./fr_A: Seq01-A.cod Seq01-A.inp Seq01-A.out Seq02-A.cod Seq02-A.inp Seq02-A.out Seq03-A.cod Seq03-A.inp Seq03-A.out Seq04-A.cod Seq04-A.inp Seq04-A.out Seq05-A.out

./fr_L: Seq01.cod Seq01.inp Seq01.out Seq02.cod Seq02.inp Seq02.out Seq03.cod Seq03.inp Seq03.out Seq04.cod Seq04.inp Seq04.out Seq05.cod Seq05.out

./fr_U: Seq01-U.cod Seq01-U.inp Seq01-U.out Seq02-U.cod Seq02-U.inp Seq02-U.out Seq03-U.cod Seq03-U.inp Seq03-U.out Seq04-U.cod Seq04-U.inp Seq04-U.out Seq05-U.out

./fr_homing_A: Homing01_A.out Seq01H_A.cod Seq01H_A.inp Seq01H_A.out Seq02H_A.cod Seq02H_A.inp Seq02H_A.out Seq03H_A.cod Seq03H_A.inp Seq03H_A.out Seq04H_A.cod Seq04H_A.inp Seq04H_A.out Seq05H_A.out Seq06H_A.cod Seq06H_A.inp

./fr_homing_L: Homing01.cod Homing01.out Seq01h.cod Seq01h.inp Seq01h.out Seq02h.cod Seq02h.inp Seq02h.out Seq03h.cod Seq03h.inp Seq03h.out Seq04h.cod Seq04h.inp Seq04h.out Seq05h.cod Seq05h.out Seq06h.cod Seq06h.inp

./fr_homing_U: Homing01_U.out Seq01H_U.cod Seq01H_U.inp Seq01H_U.out Seq02H_U.cod Seq02H_U.inp Seq02H_U.out Seq03H_U.cod Seq03H_U.inp Seq03H_U.out Seq04H_U.cod Seq04H_U.inp Seq04H_U.out Seq05H_U.out Seq06H_U.cod Seq06H_U.inp

./fr_sync_A: Seqsync_A.inp Sync000_A.cod –to– Sync159_A.cod

./fr_sync_L: Bitsync.inp Seqsync.inp Sync000.cod –to– Sync159.cod

./fr_sync_U: Seqsync_U.inp Sync000_U.cod –to– Sync159_U.cod

This is different from the directory structure in which they are supplied. Also, the files names are a little different. The supplied names are messy, and inconsistent across the sets. The names required by these tests just clean up these inconsistencies. Note that you will need a Windows machine to unpack some of the supplied files.

To perform a general audio quality test, gsm0610_tests should be run. The file ../test-data/local/short_nb_voice.wav will be compressed to GSM 06.10 data, decompressed, and the resulting audio stored in post_gsm0610.wav.