Audio Software
Pipewire & Wireplumber - update Feb 2024
We are moving from Pulseaudio & Jack to a newer Audio system based on Pipewire and Wireplumber.
This config is still in-the works (Feb 2024) and should be ready soon.
In the meantime, here's a great blog on Linux Audio
Pulseaudio and Jack Audio (prior 2024)
Pulseaudio is the regular linux desktop audio system. Most desktop apps connect to pulseaudio. Spotify uses pulseaudio. It is well established, and well known.
The Pulseaudio Volume Control (called pavucontrol) is another desktop app/window. It has separate volume controls for each running app (see Playback tab), and Master volume controls for everything (see Output Devices). You'll find a volume control for most movies and web-browsers on pavucontrol. On solo2 we generally keep this window open in the top-right corner of screen-1.
Usually pulseaudio connects straight to the ALSA linux audio subsystem directly. However, the Data Arena has inserted the JACK Audio system in-between. See diagram below.
Jack provides a Professional level of Linux Audio typically found on a "DAW" (Digital Audio Workstation). Most linux systems select one or the other. The Data Arena however has integrated them - the stack operates as: PulseAudio -> Jack -> ALSA. This means just about everything works. Regular Desktop Audio speaks to PulseAudio, which passes audio through Jack. All the Jack tools work as well. ALSA is the underlying (relatively simple) Audio Layer which all Linux Systems run.
Audio File Format
Although the Data Arena has 16 speakers, the audio file format expects 22 channels. Think of it as allowing for future expansion. Channels 17–22 are expected to be blank, though it doesn't matter: they're ignored.
A simple .wav
file will work. It can be test played on Solo with the unix command:
$ aplay myTestAudio.wav
Here is a 22-Channel wav
audio test file (20MB) which you can download:
Here is the same file in ogg vorbis
format, which allows 22-channels, but is a much smaller sized file (0.1MB)
When you play this file in the Data Arena, each speaker reports in turn its speaker-number. Speaker number 1 says "one". Then speaker number two then says "two", and so on up to 14. Speakers 15 and 16, being bass LFE speakers, say "fifteen" and "sixteen", but these sound like a very low "boombooohm", "boomboohm".
See the picture below. If you load this test-file into a multi-channel audio recorder like Audacity you will see 22 tracks. The first track, Track 1, is channel 1, which is speaker 1, which is to the left of the door when you enter the Data Arena. Track 14 is channel 14, which is speaker 14, which is just to the right of the Data Arena door. Tracks 15 and 16 are the seperate LFE/Bass tracks. Tracks 17 to 22 are blank.
Loaded into Audacity the 22-track file looks like this
Notice (above) the first line (track one) only has one sound sample on it, right at the beginning. That is because that speaker reports "one!" at the start of the audio playback and then stays silent (flat line) while all the other speakers report their speaker number. Standing in the Data Arena, you hear "one two three four ...." from each speaker, going clockwise around the room. Notice the diagonal arrangement of samples...
If you wish to create spatial audio effects, this can be done in software (such as Audacity, or the equivalent) and rendered out to the 14 channel ring. So long as you deliver the audio tracks to the right channels it will work. For instance, ambient room effects can be created.
22 Channel Audio can be added to any movie file such as mpeg or avi and it will play back as expected. Solo will see the audio tracks inside the mpeg movie and send the audio to the RME Fireface. ffmpeg can be used to add video and audio together. sox is a useful linux tool to manipulate audio.
Reaper
REAPER is a complete digital audio production application for computers, offering a full multitrack audio and MIDI recording, editing, processing, mixing and mastering toolset.
REAPER supports a vast range of hardware, digital formats and plugins, and can be comprehensively extended, scripted and modified.
Reaper can be used to create spatial visualisation and processing of stereo, surround, or multichannel audio (up to 64 channels).
There's a lot more technical information about Reaper here.
The Linux version of Reaper 5.979 is installed. To run it open a linux shell (Konsole terminal window) and type:
$ reaper
Live playback - OpenAL
This is where things will get interesting. We have OpenAL installed on Solo, which means interactive audio, or software which creates interactive 3D Audio can drive the audio in realtime.
Interesting Fact: The Stereo Video Player software used in the Data Arena "bino" has been compiled with the OpenAL libraries to playback audio in the Data Arena.
Audio via Matlab
Matlab can be used to generate live audio in the Data Arena, through Matlab running on Solo. More on this soon.
Audio & Video Manipulation via ffmpeg commands
Here's some example ffmpeg commands to show how easy it is to manipulate video and audio. In each example, hopefully you can recognise the input filenames as inFile.mpg
and inFile.wav
and so on, and the output files with names like outFile.mp4
.
To COMBINE 2 files into one, say a video file and an audio file, you could do this:
$ ffmpeg -i inFile.mov -i inFile.wav -c:v copy -c:a copy outFile.mp4
Many many formats are known by ffmpeg, so don't worry if your inFile
is an avi
, or mpeg
, or mp4
etc. To Strip the Audio from a movie file, leaving just an audio file as output, you could do this:
$ ffmpeg -i infile.mp4 -vn -acodec copy outFile.aac
ffmpeg
can be installed on OSX via brew. Have a look here. There's a lot of examples of how to use ffmpeg
to manipulate video and audio. For example see here.
mediainfo
When working with video and audio files it is really useful to be able to see what is contained in a media file. There are many ways to do this. in the Data Arena we use a program called mediainfo
.
Here's an example which shows what's in the "Ogg Vorbis" format audio test file above.
$ mediainfo DA_TestAudio_16VoicedChannels_22tracks_S16_LE.ogg
General
Complete name : DA_TestAudio_16VoicedChannels_22tracks_S16_LE.ogg
Format : Ogg
File size : 115 KiB
Duration : 10 s 759 ms
Overall bit rate mode : Variable
Overall bit rate : 87.6 kb/s
Album : UTS Data Arena Audio Testfile
Track name : 16 Channels Named
Performer : Ben Simons
Recorded date : 2015
Comment : This file is 22 tracks, tracks 1-14 are speakers in a ring, 15-16 LFE, 17-22 are blank
Audio
ID : 1980622912 (0x760DE840)
Format : Vorbis
Format settings, Floor : 1
Duration : 10 s 759 ms
Bit rate mode : Variable
Bit rate : 2 112 kb/s
Channel(s) : 22 channels
Sampling rate : 44.1 kHz
Compression mode : Lossy
Stream size : 2.71 MiB
Writing library : libVorbis (Now 100% fewer shells) (20180316 (Now 100% fewer shells))