个人工具

UbuntuHelp:UbuntuStudioPreparation

来自Ubuntu中文

Wikibot讨论 | 贡献2008年10月20日 (一) 00:56的版本

跳转至: 导航, 搜索

Setting up your system for an audio and video workstation currently requires several steps. This was updated with Ubuntu 8.04 (Hardy) in mind. For most users, this steps are to be done if you want to setup multimedia production with a standard Ubuntu installation (means without installing Ubuntu Studio) However, user with Firewire hardware, pci professional sound card, even on Ubuntu Studio 8.04, or simply having questions may find tips on this page. First of all, be sure to have multiverse, universe, main and restricted repository activated in Synaptic.

Install the "must have" packages

If you prefer to install the packages with Synaptic, you can.

The basics

If you are still unsure of which you would like to use, or where to start, a sane set of defaults can be installed by doing this:

 sudo apt-get install ardour hydrogen jackd jack-rack qjackctl seq24 vkeybd zynaddsubfx patchage vlc kino pitivi acidrip ubuntu-restricted-extras ubuntustudio-controls ubuntustudio-menu

ardour is a very good audio recorder and sequencer, seq24 is a midi sequencer, vkeybd is a virtual midi keyboard, zynaddsubfx a very good modular synth, hydrogen is a drum kit and sequencing application, jackd is the sound daemon and qjackctl is to setup it well with a GUI, patchage is a very usefull application to patch audio/midi applications and the I/O.

Specific pci and usb hardware

First of all, check on this page if your card is supported : http://alsa-project.org/main/index.php/Matrix:Main If your card is said to be supported, but you know is it a low latency sound card, do:

 sudo apt-get install alsa-firmware-loaders alsa-tools alsa-tools-gui

If your card is still not supported, you may find the alsa-firmware in the Medibuntu repository. In order to add it to Synaptic, please go at http://medibuntu.org. Then, do:

 sudo apt-get install alsa-firmware

And your card will work. For card like RME hdsp, you may need to run manually the command line "hdsploader" in a terminal if the system don't launch it by himself. Feel free of course to create a shortcut in your menu or Gnome panel.

Firewire (ieee1393 / raw1394) sound cards and cameras

If you can't get your Firewire sound card working with Freebob and Jack, please first of all have a look at http://freebob.sourceforge.net/index.php/List_of_Supported_Devices and check if your sound card is supported. If you can't access to your camera through firewire (ieee1394), you have the same problem. Simply do that:

 sudo adduser <username> disk

Think to change <username> below with the concerned user name. So you will have the access to raw1394 without being root. NB: it may cause a security problem if you are using ieee1394 for other than hard disk, camera or sound card connection, for exemple with network

Effect Plugins and Instruments

Install the LADSPA plugins so you get some effect plugins for your audio applications to use:

  sudo apt-get install blop caps cmt fil-plugins ladspa-sdk mcp-plugins omins swh-plugins tap-plugins vcf-plugins

Install the DSSI host and plugins:

 sudo apt-get install dssi-host-jack dssi-example-plugins dssi-plugin-fluidsynth dssi-plugin-hexter dssi-plugin-xsynth

Install the video codecs

 sudo apt-get install gstreamer0.10-plugins-good gstreamer0.10-plugins-bad gstreamer0.10-plugins-bad-multiverse gstreamer0.10-plugins-ugly gstreamer0.10-plugins-ugly-multiverse gstreamer0.10-plugins-tools ffmpeg

Real Time Kernel & Xruns

Xruns. What are they? Well, simply put, either they are buffer underruns or buffer overruns.

  • A buffer underrun happens during playback, when your sound card tries to read data from the buffer, but your software has not yet filled it.
  • A buffer overruns happens during recording, when your sound card tries to write data to buffer, but your software has not yet emptied it.

The only acceptable time to receive Xruns is during application startup. Currently, for whatever reason, JACK applications usually cause a few Xruns as it connects to the JACK server, but these will not hurt you in any way. The most critical time to not receive an Xrun is during recording, because it causes a permanent glitch in your audio, which may or may not be easily heard. So now you should understand basically why you want to avoid Xruns. They will cause issues with your recordings, or cause annoyance during playback. Thankfully, you can get these down to a minimum, if not eliminate them altogether. The better way to avoid X-Runs is to install a real time kernel, optimized for audio production with low latency. You can simply do:

 sudo apt-get install linux-rt

Then follow the advice below under 'Real-Time Support' and you should be set up to run jackd and other applications in real time low latency mode. You need to reboot after you've installed the low-latency package and made the changes below. Make sure you reboot into the right kernel - it will come up in the list on the boot screen, but may not be set as the default option. Take care, with some nVidia graphic card, the linux-rt kernell will not work with nvidia-glx-new driver on amd64 cpu.

Real-Time Support

After you've got the kernel you still need to set up real-time access for your applications. All you have to do for this is give your audio group permissions to access the rtprio, nice, and memlock limits. To do this, you just need to run these commands, which will add some lines to the file /etc/security/limits.conf:

 sudo su -c 'echo @audio - rtprio 99 >> /etc/security/limits.conf'
 sudo su -c 'echo @audio - nice -10 >> /etc/security/limits.conf'
 sudo su -c 'echo @audio - memlock 250000 >> /etc/security/limits.conf'

The memlock line determines how much of your memory can be locked by audio processes. Some recommend setting this as half of your total memory (in K). See Florian Paul Schmidt's page. And that is it! You're all set for real-time access!

ALSA Sequencer

If you can not have midi sequencing enabled, or if you have midi error message, the Alsa midi sequencer module of the kernel may not be loaded. Try that:

 sudo modprobe snd-seq

If it works, to have your system load it at bootup, you have to add it to the /etc/modules file, do:

 sudo su -c 'echo snd-seq >> /etc/modules'

USB MIDI Keyboard/USB Secondary Sound Card Fix

In Hardy, this should be already done. You can see below how to tweak if necessary.

Configuration of more than one sound card

When having more than one soundcard, it often appears that one card is one time the default device, other times it's an other one. This has led to a lack of output because the "System/Preferences/Sound" control panel seems to only consider card "0" to be the default, even if you change it. So, to make a long story short, you can ensure that one of your sound-devices is always "0" with this small modification: Edit the following file with your favorite editor, e.g:

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

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

options snd-usb-audio index=-2
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).

Getting it All Going

First, you will want to launch Qjack``Ctl by itself, and configure it for your soundcard. Follow the HowToJACKConfiguration page if you need help. Next, we recommend you have a read through the HowToQjackCtlConnections tutorial, which is used to quickly connect the various applications and it should give you a grasp of the concept behind JACK and how modular the Linux audio world is. Once you understand how JACK connections work, you might like to follow a tutorial on composing a basic song with Seq24. Check that out here: HowToSeq24Introduction.

Comments

  • It is just an update of the Gutsy page for Hardy, which is now better for multimedia production. Don't hesitate to come on #ubuntustudio if you have any question, or you want to help. You can write to the Ubuntu Studio devel mailing list too. ttoine