├── deps ├── opus │ ├── opus │ │ ├── NEWS │ │ ├── ChangeLog │ │ ├── INSTALL │ │ ├── opus_headers.mk │ │ ├── opus_sources.mk │ │ ├── AUTHORS │ │ ├── doc │ │ │ ├── build_oggdraft.sh │ │ │ ├── footer.html │ │ │ ├── footer.html.patch │ │ │ ├── header.html.patch │ │ │ ├── Makefile.am │ │ │ ├── header.html │ │ │ └── build_draft.sh │ │ ├── celt_sources.mk │ │ ├── opus-uninstalled.pc.in │ │ ├── opus.pc.in │ │ ├── celt │ │ │ ├── tests │ │ │ │ ├── test_unit_types.c │ │ │ │ ├── test_unit_rotation.c │ │ │ │ └── test_unit_laplace.c │ │ │ ├── cwrs.h │ │ │ ├── pitch.h │ │ │ ├── celt_lpc.h │ │ │ ├── laplace.h │ │ │ ├── mfrngcod.h │ │ │ └── fixed_c6x.h │ │ ├── tests │ │ │ ├── test_opus_decode.vcxproj.filters │ │ │ ├── test_opus_encode.vcxproj.filters │ │ │ ├── test_opus_api.vcxproj.filters │ │ │ └── run_vectors.sh │ │ ├── silk_headers.mk │ │ ├── celt_headers.mk │ │ ├── LICENSE_PLEASE_READ.txt │ │ ├── .gitignore │ │ ├── win32 │ │ │ └── genversion.bat │ │ ├── src │ │ │ └── opus.c │ │ ├── COPYING │ │ ├── README.draft │ │ └── silk │ │ │ ├── lin2log.c │ │ │ ├── float │ │ │ ├── scale_vector_FLP.c │ │ │ ├── bwexpander_FLP.c │ │ │ ├── regularize_correlations_FLP.c │ │ │ ├── scale_copy_vector_FLP.c │ │ │ ├── k2a_FLP.c │ │ │ ├── energy_FLP.c │ │ │ ├── inner_product_FLP.c │ │ │ └── autocorrelation_FLP.c │ │ │ ├── init_decoder.c │ │ │ ├── inner_prod_aligned.c │ │ │ ├── bwexpander_32.c │ │ │ ├── resampler_structs.h │ │ │ ├── tables_gain.c │ │ │ ├── fixed │ │ │ ├── k2a_Q16_FIX.c │ │ │ └── k2a_FIX.c │ │ │ ├── log2lin.c │ │ │ └── interpolate.c │ └── config │ │ └── default │ │ └── config.h └── speex │ ├── speex │ ├── include │ │ ├── Makefile.am │ │ └── speex │ │ │ ├── speex_config_types.h │ │ │ ├── Makefile.am │ │ │ └── speex_buffer.h │ ├── NEWS │ ├── doc │ │ ├── Makefile.am │ │ └── manual.pdf │ ├── INSTALL │ ├── symbian │ │ ├── Makefile.am │ │ ├── speex.mmp │ │ ├── bld.inf │ │ └── config.h │ ├── win32 │ │ ├── speexdec │ │ │ ├── Makefile.am │ │ │ └── speexdec.dsw │ │ ├── speexenc │ │ │ ├── Makefile.am │ │ │ └── speexenc.dsw │ │ ├── VS2003 │ │ │ ├── libspeex │ │ │ │ └── Makefile.am │ │ │ ├── speexdec │ │ │ │ └── Makefile.am │ │ │ ├── speexenc │ │ │ │ └── Makefile.am │ │ │ ├── libspeexdsp │ │ │ │ └── Makefile.am │ │ │ ├── Makefile.am │ │ │ └── tests │ │ │ │ └── Makefile.am │ │ ├── VS2005 │ │ │ ├── libspeex │ │ │ │ └── Makefile.am │ │ │ ├── speexdec │ │ │ │ └── Makefile.am │ │ │ ├── speexenc │ │ │ │ └── Makefile.am │ │ │ ├── libspeexdsp │ │ │ │ └── Makefile.am │ │ │ ├── Makefile.am │ │ │ └── tests │ │ │ │ └── Makefile.am │ │ ├── VS2008 │ │ │ ├── libspeex │ │ │ │ └── Makefile.am │ │ │ ├── speexdec │ │ │ │ └── Makefile.am │ │ │ ├── speexenc │ │ │ │ └── Makefile.am │ │ │ ├── libspeexdsp │ │ │ │ └── Makefile.am │ │ │ ├── Makefile.am │ │ │ └── tests │ │ │ │ └── Makefile.am │ │ ├── libspeex │ │ │ ├── Makefile.am │ │ │ └── libspeex.dsw │ │ ├── Makefile.am │ │ ├── config.h │ │ ├── libspeex.def │ │ ├── libspeexdsp.def │ │ └── speex.iss │ ├── ti │ │ ├── speex_C55_test │ │ │ ├── Makefile.am │ │ │ └── speex_C55_test.pjt │ │ ├── speex_C64_test │ │ │ ├── Makefile.am │ │ │ ├── speex_C64_test.pjt │ │ │ └── speex_C64_test.cmd │ │ ├── speex_C54_test │ │ │ ├── Makefile.am │ │ │ └── speex_C54_test.pjt │ │ └── Makefile.am │ ├── speex.pc.in │ ├── speexdsp.pc.in │ ├── AUTHORS │ ├── README │ ├── Makefile.am │ ├── README.blackfin │ ├── ChangeLog │ ├── src │ │ ├── Makefile.am │ │ ├── speexdec.1 │ │ ├── speexenc.1 │ │ └── wav_io.h │ ├── libspeex │ │ ├── testdenoise.c │ │ ├── kiss_fftr.h │ │ ├── testecho.c │ │ ├── smallft.h │ │ ├── testjitter.c │ │ ├── lpc.h │ │ ├── exc_10_16_table.c │ │ ├── echo_diagnostic.m │ │ ├── misc_bfin.h │ │ ├── gain_table_lbr.c │ │ ├── fftwrap.h │ │ ├── Makefile.am │ │ ├── filterbank.h │ │ ├── vbr.h │ │ └── vq.h │ ├── TODO │ ├── README.symbian │ ├── COPYING │ ├── Speex.spec │ └── Speex.spec.in │ ├── config.h │ └── speex.gyp ├── .gitignore ├── AUTHORS ├── lib ├── vock │ ├── cli │ │ ├── index.js │ │ └── utils.js │ ├── jitter.js │ └── audio.js └── vock.js ├── .npmignore ├── example ├── echo.js └── delay.js ├── src ├── vock.cc ├── common.h ├── opus │ └── binding.h └── audio │ ├── binding.h │ ├── platform │ ├── linux.h │ └── mac.h │ └── unit.h ├── bin └── vock ├── package.json ├── binding.gyp ├── protocol.md └── common.gypi /deps/opus/opus/NEWS: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /deps/opus/opus/ChangeLog: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | node_modules/ 3 | npm-debug.log 4 | -------------------------------------------------------------------------------- /deps/opus/opus/INSTALL: -------------------------------------------------------------------------------- 1 | See README file for details 2 | -------------------------------------------------------------------------------- /deps/speex/speex/include/Makefile.am: -------------------------------------------------------------------------------- 1 | 2 | SUBDIRS = speex 3 | -------------------------------------------------------------------------------- /deps/speex/speex/NEWS: -------------------------------------------------------------------------------- 1 | 2002/02/13: Creation of the "Speex" project 2 | -------------------------------------------------------------------------------- /deps/speex/speex/doc/Makefile.am: -------------------------------------------------------------------------------- 1 | doc_DATA = manual.pdf 2 | 3 | EXTRA_DIST = $(doc_DATA) 4 | -------------------------------------------------------------------------------- /deps/speex/speex/doc/manual.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/indutny/vock/HEAD/deps/speex/speex/doc/manual.pdf -------------------------------------------------------------------------------- /AUTHORS: -------------------------------------------------------------------------------- 1 | Opus codec team 2 | Speex library team 3 | Fedor Induty (https://github.com/indutny) 4 | -------------------------------------------------------------------------------- /lib/vock/cli/index.js: -------------------------------------------------------------------------------- 1 | var cli = exports; 2 | 3 | cli.utils = require('./utils'); 4 | cli.run = require('./main').run; 5 | -------------------------------------------------------------------------------- /deps/opus/opus/opus_headers.mk: -------------------------------------------------------------------------------- 1 | OPUS_HEAD = \ 2 | include/opus.h \ 3 | include/opus_multistream.h \ 4 | src/opus_private.h 5 | -------------------------------------------------------------------------------- /deps/opus/opus/opus_sources.mk: -------------------------------------------------------------------------------- 1 | OPUS_SOURCES = src/opus.c \ 2 | src/opus_decoder.c \ 3 | src/opus_encoder.c \ 4 | src/opus_multistream.c \ 5 | src/repacketizer.c 6 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | /build 2 | node_modules/ 3 | npm-debug.log 4 | /deps/opus/opus/doc/ 5 | /deps/opus/opus/tests/ 6 | /deps/speex/speex/configure 7 | /deps/speex/speex/doc/ 8 | /deps/speex/speex/symbian/ 9 | /deps/speex/speex/ti/ 10 | -------------------------------------------------------------------------------- /example/echo.js: -------------------------------------------------------------------------------- 1 | var binding = require('../build/Release/vock'); 2 | 3 | var rate = 24000, 4 | a = new binding.Audio(rate, rate / 100, rate / 250); 5 | 6 | a.ondata = function(data) { 7 | a.enqueue(0, data); 8 | }; 9 | a.start(); 10 | -------------------------------------------------------------------------------- /deps/speex/speex/INSTALL: -------------------------------------------------------------------------------- 1 | Installing Speex is as easy as: 2 | 3 | % ./configure [--prefix=] 4 | % make 5 | % make install 6 | 7 | Note that if you are using the code from SVN, you will need to run "autogen.sh" 8 | instead of "configure". 9 | -------------------------------------------------------------------------------- /deps/opus/opus/AUTHORS: -------------------------------------------------------------------------------- 1 | Jean-Marc Valin (jmvalin@jmvalin.ca) 2 | Koen Vos (koenvos74@gmail.com) 3 | Timothy Terriberry (tterribe@xiph.org) 4 | Karsten Vandborg Sorensen (karsten.vandborg.sorensen@skype.net) 5 | Soren Skak Jensen (ssjensen@gn.com) 6 | Gregory Maxwell (greg@xiph.org) 7 | -------------------------------------------------------------------------------- /deps/speex/speex/symbian/Makefile.am: -------------------------------------------------------------------------------- 1 | ## Process this file with automake to produce Makefile.in. -*-Makefile-*- 2 | 3 | # Disable automatic dependency tracking if using other tools than gcc and gmake 4 | #AUTOMAKE_OPTIONS = no-dependencies 5 | 6 | EXTRA_DIST = bld.inf config.h speex.mmp 7 | -------------------------------------------------------------------------------- /deps/speex/speex/win32/speexdec/Makefile.am: -------------------------------------------------------------------------------- 1 | ## Process this file with automake to produce Makefile.in. -*-Makefile-*- 2 | 3 | # Disable automatic dependency tracking if using other tools than gcc and gmake 4 | #AUTOMAKE_OPTIONS = no-dependencies 5 | 6 | EXTRA_DIST = speexdec.dsp speexdec.dsw 7 | -------------------------------------------------------------------------------- /deps/speex/speex/win32/speexenc/Makefile.am: -------------------------------------------------------------------------------- 1 | ## Process this file with automake to produce Makefile.in. -*-Makefile-*- 2 | 3 | # Disable automatic dependency tracking if using other tools than gcc and gmake 4 | #AUTOMAKE_OPTIONS = no-dependencies 5 | 6 | EXTRA_DIST = speexenc.dsp speexenc.dsw 7 | -------------------------------------------------------------------------------- /deps/speex/speex/win32/VS2003/libspeex/Makefile.am: -------------------------------------------------------------------------------- 1 | ## Process this file with automake to produce Makefile.in. -*-Makefile-*- 2 | 3 | # Disable automatic dependency tracking if using other tools than gcc and gmake 4 | #AUTOMAKE_OPTIONS = no-dependencies 5 | 6 | EXTRA_DIST = libspeex.vcproj 7 | 8 | 9 | -------------------------------------------------------------------------------- /deps/speex/speex/win32/VS2003/speexdec/Makefile.am: -------------------------------------------------------------------------------- 1 | ## Process this file with automake to produce Makefile.in. -*-Makefile-*- 2 | 3 | # Disable automatic dependency tracking if using other tools than gcc and gmake 4 | #AUTOMAKE_OPTIONS = no-dependencies 5 | 6 | EXTRA_DIST = speexdec.vcproj 7 | 8 | 9 | -------------------------------------------------------------------------------- /deps/speex/speex/win32/VS2003/speexenc/Makefile.am: -------------------------------------------------------------------------------- 1 | ## Process this file with automake to produce Makefile.in. -*-Makefile-*- 2 | 3 | # Disable automatic dependency tracking if using other tools than gcc and gmake 4 | #AUTOMAKE_OPTIONS = no-dependencies 5 | 6 | EXTRA_DIST = speexenc.vcproj 7 | 8 | 9 | -------------------------------------------------------------------------------- /deps/speex/speex/win32/VS2005/libspeex/Makefile.am: -------------------------------------------------------------------------------- 1 | ## Process this file with automake to produce Makefile.in. -*-Makefile-*- 2 | 3 | # Disable automatic dependency tracking if using other tools than gcc and gmake 4 | #AUTOMAKE_OPTIONS = no-dependencies 5 | 6 | EXTRA_DIST = libspeex.vcproj 7 | 8 | 9 | -------------------------------------------------------------------------------- /deps/speex/speex/win32/VS2005/speexdec/Makefile.am: -------------------------------------------------------------------------------- 1 | ## Process this file with automake to produce Makefile.in. -*-Makefile-*- 2 | 3 | # Disable automatic dependency tracking if using other tools than gcc and gmake 4 | #AUTOMAKE_OPTIONS = no-dependencies 5 | 6 | EXTRA_DIST = speexdec.vcproj 7 | 8 | 9 | -------------------------------------------------------------------------------- /deps/speex/speex/win32/VS2005/speexenc/Makefile.am: -------------------------------------------------------------------------------- 1 | ## Process this file with automake to produce Makefile.in. -*-Makefile-*- 2 | 3 | # Disable automatic dependency tracking if using other tools than gcc and gmake 4 | #AUTOMAKE_OPTIONS = no-dependencies 5 | 6 | EXTRA_DIST = speexenc.vcproj 7 | 8 | 9 | -------------------------------------------------------------------------------- /deps/speex/speex/win32/VS2008/libspeex/Makefile.am: -------------------------------------------------------------------------------- 1 | ## Process this file with automake to produce Makefile.in. -*-Makefile-*- 2 | 3 | # Disable automatic dependency tracking if using other tools than gcc and gmake 4 | #AUTOMAKE_OPTIONS = no-dependencies 5 | 6 | EXTRA_DIST = libspeex.vcproj 7 | 8 | 9 | -------------------------------------------------------------------------------- /deps/speex/speex/win32/VS2008/speexdec/Makefile.am: -------------------------------------------------------------------------------- 1 | ## Process this file with automake to produce Makefile.in. -*-Makefile-*- 2 | 3 | # Disable automatic dependency tracking if using other tools than gcc and gmake 4 | #AUTOMAKE_OPTIONS = no-dependencies 5 | 6 | EXTRA_DIST = speexdec.vcproj 7 | 8 | 9 | -------------------------------------------------------------------------------- /deps/speex/speex/win32/VS2008/speexenc/Makefile.am: -------------------------------------------------------------------------------- 1 | ## Process this file with automake to produce Makefile.in. -*-Makefile-*- 2 | 3 | # Disable automatic dependency tracking if using other tools than gcc and gmake 4 | #AUTOMAKE_OPTIONS = no-dependencies 5 | 6 | EXTRA_DIST = speexenc.vcproj 7 | 8 | 9 | -------------------------------------------------------------------------------- /deps/speex/speex/ti/speex_C55_test/Makefile.am: -------------------------------------------------------------------------------- 1 | ## Process this file with automake to produce Makefile.in. -*-Makefile-*- 2 | 3 | # Disable automatic dependency tracking if using other tools than gcc and gmake 4 | #AUTOMAKE_OPTIONS = no-dependencies 5 | 6 | EXTRA_DIST = speex_C55_test.cmd speex_C55_test.pjt 7 | -------------------------------------------------------------------------------- /deps/speex/speex/ti/speex_C64_test/Makefile.am: -------------------------------------------------------------------------------- 1 | ## Process this file with automake to produce Makefile.in. -*-Makefile-*- 2 | 3 | # Disable automatic dependency tracking if using other tools than gcc and gmake 4 | #AUTOMAKE_OPTIONS = no-dependencies 5 | 6 | EXTRA_DIST = speex_C64_test.cmd speex_C64_test.pjt 7 | -------------------------------------------------------------------------------- /deps/speex/speex/win32/VS2003/libspeexdsp/Makefile.am: -------------------------------------------------------------------------------- 1 | ## Process this file with automake to produce Makefile.in. -*-Makefile-*- 2 | 3 | # Disable automatic dependency tracking if using other tools than gcc and gmake 4 | #AUTOMAKE_OPTIONS = no-dependencies 5 | 6 | EXTRA_DIST = libspeexdsp.vcproj 7 | 8 | 9 | -------------------------------------------------------------------------------- /deps/speex/speex/win32/VS2005/libspeexdsp/Makefile.am: -------------------------------------------------------------------------------- 1 | ## Process this file with automake to produce Makefile.in. -*-Makefile-*- 2 | 3 | # Disable automatic dependency tracking if using other tools than gcc and gmake 4 | #AUTOMAKE_OPTIONS = no-dependencies 5 | 6 | EXTRA_DIST = libspeexdsp.vcproj 7 | 8 | 9 | -------------------------------------------------------------------------------- /deps/speex/speex/win32/VS2008/libspeexdsp/Makefile.am: -------------------------------------------------------------------------------- 1 | ## Process this file with automake to produce Makefile.in. -*-Makefile-*- 2 | 3 | # Disable automatic dependency tracking if using other tools than gcc and gmake 4 | #AUTOMAKE_OPTIONS = no-dependencies 5 | 6 | EXTRA_DIST = libspeexdsp.vcproj 7 | 8 | 9 | -------------------------------------------------------------------------------- /deps/speex/speex/ti/speex_C54_test/Makefile.am: -------------------------------------------------------------------------------- 1 | ## Process this file with automake to produce Makefile.in. -*-Makefile-*- 2 | 3 | # Disable automatic dependency tracking if using other tools than gcc and gmake 4 | #AUTOMAKE_OPTIONS = no-dependencies 5 | 6 | EXTRA_DIST = speex_C54_test.cmd speex_C54_test.pjt 7 | 8 | 9 | -------------------------------------------------------------------------------- /deps/opus/opus/doc/build_oggdraft.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | #Stop on errors 4 | set -e 5 | #Set the CWD to the location of this script 6 | [ -n "${0%/*}" ] && cd "${0%/*}" 7 | 8 | echo running xml2rfc 9 | xml2rfc draft-terriberry-oggopus.xml draft-terriberry-oggopus.html & 10 | xml2rfc draft-terriberry-oggopus.xml 11 | wait 12 | -------------------------------------------------------------------------------- /deps/speex/speex/win32/VS2003/Makefile.am: -------------------------------------------------------------------------------- 1 | ## Process this file with automake to produce Makefile.in. -*-Makefile-*- 2 | 3 | # Disable automatic dependency tracking if using other tools than gcc and gmake 4 | #AUTOMAKE_OPTIONS = no-dependencies 5 | 6 | SUBDIRS = libspeex libspeexdsp speexenc speexdec tests 7 | 8 | EXTRA_DIST = libspeex.sln 9 | -------------------------------------------------------------------------------- /deps/speex/speex/win32/VS2005/Makefile.am: -------------------------------------------------------------------------------- 1 | ## Process this file with automake to produce Makefile.in. -*-Makefile-*- 2 | 3 | # Disable automatic dependency tracking if using other tools than gcc and gmake 4 | #AUTOMAKE_OPTIONS = no-dependencies 5 | 6 | SUBDIRS = libspeex libspeexdsp speexenc speexdec tests 7 | 8 | EXTRA_DIST = libspeex.sln 9 | -------------------------------------------------------------------------------- /deps/speex/speex/win32/VS2008/Makefile.am: -------------------------------------------------------------------------------- 1 | ## Process this file with automake to produce Makefile.in. -*-Makefile-*- 2 | 3 | # Disable automatic dependency tracking if using other tools than gcc and gmake 4 | #AUTOMAKE_OPTIONS = no-dependencies 5 | 6 | SUBDIRS = libspeex libspeexdsp speexenc speexdec tests 7 | 8 | EXTRA_DIST = libspeex.sln 9 | -------------------------------------------------------------------------------- /deps/speex/speex/include/speex/speex_config_types.h: -------------------------------------------------------------------------------- 1 | #ifndef __SPEEX_TYPES_H__ 2 | #define __SPEEX_TYPES_H__ 3 | 4 | #include 5 | 6 | /* these are filled in by configure */ 7 | typedef int16_t spx_int16_t; 8 | typedef uint16_t spx_uint16_t; 9 | typedef int32_t spx_int32_t; 10 | typedef uint32_t spx_uint32_t; 11 | 12 | #endif 13 | 14 | -------------------------------------------------------------------------------- /deps/speex/speex/win32/libspeex/Makefile.am: -------------------------------------------------------------------------------- 1 | ## Process this file with automake to produce Makefile.in. -*-Makefile-*- 2 | 3 | # Disable automatic dependency tracking if using other tools than gcc and gmake 4 | #AUTOMAKE_OPTIONS = no-dependencies 5 | 6 | EXTRA_DIST = libspeex.dsw libspeex.dsp libspeex_dynamic.dsp libspeexdsp.dsp libspeexdsp_dynamic.dsp 7 | -------------------------------------------------------------------------------- /deps/opus/config/default/config.h: -------------------------------------------------------------------------------- 1 | #ifndef CONFIG_H 2 | #define CONFIG_H 3 | 4 | #define CELT_BUILD 1 5 | 6 | #define restrict 7 | #define inline __inline 8 | #define getpid _getpid 9 | 10 | #define USE_ALLOCA 1 11 | 12 | #define OPUS_BUILD 1 13 | 14 | #define FLOATING_POINT 1 15 | 16 | #endif // CONFIG_H 17 | -------------------------------------------------------------------------------- /deps/opus/opus/celt_sources.mk: -------------------------------------------------------------------------------- 1 | CELT_SOURCES = celt/bands.c \ 2 | celt/celt.c \ 3 | celt/cwrs.c \ 4 | celt/entcode.c \ 5 | celt/entdec.c \ 6 | celt/entenc.c \ 7 | celt/kiss_fft.c \ 8 | celt/laplace.c \ 9 | celt/mathops.c \ 10 | celt/mdct.c \ 11 | celt/modes.c \ 12 | celt/pitch.c \ 13 | celt/celt_lpc.c \ 14 | celt/quant_bands.c \ 15 | celt/rate.c \ 16 | celt/vq.c 17 | -------------------------------------------------------------------------------- /src/vock.cc: -------------------------------------------------------------------------------- 1 | #include "audio/binding.h" 2 | #include "opus/binding.h" 3 | 4 | #include "node.h" 5 | 6 | namespace vock { 7 | 8 | using namespace node; 9 | 10 | static void Init(v8::Handle target) { 11 | vock::audio::Audio::Init(target); 12 | vock::opus::Opus::Init(target); 13 | } 14 | 15 | NODE_MODULE(vock, Init); 16 | 17 | } // namespace vock 18 | -------------------------------------------------------------------------------- /deps/opus/opus/opus-uninstalled.pc.in: -------------------------------------------------------------------------------- 1 | # opus codec reference implementation uninstalled pkg-config file 2 | 3 | libdir=${pcfiledir}/.libs 4 | includedir=${pcfiledir} 5 | 6 | Name: opus uninstalled 7 | Description: Opus IETF audio codec (not installed) 8 | Version: @VERSION@ 9 | Requires: 10 | Conflicts: 11 | Libs: ${libdir}/libopus.a 12 | Cflags: -I${includedir}/include 13 | -------------------------------------------------------------------------------- /deps/speex/speex/win32/Makefile.am: -------------------------------------------------------------------------------- 1 | ## Process this file with automake to produce Makefile.in. -*-Makefile-*- 2 | 3 | # Disable automatic dependency tracking if using other tools than gcc and gmake 4 | #AUTOMAKE_OPTIONS = no-dependencies 5 | 6 | SUBDIRS = libspeex speexenc speexdec VS2003 VS2005 VS2008 7 | 8 | EXTRA_DIST = speex.iss config.h libspeex.def libspeexdsp.def 9 | -------------------------------------------------------------------------------- /deps/speex/speex/speex.pc.in: -------------------------------------------------------------------------------- 1 | # libspeex pkg-config source file 2 | 3 | prefix=@prefix@ 4 | exec_prefix=@exec_prefix@ 5 | libdir=@libdir@ 6 | includedir=@includedir@ 7 | 8 | Name: speex 9 | Description: Speex is an audio codec tuned for speech 10 | Version: @SPEEX_VERSION@ 11 | Requires: 12 | Conflicts: 13 | Libs: -L${libdir} -lspeex 14 | Libs.private: -lm 15 | Cflags: -I${includedir} 16 | -------------------------------------------------------------------------------- /deps/speex/speex/ti/Makefile.am: -------------------------------------------------------------------------------- 1 | ## Process this file with automake to produce Makefile.in. -*-Makefile-*- 2 | 3 | # Disable automatic dependency tracking if using other tools than gcc and gmake 4 | #AUTOMAKE_OPTIONS = no-dependencies 5 | 6 | SUBDIRS = speex_C54_test speex_C55_test speex_C64_test 7 | 8 | EXTRA_DIST = config.h testenc-TI-C5x.c os_support_custom.h testenc-TI-C64x.c 9 | 10 | -------------------------------------------------------------------------------- /lib/vock.js: -------------------------------------------------------------------------------- 1 | var vock = exports; 2 | 3 | vock.cli = require('./vock/cli'); 4 | 5 | vock.audio = require('./vock/audio'); 6 | vock.socket = require('./vock/socket'); 7 | vock.api = require('./vock/api'); 8 | vock.jitter = require('./vock/jitter'); 9 | 10 | vock.instance = require('./vock/instance'); 11 | vock.peer = require('./vock/peer'); 12 | 13 | vock.version = require('../package.json').version; 14 | -------------------------------------------------------------------------------- /deps/opus/opus/opus.pc.in: -------------------------------------------------------------------------------- 1 | # opus codec reference implementation pkg-config file 2 | 3 | prefix=@prefix@ 4 | exec_prefix=@exec_prefix@ 5 | libdir=@libdir@ 6 | includedir=@includedir@ 7 | 8 | Name: Opus 9 | Description: Opus IETF low-latency audio codec 10 | URL: http://opus-codec.org/ 11 | Version: @VERSION@ 12 | Requires: 13 | Conflicts: 14 | Libs: -L${libdir} -lopus 15 | Cflags: -I${includedir}/opus 16 | -------------------------------------------------------------------------------- /deps/speex/speex/win32/VS2003/tests/Makefile.am: -------------------------------------------------------------------------------- 1 | ## Process this file with automake to produce Makefile.in. -*-Makefile-*- 2 | 3 | # Disable automatic dependency tracking if using other tools than gcc and gmake 4 | #AUTOMAKE_OPTIONS = no-dependencies 5 | 6 | EXTRA_DIST = testdenoise.vcproj testecho.vcproj testenc.vcproj testenc_uwb.vcproj \ 7 | testenc_wb.vcproj testresample.vcproj 8 | 9 | 10 | -------------------------------------------------------------------------------- /deps/speex/speex/win32/VS2005/tests/Makefile.am: -------------------------------------------------------------------------------- 1 | ## Process this file with automake to produce Makefile.in. -*-Makefile-*- 2 | 3 | # Disable automatic dependency tracking if using other tools than gcc and gmake 4 | #AUTOMAKE_OPTIONS = no-dependencies 5 | 6 | EXTRA_DIST = testdenoise.vcproj testecho.vcproj testenc.vcproj testenc_uwb.vcproj \ 7 | testenc_wb.vcproj testresample.vcproj 8 | 9 | 10 | -------------------------------------------------------------------------------- /deps/speex/speex/win32/VS2008/tests/Makefile.am: -------------------------------------------------------------------------------- 1 | ## Process this file with automake to produce Makefile.in. -*-Makefile-*- 2 | 3 | # Disable automatic dependency tracking if using other tools than gcc and gmake 4 | #AUTOMAKE_OPTIONS = no-dependencies 5 | 6 | EXTRA_DIST = testdenoise.vcproj testecho.vcproj testenc.vcproj testenc_uwb.vcproj \ 7 | testenc_wb.vcproj testresample.vcproj 8 | 9 | 10 | -------------------------------------------------------------------------------- /deps/speex/speex/include/speex/Makefile.am: -------------------------------------------------------------------------------- 1 | # Disable automatic dependency tracking if using other tools than gcc and gmake 2 | #AUTOMAKE_OPTIONS = no-dependencies 3 | 4 | nodist_pkginclude_HEADERS = speex_config_types.h 5 | 6 | pkginclude_HEADERS = speex.h speex_bits.h speex_buffer.h speex_callbacks.h \ 7 | speex_echo.h speex_header.h speex_jitter.h speex_preprocess.h speex_resampler.h \ 8 | speex_stereo.h speex_types.h 9 | 10 | -------------------------------------------------------------------------------- /deps/speex/speex/speexdsp.pc.in: -------------------------------------------------------------------------------- 1 | # libspeexdsp pkg-config source file 2 | 3 | prefix=@prefix@ 4 | exec_prefix=@exec_prefix@ 5 | libdir=@libdir@ 6 | includedir=@includedir@ 7 | 8 | Name: speexdsp 9 | Description: Speexdsp is a speech processing library that goes along with the Speex codec 10 | Version: @SPEEX_VERSION@ 11 | Requires: @FFT_PKGCONFIG@ 12 | Conflicts: 13 | Libs: -L${libdir} -lspeexdsp 14 | Libs.private: -lm 15 | Cflags: -I${includedir} 16 | -------------------------------------------------------------------------------- /src/common.h: -------------------------------------------------------------------------------- 1 | #ifndef _SRC_COMMON_H_ 2 | #define _SRC_COMMON_H_ 3 | 4 | #ifndef offset_of 5 | // g++ in strict mode complains loudly about the system offsetof() macro 6 | // because it uses NULL as the base address. 7 | # define offset_of(type, member) \ 8 | ((intptr_t) ((char *) &(((type *) 8)->member) - 8)) 9 | #endif 10 | 11 | #ifndef container_of 12 | # define container_of(ptr, type, member) \ 13 | ((type *) ((char *) (ptr) - offset_of(type, member))) 14 | #endif 15 | 16 | #endif // _SRC_COMMON_H_ 17 | -------------------------------------------------------------------------------- /deps/opus/opus/celt/tests/test_unit_types.c: -------------------------------------------------------------------------------- 1 | #ifdef HAVE_CONFIG_H 2 | #include "config.h" 3 | #endif 4 | 5 | #include "opus_types.h" 6 | #include 7 | 8 | int main(void) 9 | { 10 | opus_int16 i = 1; 11 | i <<= 14; 12 | if (i>>14 != 1) 13 | { 14 | fprintf(stderr, "opus_int16 isn't 16 bits\n"); 15 | return 1; 16 | } 17 | if (sizeof(opus_int16)*2 != sizeof(opus_int32)) 18 | { 19 | fprintf(stderr, "16*2 != 32\n"); 20 | return 1; 21 | } 22 | return 0; 23 | } 24 | -------------------------------------------------------------------------------- /example/delay.js: -------------------------------------------------------------------------------- 1 | var binding = require('../build/Release/vock'); 2 | 3 | var rate = 8000, 4 | a = new binding.Audio(rate, rate / 100, rate / 250); 5 | 6 | a.ondata = function(data) { 7 | setTimeout(function() { 8 | a.enqueue(2, data); 9 | }, 4000); 10 | 11 | setTimeout(function() { 12 | a.enqueue(0, data); 13 | }, 3000); 14 | 15 | setTimeout(function() { 16 | a.enqueue(1, data); 17 | }, 2000); 18 | 19 | setTimeout(function() { 20 | a.enqueue(3, data); 21 | }, 1000); 22 | }; 23 | a.start(); 24 | -------------------------------------------------------------------------------- /deps/opus/opus/tests/test_opus_decode.vcxproj.filters: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | {4a0dd677-931f-4728-afe5-b761149fc7eb} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | 10 | 11 | Source Files 12 | 13 | 14 | -------------------------------------------------------------------------------- /deps/opus/opus/tests/test_opus_encode.vcxproj.filters: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | {546c8d9a-103e-4f78-972b-b44e8d3c8aba} 6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx 7 | 8 | 9 | 10 | 11 | Source Files 12 | 13 | 14 | -------------------------------------------------------------------------------- /deps/speex/speex/AUTHORS: -------------------------------------------------------------------------------- 1 | Jean-Marc Valin 2 | All the code except the following 3 | 4 | David Rowe 5 | lsp.c lsp.h 6 | Also ideas and feedback 7 | 8 | John Francis Edwards 9 | wave_out.[ch], some #ifdefs for windows port and MSVC project files 10 | 11 | Segher Boessenkool 12 | Misc. optimizations (for QMF in particular) 13 | 14 | Atsuhiko Yamanaka : 15 | Patch to speexenc.c to add Vorbis comment format 16 | 17 | Radim Kolar : 18 | Patch to speexenc.c for supporting more input formats 19 | -------------------------------------------------------------------------------- /deps/speex/speex/win32/config.h: -------------------------------------------------------------------------------- 1 | // Microsoft version of 'inline' 2 | #define inline __inline 3 | 4 | // Visual Studio support alloca(), but it always align variables to 16-bit 5 | // boundary, while SSE need 128-bit alignment. So we disable alloca() when 6 | // SSE is enabled. 7 | #ifndef _USE_SSE 8 | # define USE_ALLOCA 9 | #endif 10 | 11 | /* Default to floating point */ 12 | #ifndef FIXED_POINT 13 | # define FLOATING_POINT 14 | # define USE_SMALLFT 15 | #else 16 | # define USE_KISS_FFT 17 | #endif 18 | 19 | /* We don't support visibility on Win32 */ 20 | #define EXPORT 21 | -------------------------------------------------------------------------------- /deps/speex/speex/README: -------------------------------------------------------------------------------- 1 | See INSTALL file for instruction on how to install Speex. 2 | 3 | The Speex is a patent-free, Open Source/Free Software voice codec. Unlike other codecs like MP3 and Ogg Vorbis, Speex is designed to compress voice at bitrates in the 2-45 kbps range. Possible applications include VoIP, internet audio streaming, archiving of speech data (e.g. voice mail), and audio books. In some sense, it is meant to be complementary to the Ogg Vorbis codec. 4 | 5 | To use the Speex command line tools: 6 | 7 | % speexenc [options] input_file.wav compressed_file.spx 8 | 9 | % speexdec [options] compressed_file.spx output_file.wav 10 | -------------------------------------------------------------------------------- /deps/opus/opus/silk_headers.mk: -------------------------------------------------------------------------------- 1 | SILK_HEAD = \ 2 | silk/debug.h \ 3 | silk/control.h \ 4 | silk/errors.h \ 5 | silk/API.h \ 6 | silk/typedef.h \ 7 | silk/define.h \ 8 | silk/main.h \ 9 | silk/PLC.h \ 10 | silk/structs.h \ 11 | silk/tables.h \ 12 | silk/tuning_parameters.h \ 13 | silk/Inlines.h \ 14 | silk/MacroCount.h \ 15 | silk/MacroDebug.h \ 16 | silk/macros.h \ 17 | silk/pitch_est_defines.h \ 18 | silk/resampler_private.h \ 19 | silk/resampler_rom.h \ 20 | silk/resampler_structs.h \ 21 | silk/SigProc_FIX.h \ 22 | silk/fixed/main_FIX.h \ 23 | silk/fixed/structs_FIX.h \ 24 | silk/float/main_FLP.h \ 25 | silk/float/structs_FLP.h \ 26 | silk/float/SigProc_FLP.h 27 | -------------------------------------------------------------------------------- /deps/opus/opus/celt_headers.mk: -------------------------------------------------------------------------------- 1 | CELT_HEAD = \ 2 | celt/arch.h \ 3 | celt/bands.h \ 4 | celt/celt.h \ 5 | include/opus_types.h \ 6 | include/opus_defines.h \ 7 | include/opus_custom.h \ 8 | celt/cwrs.h \ 9 | celt/ecintrin.h \ 10 | celt/entcode.h \ 11 | celt/entdec.h \ 12 | celt/entenc.h \ 13 | celt/fixed_debug.h \ 14 | celt/fixed_generic.h \ 15 | celt/float_cast.h \ 16 | celt/_kiss_fft_guts.h \ 17 | celt/kiss_fft.h \ 18 | celt/laplace.h \ 19 | celt/mathops.h \ 20 | celt/mdct.h \ 21 | celt/mfrngcod.h \ 22 | celt/modes.h \ 23 | celt/os_support.h \ 24 | celt/pitch.h \ 25 | celt/celt_lpc.h \ 26 | celt/quant_bands.h \ 27 | celt/rate.h \ 28 | celt/stack_alloc.h \ 29 | celt/vq.h \ 30 | celt/static_modes_float.h \ 31 | celt/static_modes_fixed.h 32 | -------------------------------------------------------------------------------- /deps/opus/opus/LICENSE_PLEASE_READ.txt: -------------------------------------------------------------------------------- 1 | Contributions to the collaboration shall not be considered confidential. 2 | 3 | Each contributor represents and warrants that it has the right and 4 | authority to license copyright in its contributions to the collaboration. 5 | 6 | Each contributor agrees to license the copyright in the contributions 7 | under the Modified (2-clause or 3-clause) BSD License or the Clear BSD License. 8 | 9 | Please see the IPR statements submitted to the IETF for the complete 10 | patent licensing details: 11 | 12 | Xiph.Org Foundation: 13 | https://datatracker.ietf.org/ipr/1524/ 14 | 15 | Skype Limited: 16 | https://datatracker.ietf.org/ipr/1602/ 17 | 18 | Broadcom Corporation: 19 | https://datatracker.ietf.org/ipr/1526/ 20 | -------------------------------------------------------------------------------- /deps/speex/speex/Makefile.am: -------------------------------------------------------------------------------- 1 | ## Process this file with automake to produce Makefile.in. -*-Makefile-*- 2 | 3 | # To disable automatic dependency tracking if using other tools than 4 | # gcc and gmake, add the option 'no-dependencies' 5 | AUTOMAKE_OPTIONS = 1.8 6 | 7 | m4datadir = $(datadir)/aclocal 8 | m4data_DATA = speex.m4 9 | 10 | pkgconfigdir = $(libdir)/pkgconfig 11 | pkgconfig_DATA = speex.pc speexdsp.pc 12 | 13 | EXTRA_DIST = Speex.spec Speex.spec.in Speex.kdevelop speex.m4 speex.pc.in README.blackfin README.symbian README.TI-DSP 14 | 15 | #Fools KDevelop into including all files 16 | SUBDIRS = libspeex include @src@ doc win32 symbian ti 17 | 18 | DIST_SUBDIRS = libspeex include src doc win32 symbian ti 19 | 20 | rpm: dist 21 | rpmbuild -ta ${PACKAGE}-${VERSION}.tar.gz 22 | -------------------------------------------------------------------------------- /deps/opus/opus/doc/footer.html: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | For more information visit the Opus Website. 12 |
18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /deps/speex/speex/README.blackfin: -------------------------------------------------------------------------------- 1 | Speex has been ported to the Blackfin DSP, for the STAMP development board. 2 | 3 | This port has been tested on the STAMP development board and requires the 4 | toolchain available at http://blackfin.uclinux.org/ 5 | 6 | 1/ In order to cross-compile for uClinux from the Speex tarball: 7 | 8 | ./configure --enable-blackfin-asm --enable-fixed-point --host=bfin-uclinux 9 | cd libspeex 10 | make 11 | 12 | The --enable-blackfin-asm option is not required, but it speeds up Speex by 13 | approximately a factor of two. 14 | 15 | 2/ In order to cross-compile for uClinux from the Speex SVN: 16 | 17 | svn co http://svn.xiph.org/trunk/speex speex-trunk 18 | cd speex-trunk 19 | ./autogen.sh --enable-blackfin-asm --enable-fixed-point --host=bfin-uclinux 20 | cd libspeex 21 | make 22 | -------------------------------------------------------------------------------- /bin/vock: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | // vim:syntax=javascript 3 | 4 | var vock = require('..'), 5 | argv = require('optimist') 6 | .usage('Usage:\n' + 7 | ' vock create\n' + 8 | ' vock connect {id}\n' + 9 | ' vock set name value\n' + 10 | ' vock get name') 11 | .describe('server', 'Server address (host:port)') 12 | .describe('mute', 'Disable recording') 13 | .describe('version', 'Show CLI version') 14 | .describe('key-file', 'SSH Private key file') 15 | .boolean('mute') 16 | .boolean('version') 17 | .string('key-file') 18 | .alias('v', 'version') 19 | .alias('s', 'server') 20 | .alias('m', 'mute') 21 | .alias('k', 'key-file') 22 | .argv; 23 | 24 | vock.cli.run(argv); 25 | -------------------------------------------------------------------------------- /deps/opus/opus/.gitignore: -------------------------------------------------------------------------------- 1 | Makefile 2 | Makefile.in 3 | aclocal.m4 4 | autom4te.cache 5 | *.kdevelop.pcs 6 | *.kdevses 7 | compile 8 | config.guess 9 | config.h 10 | config.h.in 11 | config.log 12 | config.status 13 | config.sub 14 | configure 15 | depcomp 16 | install-sh 17 | .deps 18 | .libs 19 | *.la 20 | testcelt 21 | libtool 22 | ltmain.sh 23 | missing 24 | stamp-h1 25 | *.sw 26 | *.o 27 | *.lo 28 | *~ 29 | tests/*test 30 | tools/celtdec 31 | tools/celtenc 32 | celt.pc 33 | celt.spec 34 | celt/dump_modes/dump_modes 35 | *.vcxproj.user 36 | opus.sdf 37 | opus.suo 38 | version.h 39 | celt/Debug 40 | celt/Release 41 | celt/x64 42 | silk/Debug 43 | silk/Release 44 | silk/x64 45 | silk/fixed/Debug 46 | silk/fixed/Release 47 | silk/fixed/x64 48 | silk/float/Debug 49 | silk/float/Release 50 | silk/float/x64 51 | src/Debug 52 | src/Release 53 | src/x64 54 | -------------------------------------------------------------------------------- /deps/speex/speex/ChangeLog: -------------------------------------------------------------------------------- 1 | 2005-09-07 Thomas Vander Stichele 2 | 3 | * libspeex/cb_search.c: (split_cb_search_shape_sign_N1): 4 | add declaration for n, seems like an obvious build fix, slap 5 | me down if it's not 6 | 7 | 2004-02-18 Jean-Marc Valin 8 | Patch for compiling with mingw32 sent by j@thing.net 9 | 10 | 2004-02-18 Jean-Marc Valin 11 | Integrated IRIX patch (getopt stuff) from Michael Pruett 12 | 13 | 2004-02-18 Jean-Marc Valin 14 | Changed the Makefile.am so that KDevelop can parse SUBDIRS correctly 15 | 16 | 2002/03/27 Jean-Marc Valin: 17 | Working encoder and decoder for both narrowband and wideband. 18 | 19 | 2002/02/27 Jean-Marc Valin: 20 | Got the basic encoder working as a demo with quantization only on some 21 | parameters. 22 | -------------------------------------------------------------------------------- /deps/speex/config.h: -------------------------------------------------------------------------------- 1 | /* Compile as fixed-point */ 2 | #define FLOATING_POINT 1 3 | 4 | /* Define to 1 if you have the header file. */ 5 | #define HAVE_ALLOCA_H 1 6 | 7 | /* Define to 1 if you have the header file. */ 8 | #define HAVE_INTTYPES_H 1 9 | 10 | /* Define to 1 if you have the header file. */ 11 | #define HAVE_STDINT_H 1 12 | 13 | /* Define to 1 if you have the header file. */ 14 | #define HAVE_STDLIB_H 1 15 | 16 | /* Define to 1 if you have the header file. */ 17 | #define HAVE_STRING_H 1 18 | 19 | /* Define to 1 if you have the header file. */ 20 | #define HAVE_SYS_STAT_H 1 21 | 22 | /* Define to 1 if you have the header file. */ 23 | #define HAVE_SYS_TYPES_H 1 24 | 25 | /* Define to 1 if you have the header file. */ 26 | #define HAVE_UNISTD_H 1 27 | 28 | #define EXPORT 29 | 30 | #define USE_KISS_FFT 1 31 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "vock", 3 | "version": "0.5.0", 4 | "author": "Fedor Indutny ", 5 | "homepage": "https://github.com/indutny/vock", 6 | "repository": { 7 | "type": "git", 8 | "url": "http://github.com/indutny/vock.git" 9 | }, 10 | "os": [ 11 | "darwin", 12 | "linux" 13 | ], 14 | "preferGlobal": true, 15 | "bin": "bin/vock", 16 | "main": "lib/vock", 17 | "dependencies": { 18 | "msgpack-js": "~0.1.1", 19 | "optimist": "~0.3.4", 20 | "bindings": "~1.1.0", 21 | "colors": "~0.6.0-1", 22 | "pripub": "~0.2.4", 23 | "prompt": "~0.2.6", 24 | "growl": "~1.7.0", 25 | "nat-pmp": "~0.0.2", 26 | "netroute": "~0.2.1", 27 | "nat-upnp": "~0.2.9", 28 | "keypress": "~0.1.0", 29 | "nconf": "~0.6.4", 30 | "dht.js": "~0.2.12", 31 | "utile": "~0.2.0" 32 | }, 33 | "engine": { 34 | "node": ">= 0.10.0" 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /src/opus/binding.h: -------------------------------------------------------------------------------- 1 | #ifndef _SRC_OPUS_BINDING_H_ 2 | #define _SRC_OPUS_BINDING_H_ 3 | 4 | #include "node.h" 5 | #include "v8.h" 6 | #include "node_object_wrap.h" 7 | #include "opus.h" 8 | 9 | namespace vock { 10 | namespace opus { 11 | 12 | using namespace node; 13 | 14 | class Opus : public ObjectWrap { 15 | public: 16 | Opus(opus_int32 rate, int channels); 17 | ~Opus(); 18 | 19 | static void Init(v8::Handle target); 20 | 21 | static v8::Handle New(const v8::Arguments& args); 22 | static v8::Handle Encode(const v8::Arguments& args); 23 | static v8::Handle Decode(const v8::Arguments& args); 24 | static v8::Handle SetBitrate(const v8::Arguments& args); 25 | 26 | protected: 27 | opus_int32 rate_; 28 | int channels_; 29 | OpusEncoder* enc_; 30 | OpusDecoder* dec_; 31 | }; 32 | 33 | } // namespace opus 34 | } // namespace vock 35 | 36 | #endif // _SRC_OPUS_BINDING_H_ 37 | -------------------------------------------------------------------------------- /deps/opus/opus/doc/footer.html.patch: -------------------------------------------------------------------------------- 1 | --- footer.orig.html 2012-06-11 00:32:00.237427961 -0400 2 | +++ footer.html 2012-06-11 00:45:51.518437796 -0400 3 | @@ -6,11 +6,15 @@ 4 | 5 | 6 | 7 | -