Anthony Minessale efd3744a21 FS-7122: Working with william to find a better way %!s(int64=9) %!d(string=hai) anos
..
asterisk 68913681a4 git status -u, learn something new every day. %!s(int64=12) %!d(string=hai) anos
doc 62b55523c2 Working codec2 support %!s(int64=14) %!d(string=hai) anos
fltk 68913681a4 git status -u, learn something new every day. %!s(int64=12) %!d(string=hai) anos
octave 68913681a4 git status -u, learn something new every day. %!s(int64=12) %!d(string=hai) anos
pitch 62b55523c2 Working codec2 support %!s(int64=14) %!d(string=hai) anos
portaudio 68913681a4 git status -u, learn something new every day. %!s(int64=12) %!d(string=hai) anos
raw 68913681a4 git status -u, learn something new every day. %!s(int64=12) %!d(string=hai) anos
script d67b96af8a i've tested, now you can too %!s(int64=12) %!d(string=hai) anos
src efd3744a21 FS-7122: Working with william to find a better way %!s(int64=9) %!d(string=hai) anos
unittest efd3744a21 FS-7122: Working with william to find a better way %!s(int64=9) %!d(string=hai) anos
voicing 68913681a4 git status -u, learn something new every day. %!s(int64=12) %!d(string=hai) anos
wav 62b55523c2 Working codec2 support %!s(int64=14) %!d(string=hai) anos
.gitignore 8ad8ae8e86 remove generated file from tree %!s(int64=10) %!d(string=hai) anos
.update 62b55523c2 Working codec2 support %!s(int64=14) %!d(string=hai) anos
AUTHORS 62b55523c2 Working codec2 support %!s(int64=14) %!d(string=hai) anos
COPYING d67b96af8a i've tested, now you can too %!s(int64=12) %!d(string=hai) anos
ChangeLog 62b55523c2 Working codec2 support %!s(int64=14) %!d(string=hai) anos
INSTALL d67b96af8a i've tested, now you can too %!s(int64=12) %!d(string=hai) anos
Makefile.am efd3744a21 FS-7122: Working with william to find a better way %!s(int64=9) %!d(string=hai) anos
NEWS 62b55523c2 Working codec2 support %!s(int64=14) %!d(string=hai) anos
README d67b96af8a i've tested, now you can too %!s(int64=12) %!d(string=hai) anos
README_fdmdv.txt 68913681a4 git status -u, learn something new every day. %!s(int64=12) %!d(string=hai) anos
configure.ac 2513388d8a clean up some bootstrap warnings %!s(int64=10) %!d(string=hai) anos
configure.gnu 62b55523c2 Working codec2 support %!s(int64=14) %!d(string=hai) anos

README

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