(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 -------------- next part -------------- -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