From Fedora Project Wiki

< User:Tertl3

Revision as of 04:20, 1 September 2010 by Tertl3 (talk | contribs)

Real Time Audio Production:Taking it a Step Further

Ok, so you have downloaded and installed the real time kernel from the Planet CCRMA at Home repositories, but you feel that something is still compromising your low latency objectives. Maybe you are running JACK(JACK Audio Connection Kit) and you are are experiencing a large amount of XRUNs(inconsistencies). Or, maybe you just want see how low of a latency is possible on your hardware. Well, keep in mind that your latency is affected by everything from the cache in your CPU to the device driver for your sound card. This test will scan your system and perform a number of checks. The checks are intended to help you achieve minimal latencies while lowering the possibility of experiencing an XRUN.


Checking Your Configuration

This first program was shown to me by raboof in the #opensourcemusicians channel on irc.freenode.net. As far as I know, he wrote this program without any help. This is the real time configuration quick scan. You can download it from this link.

Follow the instructions on the site or you can use my instructions. Notice that my instructions will run the command line version as opposed to the GUI version and that the GUI version is still experimental.

To install this program, you will need to install mercurial. So, from a terminal, do

 su -c 'yum install mercurial'


1. Download the program:

hg clone https://realtimeconfigquickscan.googlecode.com/hg/ realtimeconfigquickscan

2. Navigate to the ~/realtimeconfigquickscan directory

cd realtimeconfigquickscan/

for the last part I choose to run the command line version as I have had better results with it.

3.So, type

./realTimeConfigQuickScan.pl

and hit enter.

Now, if the scan reports that something is not optimized, it will not only tell you, but it will give you a link to this website, which has detailed information about the many checks that are performed with this program.

Granted, all of the tests in this scan may not apply to you and your hardware, but this is where the real fun begins. And we all know that real fun can only happen in real time.

The very last thing you will like see from the output of this scan is something like this

** Set $SOUND_CARD_IRQ to the IRQ of your soundcard to enable more checks.
   Find your sound card's IRQ by looking at '/proc/interrupts' and lspci.

According to raboof, the writer of this program, this last part of the scan has only proved beneficial in one case. For more information on IRQ priorities, I suggest checking out this website.

In any case, I encourage you to run the test and post any concerns, comments, or questions you may have to this website. You will need to set up an account to make a post on the forum. Raboof goes by the same name(raboof) on the forum.

The scan may be different by the time you read this tutorial. As I understand it, this is an ongoing project. To check for news and changes , I suggest following this link to the forum discussion.

Tools for Testing

As I became more interested in the real time concepts, I experimented with a few simple, yet interesting benchmark tests. However, the average benchmark test only tests the benchmark program itself, and our goal is to make and/or record music using our computer. These tests are interesting, and you can find more information about them here. But, to avoid digressing into another topic, your best benchmarking tool may be the JACK Audio Connection Kit using your preferred settings and applications.