ecanosc (was Re: [linux-audio-user] 8 oscillator ecasynth)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Eric Dantan Rzewnicki wrote:
> (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:

I've been playing with this all weekend. I have something that works 
fairly reliably. I've wrapped it up in 2 shell scripts, mainly for 
editing convenience and because of a few issues I've run into. There's 
only a single ecasound commandline in each. More on these below.

I've tried to document each issue as well as I could. If any of these 
are known problems fixed in jack cvs later than the last released 
v0.98.1, please let me know. I'll try to check out the latest cvs jack 
sometime in the next couple weeks, but for now I'm sticking with what I 
have working until I can do some more tests.

Anything that hasn't been fixed (or that is just me being dumb) I'll 
take one at a time, as I find time, and try to narrow it down to the 
simplest case I can find.


How I'm using the scripts:
ecanoscl-i.sh requires jack to have been started in another console 
(works as normal user since realtime lsm is now loaded):
jackd -v -R -d alsa -d ice1712 -r 48000 -p 512 -n2

After ecanoscl-i.sh has been started ecanoscl-r.sh is started in a 3rd 
console if a recording is desired


Eventually this will be a python ECI script with 2 modes. The live mode, 
ecanoscl, will be basically like this settup with more controls mapped, 
each analogueOsc limited to a Hz range randomly chosen at runtime and 
additional global effects added and controlled by my remote25's 
joystick, touchpad and buttons. The automatic mode, ecanosca, will be 
similar, but the number of analogueOscs will vary and the controllers 
will be randomly generated ecasound controllers (-ko*, -kf, -kl*)


The following is my FIXME/TODO list more than a request for help. I 
include it in case Kai or someone else can see something obvious. Steve, 
I am going to try to work on the analogueOsc items myself:
-this should be a .ecs file. is .ecs parsing broken?
   or am I (more likely) writing it wrong?
-generates a lot of xruns reported by ecasound's
   (audioio-rtnull), but not by jackd. not surprisingly xrun
   count changes inversely to buffer size. i.e. if b=buffersize
   2b yields roughly .5 * (xruns at b).
   with -t set to 60s in ecanoscl-r.sh
   with b=2048 xrun count is consistently 1403
   with b=1024 xrun count varied over 4 runs: 2450, 2639, 2807 twice
   with b=512 xrun count varied over 4 runs: 5429, 5433, 5454, 5616
   similar relationship continues with smaller b's
-if -t:secs option is set in ecanoscl-i.sh to limit runtime, it gets
   kicked out of the jack graph when ecanoscl-r.sh is started. is this
   just not legal? do both ecasounds try to be jack transport master or
   something?
-ecanoscl-r.sh always exits with a segfault (after the appropriate time
   has elapsed) and takes ecanoscl-i.sh down with it.
-ecasound shouldn't need jack for this. There is something about
   alsahw vs. alsaplugin vs. alsapcm and audio formats and .asoundrc
   I'm not understanding or using correctly.
-ecasound should be able to generate the audio and write to
   a file in one invocation with doubled up chains. for some
   reason this didn't work when tried from the commandline
   maybe there's an ecasound bug ... more likely I messed up
-zipper noise when -ea: -km's midi controller is used
-audio glitches in analogueOsc output. xrun-related?
-add controls for warm, instability and waveform
-add interpolation to analogueOsc Hz port

-Eric Rz

System details:
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-pre20040905
     ./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
realtime-0.1.1 lsm (insmod'ed since make install screwed things up last
     time I tried it many moons ago)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ecanoscl-i.sh
Type: application/x-sh
Size: 2842 bytes
Desc: not available
Url : http://music.columbia.edu/pipermail/linux-audio-user/attachments/20040906/ec2cc498/ecanoscl-i.sh
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ecanoscl-r.sh
Type: application/x-sh
Size: 414 bytes
Desc: not available
Url : http://music.columbia.edu/pipermail/linux-audio-user/attachments/20040906/ec2cc498/ecanoscl-r.sh

[Index of Archives]     [Linux Sound]     [ALSA Users]     [Pulse Audio]     [ALSA Devel]     [Sox Users]     [Linux Media]     [Kernel]     [Photo Sharing]     [Gimp]     [Yosemite News]     [Linux Media]

  Powered by Linux