Extending PureData to build a telephone simulator.
This includes:
- simulation of Voice-over-IP degradations (i.e., coding, compression, and network degradations),
- standardized degradations of the speech signal (e.g., MNRU and resampling), and
- extended signal processing (e.g., voice activity detection).
Moreover, PureData is extended with the following features:
- the capability of offline processing (synchronous read and write),
- the communication via Websockets, and
- a dynamic convolver (e.g., for binaural synthesis).
For Ubuntu 16.10:
sudo apt install build-essential cmake puredata-dev libsndfile-dev libresample-dev libfftw3-dev libwebsockets-dev libopus-dev libgsm1-dev libspeex-dev libspeexdsp-dev libjson-c-dev
- Install PureData
- Make sure PureData's header file
m_pd.h
is in your path (should match your PureData version).
To grab the most recent, run:curl https://raw.githubusercontent.com/pure-data/pure-data/master/src/m_pd.h > /usr/local/include/m_pd.h
- Install Homebrew
brew install cmake libsndfile libresample fftw libwebsockets opus-tools libgsm speex json-c
cd TheTelephone && cmake . && make
ATTENTION: only the externals are compiled (and later installed) for which all required libraries are installed.
Install externals
make install
By default the compiled externals are installed into the home directory of the current user:
- Linux:
$ENV{HOME}/Library/Pd
- MacOS:
$ENV{HOME}/pd-externals
This can be overriden by setting CMAKE_INSTALL_PREFIX
.
For further information about installing externals, please take a look here.
Documentation can be generated using Doxygen.
For Ubuntu 16.10 install the following packages:
sudo apt install doxygen graphviz
Run:
cd TheTelephone && cmake . && make doc
This project is licensed as GPLv3 or later.
An exception are all externals linking or including third-party code.
For these externals, the license of the third-party code applies if this license is incompatbile to the GPLv3 otherwise the GPLv3 or later applies.
- Dennis Guse
- Frank Haase