Personal tools

Configuring Jack for use in Rivendell

From Rivendell Wiki

Jump to: navigation, search

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.


THANKS!! Erik



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:

  1. Make jack inputs 1 and 2 appear as two mono inputs appearing on the
  2. left channel of rivendell ports 0 and 1 (set rivendell to record from
  3. left only) to make this work right). You could of course patch
  4. 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