Note: this page is for people wanting to run JackTrip software on their home computers. If you have a Virtual Studio device (VSD), visit the jacktrip.org help pages. For advice on obtaining a VSD, see here.
Getting set up with JackTrip on your computer
Prerequisites
Installing Software
JackTrip is a software kit developed at Stanford's CCRMA. There's a user-friendly interface to it called JamTrip developed by a helpful San Francisco musician. The following instructions are adapted from CCRMA and the JamTrip home page.
Windows
Testing
Plug in your microphone (if using an external one) and headphones. Confirm that your OS is using them by opening your sound settings and checking which devices are being used. You can find your sound settings...
Try connecting to the Stanford loopback server. Launch JamTrip (there should be an icon on your desktop for it), paste jackloop256.stanford.edu_48000_256_h_b16_q4_r1 into the "Connection code" box, and click Connect. If successful, it will say "connected" at the bottom of the window. You should hear some rhythmic clapping. Click on the button "Direct input monitoring" so that the mic icon turns red. When you speak into your microphone you should hear your voice in your headphones very slightly delayed. (In an actual rehearsal, you can choose whether to have this button turned on or off. It controls whether you hear your own voice directly, i.e., before it goes out to the JackTrip server.)
If you're on Windows, you should also see a green icon with a triangle on it in your system tray (the set of small icons in the lower right corner of the screen). Clicking on it will open a window that shows what devices ASIO4ALL thinks it is controlling.
If you're on Linux, and you didn't install the experimental Linux version of JamTrip, you'll have to use the command line. Follow the CCRMA instructions to start Jack. Then in a shell window, type
jacktrip -C jackloop256.stanford.edu
If you want to do more thorough testing ahead of your first rehearsal, see the "Further Testing" section below.
How it works for rehearsal
Overview: We'll get together initially on Zoom. A JackTrip server will be started. Everyone connects to the server. Once we're all connected, we'll mute Zoom audio and rely exclusively on the JackTrip connection to hear each other.
Details: We'll be using a server at the JackTrip Foundation server farm. What you need to do is:
How do you know what IP address to fill in above? Someone will post the address in the Zoom chat, and you simply type it into the field in JamTrip. If you're running Zoom on the same machine as JamTrip (which Mac users apparently can do), then you can even copy and paste it from the Zoom chat.
What if you arrive to the meeting late and don't want to bother someone for the address? There's a way to get the IP address from the JackTrip servers page. Open up that page in a browser (preferably on the same machine you're using for JackTrip, so you can copy and paste the address when you find it). It will ask you to login. The easiest thing to do is login with your Google, Facebook, or Microsoft account by clicking on the corresponding "Continue with ..." button at the bottom of the login window. If you don't have such an account, or if you are sensitive about the JackTrip organization having even the minimal amount of information that is transmitted that way, you can create a new account to use just for logging in to this page.
Once you're logged in, scroll down to find the server that we're using. Originally we used a server called "BCG Test"; more recently we've been using "BCG Test Bigger". You should be able to find it pretty quickly if you switch the "Show Inactive" slider to off. On the server item, you will see the Host: IP address you need—a string of digits and periods. Simply copy the address from there and paste it into your JamTrip window's IP address field. NB: JamTrip, at least on Windows, doesn't have a menu anywhere with "Paste" on it, but you can still use the standard Ctrl+V keyboard shortcut after clicking into the IP address field.
- A computer (laptop or desktop) running Windows, Mac OS X, or Linux. We have had success so far with Windows (both 7 and 10), and Mac, but if Linux is your thing, it's likely to work, too.
- A high-speed Internet connection within 250 miles of San Francisco. Most modern broadband connections are up to the task. Opinions differ on how much bandwidth you need, but the folks at JackTrip say that for the single monaural stream we'll be using you need at least 1 Mbps both download and upload. That means asymmetric technologies like ADSL, which are optimized for download speed, will likely not work. On top of that, you need even more bandwidth for Zoom—2 Mbps both up and down, according to their support pages. There are many tools on the net for measuring your bandwidth, such as this one from Bandwidth Place, but this JT-specific one from another JackTrip provider might be a good place to start. In addition to adequate bandwith, you need a ping time under 30ms to have tolerable latency.
- A direct Ethernet connection between your computer and your home router (WiFi introduces too much latency). If you're not connected this way yet, a CAT-6 Ethernet cable is easy to find at nearby electronics stores. Be sure to measure carefully the path from your router (around corners, hugging walls, etc.) so that you buy a long enough cable. If your computer lacks an Ethernet port, as many modern laptops do, you can buy a USB-to-Ethernet adapter.
- Headphones, simple ones without a built-in microphone (people have reported issues with the built-in mic kind). Earbuds are fine, too—whatever you think you'll be comfortable with. You just don't want your microphone to hear the audio output and thus generate feedback. If you don’t have suitable headphones, they’re easy to get at nearby electronics stores. For example, these $12 Sony headphones look to be available for same-day pickup at most area Best Buys.
- Microphone input of some kind to the computer. If you don't have one, this USB microphone is widely available. For our initial experimentation, even the microphone built into a laptop may suffice.
However, there's some concern that not all computer microphones are up to handling singing frequencies, so please test yours--try recording yourself vocalizing with it and see if it sounds okay, no crackles at the top of your register, etc. If you don't already have a recording app, try Audacity, which is free and available for all platforms. On Windows 10, there's a built-in voice recording app.
If you plan to use a “real” microphone, be sure you have some kind of stand so you don't have to hold it while rehearsing. And you'll also likely need an adapter cable from a professional microphone's XLR connector to the "miniplug" that computers usually take as input. The JackTrip foundation has a "recommended bundle" of microphone and connectors you might want to look at. - Ideally, a second device on which you can run Zoom (Windows users only). This could be as simple as your smartphone; for this, a WiFi-connected device is sufficient. The reason we recommend this is that on Windows it is not possible to run JackTrip and Zoom audio simultaneously (video is unaffected). Mac doesn't seem to have this problem; we don't know about Linux. If you don't have a convenient second device, you can probably run Zoom anyway on the same computer; just don't be alarmed when Zoom tells you the audio isn't working.
Installing Software
JackTrip is a software kit developed at Stanford's CCRMA. There's a user-friendly interface to it called JamTrip developed by a helpful San Francisco musician. The following instructions are adapted from CCRMA and the JamTrip home page.
Windows
- Download and install the ASIO4ALL driver from www.asio4all.org. Ignore the annoying ads on the page (unless you have a good ad blocker) and scroll down until you find the "ASIO4ALL 2.14 – English" download, or you can use this direct link to the installer. It's a tiny file, with a driver that will only be active when Jack is running.
- Download and install the Jack Audio Connection Kit (JACK). The latest version on github is not compatible with JamTrip. You should use this direct link to the installer.
- Download and install the latest release of JamTrip. You want the .exe file in the "Assets" section. The installers are for x64 architecture, which is what most modern hardware has now. If you have an ancient 32-bit machine, there's still a win32 version of the 0.1.2 installer, which is no longer the most current version, but I have no idea if it actually works.
- Follow the OS X instructions at https://github.com/vicwomg/jamtrip.
- Follow the instructions at CCRMA to install both JACK and JackTrip.
- In the JACK setup, configure for 48000 sample rate and 256 frames/period.
- JamTrip does not run on Linux, so you don't get a nice GUI. But if you're running Linux, we're guessing you're okay with command-line operations, which we'll show in the next section. Note: the latest release of JamTrip purports to have support for Linux, but it's not tested. If you're feeling adventurous, you could probably download just JACK and the Linux version of JamTrip (the -linux.tar.gz file) and do whatever Linuxy thing seems right.
Testing
Plug in your microphone (if using an external one) and headphones. Confirm that your OS is using them by opening your sound settings and checking which devices are being used. You can find your sound settings...
- On Mac: System Preferences > Sound,
- On Windows 10: Settings > Sound Settings,
- On Windows 7: Control Panel > Hardware and Sound > Sound.
Try connecting to the Stanford loopback server. Launch JamTrip (there should be an icon on your desktop for it), paste jackloop256.stanford.edu_48000_256_h_b16_q4_r1 into the "Connection code" box, and click Connect. If successful, it will say "connected" at the bottom of the window. You should hear some rhythmic clapping. Click on the button "Direct input monitoring" so that the mic icon turns red. When you speak into your microphone you should hear your voice in your headphones very slightly delayed. (In an actual rehearsal, you can choose whether to have this button turned on or off. It controls whether you hear your own voice directly, i.e., before it goes out to the JackTrip server.)
If you're on Windows, you should also see a green icon with a triangle on it in your system tray (the set of small icons in the lower right corner of the screen). Clicking on it will open a window that shows what devices ASIO4ALL thinks it is controlling.
If you're on Linux, and you didn't install the experimental Linux version of JamTrip, you'll have to use the command line. Follow the CCRMA instructions to start Jack. Then in a shell window, type
jacktrip -C jackloop256.stanford.edu
If you want to do more thorough testing ahead of your first rehearsal, see the "Further Testing" section below.
How it works for rehearsal
Overview: We'll get together initially on Zoom. A JackTrip server will be started. Everyone connects to the server. Once we're all connected, we'll mute Zoom audio and rely exclusively on the JackTrip connection to hear each other.
Details: We'll be using a server at the JackTrip Foundation server farm. What you need to do is:
- Launch JamTrip.
- Check the "Manual configuration" box
- Enter the server's IP address into the Server hostname or IP address field (more about that below)
- Check "Hub connection"
- Under Audio Settings, set the sample rate to 48000hz, the buffer size to 256fpp, and the bit rate to 16. (If you had previously done the loopback test in the previous section, these 3 menus are probably already set this way.)
- Click "Connect". (If the Connect button is grayed out, it means you have not yet filled in the IP address or set one of the menus.)
How do you know what IP address to fill in above? Someone will post the address in the Zoom chat, and you simply type it into the field in JamTrip. If you're running Zoom on the same machine as JamTrip (which Mac users apparently can do), then you can even copy and paste it from the Zoom chat.
What if you arrive to the meeting late and don't want to bother someone for the address? There's a way to get the IP address from the JackTrip servers page. Open up that page in a browser (preferably on the same machine you're using for JackTrip, so you can copy and paste the address when you find it). It will ask you to login. The easiest thing to do is login with your Google, Facebook, or Microsoft account by clicking on the corresponding "Continue with ..." button at the bottom of the login window. If you don't have such an account, or if you are sensitive about the JackTrip organization having even the minimal amount of information that is transmitted that way, you can create a new account to use just for logging in to this page.
Once you're logged in, scroll down to find the server that we're using. Originally we used a server called "BCG Test"; more recently we've been using "BCG Test Bigger". You should be able to find it pretty quickly if you switch the "Show Inactive" slider to off. On the server item, you will see the Host: IP address you need—a string of digits and periods. Simply copy the address from there and paste it into your JamTrip window's IP address field. NB: JamTrip, at least on Windows, doesn't have a menu anywhere with "Paste" on it, but you can still use the standard Ctrl+V keyboard shortcut after clicking into the IP address field.
Further testing
Anyone can use JackTrip Foundation servers during the free trial period (currently that's thru the end of March, 2021), so if you'd like to do a little more testing than just talking to the loopback server mentioned above, you can run a simple test with your own personal JackTrip server. Visit the JackTrip servers page as described in the previous paragraphs, and click Create Server. Type in a name you like in the "Descriptive Name" field, and choose 256 in the "Samples" field (because that's what we've been using so far; we may try others). Leave the other settings at their default.
After you've created the server, you'll be back on the main page and can Start the server. It typically takes 30 seconds or more to start up. Once it's started, it will display an IP address, and you can try connecting to it with JamTrip, as described in the previous section. When you speak into your mic you should hear yourself in your headphones. Make sure you've disabled "Direct input monitoring" as described earlier, so that you're not just hearing yourself locally. If you do this with another friend connecting to the same server, you'll have extra confirmation that everything is working. You can even check your latency by doing a "clap test"—try clapping together in a steady rhythm, either with a metronome or to somebody counting "1, 2, 3, 4...". With any luck, you'll hear the clapping as being together.
Since you can also hear your voice "in the air" and by bone conduction, it might not be super obvious it it's working if you're testing by yourself. A test less prone to that confusion is to feed some music into your microphone input, say from your phone or other mp3 player. (Unplug your microphone, connect your mp3 player to your computer's record-in port, and play something. Caution: this is just to see if you're succeeding in connecting to the JackTrip server. Your mp3 player and your microphone probably have very different input levels.)
Further sanity checks: If you're testing alone, it's worth checking a couple more things to make sure you really succeeded, as I've discovered to my chagrin that JamTrip doesn't have super reliable code to detect when the underlying JackTrip process failed, and in that case, it can end up wiring JACK in a way that connects your mic directly to your headphones locally.
When you're all done, be a good citizen and delete the server you created.
Anyone can use JackTrip Foundation servers during the free trial period (currently that's thru the end of March, 2021), so if you'd like to do a little more testing than just talking to the loopback server mentioned above, you can run a simple test with your own personal JackTrip server. Visit the JackTrip servers page as described in the previous paragraphs, and click Create Server. Type in a name you like in the "Descriptive Name" field, and choose 256 in the "Samples" field (because that's what we've been using so far; we may try others). Leave the other settings at their default.
After you've created the server, you'll be back on the main page and can Start the server. It typically takes 30 seconds or more to start up. Once it's started, it will display an IP address, and you can try connecting to it with JamTrip, as described in the previous section. When you speak into your mic you should hear yourself in your headphones. Make sure you've disabled "Direct input monitoring" as described earlier, so that you're not just hearing yourself locally. If you do this with another friend connecting to the same server, you'll have extra confirmation that everything is working. You can even check your latency by doing a "clap test"—try clapping together in a steady rhythm, either with a metronome or to somebody counting "1, 2, 3, 4...". With any luck, you'll hear the clapping as being together.
Since you can also hear your voice "in the air" and by bone conduction, it might not be super obvious it it's working if you're testing by yourself. A test less prone to that confusion is to feed some music into your microphone input, say from your phone or other mp3 player. (Unplug your microphone, connect your mp3 player to your computer's record-in port, and play something. Caution: this is just to see if you're succeeding in connecting to the JackTrip server. Your mp3 player and your microphone probably have very different input levels.)
Further sanity checks: If you're testing alone, it's worth checking a couple more things to make sure you really succeeded, as I've discovered to my chagrin that JamTrip doesn't have super reliable code to detect when the underlying JackTrip process failed, and in that case, it can end up wiring JACK in a way that connects your mic directly to your headphones locally.
- Click the "Log" button and see if there are any interesting errors. Make sure there's nothing like "Stopping JackTrip" in the log. If you see that on Windows, one possible cause is an intermittent jacktrip bug described here.
- Run the "Jack Control" program (you should be able to find it by typing "Jack" into your Start menu on Windows, or look for qjackctl on OS X). Click the "Connect" button to bring up the Connections window, which shows which inputs and outputs are tied together. There should be diagonal lines in an X pattern between JackTrip and system, and no horizontal line from system to system (unless you turned on "Direct input monitoring").
When you're all done, be a good citizen and delete the server you created.