SGN-4051 Speech coding, project work

SGN-4051 Speech coding, project work

Fall 2010


The successful completion of this project work is obligatory for passing the course. The project may be done in groups of one or two people. There is no strict deadline (if you need one think of 31.12.2010), but credit for the course is not given until the project work is completed. If you have any questions, problems or comments (or something else relevant to this project work), contact the lecturer by email at


The requirements are to implement a narrowband speech codec with the following properties: You can decide the structure of the codec as you wish, as long as it satisfies the requirements above. Note that there are no requirements on the algorithmic delay of the codec, so the operation does not necessarily have to be framed-based. A variable bitrate can also be used. To train any codebooks or quantizers, use the files To test, run it on the file test.wav. This should give a SNR of at least 10dB as measured by the function SNR.m.

Any original ideas are encouraged. You get a bonus point (counted toward the exam) for original ideas, even if they don't work that well.

Store any codebooks that you need in mat-files. Implement the coder in the m-file coder.m, which reads the test file, codes it and writes the result into a binary file test.bin. Check help fwrite and help fread to read and store the data into a file. The required bitrate is checked from the size of the binary file, i.e. it has to be less than 29kB. Implement the decoder in the file decoder.m which reads the file test.bin and produces the quantized speech signal.

To return the project work, send the files coder.m, decoder.m and any mat-files, along with the names and student numbers of the people in the group, to

To give a reference implementation, the lecturer's unoptimized (with this project work being late as it is) codec with:

produces a SNR of 11.5dB and runs in less than a minute.

If you get a SNR over 14 dB, an extra point is awarded.