Configuring Jack for use in Rivendell
From Rivendell Wiki
NOTICE! This article is woefully out of date. In Mid 2020, the current version of Rivendell is 3.4.x. Please do not use this guide for any recent versions of Rivendell. Consider using the information in the Jack article instead.
From: Erik Anderson
Date: Tue, 19 May 2009 18:42:25 -0400
I am attempting to migrate my SUSE 10.2 Rivendell installation that is using a Delta 44 soundcard from ALSA to Jack. This is my first experience with Jack. I have a few questions:
1. After reading the archives, I understand that the preferred method to auto-start jack is to use bash to set an environment variable of JACK_START_SERVER = 1, although the RD Jack.txt documentation mentions doing it the deprecated way. I assume the RD docs are outdated on this one, right?
2. I am a bit confused about the Rivendell audio resources and Jack. On this M-Audio, I have 4 ins and 4 outs. If I wanted to have 2 ins be mono and 2 as stereo, would one setup Jack to have 4 separate inputs like...
Source1=alsa_pcm:capture_1 Destination1=rivendell_1:record_0L Source2=alsa_pcm:capture_2 Destination2=rivendell_1:record_0R Source3=alsa_pcm:capture_3 Destination3=rivendell_1:record_1L Source4=alsa_pcm:capture_4 Destination4=rivendell_1:record_1R
... and then setup the audio resource to be NORMAL, or would you somehow setup Jack to be 2 channels, and then use the LEFT or RIGHT in Rivendell Audio Ports to configure it? While on the subject, how does a Jack source relate to an audio port? Using ALSA, I just left everything as default (since it is not configurable) and found my ports by experimentation, but I think it is time for me to understand what is going on with the audio ports.
From: Dan Mills Date: Wed, 20 May 2009 00:05:05 +0100
A rivendell port is always basically a stereo object, while a jack port is a single channel, by default rivendell creates 8 stereo ports for jack input and output.
So something like:
- Make jack inputs 1 and 2 appear as two mono inputs appearing on the
- left channel of rivendell ports 0 and 1 (set rivendell to record from
- left only) to make this work right). You could of course patch
- capture_1 to both record_L and record_R
Source1=alsa_pcm:capture_1 Destination1=rivendell_1:record_0L Source2=alsa_pcm:capture_2 Destination2=rivendell_1:record_1L # Source 3 and 4 are the first stereo pair. Source3=alsa_pcm:capture_3 Destination3=rivendell_1:record_2L Source4=alsa_pcm:capture_4 Destination4=rivendell_1:record_2R
qjackctl is a good tool for investigating what is going on with jack, and the drag and drop patching is convenient.
From: Erik Anderson
So, if I am following this right, I could then setup the inputs and outputs like:
[JackSession] # This configuration will setup 2 stereo outputs on 1/2 and 3/4 # and 2 mono inputs on 1, 2 and stereo input on 3/4 #TREAT ALL OUTPUTS AS STEREO Source1=rivendell_1:playout_0L Destination1=alsa_pcm:playback_1 Source2=rivendell_1:playout_0R Destination2=alsa_pcm:playback_2 Source3=rivendell_1:playout_1L Destination3=alsa_pcm:playback_3 Source4=rivendell_1:playout_1R Destination4=alsa_pcm:playback_4 # SEND INPUT 1 TO RD PORT 0 LEFT AND RIGHT Source5=alsa_pcm:capture_1 Destination5=rivendell_1:record_0L Source6=alsa_pcm:capture_1 Destination6=rivendell_1:record_0R # SEND INPUT 2 TO RD PORT 1 LEFT AND RIGHT Source7=alsa_pcm:capture_2 Destination7=rivendell_1:record_1L Source8=alsa_pcm:capture_2 Destination8=rivendell_1:record_1R # SEND INPUT 3/4 TO RD PORT 2 STEREO Source9=alsa_pcm:capture_3 Destination9=rivendell_1:record_2L Source10=alsa_pcm:capture_4 Destination10=rivendell_1:record_2R
You may also be interested in using jack-init - Phlash