Personal tools

Configuring Jack for use in Rivendell

From Rivendell Wiki

Revision as of 00:58, 26 May 2020 by DKlann (Talk | contribs) (Add out-of-date note.)

Jump to: navigation, search

[NOTE: this page is woefully out of date. It's May 2020, and the current version of Rivendell is 3.4.0. Please don't use this guide for any recent versions of Rivendell.]

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