Jamulus Setup Workshop
Total Page:16
File Type:pdf, Size:1020Kb
Jamulus Workshop 28th August 2020 Dr Patrick Early https://youtu.be/ymwBwhvEeS8 Jamulus Sound travels at 1,125 ft per second in 20°C Jamulus If Sound travels at 1,125 ft per second in 20°C Then a 30ms Delay would equate to being about 33ft from the person you are playing music with This picture was taken about 30 feet away from the players. From hear you hear the sound 30ms after it is made. The 30ms echo was mingled with longer echo's as the sound came back from the walls of nearby buildings. Abby Road rooftop recording session 1969 the Beatles Latency over the internet produces exactly the same echoed sound as was heard from buildings that are further away and can become a distracting influence when playing online. We are trying to minimise this effect therefor at every stage of the process – the equivalent to being as close to the player as is acoustically possible. Ironically effects pedals try to deliberately create the ‘Rooftop’ or outdoor effect. 30 ms Demo https://youtu.be/-3jTSw0grXg 30ms as an effect A delay over 5Oms becomes problematic A delay over 100ms becomes unworkable for string players, as the meter becomes ambiguous without the help of accurate visual direction- the conductor Case Study: Performing Band Rehearsals on the Internet With Jamulus Volker Fischer Abstract The author of this paper is a member of a rock cover band performing weekly rehearsals on the internet over a period of three years. During that time a lot of practical experience with real time jamming was gained. In this paper the author shares these experiences and gives an overview of the Jamulus software which was used to jam online discussing the most important facts for a successful setup. 1 Introduction Since the quality and speed of internet connec- tions have improved tremendously in the past years, performing distant online jamming in real time is possible now. There are near real time Figure 1: Jamulus software on a typical jam solutions like Ninjam [Incorporated, 2015] avail- session able with a synchronization mechanism based on musical form. It provides a way for musicians ing narrow band networks like a Digital Sub- to improvise together but real songs cannot scriber Line (DSL) or a Cable Modem (CM). be played with this system. Jamulus [Fischer, There is one server running the Jamulus server 2015] is a similar software like LDAS [Saebø and software which collects the audio data from each Svensson, 2006], Soundjack [Carot et al., 2006] Jamulus client, mixes the audio data and sends or eJamming [Blythe and Sewell, 2011] for ac- the mix back to each client. Jamulus is Open tual real time networked music performance. It Source software (GPL, GNU General Public Li- enables musicians to rehearse songs like they cense) hosted at SourceForge and runs under would if they were in the same room together. Linux, Windows and MacOS. It is based on the Online jamming has many advantages, e.g. Qt framework and uses the OPUS audio codec musicians get the possibility to jam with oth- [Valin et al., 2012]. A screen shot of Jamulus is ers residing too far away, where they would not shown in Figure 1. have a chance to practice in a traditional way. The initial release on SourceForge was in 2006 Another advantage is that no rehearsal room were Linux was the only supported operating must be rented and no instruments need to be system using a native ALSA audio interface and transported. The virtual rehearsal room is ba- a simple ADPCM audio coding. In the most re- sically moved to the home. cent version, Jamulus is a multi-platform, easy In this paper the long time experience with to use software utilizing the JACK audio in- online jamming is presented. In the first part of terface and a high quality audio coding library. the paper the Jamulus software is introduced. Private jam servers can be registered at the cen- In the second part the online band experience tral server so that they show up in a list on the is shared. Jamulus client server menu. The simplified core structure of Jamulus is 2 The Jamulus Software shown in Figure 2 and starts with a callback The Jamulus software enables musicians to per- based audio interface which captures audio sam- form real-time jam sessions on the internet us- ple blocks. These blocks are compressed with ‘For the concept of online jamming with various different musicians it is indispensable that the servers are crowded. Therefore Jamulus must be intended for end users and it has to be user friendly. With a straightforward GUI design and an auto detection of the jitter buffer size, Jamulus tries hard to get to this goal’. Fischer (2015) Unfortunately for the software to work correctly, a lot of other things have to be setup correctly. It starts with the analog audio setup, i.e. an instrument and/or a microphone has to be mixed and connected to the sound card of the PC. The PC hardware must be prepared for real time processing, i.e. no CPU or network demanding software may be run in parallel to Jamulus and things like energy saving techniques of lap- top processors have to be turned off. Correct audio drivers must be installed and the parameters like the buffer period size must be set to a small value to get the lowest latency possible. The internet connection must provide not less than the minimum required bandwidth and, at least equally important, must have a low ping time to the server. If even one of these requirements are not fulfilled, the performance is bad or Jamulus does not work at all’. Fischer (2015) Remote%20Live%20Help%20C4%20Site.webarchive Remote%20Live%20Help%20C4%20Site.webarchive https://jimamsden.wordpress.com/2020/04/04/remote- jamming-with-helix-and-jamulus/ Typical Jamulus Window Typical Connection Options A Minimalist Control Setup Minimalist Settings Window How to change internal microphone volume in Windows 10 https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=w eb&cd=&cad=rja&uact=8&ved=2ahUKEwjFudSi1_fpAhUHSxUIH TrgBYAQwqsBMAB6BAgKEAQ&url=https%3A%2F%2Fwww.yout ube.com%2Fwatch%3Fv%3DmmunTzfs5gY&usg=AOvVaw1dJUD EAlJ9dpWhAQIl6jdS A server is set up in the vicinity of the players to handle all of the signal processing. Failing this, all participants should connect to the nearest (lowest latency) server. These are mandatory Requirements for all participants without exception, to reduce overall latency to a tolerable level for everyone in the rehearsal Jamulus software downloaded and installed. Ethernet connection direct to your computer A good internet connection A set of regular headphones. A quality instrument microphone An audio interface Requirements Jamulus software downloaded and installed. Ethernet connection direct to your computer A good internet connection A set of regular headphones. A quality instrument microphone An audio interface Requirements Jamulus software downloaded and installed. Ethernet connection direct to your computer A good internet connection A set of regular headphones. A quality instrument microphone An audio interface Wi Fi is unacceptable Use a dongle if there is no Ethernet connection on your computer Requirements Jamulus software downloaded and installed. Ethernet connection direct to your computer A good internet connection A set of regular headphones. A quality instrument microphone An audio interface A relatively small speed requirement is specified in kbps by Sourceforge Given the low kb speed requirement, a more accurate way of measuring the quality of your internet connection for the purposes of using Jamulus therefor is to assess if there are points along its path to and from the server, where delay variation is taking place - jitter Packets of data which carry the audio information get interrupted by variation. This has the effect for the listener that you would experience if buildings were popping up out of nowhere during an outdoor performance, producing random distracting echo’s of your playing (altering your perception of distance from the other players as it were). Traceroute helps to identify the existence of these blocks by registering variation in round trip times for ‘pings’ in ms Wider ping time variation indicates a less satisfactory internet service and is the main cause of the audio flow being compromised Requirements Jamulus software downloaded and installed. Ethernet connection direct to your computer A good internet connection A set of regular headphones. A quality instrument microphone An audio interface Blue tooth and wi-fi will increase the overall delay Use headphones with a cable and single stereo jack Requirements Jamulus software downloaded and installed. Ethernet connection direct to your computer A good internet connection A set of regular headphones. A quality instrument microphone An audio interface You have to tailor your investment to your circumstances Requirements Jamulus software downloaded and installed. Ethernet connection direct to your computer A good internet connection A set of regular headphones. A quality instrument microphone An audio interface Jitter is the variation in the time between data packets arriving, caused by network congestion, or route changes. The longer data packets take to transmit, the more jitter affects audio quality. Standard jitter measurement is in ms A jitter buffer is a temporary storage buffer used to capture incoming data packets. It is used in packet-based networks to ensure the continuity of audio streams by smoothing out packet arrival times during periods of network congestion. ‘Crackling’ is due to lost packets. What we've done in choir to reduce this is to switch the auto-buffer off and manually increase it a bit from the auto-set setting. O’Reilly (2020) You can try to optimize the latency vs.