Codec 2 README -------------- Codec 2 is an open source (LGPL licensed) speech codec for 2400 bit/s and below. For more information please see: http://rowetel.com/codec2.html Also included is a FDMDV modem, see README_fdmdv.txt Quickstart ---------- 1/ Listen to Codec 2: $ ./configure && make $ cd src $ ./c2demo ../raw/hts1a.raw hts1a_c2.raw $ ../script/menu.sh ../raw/hts1a.raw hts1a_c2.raw NOTE: For playback testing, menu.sh requires either the 'play', 'aplay' or 'ossplay' programs to be installed (see http://sox.sourceforge.net/, http://www.alsa-project.org/, or http://www.opensound.com/ respectively). 2/ Compress and Decompress a file: $ ./c2enc 2400 ../raw/hts1a.raw hts1a_c2.bit $ ./c2dec 2400 hts1a_c2.bit hts1a_c2.raw 3/ Same thing with pipes: $ ./c2enc 1400 ../raw/hts1a.raw - | ./c2dec 1400 - - | play -t raw -r 8000 -s -2 - Programs -------- 1/ c2demo encodes a file of speech samples, then decodes them and saves the result. 2/ c2enc encodes a file of speech samples to a compressed file of encoded bits. 3/ c2dec decodes a compressed file of bits to a file of speech samples. 4/ c2sim is a simulation/development version of Codec 2. It allows selective use of the various Codec 2 algorithms. For example switching phase modelling or LSP quantisation on and off. Debugging --------- 1/ For dump file support: $ cd codec2 $ CFLAGS=-DDUMP ./configure $ make clean && make 2/ To use gdb: $ libtool --mode=execute gdb c2sim Directories ----------- fltk - FLTK GUI programs(s) octave - Octave scripts used for visualising internal signals during development portaudio - Portaudio test programs script - shell scripts for playing and converting raw files src - C source code raw - speech files in raw format (16 bits signed linear 8 kHz) unittest - unit test source code voicing - hand-estimated voicing files, used for development wav - speech files in wave file format win32 - Support for building Windows DLL version of Codec 2 and FDMDV libraries TODO ---- [ ] Get win32/Makefile integrated into Automake system, such that if i586-mingw32msvc exists the Win32 code gets automatically built. [ ] Same for fltk & portaudio, build these conditionally if libs exist