freeswitch/libs/libcodec2
William King 51f2442a9e resolve an automake warning about subdirs on latest automake
Latest automake will detect then warn if the Makefile uses source
files that are in subdirectories, but the subdirs option is not
set. In the FreeSWITCH build system the current expected behavior is
to expect the subdirs option to be enabled.

FS-7122 #resolve
2015-01-07 10:04:29 -08:00
..
asterisk git status -u, learn something new every day. 2012-12-20 20:17:20 -06:00
doc
fltk git status -u, learn something new every day. 2012-12-20 20:17:20 -06:00
octave git status -u, learn something new every day. 2012-12-20 20:17:20 -06:00
pitch
portaudio git status -u, learn something new every day. 2012-12-20 20:17:20 -06:00
raw git status -u, learn something new every day. 2012-12-20 20:17:20 -06:00
script i've tested, now you can too 2012-12-20 20:08:42 -06:00
src resolve an automake warning about subdirs on latest automake 2015-01-07 10:04:29 -08:00
unittest resolve an automake warning about subdirs on latest automake 2015-01-07 10:04:29 -08:00
voicing git status -u, learn something new every day. 2012-12-20 20:17:20 -06:00
wav
.gitignore remove generated file from tree 2014-04-30 10:34:08 -04:00
.update
AUTHORS
ChangeLog
configure.ac clean up some bootstrap warnings 2014-03-07 18:36:26 -05:00
configure.gnu
COPYING i've tested, now you can too 2012-12-20 20:08:42 -06:00
INSTALL i've tested, now you can too 2012-12-20 20:08:42 -06:00
Makefile.am resolve an automake warning about subdirs on latest automake 2015-01-07 10:04:29 -08:00
NEWS
README i've tested, now you can too 2012-12-20 20:08:42 -06:00
README_fdmdv.txt git status -u, learn something new every day. 2012-12-20 20:17:20 -06:00

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