Politecnico di Torino (logo)

JackTrip-WebRTC - Networked music performance with web technologies

Matteo Sacchetto

JackTrip-WebRTC - Networked music performance with web technologies.

Rel. Antonio Servetti, Chris Chafe. Politecnico di Torino, Corso di laurea magistrale in Ingegneria Informatica (Computer Engineering), 2020

PDF (Tesi_di_laurea) - Tesi
Licenza: Creative Commons Attribution Non-commercial No Derivatives.

Download (9MB) | Preview

We are witnessing a large adoption of web based audio/video communication platforms that run in a browser and can be easily integrated with the web environment. Most of these solutions are in the context of videoconferencing, but the recent limitation to people mobility encouraged the extension of such platforms also to the context of networked music performance. This master thesis focuses on showing an alternative approach to peer-to-peer high quality and low latency audio streaming by exploring an unconventional solution based on WebRTC's DataChannels, instead of WebRTC's MediaStreams. Uncompressed audio is extracted from WebRTC's MediaStream, processed by Web Audio API's AudioWorklets and sent on WebRTC's DataChannels in order to have more control on the overall transmission protocol and to avoid possible communication delays introduced by compression, filtering and other audio processing MediaStreams may perform. This approach is compared to the classical one to measure its performance and advantages or drawbacks in a networked music performance context. The comparison between the two approaches is carried out by considering different configurations of the getUserMedia function call and by measuring the local mouth-to-ear latency each configuration leads to in both solutions (network latency is not involved in this analysis). The measurements show that our custom solution usually has a lower latency than the standard MediaStream solution, but the measured latency (50-100ms) is still above the 30ms a networked music performance context requires. Next it shows the measurements performed on the different steps of the audio chain, where we discovered that the first step of the audio chain is where most of the latency is introduced. Unfortunately we can not influence the latency introduced by that step in any other way than by appropriately configuring the getUserMedia call, which we already did. So, for now this solution can not replace other solutions which already exist, like JackTrip, for real-time networked music performance, but it still has some value, since it can work as a preparation step for tools like that one, and for introducing more people to the networked music performance world, thanks to the ease of use web applications have. The last part of this thesis illustrates some other functionalities, like loopback, stereo support and statistics, which are relevant in a networked music performance scenario.

Relators: Antonio Servetti, Chris Chafe
Academic year: 2020/21
Publication type: Electronic
Number of Pages: 78
Corso di laurea: Corso di laurea magistrale in Ingegneria Informatica (Computer Engineering)
Classe di laurea: New organization > Master science > LM-32 - COMPUTER SYSTEMS ENGINEERING
Aziende collaboratrici: UNSPECIFIED
URI: http://webthesis.biblio.polito.it/id/eprint/16659
Modify record (reserved for operators) Modify record (reserved for operators)