个人工具

UbuntuHelp:UbuntuStudio/MulticardQuickfix

来自Ubuntu中文

跳转至: 导航, 搜索

Often, if you add more than one audio interfaces or MIDI device to your computer, you cannot start jack properly any more. Sometimes jack starts just fine, sometimes you get a 'could not connect' error. This HowTo might solve your problem.

  • Step 1: Find out the ID of your brand of card. You can do this by pressing Alt-F2, and then pasting the following into the text field:
zenity --text-info --filename=/proc/asound/cards --width=500 --height=300

On my machine, I get a popup that looks like the this:

 0 [U2MIDI         ]: USB-Audio - CME U2MIDI
                      CME CME U2MIDI at usb-0000:00:13.1-2, full speed
 1 [PCR            ]: USB-Audio - PCR
                      EDIROL PCR at usb-0000:00:13.0-1, full speed
 2 [SB             ]: HDA-Intel - HDA ATI SB
                      HDA ATI SB at 0xc0500000 irq 16
 3 [IO             ]: Echo_Indigo IO - Indigo IO
                      Indigo IO rev.0 (DSP56361) at 0x84000000 irq 20

I know I have an Echo Indigo IO card, so I make a note that IO is my sound card ID.

  • Step 2: Create a directory /home/your-username/bin and put this Jack wrapper script there. Right-click it to bring up the file properties, and make it executable.
  • Step 3: Go into your QJackCtl preferences. Replace jackd with /usr/your-username/bin/jackd and hw:0 with IO (replace IO with your card id).

From now on, jack should always start up properly. A. Why use this solution? - I am not aware of another one, especially a user space one. B. How does it work? - jackd is a shell script that simply replaces your cards text id with whatever the card number currently is, and then calls jack with whatever other settings you supplied C. What if I use jackstart? - you can rename the script from jackd to jackstart (or whatever you use to startup jack) and the script will call jackstart instead.

Other way: editing alsa configuration

Or you can edit the following file with your favorite editor. For Hardy LTS and Intrepid:

sudo gedit /etc/modprobe.d/alsa-base

For Jaunty and Karmic Beta:

sudo gedit /etc/modprobe.d/alsa-base.conf

and append this to the bottom of the file, making adjustments as required for your setup, see example below:

options snd_hda-intel index=0
options snd_indigoio index=1
options snd_hdsp index=2
options snd_foo index=3
#etc...

Where "foo" is the name of the alsa driver for the soundcard (pci or usb, audio or midi). Not Firewire! To find the name of your sound card driver, go there : http://alsa-project.org/main/index.php/Matrix:Main Then, in Qjackctl, you only have to set up once the id of your sound card in the list of interface, save configuration, and it's done.