/jacktrip-qos-extension

JackTrip-QoS-Extension: extends the JackTrip application with a quality model to measure the quality of the peer connection.

Primary LanguageC++OtherNOASSERTION

JackTrip Quality of Service Extension

This Project extends the JackTrip Application with a Quality Model. The Model is used to give the users insight on the quality of the connection to a peer.

user_interface

With the additional User Interface, the musicians can see how well the connection handles at any given time during the performance. As shown in the image above, the IP-adress of the peer is listed with the quality model.

How to estimate the quality of a networked music performance?

To perform music across a network of computers, there are many constraints to the quality of the internet connection and the underlying network or hardware. For synchronous collaboration in music, there are certain boundaries to the quality which need to be passed to make it possible for musicians to play music together in real-time. For example: the latency between the peers should not exceed a certain threshold to make it possible for the musicians to stay synchronized. Other effects like Jitter or Bandwith-Usage should also be kept low, so that there is little to no audio-loss during the performance which could also distract the musicians.

The technical constraints are not the only factors which make up the quality of a networked music performance. The context of the music which is played and also the context of the participants play a role for the quality. In various research projects, people tried to give an answer on how long the treshold for the latency can be. Their results show that the tempo of the music which is performed has an impact to the latency. Also the choice of instruments for the performance has an influence on the perception of the latency for the musicians. While looking at the results it's clear to see a correlation between tempo and latency. The faster the tempo of the music, the lower the latency needs to be so that musicians can stay synchronized during the performance.

The Quality-Model of this Extension uses the estimated latency to the peer and the estimated tempo of the music and classifies the quality in 4 different categories.

quality_categories

The diagramm above shows the correlation between the tempo in BPM and latency in milliseconds. For every category the treshold for the latency according to the tempo is shown. The categories are build up as follows:

  • acceptable, colored in green
  • tolerable, colored in yellow
  • difficult, colored in red up to a treshold of 150 ms
  • not possible, everything above 150 ms

Architecture

The architecture of the application and how it is integrated into the JackTrip architecture is shown in the following class diagram:

user_interface

About the Extension

This project was part of a student research project held at the University of Applied Science Dortmund.

JackTrip (download the latest release here)

JackTrip is a Linux and Mac OS X-based system used for multi-machine audio network performance over the Internet. It supports any number of channels (as many as the computer/network can handle) of bidirectional, high quality, uncompressed audio signal streaming.

You can use it between any combination of Linux and Mac OS X (i.e., one end using Linux can connect to the other using Mac OS X).

Links

Related Software

JMess: A utility to save your audio connections (mess).