Hi. I'm looking for some advice on how to deal with latency introduced
by graphics activity.
My setup:
AMD Athlon XP 2000+
ASus A7V333 Raid+ Motherboard
1 GB Corsair CAS2 PC2700 RAM
Creative SBLive 5.1 sound card
Matrox Millenium G550 video card, AGP4x, 32MB RAM
1 WD800JB IDE disk (80 GB, 8 MB cache); 4 WD1200JB IDE disks (120 GB,
8 MB cache each)
Kernel 2.4.23 + preempt + lowlatency, XFree86 4.2.1
The plan for the four 120GB disks right now is to use pairs as RAID0
(striped) 240 GB disks, for speed; then to have one pair mirror the
other (RAID1), for safety. I thought about doing RAID5 with all four
but decided against. But I haven't set that up yet, and right now
everything is living on the 80GB disk.
The sound card shares IRQ 10 with the USB2 bus; but I have no USB
devices of any sort. On IRQ 9 are two of my four IDE channels.
As noted above, I patched my Debian 2.4.23 kernel with Robert Love's
preempt patch and Andrew Morton's low-latency patch. I then went
looking for test software to see what my latency numbers looked
like. I found http://www.gardena.net/benno/linux/audio/
and the low-latency test software there (from 2000). I don't
know if that's the best software to use, but that's what I found.
It doesn't have much documentation, so I didn't really know what
were the best number and size of audio fragments to use in the
tests; so I just used the same that was written in the docs (three
fragments, each 256 bytes). xscreensaver was disabled for the
test.
The test results were rather interesting. My latency numbers looked
really good for procfs stress, and disk read/write/copy stress. In
each case except for disk writes, the max latency only 1.6 ms, only
0.15 ms above the fragment latency of 1.45ms (which is found,
presumably, by taking 44.1kHz * 2 channels * 2 bytes and dividing
it into 256 bytes/fragment). For disk writes, the maximum latency
got as high as 2.2 ms because of spikes on just two fragments.
Anyway, that all seems fairly good to me, based on my very limited
understanding of all this.
But the X11 stress test was a different matter. There, my max latency
was 18.4ms, with over 1500 overruns. While 96.25% of the reps came in
within 1ms of the fragment latency, and 98% came in within 2ms, there
were still enough big excursions to cause audible drop-outs/popping
in the output. So it seems that while my latency numbers are generally
good, video stuff can cause significant problems. This matches my
experience, which is that I see significant xruns in JACK (50-70ms)
if I minimize or open a window, or move a window, etc.
This result surprises me. I'm using a video card that's supposedly
very very good at 2D stuff -- indeed, it's the video card that RME
recommended as recently as last year as their card of choice for
audio workstations. It's definitely open at AGP 4x (XF86 wants to
open it at 1x unless you explicitly say in the config file that you
want 4x). 32 MB isn't a huge amount of video RAM, but I would think
would be fine for 2D stuff.
So what gives? Does anyone have advice on something to try? Is
there something here I'm missing (likely, since I'm really really
new to this stuff)? Are there tweaks to X11 I don't know about?
Other than minimizing use of the GUI (which I'd be trying to do
while using audio apps anyway), how can I bring the sensitivity to
video stuff down? Other than kernel patching, watching relative
IRQ priorities, and killing unneeded apps, are there any other
tricks I might wanna consider?
Thanks for any advice.
-c
--
Chris Metzler cmetzler(a)speakeasy.snip-me.net
(remove "snip-me." to email)
"As a child I understood how to give; I have forgotten this grace since I
have become civilized." - Chief Luther Standing Bear
HAL continues to grow! :)
So I got my Dell Laptop sorted now. I have embellished the setup by
putting it on my CII Docking station which has 2 PCI slots. I had a SB
Live card and bought another. I have them now tied together via
.asoundrc file and running stable as 4 ins 4 outs w/Jack. Can't get
lower than 512 but thats ok.
Still using Ardour as my interface for plugins...
Here's the next question...
I'm thinking about the possibilities. Can I get midi control of plugins
via Ardour or Jack rack or other app so I can use a midi controller
footswitch to turn FX on or off from a footswitch? My thought is that
other than just reverb on vocals, I could set up vocoder and delay stuff
for harmonies, etc. The midi control needs only to be "on/off" and also
to be able to leave more than one effect on at a time.
R~
I thought I would report to the LAU on some testing of Specimen. First,
though I publicly thank Pete Bessman for his great work.
As some of you may recall, I'm working on 3-D audio, but also on 1- and
2-D instrument generation using physical modelling. (My background
is physics and EE, not music nor recording. My apologies!) Anyway,
I had created a series of 84 WAV files, each 24-bit, 96,000 samples/sec,
three seconds in length (!), mono. Each of these is nearly 1 MB in size.
In order to really test soundfonts, I need something that will play
MIDI files or something such as that, so I can determine what the
soundfont sounds like in a real piece, not just with my hacking on a
keyboard.
Using an BEEF XML file that I created, I was able to scoop up 64 notes
into Specimen, which appears to have converted the WAV files to stereo.
So it had loaded about 100 MB of samples, one for each note from C2 to
daylight, as some would say. I then played, with pmidi, a rather fast
MIDI file: LISZT.MID, a short piano piece by Franz Liszt. You may
have heard this in Western movies, played on a honky-tonk piano,
in a saloon scene. It's 175 BPM, so it's fast, esp. for three-second
WAV samples and with a lot of chords! It played this piece just fine
as far as I can hear. (1)
For comparison, I tried my toylike Magix MIDI Studio WAVE player sampler
synth. I was only able to load about 48 notes. The results were
catastrophic. I estimate that about 2/3 of the notes were dropped.
There were a lot of popping and crackling sounds as the piece was
being slaughtered. (This sampler is DircectX.) So it was no contest.
I don't own any pro-level Windows sampler synths, except for Gigasampler
lite --- but alas, this version doesn't work with XP; it's 16/44.1 K,
not 24/96, and I don't have a way of getting WAV's to Gigasampler
format. So again, it's no contest. As far as I'm concerned,
Gigasampler lite was a no-show.
I'd be happy to run other test of other software, but need some pointers
to demos, etc. It should also be relatively straightforward to use
such software, like Specimen is. Alternatively, I challenge others to
load up 64 three-second 24/96 samples in their favorite synth, play a
175 BPM file with lots of chords, and report back to the rest of us.
I'll email the file to those interested. I'm serious; I'd really like
to know what's out there. How much does it cost, and how easy is it to
use? If it's less than five dollars and very easy to use, I may be
interested.
Thanks again, Pete. Wonderful work. For me it's very useful, even without
all the advanced features.
---------------
(1) P4, 2.6 GHz, 800 MHz FSB (dual-channel 400 MHz DDR's). 2.6.1 kernel.
1 GB memory, ECC. The soundfont I created was not a piano soundfont, so
musically it sounds kind of silly. It sounds just fine technically.
hi
stupid question maybe, but how can i remove a module in ams?
thx in advance.
m
--
--------___________________________
hear me here: http://www.mprims.tk
You are right, I haven't!
Will try it out tonight and this weekend
m.
> -----Original Message-----
> From: linux-audio-user-bounces(a)music.columbia.edu [mailto:linux-audio-
> user-bounces(a)music.columbia.edu] On Behalf Of Michal Seta
> Sent: Tuesday, February 24, 2004 3:04 PM
> To: A list for linux audio users
> Subject: Re: [linux-audio-user] RE: Linux sampler projects
>
> "Matthew Allen" <matthew(a)lith.com> writes:
>
> > (subsequently I have built an FM7 clone in PD, and I am slowly
> > working on a Kontakt clone, but one of my favorite sound manglers
(the
> > multi breakpoint envelopes, are pretty impossible to do in pd from a
GUI
> > standpoint and tough to understand from a shear command driven list
of
> > numbers standpoint)
>
> You obviously haven't tried the ggee lib which includes [envgen]
object.
> It's very GUI.
>
> cheers
>
> --
> _
> __ __ (_)___ Michal Seta
> / \/ \ _/^ _|
> / V |_ \ @creazone.32k.org
> (___/V\___|_|___/
> http://www.[creazone]|[noonereceiving].32k.org
>
>
>
> _________________________________________________
> Scanned on 24 Feb 2004 23:12:43
> Scanning by http://erado.com
_________________________________________________
Scanned on 24 Feb 2004 23:16:16
Scanning by http://erado.com
Man I missed a discussion. Sucks not having a net connection at home.
First and Foremost.
Pete, please keep on doing whatever the hell it is you want to
do. It was great getting in this morning and having a freshmeat
announcement with an update of specimen. This mail is not a feature wish
list for specimen (or for anyones sampler) this is just what I like
sampler wise.
Second Samplers.
Like many people on this list I had been using hardware boxes
for years. In the end, the last 2 pieces of gear I gave up were my SY99
and my Yamaha A3000. I gave both of these up solely because of Native
Instruments Kontakt (sampler) and FM7 (fm synth). Up to that point I had
been using the outboard gear and PD. Native Instruments showed me the
light. (subsequently I have built an FM7 clone in PD, and I am slowly
working on a Kontakt clone, but one of my favorite sound manglers (the
multi breakpoint envelopes, are pretty impossible to do in pd from a GUI
standpoint and tough to understand from a shear command driven list of
numbers standpoint)
Things Kontakt did that made me want to switch.
1. Easy of importing a bunch of samples at a time (or if you have a
GUI use it right).
You could drag a sample onto the keyboard window. It would map
the root to the key you dragged it to. You could then pull out the
borders of the key (left and right set range, up and down set velocity).
Samples could be dragged over each other, and you could set cross fade
between the overlapping samples.
I was sold the day I needed t0 import a couple of hundred
chopped up bits of sound. It took me 5 minutes to set up 2 sound banks
in Kontakt, I gave up after about 3 hours on the a3k.
2. Modulation sources and Destinations coming out my ears.
Modulator can be tempo (midi time clock) synched. Pretty much
every parameter can be modulated (even ones most people wouldn't want to
modulate). You can even modulate the parameters of the modulators with
more modulations, its very GNU.
LFOs with sine, tri, square, saw, random and multi waveforms (optional
tempo-sync with definable quantize times)
Envelopes: AHDSR as well as 32-stage flexible envelopes
Envelope follower
32-stage step modulator
Glide/portamento
Velocity
Release velocity
Key position
MIDI controller # (numbers freely assignable)
Pitchbend
Poly aftertouch
Mono aftertouch
To me these are the 2 most import aspects of a sampler (the
fundamentals have to be there, like multi-sample playback, loop start
and end points, Pitch and Amplitude control, not just envelopes but
coarse and fine adjustments, allow me to assign my envelopes to all of
these. Having an internal Filter is debatable, but if you are going to
put it in there make sure I can modulate that to! I don't want a sample
editor, not even normalize or other common DSP stuff). It made sense to
have it built in back when that sampler in the rack was the only thing
that understood samples. But now I have resound, and audacity, and snd,
and etc etc etc.
I guess now that I am thinking about it, one thing Linux people
could (and do) do in many cases is to give me complete access to all of
this stuff from the command line. It would be a wicked ass command but
if I could set up a complex instrument with a script, and then play it
without a GUI, ohhh I am drooling thinking about the weird stuff I could
force a sampler do.
m.
_________________________________________________
Scanned on 23 Feb 2004 20:00:59
Scanning by http://erado.com
Mark,
Thanks for the offer, but I actually have dozens of pianos. The purpose
of this test was to stress Specimen for Pete and provide some feedback.
I used a MIDI file that produces a torrent of note events to see if Specimen
could assemble rather large samples quickly and put them out to Jack.
It worked great. (BTW, I should have said that the toylike Magix test
used 16-bit, 48 Ksamples/sec, two-second-long samples, yet still failed
very miserably --- as expected.)
I'll actually use other MIDI files to test my large soundfonts --- more
appropriate to the type of instrument I'm simulating. After passing this
"speed test," I shouldn't see problems with the usual suspects, er files.
hi again
just found the answer myself. sorry. the first module i created was a rather big one so that the remove button was not visible in the parameter window.
greetings
m
--
--------___________________________
hear me here: http://www.mprims.tk