Software Applications
- JackTrip: A System for High-Quality Audio Network Performance over the Internet. JackTrip supports bidirectional, high quality, uncompressed audio steaming with any number of channels. JackTrip is a command line program that works with the Jack Audio Connection Kit.
- SoundJack: A Realtime Communication Solution from the Fast-Music Project
- JamKazam: Revolutionizing the way musicians connect, play, learn and earn. Across a city or across a nation. [free service]
- Jamulus: The Jamulus software enables musicians to perform real-time jam sessions over the internet. There is one server running the Jamulus server software which collects the audio data from each Jamulus client, mixes the audio data and sends the mix back to each client. Jamulus is Open Source software (GPL, GNU General Public License) and runs under Windows (ASIO), MacOS (Core Audio) and Linux (Jack). It is based on the Qt framework and uses the OPUS audio codec.
- Mumble: Mumble is primarily intended for gamers, and was the first to establish true low latency voice communication over a decade ago, but finds good use in many different environments as well. [Mumble uses the Opus Codec. It is OSS and the server, named Murmur, can be run anywhere]
- Voicemeeter: Voicemeeter is Audio Mixer Application endowed with Virtual Audio Device used as Virtual I/O to mix and manage any audio sources from or to any audio devices or applications.
- Asterisk: Asterisk is a free and open source framework for building communications applications and is sponsored by Digium. [While typically used for VoIP telephone systems, it could be potentially reused for this purpose]
Hardware
- MusicianLink: Makers of JamLink, a $200 plug-and-play box you can use to jam over the Internet with other musicians.
- Raspberry Pi Model 4: The most popular mini computer for $35 (sans case, power and microsd card)
- HiFiBerry DAC+ ADC: $50 HAT for Raspberry Pi that adds ultra-low latency audio in/out at sample rates up to 192kHz
- Audio Injector: Another HAT for Raspberry Pi (96kHz/32bit) selling for only $22 on Amazon.
- Behringer UCA222: Ultra-Low Latency 2 In/2 Out USB Audio Interface with Digital Output for $39 (UCA202 for $29)
- Behringer Ultravoice Xm8500 Dynamic Vocal Microphone, Cardioid: really nice microphone for only $23!
- Elinux – Incomplete list of sound cards available for Raspberry Pi
Technical Projects
- Elk Audio OS: “The World’s Fastest Audio Operating System” [open source OS for Raspberry Pi; claims to have amazingly low round-trip latency of only 1ms! The HiFiBerry / ELK Bundle combines an RPi 4 with a DAC+ ADC]
- Jack Audio Connection Kit: Have you ever wanted to take the audio output of one piece of software and send it to another? How about taking the output of that same program and send it to two others, then record the result in the first program? Or maybe you’re a programmer who writes real-time audio and music applications and who is looking for a cross-platform API that enables not only device sharing but also inter-application audio routing, and is incredibly easy to learn and use? If so, JACK may be what you’ve been looking for.
- Port Audio: PortAudio is a free, cross-platform, open-source, audio I/O library. It lets you write simple audio programs in ‘C’ or C++ that will compile and run on many platforms including Windows, Macintosh OS X, and Unix (OSS/ALSA). It is intended to promote the exchange of audio software between developers on different platforms. Many applications use PortAudio for Audio I/O.
- vban project: ban project is an open-source implementation of VBAN protocol. VBAN is a simple audio over UDP protocol proposed by VB-Audio, see VBAN Audio webpage It is composed of several command-line tools allowing to stream audio coming from audio backend interfaces to VBAN stream (vban_emitter) or playout incoming VBAN stream to audio backend interfaces (vban_receptor), or send text over the vban protocol (vban_sendtext). Up to now, for audio tools, Alsa, PulseAudio and Jack audio backends have been implemented. A fifo (pipe) output is also existing, to allow chaining command-line tools, and a file output too (writing raw pcm data).
- Opus Codec: Opus is a totally open, royalty-free, highly versatile audio codec. Opus is unmatched for interactive speech and music transmission over the Internet, but is also intended for storage and streaming applications.
- Patchbox OS: OS for Raspberry Pi – claims to be developed for low latency audio. Associated sound card Pisound claims 2ms loopback latency.
Technical Publications
- Configuring, starting and running a multi-client Jacktrip server with per-channel mixing [blog]
- Results of the Fast-Music Project—Five Contributions to the Domain of Distributed Music [paper]: In this paper we will present the final results of this project, which took place from 2016 to 2019. The target of fast-music was divided into five main goals: With respect to audio, we aimed for the development of a versatile streaming solution, the creation of a synchronizable standalone hardware and the installation of a server-based streaming solution. In terms of video, a latency-optimized capture/display component and an alternative IR-tracking based technology with 3D support was developed.
- Musical Telepresence – A ComprehensiveAnalysis Towards New Cognitive andTechnical Approaches [paper]: “As a computer scientist and a musician I have been exploring the intersection between the domains of IT and music for the last 15 years. This dissertation represents a personal milestone, which integrates my artistic experience in music with the scientific rigour and methodology from the disciplines of computer science and sound engineering. I am proud of having “married” both fields within this book.”
- The JamBerry [paper]: A Stand-Alone Device for Networked Music Performance Based on the Raspberry Pi
- JackTrip on Raspberry Pi [paper]: The jacktrip application for wide area network music performance has been ported to Raspberry Pi. The present setup runs Fedora 29 with the xfce desktop on a Model 3 B+ in conjunction with standard, low-cost stereo USB soundcards. We describe all the steps from initial OS installation through building and running jacktrip.
- VBAN Protocol Specification: VBAN Protocol has been designed for real-time transport of digital audio stream in IP-based network environments. This has been introduced by VB-Audio Software (Vincent Burel) in June 2015 as a new feature of the Application called Voicemeeter: The Virtual Audio Mixer for Windows (www.voicemeeter.com). It provides easy ways to send / receive audio to / from any computers on a local network.
- Audio Latency Explained – good discussion of latency at the hardware/driver level with explanation of the technology behind a premium personus interface
Other
- Online Jamming and Concert Technology: Free online course from Stanford using JackTrip and Audacity