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

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