CCRMA Documentation links: index contents overview rooms account staff about
(contents of this file: links to each section)
JackStreamer is the name for a Raspberry Pi computer running special software that makes it an appliance dedicated to being a JackTrip client.
A JackStreamer “kit” also contains a mic, cabling, and a digital audio interface; older kits use PreSonus AudioBox USB 96 and newer kits use Zoom U-22.
This document contains links to video tutorials, a recommended daily routine, a FAQ, troubleshooting tips, additional documentation, and some screenshots of the user interface.
Adriana Ramirez Mirabal and Matt Wright made some video tutorials about JackStreamer:
These videos show the PreSonus audio interface but are largely also applicable to the Zoom.
The Equipment video tutorial and manufacturer’s hardware setup instructions (for PreSonus or Zoom based kits) show the contents of the JackStreamer kit:
You supply:
For any hardware issue with JackStreamer please contact NetworkSound via email support@networksound.com or phone 978 384 0780.
JackStreamer is meant to be controlled via a web browser from a phone
or computer that connects to the Pi computer over wifi. By default every
JackStreamer is a Wi-Fi access
point with JackStreamer
as the wireless
network name (The JackStreamers
in Braun instead have customized network names such as
JackStreamer-106
; if other people are using JackStreamers
in your vicinity then you might need to change your JackStreamer’s
wifi name).
After getting your phone or computer on your JackStreamer’s wifi, then open http://192.168.4.1/index.php in a web browser and you should see the JackStreamer GUI, something like this (depending on your specific web browser and the JackStreamer GUI version):
The next subsections explain the main controls that the interface provides.
This downloads the latest software for the JackStreamer and the most current server list; recommended to do this weekly or more.
Sets the number of audio packets in JackStreamer’s receive queue. Higher numbers can reduce audio dropouts at the expense of increased latency; see FAQ.
This pull-down menu shows the list of jacktrip servers accessible from your JackStreamer. Each server is a separate computer on the Internet; you can think of them as being like “rooms” where you meet with other people to play music together.
(Each server has a fixed sample rate and buffer size so as a JackStreamer user you don’t have to think about these settings.)
This button makes your JackStreamer attempt to connect to the chosen
server. (This includes starting JACK and
then running jacktrip
as a client of the chosen
server.)
If the connection is successful it will keep running until you “stop session”, “shutdown” your JackStreamer, or the server quits or disconnects you.
These change the way your JackStreamer lets you hear the two audio channels that are coming to you from the network:
These do not affect what you send from JackStreamer. If you have two mics plugged in they will always be sent separately. If your one mic is plugged into input 2 then everybody will receive your signal only in channel 2 even if you press the Mono button.
This button stops whatever jacktrip session your JackStreamer might
be running (both disconnecting from the jacktrip
server and
also stopping JACK). After
pressing this button you can start another session.
Prints some basic usage information.
Turns off the JackStreamer’s WiFi. After pressing this button the GUI will stop working because your phone or computer will no longer be connected to the Pi over WiFi, so all you can do is continue the current session (which you configured and started while WiFi was still on) until you cut power to the Pi.
Verifies that your JackStreamer’s ethernet connection really does go to the Internet. Also it displays your JackStreamer’s MAC Address.
It will either print You are connected!!
(meaning your
connection is good) or
Not connected. Check ethernet cable and restart
(meaning
you need to troubleshoot
your Internet connection
(This check simply uses standard ping, not the specific UDP and TCP ports 4464 needed by jacktrip, so it might report success even if, for example, your home router’s firewall settings are blocking ports that jacktrip needs. We are working on a better solution to this.)
60 seconds after pressing this button the Raspberry Pi shuts down (but the lights stay on so it’s impossible to see that anything changed).
There is no power switch so you need to do something like unplugging the USB-C power adapter from the Pi. One thing to keep in mind is that the Pi is powering the audio interface, so if the Pi suddenly loses power then the audio interface will also suddenly lose power, resulting in an unpleasant loud popping sound that’s not good for your speakers or ears. So it’s recommended to power off your speakers and take off or unplug your headphones before powering off your Pi.
Access and scheduling: Contact Bryan Hardester if you would like to use a JackStreamer in one of the practice rooms of Braun Music Center. As of October 2020 all practice room use is restricted to keyboard and certain percussion instruments.
Rooms 105 and 106 are for piano; 211 is for drum set.
Audio in each room includes the usual microphone plus a pair of large loudspeakers. Make sure the speakers are powered on when you do your local audio check. Or if you prefer to use your own headphones you can plug them into the Presonus (possibly requiring a adapter).
Wifi network name is specific to each room, for
example JackStreamer-105
or JackStreamer-211
.
Make sure to choose the proper wifi network as part of your recommended daily routine and any
other JackRouter configuration.
Hygiene is essential for all shared spaces on campus; any alcohol-based cleaner for piano keyboards is also suitable for all contents of the JackStreamer kit (but definitely not suitable for any other part of the piano!) so don’t be shy about wiping down high-touch surfaces such as the knobs and switches you may need to operate.
Server to use is something that needs to be agreed on beforehand. Some servers can be reserved in advance.
The general procedure is the same, but the details differ according to which audio interface your kit contains.
plug everything in and power up, mic into MIC/HI_Z
XLR input on the front.
check audio: check your mic, headphones and/or loudspeaker
DIRECT MONITOR
switch (on the right) to
ON
GAIN
knob up to just below clipping
(which will cause the CLIP
LED to light up red) when you
make a loud soundOUTPUT
knob (the largest wheel on the front) to
comfortable levelIf you don’t hear the sound from your mic then you must diagnose and correct the problem(s) before proceeding.
plug everything in and power up, mic into Mic/Inst 1
check audio: check your mic, headphones and/or loudspeaker
If you don’t hear the sound from your mic then you must diagnose and correct the problem(s) before proceeding.
You will test by passing the sound from your mic through the “loop” (not “room”) servers.
jackloop64
.If you are also using Zoom (or Skype, FaceTime, or any other video chat software), you probably don’t want to use Zoom audio while also using jacktrip audio. Once jacktrip is working it’s usually best for everybody to mute themselves on Zoom.
There are two easy steps:
Register the device (depending on whether you live in a regular residence or a GSB residence).
Plug it into a working Ethernet port. Every residence is supposed to have at least one working Ethernet port, “however in some rooms there may be two connected, or none, depending on prior history of events.” You can tell whether a given Ethernet port is “hot” by plugging your JackStreamer into it and seeing whether the green light in the corner of the JackStreamer’s Ethernet port turns on (and possibly flashes). If your room has multiple Ethernet ports then keep trying until you find a good one.
If your room doesn’t contain any working Ethernet ports, or if you believe you successfully completed both these steps (including waiting 24 hours after registration) but your JackStreamer still can’t connect to the Internet, then ask for help from the Peer Technology Specialist team via phone, email, or making an appointment.
These instructions are for students and faculty living on the Stanford campus but not in the GSB residences.
Schwab, Jack McDonald Hall, and Highland Hall all provide Internet connectivity via the GSB-specific IT support services. You can register a device with their Device Network Registration form and it should become active within 24 hours. For support you can contact GSB IT for help.
Stanford’s encryption requirements generally currently do not apply to Linux computers (including JackStreamer).
For now it appears that you don’t have to worry about this.
(If you did have to address this it would probably be via https://mydevices.stanford.edu)
Contact Bryan Hardester if you would like to install a JackStreamer in a particular room of Braun Music Center, for example, a faculty office or a lesson space. He will need to know your JackStreamer’s MAC address.
If the Check Internet button tells you
something like
Not connected. Check ethernet cable and restart
then the
JackStreamer is unable to reach the Internet via Ethernet. Here are some
possible causes:
One great debugging tool is to plug that same ethernet cable into a computer instead of the JackStreamer, then see whether the computer gets Internet via the cable (e.g., by turning off wifi and attempting to surf the web), and if not whether the computer can offer any diagnostics.
Frequently asked questions:
jackloop
server you’re connected to. It’s there for reference. The clapping is on
channel 1 (left).
jackloop
.
Try following the recommended daily routine.
If “it doesn’t work”, here are some questions to ask:
Do you see lights turn on when you supply power to the Raspberry Pi? (If not then either that outlet, that power supply, or that Pi is dead.)
Are you directly going via cable all the way to your ISP? (not via any WiFi or mesh networking)
Are you using the provided audio interface (PreSonus AudioBox USB 96)? (If not then JackStreamer won’t work.)
If you’re using headphones, are they plugged into the PreSonus AudioBox USB 96 in the back (and not into the Raspberry Pi)?
Is the audio interface plugged into a blue USB port on the Pi?
After plugging the audio interface, does anything light up on the interface? (If not then the USB cable and/or audio interface is dead..)
One minute after powering up the Raspberry Pi do you see a
JackStreamer
wifi network? (If not then the Pi is
malfunctioning.)
Once on JackStreamer
wifi, when you open http://192.168.4.1/index.php do you see the graphical user interface?
When you Check Internet through the GUI, is it OK? It should say “You are connected!!” (If not, check cabling, and if possible check the ethernet cable with a laptop in place of the Raspberry Pi.)
What do you see on the GUI after you click “Start Session”? Does it make it to the red “Live” or print an error message or what?
If you start a session on jackloop1024
server, and
you see the red “Live”, do you hear clapping? (If not, there’s probably
a problem with your sound system or with the output gain on your audio
interface being too low.) Do you hear yourself echoing back from the
server? (If not, there’s probably a problem with your mic, mic cable, or
input gain.)
If jackloop1024
does not work, please try
jackloop256
(some ISP’s don’t like the big
packets)
Is another computer or device on your home Internet using lots of bandwidth? You might want to turn off (or at least turn off wifi) any other devices in your home.
If all the above works for you, but you can’t connect to another person over jacktrip, have that person answer all these questions.
If the answers to these questions still don’t tell you how to solve your problem, then please include the (relevant) answers as part of any request for help. Please copy+paste or take screenshots from the web browser GUI (especially error messages and unexpected behavior).
There are a few possible reasons JackStreamer might fail to
Start Session
with the error message
Jackd not started! Please check if the audio device is connected to the Jackstreamer and powered on!
(like in this screenshot):
JackStreamer manufacturer’s product page and hardware setup instructions for PreSonus or Zoom kits.
Once you get your phone or laptop on the “JackStreamer” wifi network that the Raspberry Pi hosts, point your browser to http://192.168.4.1/index.php. (Pro-tip: first load this documentation page while you’re on the Internet, then after you switch to the JackStreamer wifi network you can just click the link instead of having to type the 28 characters of this URL.)
GUI update: http://networksound.com/images/GUIupdate.zip
You can always go to http://192.168.4.1/index_factory.php to get back to the default GUI that was shipped with your JackStreamer; you might want to do this, for example, if your update is interrupted or if there’s a bug or if you don’t like the new behavior. From this “factory” GUI you could then update to the current.
Every device in the world that has an ethernet jack has a unique MAC address, including JackStreamer Raspberry Pi computers. It always looks like six pairs of hexadecimal numbers (meaning each digit is 0-9 or A-F).
It should be printed on a sticker attached to the bottom of your JackStreamer, something like this:
Connect Jackstreamer WiFi
http://192.168.4.1/index.php
Mac: dc:a6:32:5d:80:96
support@networksound.com
Also if you Check Internet from the GUI then it will display the MAC address, e.g.,
Your MAC address is: dc:a6:32:5d:80:96
You are connected!!
JackStreamer has a graphical user interface for configuring JACK and jacktrip. Once you get a phone or laptop on the JackStreamer wifi network and open the URL http://192.168.4.1/index.php in a web browser, you should see something resembling the following screenshots. (The details of exactly what you’ll see depend both on the JackStreamer GUI version and on your specific web browser.)
Here are some tips on troubleshooting this situation where jackd doesn’t start
This page of CCRMA documentation last committed on Mon Oct 16 18:26:42 2023 -0700 by Matthew James Wright. Stanford has a page for Digital Accessibility.