On Wed, 2004-09-08 at 05:30, michael tewner wrote:
> On Tue, 7 Sep 2004, Rui Nuno Capela wrote:
>
> > Hi Lee,
> > >
> > > Now that the final touches are being put on the 2.6 low latency patches,
> > > a massive migration of linux audio users to 2.6 is imminent.Since this
> > > means every single linux audio user will need the realtime-lsm module, I
> > > think we should push to get it in the kernel, the sooner the better.
> > >
> >
> There seemed to be much opposition to it on the kernel developer list.
> Have you seen the messages?
>
Sorry, maybe it was not clear enough from my message or my subject line,
but I am NOT talking about getting the voluntary preemption patches in
the kernel, I am referring to the realtime-lsm module:
http://sourceforge.net/projects/realtime-lsm/
This is a MUCH simpler and MUCH less controversial feature.
What messages are you talking about?
Lee
> > when ripping a cd my clock slows down and my modem grinds to a halt.
> > any ideas why this is happening?
> > i'm using redhat9 and grip 3.0.4
>
> Probably you need to turn on DMA for your cdrom.
>
> Regards...
> Michael
Thanks Michael,
i don't think this is the problem.
anyone on the LAU list have any ideas?
thanks,
rob
[root@localhost robcanning]# /sbin/hdparm -v /dev/hdc
/dev/hdc:
HDIO_GET_MULTCOUNT failed: Invalid argument
IO_support = 0 (default 16-bit)
unmaskirq = 0 (off)
using_dma = 1 (on)
keepsettings = 0 (off)
readonly = 0 (off)
BLKRAGET failed: Invalid argument
HDIO_GETGEO failed: Invalid argument
[root@localhost robcanning]#
[root@localhost robcanning]# /sbin/hdparm -i /dev/hdc
/dev/hdc:
Model=ASUS DRW-0402P/D, FwRev=1.05, SerialNo=CJDC035831WL
Config={ Fixed Removeable DTR<=5Mbs DTR>10Mbs nonMagnetic }
RawCHS=0/0/0, TrkSize=0, SectSize=0, ECCbytes=0
BuffType=13395, BuffSize=64kB, MaxMultSect=0
(maybe): CurCHS=0/0/0, CurSects=0, LBA=yes, LBAsects=0
IORDY=on/off, tPIO={min:240,w/IORDY:120}, tDMA={min:120,rec:120}
PIO modes: pio0 pio1 pio2 pio3 pio4
DMA modes: mdma0 mdma1 mdma2
UDMA modes: udma0 udma1 *udma2
AdvancedPM=no
Drive conforms to: device does not report version: 1 2 3 4 5
->> I know, it's really weird. The motherboard/chipset actually puts
the
> SATA drive on the primary master channel (hda). I think that's what's
> screwing me up. I'd have to remove it if I wanted to put some other
> device on primary master, since I can't move it to another channel or
to
> a normal standalone SATA channel.
Not necessarily. There is a kernel config option (at build time) that
says something like 'Boot offboard chipsets first'. This option tells
the kernel that drive controllers not in the normal chipset get first
option to boot. If the system finds them (like SATA) then SATA could
become hda. However I would have then assumed the normal hda EIDE drive
would become hdc.<-
>From the mobo manual:
*Important Notice on Using IDE Drives and a Serial ATA Drive*
Serial ATA uses the primary IDE's master channel. Therefore, if a
serial ATA drive is connected to the serial ATA connector, DO NOT
connect an IDE device to IDE-P's Master channel. IDE drives can be
connected to the primary slave, secondary master, and secondary slave
channels.
This says to me it's hardwired into the mobo, but I could be wrong.
->> Maybe the 2.6 kernel would work with it better, but I'm hesitant to
put
> it on there right now, since this is my only computer.
What distro are you running? I would think that an nforce-2 would be
much better with a 2.6 kernel. I run 2.6.8.1 and things work well for me
on my Gentoo boxes. On my Planet box I'm still pretty far back with an
older 2.4 kernel, but that's very old Pentium 2 or 3 hardware IIRC. One
of those big, box-like processors that look like a piece of bread
sticking up from the MB...<-
Planet ccrma 2.4.26 kernel, RH9. Worked the same way in the
out-of-the-box RH9 kernel, too.
Matt
Knecht:
->Not sure I can help, but I end up with a few questions from reading
this. Maybe your answers will lead someone else to give you a good
pointer. Mostly I'm confused about your hda/hdb comments with respect to
SATA drives which are normally on a cable by themselves. In my
experience hda/hdb are the EIDE drive designations. With two controllers
you then get hda-hdd for EIDE and hde for SATA.<-
I know, it's really weird. The motherboard/chipset actually puts the
SATA drive on the primary master channel (hda). I think that's what's
screwing me up. I'd have to remove it if I wanted to put some other
device on primary master, since I can't move it to another channel or to
a normal standalone SATA channel.
->If you are really using EIDE drives then switching the order of the
drives can be a problem *if* the drives were not configured for
auto-detect *and* you forgot to change the jumpers. I don't know if this
would cause the problem that you are seeing though.<-
No, I set the jumpers to master/slave manually... also tried
"cable-select." No dice. Seems to me there are two really weird issues
with how linux sees the ide channels on my board:
1) SATA drive is ALWAYS hda - no way to change that in BIOS (this is a
DFI motherboard, by the way, with the nforce2 chipset)
2) Secondary Slave is seen as scd0 (at least with the CD/DVD RW).
Hdparm sees the DVD drive as hdd (I can hdparm /dev/hdd), but I can't
access the drive through /dev/hdd - /dev/cdrom is a link to /dev/scd0.
It works as hdb or hdc if I put it on another channel. Weird weird.
Grub lives on hda (I'm currently dual-booting), but when I put the ide
drive with the /boot partition on (what should be) the hdd channel, the
kernel (which lives on that drive) panics because it can't find init.
It's a really messed up setup, which I assume is probably to get around
some problem in windows or something, though - I've had nothing but
problems with windows, too. I'm ready to ditch this board once a load
of cash falls into my lap. =o)
I'm wondering if this is an nforce thing, or if there's something else
on the board that's causing it (anyone have an asus nforce2 board? Is
it similar?) - could be the SATA controller... also, with this chipset
you have to feed acpi=off noapic nolapic to the kernel to get the damn
thing to run in the first place (some of you may remember a post I sent
about setting the system bus clock to the appropriate value).... anyway,
it's been a real hassle all around.
Maybe the 2.6 kernel would work with it better, but I'm hesitant to put
it on there right now, since this is my only computer.
Matt
So,
At home I had been getting some odd latency with my cd/dvd drive (using
jack and alsaplayer, the sound would cut out for a split second, but
with no xruns, so I'm thinking it was the drive or the ide channel, and
not jack-related). I have an nforce2-based motherboard, with a seagate
SATA drive (nforce2 puts SATA on the primary master ide channel),
another seagate ide drive, and a pioneer cd/dvd drive. I keep all my
soundfiles on the SATA drive (since it's supposed to be faster), and the
linux system on the ide drive. My previous setup gave the SATA drive
the entire primary channel, put the system drive as secondary master and
dvd as secondary slave. I decided to try putting the system drive on
the primary channel as slave, and giving the entire secondary channel to
the dvd drive as master (this is a setup I have used successfully with
other motherboards). So - sound drive is hda, system drive is hdb, and
dvd is hdc. Here's the problem-- where I had been getting about
33-35MB/sec on both drives with the previous setup with hdparm -t, when
I set it up like this, they both go down to about 6.5MB/sec. This is
because dma has been disabled - when I enable it on hdb (hdparm -d1
/dev/hdb) the benchmark runs back up to around 35. On hda, I can enable
dma with no errors:
# hdparm -d1 /dev/hda
/dev/hda:
setting using_dma to 1 (on)
using_dma = 1 (on)
but when I run the benchmark it's still around 6.5MB/sec, and then I
notice that dma has again been disabled on BOTH hda and hdb. Anybody
know what the hell is going on here? My guess is that the SATA-ide
driver won't allow dma (or the default udma mode is wrong or something),
and when the SATA drive gets its own ide channel, there's no problem -
it's only when it's combined with other drives that there's a problem
(it does the same when the cdrom is placed on primary/slave).
I'm getting fewer cutouts from the dvd drive (secondary master by
itself) when I play a cd, but I'm still getting a few now and then - is
there a way to optimize something here so I don't get them?
Thanks,
Matt
For anyone who, like me, missed most of the past month or two of
discussions, this is where Ingo's 2.6.x patches live:
http://people.redhat.com/mingo/voluntary-preempt/
Thanks to whoever posted the kernel-traffic link. I almost feel caught
up to reality now. 8-]
-Eric Rz.
(Note: system set up and software version information are at the bottom
of this message. Also, I've been away from the lists for a month or so.
If anything in hear has been addressed recently, I apologize.)
Ok, so it's not really a synth in the sense most people think since it
doesn't respond to note events. But, I've been having a lot of fun with
the following ecasound set up:
ecasound -b:64
-a:1,2,3,4,5,6,7,8 -i:rtnull
-a:1,2,3,4,5,6,7,8 -o:jack_alsa
-a:1 -el:analogueOsc,1,0,0,1,1 -km:2,1,1000,9,1 -ea:0 -km:1,0,200,17,1
-a:2 -el:analogueOsc,1,0,0,1,1 -km:2,1,1000,10,1 -ea:0 -km:1,0,200,18,1
-a:3 -el:analogueOsc,1,0,0,1,1 -km:2,1,1000,11,1 -ea:0 -km:1,0,200,19,1
-a:4 -el:analogueOsc,1,0,0,1,1 -km:2,1,1000,12,1 -ea:0 -km:1,0,200,20,1
-a:5 -el:analogueOsc,1,0,0,1,1 -km:2,1,1000,13,1 -ea:0 -km:1,0,200,21,1
-a:6 -el:analogueOsc,1,0,0,1,1 -km:2,1,1000,14,1 -ea:0 -km:1,0,200,22,1
-a:7 -el:analogueOsc,1,0,0,1,1 -km:2,1,1000,15,1 -ea:0
-km:1,0,200,23,1 -a:8 -el:analogueOsc,1,0,0,1,1 -km:2,1,1000,16,1 -ea:0
-km:1,0,200,24,1
This runs 8 copies of the analogueOsc LADSPA plugin from Steve's set.
Each has a midi controller (-km) attached to the Hz and another to an
ecasound amplify effect (-ea). So it gives me independent control of
frequency and volume for 8 separate oscillators. The controllers are on
my novation remote25. Numbers 9-16 (controlling the Hz) are rotary
encoders and controllers 17-24 (controlling the volume) are sliders. All
of the controllers on the remote25 are assignable so I did away with any
traditional numbering for midi-CCs and numbered them in a scheme that
made sense to me.
I'm running jackd and ecasound as root at the moment. I haven't had the
realtime lsm working for a few kernel versions because I wasn't working
on anything that required jack. I'll fix that soon. I'm running jack
like this:
jackd -v -R -d alsa -d ice1712 -r 44100 -p 64
I'm having great fun and am very excited because I've had this planned
for years, but just got around to trying it in the last few days. It
works better than I had expected, but there are a few issues I'm hoping
to get some advice on.
1) the analogueOsc has a control for selecting waveform. The above set
up statically sets it to Sine. It seems like I should be able to switch
between the 4 waveforms interactively. But, when I set up one of the
assignable buttons on the remote25 to step through values 1-4 and
attached it to the waveform control of the plugin I didn't get any
change. Is this paramater only controllable when the plugin is first
instantiated?
2) other than when ecasound initially connects, jackd reports no xruns.
However, when I kill ecasound it exits with a warning like this:
(audioio-rtnull) WARNING! There were 26064 xruns while reading.
3) possibly related to 2) ... There are artifacts and glitches in the
sound output. I'm not sure what to call them ... just a sort of scratchy
sound when I move the controllers. I'm not sure if this is xrun related
or not. Could it be something in the plugin itself? I'm not sure how to
sort out where the issue is.
My delta66 is on IRQ9 and my "midi" card (crappy ymfpci based guillemot
maxisound fortissimo) is on IRQ11 with nothing on IRQ 10. Do I just need
a better midi card? or could there be something wrong in ecasound's midi
implementation? My machine isn't really being stressed by this at all.
Load stays around .13 or so with the CPU 86% idle. I haven't tried
doubling the ecasound chains to write to disk, yet, so the disks are
barely being touched. They are tuned appropriately, though.
4) when I try to put the above commandline into an ecasound .ecs file
ecasound seems to fail to parse the controllers. I start it with
ecasound -s ecaoscynth.ecs, it connects to jackd and appears to run.
But, no sound comes out and the controllers have no affect. I'll attach
my .ecs. Maybe I'm doing something dumb or forgot something ...
I expect someone will suggest that I should use one of the graphical
synths or environments like ssm, ams, pd or something. But, I don't
really feel comfortable with the connecting building blocks with lines
on a screen using the mouse paradigm. It feels very clunky and clumsy to
me. I really want a text based patch set up that I can manipulate in my
text editor of choice (which shall remain nameless ;) ). On top of that
I don't need, or want, to control this with note events or to record the
midi control messages, so I don't require a full midi implementation or
sequencer functionality.
I also intend to create two scripts for this instrument. Both will
eventually use ecasound's built in effects and perhaps other LADSPA
effects. One will run automatically using ecasound's control oscillators
to manipulate the anaolgueOsc parameters.
The other will be interactive, but the ranges available for each control
of each oscillator will be determined randomly at start up. So, each
time I start it up it will be a different instrument (or at least
"tuned" differently). I'm comfortable enough with python, ecasound and
ecasound's pyeca control implementation to write these scripts myself. I
don't know of another environment that would give me this kind of
flexibility.
Well, that went on for a bit. If you read this far, thank you! :) I'll
keep messing with it, but hopefully someone here will have some
suggestions for improvement.
Thanks,
Eric Rz.
System info:
asus a7v8x-x
athlon XP 2800+ (2071.203 MHz)
1GB PC2700 RAM
12GB /dev/hda2 / (actually a 40G disk) ext2
160GB /dev/hdc1 /mnt/audio/ ext2
2GB swap /dev/hda1
(onboard via8235 -- disabled)
ice1712 M-Audio Delta-66 w/omni i/o
ymfpci guillemot maxisound fortissimo -- used for midi only
debian testing (sarge)
2.6.8.1 (pre-empt on -- kernel.org sources compiled via make-kpkg)
drives tuned in kernel config
alsa-1.0.6 (drivers, lib, envy24control, utils)
drivers (1.0.6.a)
./configure --with-isapnp=no --with-sequencer=yes --with-oss=no
--with-cards=dummy,virmidi,ice1712,ymfpci,via82xx
libsndfile-1.0.10 from tar.gz
libsamplerate-0.1.1 from tar.gz
ecasound-2.3.4-pre20040819
./configure --enable-pyecasound=c --disable-oss --disable-arts
--with-largefile
jack-0.98.1
./configure --enable-capabilities --enable-optimize
--with-default-tmpdir=/dev/shm --disable-portaudio
-f:32,2,44100
-b:64
-a:1,2,3,4,5,6,7,8 -i:rtnull
-a:1,2,3,4,5,6,7,8 -o:jack_alsa
-a:1 -el:analogueOsc,1,0,0,1,1 -km:2,1,1000,9,1 -ea:0 -km:1,0,200,17,1
-a:2 -el:analogueOsc,1,0,0,1,1 -km:2,1,1000,10,1 -ea:0 -km:1,0,200,18,1
-a:3 -el:analogueOsc,1,0,0,1,1 -km:2,1,1000,11,1 -ea:0 -km:1,0,200,19,1
-a:4 -el:analogueOsc,1,0,0,1,1 -km:2,1,1000,12,1 -ea:0 -km:1,0,200,20,1
-a:5 -el:analogueOsc,1,0,0,1,1 -km:2,1,1000,13,1 -ea:0 -km:1,0,200,21,1
-a:6 -el:analogueOsc,1,0,0,1,1 -km:2,1,1000,14,1 -ea:0 -km:1,0,200,22,1
-a:7 -el:analogueOsc,1,0,0,1,1 -km:2,1,1000,15,1 -ea:0 -km:1,0,200,23,1
-a:8 -el:analogueOsc,1,0,0,1,1 -km:2,1,1000,16,1 -ea:0 -km:1,0,200,24,1