Tech tutorial

For a complete description of distributed music we recommend reading at least chapter four of the author's Ph.D. thesis. Regarding artistic challenges and the effect of latency please read chapter five. With respect to the current state of the art and Soundjack in particular please read our IEEE-Access publication (mainly Section IV). Alternatively read this tutorial below as a "quick start".

Please take a look at the videos below - they show you all the details of how to adjust the relevant parameters.

Installation guide

  • Register on soundjack.eu
  • Once registered log in and click on Download tab
  • Download either Mac OSX, Linux or Windows depending on your system. Win users will need an ASIO sound device. If not existing please download the ASIO4ALL driver as well and install it: http://www.asio4all.com
  • Extract and open the downloaded file.
  • OSX / Windows: Run the soundjack application by doubleclicking on the binary file (Win: soundjack.exe / OSX: soundjack.app)
  • Linux: In a terminal window cd to the extracted directory. You will find script files (.sh) files there, corresponding to different versions of Soundjack. Run one of them – ideally the latest. (You will need to terminate this using ctrl-c once you have finished the Soundjack session.)
  • Important: A small XLR Icon in your dock will show up. This confirms the soundjack engine is running and working fine. On Windows you will see an additional DOS-type console.
  • Once the plugin is running on your machine return to the sound jack website and click the stage tab

Interface layout description

Soundjack is a browser-based low-latency communication system available at the stage tab. The left of the interface shows the local engine specific parameters, which determine the stream settings and in turn the bandwidth capacity of the outgoing stream. The right shows the user list which is to be understood as a mixing console in horizontal layout. Each user corresponds to a channel strip. Enable the "play" button at the very right of the channel strip in order to connect with the specific user.

Configuration

  • Once you have successfully ran the application you will need to set your drivers/settings within the web browser. This may take some tweaking.
  • Select your the desired input and output interface of the existing ones 
  • Select the sample buffer (if you’re experiencing audio issues try raising the sample size to the next higher)
  • Select send channels. These should correlate to the inputs of your interface. Example inputs 1+2 would use 2 send channels. If you had a mic on in1 and a guitar on in3 you’d most likely need to select 4 channels here.
  • Lastly choose your network buffer and OPUS bit rate. The higher the OPUS bit rate the higher the quality but subsequently the more data will be transmitted which could cause issues with slower Internet connections.
  • Establish a test connection with the existing audio mirrors within the user list. You will see the jitter buffer turning green and/or red depending on the stability of the connection. Adjust this value according to your needs.

 

Lower network buffers will lower latency but could also create issues with streaming quality. Network buffers will correspond to peers’ sample buffer. For example, if they have a higher sample buffer (512 for instance) you may not need as large of a network buffer your end (perhaps 128). The opposite would also be true if the sender is sending smaller packets (say 128) the network buffer may need to be increased. Unfortunately, due to the nature of the internet and individual hardware setups, there is no straight forward way to determine the optimal settings for everyone so you are encouraged to tweak these settings to find out what works best for your session. OPUS bit rate in short the higher the bit rate the better quality the audio. Linear is uncompressed. 96 kbps is compressed by a factor of 8, 48 kbps by a factor of 16 etc. One thing to keep in mind is that this is the quality of each individual track so the more tracks you have sending the greater the speed requirements. Example one track at 96 kbps will be sending as much information as 4 tracks at 24 kbps.

Chat (time zone UTC-1)

fminaux - 16:34

It is strange today, the box for the "packets" sent stopped working (it became light grey). However, we were able to continue our rehearsal just fine.

fminaux - 15:56

Cool!

jazzalex - 15:54

Yes, there are several SJ-Online teachers including ourselves.

fminaux - 15:35

Ok, that sounds good. I am going to experiment teaching lessons using SJ next week. I will let you know how it goes. Have you guys taught using SJ before?

jazzalex - 15:13

I myself don't use the starter anymore. I left it in the bundle just in case when others have problems. Please try without but make sure SJ is enabled in the security settings.

fminaux - 15:09

Hi Alex, i was wondering if we still need to run the SJ Starter with the newest version of SJ200524? Thank you! François

JamTuner - 07:48

I am AFK

JamTuner - 07:24

we are far apart and shuld start at the highest buffer setting

JamTuner - 07:22

Gerald - raise the network buffer ton512

JamTuner - 01:21

I am currently at my desk and ready to help, if needed :)

JamTuner - 01:20

I am streaming audio for those who need to test. Just connect with me :)

beigeforce - 21:25

hello hola bonjour hallo

rfiorentino - 15:33

JamTuner - that's ok, I finally figured it out! :) I had to turn my fader, on the left, all the way down.

JamTuner - 10:05

I am going afk - audio stream will play on unless something happens.

JamTuner - 01:38

Rocco- sorry I lost patience with you yesterday

JamTuner - 01:18

Everyone - I can't help if you don't engage :)

JamTuner - 01:05

it sounds lie your hardware/software set-up(s) are causing the client to crash.

JamTuner - 01:04

fiddleman and friend - if you give me some more detail about your interfaces and etc , I may be able to help you

JamTuner - 01:03

I am back and streaming audo for testing. Just connect to me :)

fiddleman - 00:35

Crashed again!

fiddleman - 00:34

CyClone.52 -- Once SoundJack crashes, I cannot get it to come back up!

fiddleman - 00:33

that didn't work!!!

JamTuner - 00:29

the audio tet stream is off for a while. I will resume it hen I can. meanwhile if you have questions, please ask ans try to stay around long enough for me to respond, or go to the facebookk soundjack

JamTuner - 23:56

I am streaming audo for testing. Just connect to me :)

JamTuner - 23:55

I am at my desk.

fiddleman - 23:37

CyClone.52. Lost you.

fiddleman - 23:23

CyClone.52

JamTuner - 23:17

I am afk for maybe forty minutes.

JamTuner - 23:16

there is also a soundjack facebook group www.fhttps://www.facebook.com/groups/Soundjack

JamTuner - 23:15

fiddleman...I ave to go afk for a while, when I return , and you are still around, I will try to help you . I am This email address is being protected from spambots. You need JavaScript enabled to view it., or arne nordwall on Face Book

fiddleman - 23:10

The Apolo is now connected, but we still can't hear each other at all.

JamTuner - 23:01

Fiddleman- you friend has DL'd the SJ client properly and installed and opened it ( while not on the webpage) and the opened the browser page ?

JamTuner - 23:00

I use an apoolo quad , no problem for years :)

fiddleman - 22:59

Thanks -- My friend is having trouble getting either sent or received audio from his Apollo interface. It is connecting (and we are both GREEN), but his interface isn't even showing up on the dropdown

fiddleman - 22:59

Thanks -- My friend is having trouble getting either sent or received audio from his Apollo interface. It is connecting (and we are both GREEN), but his interface isn't even showing up on the dropdown

JamTuner - 22:56

I am logged in here to help and stream test audio whenever I can. I standby to help whe I am at my desk

JamTuner - 22:55

after that the connection box ( normally green with "4" ) can be lowered or raised to fine tune jitter

JamTuner - 22:53

fiddleman- always start with nw buffer at512- then when you have connected to someone, lower it incrementelly to the lowest setting that works...

fiddleman - 22:45

Thanks for changing your buffer for me!

fiddleman - 22:45

Thanks. Still learning how to optimize this. I'm on the phone with CyClone.52 (an old buddy of mine). We're trying to do our first 'session'.

SHOUT_NONMEMBER