FAQ

 

Background and theory of operation

Welcome to our community of musicians.  Note that while we will try to help where possible, we have to presume that you (or at least one member of your ensemble) bring a basic understanding of distributed music with you to this project.

Distributed music is a complex domain which requires a certain degree of technical and artistic knowledge and we are counting on your willingness to do some background reading before asking for help.  More on the "asking for help" topic in the Support and Communication Rules FAQ below.

Here are our suggestions for those seeking to understand the theory behind this project:

  • Chapter Four of the JazzAlex's Ph.D. thesis has a complete description of the distributed music model we’re working on here.
  • Chapter Five describes the artistic challenges caused by audio latency between performers.
  • Our IEEE-Access publication (mainly Section IV) describes the current state of the art and Soundjack in particular.


Set-up

  • The Tech Tutorial tab is intended to be both a "quick start" and refresher resource.

  • We strongly recommend that at a minimum the “technical lead” member of your group is deeply familiar with the written and video material on that page, as well as this FAQ.  You, and we, should be able to count on that person to resolve typical set-up and operational issues. 


Registration

  • In some cases users do not receive the registration email. Please check your SPAM folder first -- if it's not there it probably wasn't sent. In that case, please send email to This email address is being protected from spambots. You need JavaScript enabled to view it.  He will manually enable your account.  Please be patient, this process can take hours or days depending on his workload.  He will inform you by email when your account is active.


OSX

  • Soundjack may return the error "This is an application of a non-verified developer” rather than running the first time you open it. In this case, right-click (hit ctrl key while clicking) the application file and start Soundjack via "open" from the drop-down menu. You can run it normally with the usual left-click from then on.

  • Problem: my input/output devices are accepted by Stage, but sound is neither captured nor played back, the level meter does not move and there is no sound (and in the case of video, the app completely crashes).

    Answer: recent versions of OSX require an additional security step.  In this case:

    - make sure that the Soundjack app is in the Applications folder
    - run the OSX System Preferences app
    - navigate to Security & Privacy
    - enable Soundjack to use the needed devices (Microphone and/or Camera respectively).

    If Soundjack does not appear in the list of apps there, or in case of other issues, start SJ via Terminal. Open the terminal and a command something like this.  Note: The Soundjack app-name is formatted as " SJC2nnnnn.app " (SJC200616.app at the time of writing this part of the FAQ).

        /Applications/[ current soundjack app ]/Contents/MacOS/soundjack

    OSX should then prompt you to enable the Microphone and/or Camera.


Windows

  • The ASIO buffersize is often not set automatically. Please make sure to set them in the respective configuration panel. It opens up every time the card is initialized.  Note that Soundjack currently requires a 48000 sample rate (higher rates are in process).

  • Some configurations experience performance issues and in turn cannot establish localhost connections with a network buffer of 128 samples and a jitter buffer of one packet. Open Windows Task Manager, select the "details" tab, right click on the soundjack.exe process and switch from "normal" to "realtime" scheduling, which often drastically increases performance.

  • ASIO4ALL is an alternative to a native ASIO driver, however proper functionality is not assured and we only provide limited support.  Here are some tips if your account doesn’t turn green and you are using ASIO4ALL drivers.

    - Locate the configuration panel. Once you have an ASIO4ALL-configured session running, click on the "play" symbol in the dock (containing icons of running applications) to access the settings dialogue. 
    - Adjust input and output settings.

    Also note that ASIO4ALL does not allow more than one audio client at the same time - this includes system sounds, DAWs, etc. - and thus the best choice is likely to be a native ASIO driver.


Linux

  • Use the script in the main folder to run the SJC – e.g. ./SJC200616.sh

  • The current download may not contain all the required libs. Use "sudo apt-get instal <name-of-the-lib>" to install the ones your system tells you are missing. If “apt-get” is not available, try the “yum” command instead.

Video
 

  • Video is still in beta status: It works fine for OSX. It may or may not on Linux and Windows depending on your hardware and OS. Please try it and share what happens on your machine with This email address is being protected from spambots. You need JavaScript enabled to view it. (please include info about your OS).  

  • Even if video works it could lead to crashes. In this case please switch the video off and try to determine if the video is the actual crash cause.

  • Additional tips: don't use the Interleaved option at all and use the JPEG codec to conserve bandwidth.


Audio configuration

  • The channel selector below the loopback fader is in beta mode and has not been extensively tested yet – we encourage you to use either the 1, 2, 4 ,8 or 16 channel bundles at this time.  Note that input and output channel counts are presumed to be the same at this time. 

  • Integrated audio devices work very well on OSX and reasonably well on Linux.  But they often cause performance issues on Windows.  We recommend an external USB-Soundcard (e.g. Focusrite Scarlett Solo or Behringer U-Phoria) for Windows users.

  • Almost any new audio gear such as guitar processors etc. can be used as a sound card. However, most of them lead to performance issues. Please send email to This email address is being protected from spambots. You need JavaScript enabled to view it. regarding your experience so we can create a list of working devices.

  • You can reliably run SJC with multiple audio applications at the same time on OSX without an audio server (see below). This is less likely with Windows (especially with ASIO4ALL) and thus you may be limited to processing the sound of only one application at a time without an error message. 

  • Other apps might provide VST plugins in order to connect these apps - Soundjack currently doesn't.


Audio server

  • You have to use an audio server and use it as the input and output device driver if you want to run more than one audio application on your machine and want to route signals between them.

  • Possible audio servers are JACK (http://www.jackaudio.org), Blackhole (https://github.com/ExistentialAudio/BlackHole), and Loopback (https://rogueamoeba.com/loopback/).  Our current preference is JACK.

  • Configuration:

    The general idea is to use the audio server between applications and route between them within the audio server.  For example:

    - Select the audio-server as the input and output device in Soundjack
    - Do the same in your DAW.
    - Route between Soundjack and the DAW within the audio-server connection panel

    Make sure that everything is adjusted to 48 kHz sample rate when using an audio server.  Also make sure that audio channels and audio buffer (frame-size) configurations match for every connected audio application. Otherwise you will have strange effects.

Connectivity

  • Soundjack is primarily a point-to-point (p2p) streaming system and thus network load and latency between each pair of users will vary depending on the audio settings they apply.  This also means that users with limited bandwidth may find it hard to participate as the number of performers grows.  Your sessions do not generate any network traffic on (and are not constrained by) our servers in this configuration.

    We also provide a software server (where each player connects to the server, rather than to each other) which is currently in beta and available under the name "Mix Server Nürnberg.”

    We also provide a high-performance hardware server (Mix Server Köthen) but it's currently restricted to certain users.

  • We strongly recommend that you use a wired connection to your network rather than WIFI. This will result in the most stable and low-latency audio streaming.  You will encounter a significant number of audio dropouts with WIFI, which can only be addressed with higher buffers and in turn higher latencies. Ideally turn off WIFI and explicitly choose the wired endpoint from the list of available network interfaces on your computer.

  • Soundjack’s default sample-buffer/network-buffer (512) and jitter-buffer (4) settings prohibit distant rhythmical interaction – they result in 40ms of latency within your computer.  You must reduce these buffer settings and determine whether your audio gear and network connection can handle them (deliver audio without crackling or distortion).  Finding these optimal settings will vary between performers. The goal is to use 128 or even 64 samples to the sample-buffer, 128 samples to the network-buffer and a jitter-buffer of 1.  This should yield about 3ms latency when testing on localhost. Note: it’s prudent to set the jitter-buffer to 2 during performances for stability. 

  • The final latency is determined by three parameters: Audio buffer and network buffer on the sending side (basically the size of the packet – in the SJC settings on the left) and the jitter buffer on the receiving side (the amount of packets stored before playback – green or red-flashing box within the user list on each entry).

  • The lower the network and jitter buffer, the higher the risk of the audio stream being disturbed by other Internet traffic (cross traffic). As a consequence make sure that other users of your LAN (any device such as notebooks, smartphones etc. behind your router) reduce Internet traffic to a minimum (ideally zero). This effect has a lower impact the more upload bandwidth is available.

Port forwarding

 

  • Soundjack requires that you forward UDP port 50050 to your computer (and ensure that TCP port 1234 is not blocked) if you are on a local network (LAN) that uses network address translation (NAT).  Almost all local networks do that these days.  Soundjack will not be able to connect with anybody outside your network if you skip this step.  Here are some options if you don't know how to do this:

    - Search on   port forward <the make/model of your router>   for instructions
    - Have a look at the Video4 tutorial on our Tech Tutorial page for an example (which will likely not correspond exactly to what you see on your router unless you happen to be using the same router that Alex was using when he made the video)
    - Ask a friend who is a online-game enthusiast to help you (gamers have to do this a lot)

  • Soundjack provides a very helpful tool to check the port-forwarding configuration of your router. The behavior of your router’s NAT (network address translation) is displayed as a three-digit number in brackets behind the UDP-Port2-Info at the "i"-symbol tooltip.

    port-tips

    The first number indicates whether the default port is being changed from 50050 to anything else

    "1" – NAT preserves the outbound port
    "3" - NAT changes the outbound port.

    The second number indicates port filtering

    "1" or "3" - the outbound port can be reached by an external sender
    "8" – Soundjack assumes that the sender's address has previously been used as the destination

    The third number (port mapping) relates to the first number

    "1" – port remains the same for additional connections
    "8" – port changes for each new connection

    Thus "111" can be considered a completely open NAT while "388" is the most restrictive type. However, if one peer of a bidirectional connection is "388" and the other is "111" it is possible to establish a link because the "111" will know the outbound port of the "388" NAT and will in turn use it as the destination (via port bending). Thus, connectivity always has to take both peers' behavior into consideration. 

  • If "TRYING" or "ONE-WAY" is displayed after the play (connect) button, the connection is failing and you need to review your UDP port forwarding (port 50050) settings. Please follow the instructions in the “NAT-Router Connection / Port Forwarding” video on the TECH TUTORIAL page.  

    We’ve occasionally encountered routers that don't forward packets although they claim to. Please report this – we are willing to verify.

    Also make sure to either switch off any software firewall or generate an exception rule for it.

  • If you have applied your forwarding correctly but still Soundjack fails detecting the open port 50050 it is very likely that your Internet endpoint connection does not provide IPv4. Soundjack will not work for you until we have implemented IPv6 endpoint support within Soundjack (it’s scheduled on TODO). 

  • It is possible to connect machines on a LAN, however Soundjack will only automatically pick the LAN IP if both peers share the same public IP.  If they don’t, enable the VPN call in the parameter settings on the left and Soundjack will use the private IP. 

  • We support dedicated rehearsing spaces / rooms for a specific group of people. Simply create your own room at the right of the lock symbol and pick a password for it. Soundjack will assign a number for this room and it will show up in the list of available private rooms (also in the dropdown list beside the lock symbol). Inform your friends about the number and the password so they can pick this room. After entering the room, players will only see others in the same room.

  • If you see message "SJ-Server down – nothing will work" make sure that you haven't blocked TCP port 1234 and that your browser supports websockets (try other browsers). If neither of these clear the error, the server is indeed down.

  • If you launched the app and it says "FAILED CREATING WEBSOCKET" you either have another instance of the application running (in which case, shut it down) or your OS does not support websockets. In this case you manually have to enable websocket support within your OS.


Support and communication rules

  • If you cannot get Soundjack to work, please contact the main author: This email address is being protected from spambots. You need JavaScript enabled to view it. 

    If he does not respond please don't take it personally.  Most likely the answer to your question can be found in the Tech Tutorial or this FAQ.  Also respect proper language in any case. Users with a disrespectful, reproachful, racist or aggressive attitude will be warned once and banned from the system if that warning is ignored. 

  • We in the Soundjack community share a rather informal style – we typically salute each other by our forename.

  • Long-term Soundjack User and Facebook Group Admin JamTuner often gives support via the Shoutbout, which is much appreciated – main developer Jazzalex does as well assuming time and leisure.  Please note that is impossible to answer every question. Please read the FAQ before asking.

  • If you report of a bug, a crash, or other forms of disfunction please provide as much information as possible (under which conditions, after which amount of time, after application of which parameters etc.). A single info such as "it crashes" is completely useless. Ideally provide a short screen cast of what is happening on your machine as this is the most effective way to figure to actual problem.

  • If we cannot find a solution to a verifiable bug we may ask to access your machine via Teamviewer (http://www.teamviewer.com) or Anydesk (http://www.anydesk.com). This is our last resort.  If you are not comfortable with that approach we will have to leave up to you to address the problem.

 

Chat (time zone: UTC)

rwoods37 - 23:18

Still cannot launch the .DMG file that i downloaded. How do i open the DMG file?

rwoods37 - 23:08

hi, i downloaded the .DMG file... how do i open or install it? double click does not work

JackWood - 18:22

sure. Are you a member of the Soundjack FB group? It is better to have longer conversations there, where you can post screen shots if necessary.

handbellguy - 17:12

@jackWood Do you have a moment to talk re a question?

JackWood - 16:40

eoverton, you are in the user list. with correct port assignment.. great. Now set your input and output to the soundcard/audio interface you are using, with the dropdowns

JackWood - 16:35

eoverton, go to https://www.facebook.com/groups/Soundjack

eoverton - 16:32

ok

eoverton - 16:32

do I need to use the new version?

eoverton - 16:32

but now it crashed.

JackWood - 16:32

If you need more help, let's move this conversation to the Soundjack Facebook page, become a member and start a conversation.

eoverton - 16:31

it finally worked. just did it over and over again from the downloads folder. finally connected

JackWood - 16:30

The soundjack.exe file will be inside the SJC200714 folder

JackWood - 16:30

So...move your fold to the main C drive, to start. Then find the soundjack.exe file and create a shortcut to it and place the shortcut on your desktop and execute the shortcut

eoverton - 16:28

zip file. but then I extracted all the contents

JackWood - 16:28

is the SJC200714 a zip file or a folder?

eoverton - 16:28

all files are there. there is no setup file or install file

eoverton - 16:27

yes.

eoverton - 16:27

how do I install from an "application" file?

JackWood - 16:27

Do you mean you have extracted the SJC200714 to your downloads directory?

eoverton - 16:26

have it in my downloads... but the only file is an "application" file... not a setup or install exe file.

JackWood - 16:26

Follow my previous instructions... for best results.

JackWood - 16:25

understood. You have to do the extraction yourself to a designated destination.

eoverton - 16:25

"Download SJC" is not a hyperlink. The only one that works is the Windows manual installer, and that is a zip folder and there is no setup.exe file or install.exe file in that folder.

eoverton - 16:24

there is no exe file in the download

JackWood - 16:18

The shortcut should be to the soundjack.exe file

JackWood - 16:18

eoverton-- you should extract the folder to someplace on you harddrive. I put it in a Soundjack folder under Programs Files (x86) and then create a short cut to it that I place on the desktop Bestbet

eoverton - 16:05

Also having issues installing program into Windows 10. Not actually able to go through installation process. Clicking on the application from zip file does not instigate installation.

UncleWalt - 14:35

Hi, Is there a solution for this? The same issue as several others. ==STAGE entered without a running SJC / Sounjack Box or there is a connection issue between STAGE and SJC - nothing will work.=

kaylekhan - 04:14

i set up the port forwarding for UDP 50050 for my device - not sure what else there might be to do?

kaylekhan - 04:13

i have SJC running, still it gives me the error: STAGE entered without a running SJC / Sounjack Box or there is a connection issue between STAGE and SJC - nothing will work.

kaylekhan - 04:11

hey all! apologies if this is found somewhere else - i looked but didn't see anything

JackWood - 01:42

That means that the next step is to set your user interface connections for input and output ->] and -]

JackWood - 01:41

CONNECTION TO BROWSER ESTABLISHED SUCCESSFULLYAPART FROM MAJOR ERRORS NO FURTHER INFO IN THIS WINDOW

JackWood - 01:41

Vera Paz, after you successfully connect your client to the web browser you should see, in your client windows something like this:

JackWood - 01:30

Vera Paz, so this is good. It means you have started your Soundjack Client and it is waiting to talk to the Stage page.... So enter the Stage page on this site and report what happens

Vera Paz - 01:09

Can someone help?

Vera Paz - 01:07

Waiting fpr Browser_Connection...

Vera Paz - 01:06

I just unzipped (I thnk the SJ file), but I have a black window saying:

izmirlig - 22:39

Also my sound device doesn't show up in the list. I am running an ASIO driver

izmirlig - 22:39

I upgraded to the 7/31 version and am now getting "STAGE entered without a running SJC / Soundjack Box or there is a connection issue between STAGE and SJC – nothing will work.

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.