Skip to content

This project extends PureData to build a telephone simulator.

License

Notifications You must be signed in to change notification settings

michalsoloducha/TheTelephone

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

72 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TheTelephone

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).

Build procedure

Install dependencies

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

For MacOS using Homebrew:

  1. Install PureData
  2. 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
  3. Install Homebrew
  4. brew install cmake libsndfile libresample fftw libwebsockets opus-tools libgsm speex json-c

Compile

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

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

License

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.

Authors

  • Dennis Guse
  • Frank Haase

About

This project extends PureData to build a telephone simulator.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 80.9%
  • Pure Data 9.8%
  • CMake 6.4%
  • C++ 1.2%
  • Other 1.7%