Configuring Jack for use in Rivendell
From Rivendell Wiki
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