Skip to content

TheTelephone/TheTelephone

main
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 

TheTelephone

TheTelephone-logo

TheTelephone provides components for PureData to simulate speech telephony-related degradations.

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

Actually, TheTelephone was implemented to build a software-based telephone simulator for laboratory experiments on Quality of Experience. For these experiments TheTelephone (simulating telephone connections) and TheFragebogen (presenting questionnaires and coordinate the experiment) were used together. For a detailed description of the used setup see Guse et al.: Multi-episodic perceived quality for one session of consecutive usage episodes with a speech telephony service ).

Build procedure

ATTENTION: only the externals are compiled (and later installed) for which all required libraries are installed.

For further information about installing externals, please take a look here.

Linux-like (e.g., Ubuntu 16.10 and Windows 10 using Ubuntu Bash):

Install Tools and Dependencies

For Ubuntu 16.10: sudo apt install build-essential git cmake puredata puredata-dev libsndfile-dev libresample-dev libfftw3-dev libwebsockets-dev libopus-dev libgsm1-dev libspeex-dev libspeexdsp-dev libjson-c-dev

For Windows 10 using Ubuntu Bash): sudo apt install build-essential git cmake puredata puredata-dev libsndfile-dev libresample-dev libfftw3-dev libwebsockets-dev libopus-dev libgsm1-dev libspeex-dev libspeexdsp-dev libjson-c-dev

NOTE for Bash on Ubuntu on Windows:

  • this environment behaves like Ubuntu 14.04, and
  • this environment does not provide a XServer and thus PureData's UI cannot be shown.

Compile and Install externals

git clone https://github.com/TheTelephone/TheTelephone
cd TheTelephone && cmake . && cmake --build . && make install

MacOS using Homebrew:

Install Tools and Dependencies

  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. Install required tools and dependencies: brew install cmake git libsndfile libresample fftw libwebsockets opus-tools libgsm speex json-c

Compile and Install externals

git clone https://github.com/TheTelephone/TheTelephone
cd TheTelephone && cmake . && cmake --build . && make install

Microsoft Windows 7/8/10:

ATTENTION: Following these instruction will only build a small subset of the included externals as no external libraries are installed.

Install Tools and Dependencies

  1. Install PureData
  2. Install cmake
  3. Install TDM-GCC

Compile and Install externals

Run in shell (e.g., cmd.exe):

git clone https://github.com/TheTelephone/TheTelephone
cd TheTelephone
cmake -G"MinGW Makefiles" -DPUREDATA_ROOT="C:/Program Files (x86)/Pd/"
cmake --build .

NOTE: PUREDATA_ROOT needs to contain the correct path to PureData. NOTE: The compiled externals need to be installed manually.

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