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.

 

 

video 1 – basic introduction and getting started
0:00   Introduction
0:45   Register – in order to be able to download and use Soundjack
1:30   Log-in – enabling access to additional pages of the web site
2:00   Download the Soundjack app
2:45   Launch soundjack
3:20   An overview of the Stage

notes & updates
1:10   Alex’s email address is This email address is being protected from spambots. You need JavaScript enabled to view it.
2:35   The app has an icon now
3:45   The logging window has been removed

 

 

video 2 – Soundjack engine tutorial
0:00  Introduction and review
1:00  The User List
1:20  The “i” status icon
3:30  Soundjack settings:
4:30     Soundcard
6:00     Sample buffer
6:45     Audio loopback fader
9:00     Send channels
9:50     Channel-selection
11:00   Delayed-feedback
13:00   Network buffer
13:40   Finding optimal settings
15:00   Compression
16:30   Manage calls

notes & updates
7:40 A sample-rate control has been added, but 48k is still the only available option
8:36 The logging window has been removed

 

 

video 3 – how to connect
0:00   Introduction and review
1:20   The User List
2:00   Localhost user-entry (local loopback – connect to yourself, within your computer)
3:00   How to connect
3:50   Latency display
4:20   Displaying a partner’s settings
4:25   Your partner’s audio compression setting
4:50   Your partner’s channel-count setting
4:54   Your partner’s network-buffer setting
5:30   Jitter-buffer setting
6:40   Finding optimal settings – using the local loopback connection
10:15 The audio-mirror user-entry (loopback, but through a distant server)
11:00 Demonstration of too-aggressive jitter-buffering (connection flickering red)
12:10 Finding optimal settings – using the wide-area network connection
13:50 Your own user-entry (network loopback – connect to yourself either over the LAN or WAN)

notes & updates
0:25   The logging window has been removed
1:25   The number and type of permanent entries varies
13:05 The logging window has been removed

 

 

video 4 – NAT-Router Connection and Port Forwarding
0:00   Introduction and review
1:50   Network-loopback – connect to yourself through you router – either over the LAN or WAN
2:00   The “TRYING” error message
3:35   UDP-Port2 router-status messages – most open: (111) most restrictive: (388)
5:00   Determine the IP address of your router, log on and locate the “port forwarding” function
5:55   Example of the UDP port forwarding rule (note, the port has changed from 50000 to 50050)
6:05   Determine the IP address of your computer and use it for the port-forwarding rule
6:45   Reenter Stage and test the configuration
8:00   The impact of a wireless (WIFI) connection on performance
9:30   Proof of concept: observing the result after disabling port-forwarding

notes & updates
3:50   The “4” value in router-status msg has been removed (see FAQ)
5:55   Soundjack now uses UDP port 50050, rather than port 50000 as shown in the video
7:13   Soundjack now provides two connection/testing options – “via WAN IP” (more rigorous) and “via LAN IP” (less rigorous)

 

 

video 5 – adjusting latency after connection (audio, network, jitter-buffer)
0:00   Introduction (note: Alex is only on the left channel)
0:33   SJC software starter-script (now depreciated)
1:00   Logging into the Stage and getting the session set up
2:30   Sample buffer settings
3:00   Connecting to a remote peer/partner
4:00   Reviewing remote-peer seetings, and impact of the jitter-buffer
7:20   Aggressive jitter buffer settings – example of audio-dropouts
8:45   Interaction of sample-buffer, network-buffer and jitter buffer – balancing stability and latency

notes & updates
0:00   Alex’s voice is only on the left channel in this video
0:33   Soundjack starter-script has been depreciated
7:13   sorry about the very-harsh edit!

 

 

video 6 Sample buffer adjustment, real connection between partners
0:00   Introduction and review
2:35   Determine optimal settings for your local soundcard
4:40   Select the number of audio channels (includes comparison of mono, dual-mono and stereo settings)
6:10   Connecting to remote peer and negotiating settings
7:20   User-list information
9:15   The impact of the jitter-buffer on sound quality and latency
10:00 The essential counting test – showing why latency is so important to musicians

notes & updates
0:50   The app is now named ” SJCnnnnn.app ” (where nnnnn is the version number) rather than ” soundjack.app ”
0:55   Soundjack starter-script has been depreciated
2:00   Sliders only change parameters when they are released, not while sliding

Chat (time zone: UTC)

Ross Byron - 23:21

plesed to meet you

Ross Byron - 23:21

motu 828 ill sync them up sometime

Bernd Keul 2 - 20:51

bpm is 90

Bernd Keul 2 - 20:51

Ross Byron - i use blackhole on the sending side and a combi of blackhole and Motu on the recieving side, i managed to sync ableton to the click on track 7-8 with the max for live device beatseeker

QuinnPatrickAnkrum - 20:35

Woo hoo Dana Zenobi!!

Ross Byron - 19:58

berndkeul - got it worked good

Ross Byron - 19:57

I SEE THER 4 STERO PAIRS YES?

Ross Byron - 19:55

useing soundflower

Ross Byron - 19:55

i have all 8 chs indepent going into abelton live

Ross Byron - 19:51

going for 8

Ross Byron - 19:43

what your bpm?

Ross Byron - 19:35

am listening in 2 channels to you berndk

Ross Byron - 19:32

cool am in the old school site

berndkeul - 15:42

... on the Bernd Keul 2 acount ...

berndkeul - 15:42

i´m sending 8 channel percussion ( loops...) , is anybody here with multichannel interface and speakers , who wants to give it a try ... ?

deckypoo1 - 04:42

hey there. can anyone help me install this onto my raspberry pi? i just dowloaded the linux software... now what

Hector_Valdivia - 23:05

This website has blocked my IPaddress for some reason. I am able to login via my data plan on my phone or using a VPN...How do I get unblocked?

handbellguy - 22:31

I am on a fmb as well.

deckypoo1 - 22:31

just the micro sd lol

deckypoo1 - 22:30

yeah... i bought a bundle that didn't include the adapter.

handbellguy - 22:27

@derek many micro cards come with the adapter. Also, willing to test.

deckypoo1 - 22:21

so I'm at a standstill. thought I would explore the soundjack on my mac

deckypoo1 - 22:21

was setting up my raspberry pi FMB but don't have an adaptor for my micro sd to download the Argon OS...

deckypoo1 - 22:20

hello! it's derek chester here

OldPro92 - 21:19

When Soundjack is open, nothing appears. All I get is the icon in the upper left corner.

OldPro92 - 17:35

After moving SJC to the Applications Folder, and removing Security problems, I was informed that it couldn't open the file. Anyone have a workaround for this?

OldPro92 - 17:21

Never mind - they just don't let you rename it.

OldPro92 - 17:03

I'm on a Mac OS 10.14.6. The system can't open the dmg file, says it doesn't recognize it. Any solutions?

sopteach - 00:01

Cascade: is your soundjack app open on your computer? You need the app open and the webpage on stage

cascadevoiceacademy - 21:39

I keep getting anerror message :connection issue between stage and sjc. Any thoughts?

Cunha - 21:29

any one to test?

Cunha - 21:28

someone here can get a call with me to test the system?

WendyLJones - 21:13

Got i

WendyLJones - 21:05

My FMB won't connect. Got taken to the "new site" a few times before I could get it here. First time since I hooked up on SJ that this won't work

Hector_Valdivia - 20:35

Hi Matthew Z! I tried to use your link you sent, but it does not connect RU there?

ChrisRogan - 14:53

I've an older OS system than 10.13. Anyone had any success with El Capitan? Thanks

cascadevoiceacademy - 21:22

Hey! can anyone test connect withm e>

alyssatoepfer - 19:45

I'll test connect with you @JuliaScozz

JuliaScozz - 19:13

anyone wanna test connect?

JuliaScozz - 18:34

We are also stuck on "trying?" suggestion for fix?

SHOUT_NONMEMBER

We use cookies on our website. Some of them are essential for the operation of the site, while others help us to improve this site and the user experience (tracking cookies). You can decide for yourself whether you want to allow cookies or not. Please note that if you reject them, you may not be able to use all the functionalities of the site.