hi!
I'm looking for a multichannel sound mixer built in PD for OSX which allows to play multiple soundloops (eg beat, mainline, vocals) simultaniously and synchronized and and has the possibility for oneshots...
I think this has been done already so i would prefer not having to build one myself from scratch ;-)
any help would be very nice! cu Fares
I read:
I'm looking for a multichannel sound mixer built in PD for OSX
for the mixer try console from http://www.swiezinski.de/pd/
which allows to play multiple soundloops .... and synchronized and and has the possibility for oneshots...
this goes far beyond a mixer but I guess most of the pieces have been built, for loop control I suggest you patch together what you find in doc/3.audio.examples, since it's probably the only way to get all the features you want - the features you don't want + a gui that you are comfortable with.
regards,
x
which allows to play multiple soundloops
There is a framework for looping sounds on http://www.audionerd.com called GYRE that you could use as a base. You can synchronize 6 loops with timestretch; each has a volume control. The patch should be clean enough that modifications are easy. For instance, adding more loops is a matter of instancing two more abstractions and duplicating part of the GUI (cut and paste, basically).
As I've only tested it on Windows, I'd like to know if anyone with Linux or OSX is running it. As long as the required externals (cyclone, stripdir, arraysize, zexy, creb) are available on the platforms, I would expect it to work.
--eric
------ http://USFamily.Net/info - Unlimited Internet - From $8.99/mo! ------
darn... i was just about to query this list about timestretching algo's that people had implemented in pd... but audionerd.com seems to be dead (at least for me)
so, anyone know any patches implementing any good sounding timestretch techniques A) in pd abstrations for realtime useage, and/or B) in VASP?
thanks!
-Josh
e skogen wrote:
which allows to play multiple soundloops
There is a framework for looping sounds on http://www.audionerd.com called GYRE that you could use as a base. You can synchronize 6 loops with timestretch; each has a volume control. The patch should be clean enough that modifications are easy. For instance, adding more loops is a matter of instancing two more abstractions and duplicating part of the GUI (cut and paste, basically).
As I've only tested it on Windows, I'd like to know if anyone with Linux or OSX is running it. As long as the required externals (cyclone, stripdir, arraysize, zexy, creb) are available on the platforms, I would expect it to work.
--eric
------ http://USFamily.Net/info - Unlimited Internet - From $8.99/mo!
PD-list mailing list PD-list@iem.at http://iem.at/cgi-bin/mailman/listinfo/pd-list
frank barknecht´s granulator object does a decent job. otherwise, there is the phase vocoder in the documentation, or you could build your own granulator (as i am currently busy with, but not quite finished with...) to do the job.
d.
Quoting Josh Steiner josh@vitriolix.com:
darn... i was just about to query this list about timestretching algo's that people had implemented in pd... but audionerd.com seems to be dead (at least for me)
so, anyone know any patches implementing any good sounding timestretch techniques A) in pd abstrations for realtime useage, and/or B) in VASP?
thanks!
-Josh
e skogen wrote:
which allows to play multiple soundloops
There is a framework for looping sounds on http://www.audionerd.com called GYRE that you could use as a base. You can synchronize 6 loops with timestretch; each has a volume control. The patch should be clean enough that modifications are easy. For instance, adding more loops is a matter of instancing two more abstractions and duplicating part of the GUI (cut and paste, basically).
As I've only tested it on Windows, I'd like to know if anyone with Linux or OSX is running it. As long as the required externals (cyclone, stripdir, arraysize, zexy, creb) are available on the platforms, I would expect it to work.
--eric
------ http://USFamily.Net/info - Unlimited Internet - From $8.99/mo!
PD-list mailing list PD-list@iem.at http://iem.at/cgi-bin/mailman/listinfo/pd-list
-- ____________________________________________________ independent u.s. drum'n'bass -- http://vitriolix.com
PD-list mailing list PD-list@iem.at http://iem.at/cgi-bin/mailman/listinfo/pd-list
Notice: Please do not send attchments or HTML/Rich Text emails to this address for the time being. My mail provider is kind-of freaking out ;-) Thx.
On Tue, Oct 07, 2003 at 09:47:45AM -0700, Josh Steiner wrote:
darn... i was just about to query this list about timestretching algo's that people had implemented in pd... but audionerd.com seems to be dead (at least for me)
I remember I mentionned the phased-lock vocoder that sit in the FFT documentation folder. Very good and easy to control. -- Marc
I've been interested in this for a long time (the old-school akai style timestretch). I'm using tabreadmix~ from the creb library in GYRE, but I'm open to other options. That was just the easiest to use at the time.
And just yesterday I finally got a patch working that had decent sounds. I think I'm starting to understand timestretching a little better. I guess I'm using an overlap-add type of method in this patch. I've attached what I have so far.
I also remember a timestretching patch being in the cvs abstractions folder, but it was glitchy for me.
Josh Steiner wrote:
darn... i was just about to query this list about timestretching algo's that people had implemented in pd... but audionerd.com seems to be dead (at least for me)
so, anyone know any patches implementing any good sounding timestretch techniques A) in pd abstrations for realtime useage, and/or B) in VASP?
thanks!
-Josh
e skogen wrote:
which allows to play multiple soundloops
There is a framework for looping sounds on http://www.audionerd.com called GYRE that you could use as a base. You can synchronize 6 loops with timestretch; each has a volume control. The patch should be clean enough that modifications are easy. For instance, adding more loops is a matter of instancing two more abstractions and duplicating part of the GUI (cut and paste, basically).
As I've only tested it on Windows, I'd like to know if anyone with Linux or OSX is running it. As long as the required externals (cyclone, stripdir, arraysize, zexy, creb) are available on the platforms, I would expect it to work.
--eric
------ http://USFamily.Net/info - Unlimited Internet - From $8.99/mo!
PD-list mailing list PD-list@iem.at http://iem.at/cgi-bin/mailman/listinfo/pd-list
------ http://USFamily.Net/info - Unlimited Internet - From $8.99/mo! ------
#N canvas 138 2 793 684 12; #X obj 87 548 tabread4~ hanning; #X obj 87 528 *~ 64; #N canvas 0 0 450 300 graph2 0; #X array loop 65881 float 0; #X coords 0 1 65880 -1 200 40 1; #X restore 569 68 graph; #X obj 72 473 tabread4~ loop; #X obj 87 507 r~ v1; #X obj 566 625 s~ v1; #X obj 605 589 wrap~; #X obj 605 625 s~ v2; #X obj 73 583 *~; #X obj 71 451 *~ 64467; #X obj 83 353 samphold~; #X obj 132 335 r~ v1; #X text 32 470 loop; #X obj 70 377 +~; #X text 93 379 start point; #X obj 70 261 r~ v1; #X obj 567 473 s~ c; #X obj 81 289 r~ c; #X obj 70 397 *~ 1; #X obj 69 313 /~; #X obj 307 548 tabread4~ hanning; #X obj 307 528 *~ 64; #X obj 292 473 tabread4~ loop; #X obj 293 583 *~; #X obj 291 451 *~ 64467; #X obj 303 353 samphold~; #X text 252 473 loop; #X obj 290 377 +~; #X text 313 379 start point; #X obj 301 289 r~ c; #X obj 289 313 /~; #X obj 290 261 r~ v2; #X obj 352 335 r~ v2; #X obj 307 507 r~ v2; #X obj 70 422 wrap~; #X obj 291 424 wrap~; #X obj 302 334 r~ s; #X obj 82 334 r~ s; #X obj 568 403 s~ s; #X obj 203 655 dac~; #X obj 568 452 sig~; #X text 468 14 cause i'm flat out addicted to the granular efects; #X obj 569 254 openpanel; #X obj 569 306 soundfiler; #X msg 569 280 read -resize $1 loop; #X obj 334 433 r fs; #X obj 116 431 r fs; #X obj 569 331 s fs; #X obj 605 569 +~ 0.5; #X text 374 14 audionerd.com::; #X obj 210 631 /~ 2; #X obj 290 397 +~ 64; #N canvas 0 0 450 300 graph7 0; #X array hanning 64 float 1; #A 0 0 0.00240764 0.00960736 0.0215298 0.0380602 0.0590394 0.0842652 0.113495 0.146447 0.182803 0.222215 0.264302 0.308658 0.354858 0.402455 0.450991 0.5 0.549009 0.597545 0.645142 0.691342 0.735698 0.777785 0.817197 0.853553 0.886505 0.915735 0.940961 0.96194 0.97847 0.990393 0.997592 1 0.997592 0.990393 0.97847 0.96194 0.940961 0.915735 0.886505 0.853553 0.817197 0.777785 0.735698 0.691342 0.645142 0.597545 0.549009 0.5 0.450991 0.402455 0.354858 0.308658 0.264302 0.222215 0.182803 0.146447 0.113495 0.0842652 0.0590394 0.0380602 0.0215298 0.00960736 0.00240764; #X coords 0 1 63 -1 64 20 1; #X restore 569 116 graph; #X obj 568 360 r param.speed; #X obj 25 64 nbx 5 14 -1e+037 1e+037 0 1 param.speed empty empty 0 -6 129 10 -261681 -1 -1 0.41 256; #X obj 568 381 phasor~; #X obj 568 431 r param.chunk_size; #X obj 567 511 r param.chunk_freq; #X obj 567 535 phasor~; #X obj 25 84 nbx 5 14 -1e+037 1e+037 0 1 param.chunk_size empty empty 0 -6 129 10 -261681 -1 -1 10 256; #X obj 26 104 nbx 5 14 -1e+037 1e+037 0 1 param.chunk_freq empty empty 0 -6 129 10 -261681 -1 -1 7 256; #X text 551 344 ___________________________________; #X text 551 414 ___________________________________; #X text 551 484 ___________________________________; #X text 551 644 ___________________________________; #X obj 25 37 bng 15 250 50 0 param.load empty load_a_file 20 8 129 8 -262131 -1 -1; #X obj 569 230 r param.load; #X text 80 62 speed; #X text 80 84 chunk size; #X text 80 104 chunk freq; #X text 72 226; #X connect 0 0 8 1; #X connect 1 0 0 0; #X connect 3 0 8 0; #X connect 4 0 1 0; #X connect 6 0 7 0; #X connect 8 0 50 0; #X connect 9 0 3 0; #X connect 10 0 13 1; #X connect 11 0 10 1; #X connect 13 0 18 0; #X connect 15 0 19 0; #X connect 17 0 19 1; #X connect 18 0 34 0; #X connect 19 0 13 0; #X connect 20 0 23 1; #X connect 21 0 20 0; #X connect 22 0 23 0; #X connect 23 0 50 0; #X connect 24 0 22 0; #X connect 25 0 27 1; #X connect 27 0 51 0; #X connect 29 0 30 1; #X connect 30 0 27 0; #X connect 31 0 30 0; #X connect 32 0 25 1; #X connect 33 0 21 0; #X connect 34 0 9 0; #X connect 35 0 24 0; #X connect 36 0 25 0; #X connect 37 0 10 0; #X connect 40 0 16 0; #X connect 42 0 44 0; #X connect 43 0 47 0; #X connect 44 0 43 0; #X connect 45 0 24 1; #X connect 46 0 9 1; #X connect 48 0 6 0; #X connect 50 0 39 0; #X connect 50 0 39 1; #X connect 51 0 35 0; #X connect 53 0 55 0; #X connect 55 0 38 0; #X connect 56 0 40 0; #X connect 57 0 58 0; #X connect 58 0 5 0; #X connect 58 0 48 0; #X connect 66 0 42 0;
Looks like a handy patch, it would be nice if it was maintained in the
'abstractions' section of the CVS. Then it would become part of the
standard Pd distros.
.hc
On Tuesday, Oct 7, 2003, at 15:07 America/New_York, e skogen wrote:
I've been interested in this for a long time (the old-school akai
style timestretch). I'm using tabreadmix~ from the creb library in
GYRE, but I'm open to other options. That was just the easiest to use
at the time.And just yesterday I finally got a patch working that had decent
sounds. I think I'm starting to understand timestretching a little
better. I guess I'm using an overlap-add type of method in this patch.
I've attached what I have so far.I also remember a timestretching patch being in the cvs abstractions
folder, but it was glitchy for me.Josh Steiner wrote:
darn... i was just about to query this list about timestretching
algo's that people had implemented in pd... but audionerd.com seems
to be dead (at least for me) so, anyone know any patches implementing any good sounding
timestretch techniques A) in pd abstrations for realtime useage,
and/or B) in VASP? thanks! -Josh e skogen wrote:which allows to play multiple soundloops
There is a framework for looping sounds on http://www.audionerd.com
called GYRE that you could use as a base. You can synchronize 6
loops with timestretch; each has a volume control. The patch should
be clean enough that modifications are easy. For instance, adding
more loops is a matter of instancing two more abstractions and
duplicating part of the GUI (cut and paste, basically).As I've only tested it on Windows, I'd like to know if anyone with
Linux or OSX is running it. As long as the required externals
(cyclone, stripdir, arraysize, zexy, creb) are available on the
platforms, I would expect it to work.--eric
------ http://USFamily.Net/info - Unlimited Internet - From
$8.99/mo! ------
PD-list mailing list PD-list@iem.at http://iem.at/cgi-bin/mailman/listinfo/pd-list
------ http://USFamily.Net/info - Unlimited Internet - From $8.99/mo!
#N canvas 138 2 793 684 12; #X obj 87 548 tabread4~ hanning; #X obj 87 528 *~ 64; #N canvas 0 0 450 300 graph2 0; #X array loop 65881 float 0; #X coords 0 1 65880 -1 200 40 1; #X restore 569 68 graph; #X obj 72 473 tabread4~ loop; #X obj 87 507 r~ v1; #X obj 566 625 s~ v1; #X obj 605 589 wrap~; #X obj 605 625 s~ v2; #X obj 73 583 *~; #X obj 71 451 *~ 64467; #X obj 83 353 samphold~; #X obj 132 335 r~ v1; #X text 32 470 loop; #X obj 70 377 +~; #X text 93 379 start point; #X obj 70 261 r~ v1; #X obj 567 473 s~ c; #X obj 81 289 r~ c; #X obj 70 397 *~ 1; #X obj 69 313 /~; #X obj 307 548 tabread4~ hanning; #X obj 307 528 *~ 64; #X obj 292 473 tabread4~ loop; #X obj 293 583 *~; #X obj 291 451 *~ 64467; #X obj 303 353 samphold~; #X text 252 473 loop; #X obj 290 377 +~; #X text 313 379 start point; #X obj 301 289 r~ c; #X obj 289 313 /~; #X obj 290 261 r~ v2; #X obj 352 335 r~ v2; #X obj 307 507 r~ v2; #X obj 70 422 wrap~; #X obj 291 424 wrap~; #X obj 302 334 r~ s; #X obj 82 334 r~ s; #X obj 568 403 s~ s; #X obj 203 655 dac~; #X obj 568 452 sig~; #X text 468 14 cause i'm flat out addicted to the granular efects; #X obj 569 254 openpanel; #X obj 569 306 soundfiler; #X msg 569 280 read -resize $1 loop; #X obj 334 433 r fs; #X obj 116 431 r fs; #X obj 569 331 s fs; #X obj 605 569 +~ 0.5; #X text 374 14 audionerd.com::; #X obj 210 631 /~ 2; #X obj 290 397 +~ 64; #N canvas 0 0 450 300 graph7 0; #X array hanning 64 float 1; #A 0 0 0.00240764 0.00960736 0.0215298 0.0380602 0.0590394 0.0842652 0.113495 0.146447 0.182803 0.222215 0.264302 0.308658 0.354858 0.402455 0.450991 0.5 0.549009 0.597545 0.645142 0.691342 0.735698 0.777785 0.817197 0.853553 0.886505 0.915735 0.940961 0.96194 0.97847 0.990393 0.997592 1 0.997592 0.990393 0.97847 0.96194 0.940961 0.915735 0.886505 0.853553 0.817197 0.777785 0.735698 0.691342 0.645142 0.597545 0.549009 0.5 0.450991 0.402455 0.354858 0.308658 0.264302 0.222215 0.182803 0.146447 0.113495 0.0842652 0.0590394 0.0380602 0.0215298 0.00960736 0.00240764; #X coords 0 1 63 -1 64 20 1; #X restore 569 116 graph; #X obj 568 360 r param.speed; #X obj 25 64 nbx 5 14 -1e+037 1e+037 0 1 param.speed empty empty 0 -6 129 10 -261681 -1 -1 0.41 256; #X obj 568 381 phasor~; #X obj 568 431 r param.chunk_size; #X obj 567 511 r param.chunk_freq; #X obj 567 535 phasor~; #X obj 25 84 nbx 5 14 -1e+037 1e+037 0 1 param.chunk_size empty empty 0 -6 129 10 -261681 -1 -1 10 256; #X obj 26 104 nbx 5 14 -1e+037 1e+037 0 1 param.chunk_freq empty empty 0 -6 129 10 -261681 -1 -1 7 256; #X text 551 344 ___________________________________; #X text 551 414 ___________________________________; #X text 551 484 ___________________________________; #X text 551 644 ___________________________________; #X obj 25 37 bng 15 250 50 0 param.load empty load_a_file 20 8 129 8 -262131 -1 -1; #X obj 569 230 r param.load; #X text 80 62 speed; #X text 80 84 chunk size; #X text 80 104 chunk freq; #X text 72 226; #X connect 0 0 8 1; #X connect 1 0 0 0; #X connect 3 0 8 0; #X connect 4 0 1 0; #X connect 6 0 7 0; #X connect 8 0 50 0; #X connect 9 0 3 0; #X connect 10 0 13 1; #X connect 11 0 10 1; #X connect 13 0 18 0; #X connect 15 0 19 0; #X connect 17 0 19 1; #X connect 18 0 34 0; #X connect 19 0 13 0; #X connect 20 0 23 1; #X connect 21 0 20 0; #X connect 22 0 23 0; #X connect 23 0 50 0; #X connect 24 0 22 0; #X connect 25 0 27 1; #X connect 27 0 51 0; #X connect 29 0 30 1; #X connect 30 0 27 0; #X connect 31 0 30 0; #X connect 32 0 25 1; #X connect 33 0 21 0; #X connect 34 0 9 0; #X connect 35 0 24 0; #X connect 36 0 25 0; #X connect 37 0 10 0; #X connect 40 0 16 0; #X connect 42 0 44 0; #X connect 43 0 47 0; #X connect 44 0 43 0; #X connect 45 0 24 1; #X connect 46 0 9 1; #X connect 48 0 6 0; #X connect 50 0 39 0; #X connect 50 0 39 1; #X connect 51 0 35 0; #X connect 53 0 55 0; #X connect 55 0 38 0; #X connect 56 0 40 0; #X connect 57 0 58 0; #X connect 58 0 5 0; #X connect 58 0 48 0; #X connect 66 0 42 0;
"[W]e have invented the technology to eliminate scarcity, but we are
deliberately throwing it away
to benefit those who profit from scarcity."
-John Gilmore
Hallo,
e skogen hat gesagt: // e skogen wrote:
which allows to play multiple soundloops
There is a framework for looping sounds on http://www.audionerd.com called GYRE that you could use as a base. You can synchronize 6 loops with timestretch; each has a volume control. The patch should be clean enough that modifications are easy. For instance, adding more loops is a matter of instancing two more abstractions and duplicating part of the GUI (cut and paste, basically).
As I've only tested it on Windows, I'd like to know if anyone with Linux or OSX is running it. As long as the required externals (cyclone, stripdir, arraysize, zexy, creb) are available on the platforms, I would expect it to work.
This is a great patch, very cool. I ran it on Debian Linux, an except cverb~ everything could be made to work. I do have the required externals like arraysize or the crebs in my pd path, so I had to remove several "externs/" from the patches with a text editor. I think, it is more common to have externals in a path without the extra "externs/" prepended.
I do have some suggestions. Well, actually only one: The loop parts of gyre would make a fine self contained Graph on Parent patch. This way, extending it to use more or less than the six loops in your patch would be much easier. I'd figure a patch "gyre.pd" that could be called as an abstraction like for example: [gyre loopname] or [gyre-gop loopname]
Like in the attached example gyre-gop, that would need some work at localizing it with $0-vars and inlet/outlets.
Frank Barknecht _ ______footils.org__
remove several "externs/" from the patches with a text editor. I think, it is more common to have externals in a path without the extra "externs/" prepended.
totally. i was thinking to make it easy to run out of the box, i'd include them in the archive and reference them directly. so the user could take a stock Pd install, decompress the GYRE archive, and be ready to run.
I do have some suggestions. Well, actually only one: The loop parts of gyre would make a fine self contained Graph on Parent patch. This way, extending it to use more or less than the six loops in your patch would be much easier. I'd figure a patch "gyre.pd" that could be called as an abstraction like for example: [gyre loopname] or [gyre-gop loopname]
Like in the attached example gyre-gop, that would need some work at localizing it with $0-vars and inlet/outlets.
yes, that makes it a lot easier to work with. i only decided to avoid GOPs because they slow my system and because i wanted to keep the code and GUI seperate.
------ http://USFamily.Net/info - Unlimited Internet - From $8.99/mo! ------
Hallo,
e skogen hat gesagt: // e skogen wrote:
I do have some suggestions. Well, actually only one: The loop parts of gyre would make a fine self contained Graph on Parent patch. This way, extending it to use more or less than the six loops in your patch would be much easier. I'd figure a patch "gyre.pd" that could be called as an abstraction like for example: [gyre loopname] or [gyre-gop loopname]
Like in the attached example gyre-gop, that would need some work at localizing it with $0-vars and inlet/outlets.
yes, that makes it a lot easier to work with. i only decided to avoid GOPs because they slow my system and because i wanted to keep the code and GUI seperate.
Well, GUI and code still *are* seperate when using looper and loader as in the example GOP. Maybe even more seperate than now. I agree, that GOPs can be slower, for example if you use a vu meter in them. But the added flexibility and ease of (re)use for other users is worth it, IMO.
Actually I'm searching for more generally (re)usable GOP abstractions for a talk I'm planning for the next linux-audio-dev conference in spring 2004. The talk will be called "RRAD-ical Pd - Reusable and Rapid Audio Development in Pd" and focuses on GOP abstractions. I anybody's interested I could send a short abstract.
David McCallum is doing great things in this area, I did several "RRAD" patches but in general there aren't that many useful and reusable GOPs available.
Frank Barknecht _ ______footils.org__
hi!
thanks a lot for the mixer... it runs well under mac os x and i think i might be able to use it for my project!
Theres just one problem... i'm experiencing a short pause in all sounds when loading a new sample... am i missing an external or do you know any way to overcome this problem? I have them same issue when simply looping a sample with tabplay~ and exchanging it during play.
thanks & cu Fares
e skogen eskogen@usfamily.net writes on Wed, 08 Oct 2003 04:53:09 +0200 (METDST):
remove several "externs/" from the patches with a text editor. I think, it is more common to have externals in a path without the extra "externs/" prepended.
totally. i was thinking to make it easy to run out of the box, i'd include them in the archive and reference them directly. so the user could take a stock Pd install, decompress the GYRE archive, and be ready to run.
I do have some suggestions. Well, actually only one: The loop parts of gyre would make a fine self contained Graph on Parent patch. This way, extending it to use more or less than the six loops in your patch would be much easier. I'd figure a patch "gyre.pd" that could be called as an abstraction like for example: [gyre loopname] or [gyre-gop loopname]
Like in the attached example gyre-gop, that would need some work at localizing it with $0-vars and inlet/outlets.
yes, that makes it a lot easier to work with. i only decided to avoid
GOPs because they slow my system and because i wanted to keep the code
and GUI seperate.
------ http://USFamily.Net/info - Unlimited Internet - From $8.99/mo!
PD-list mailing list PD-list@iem.at
Fares Kayali wrote:
hi!
thanks a lot for the mixer... it runs well under mac os x and i think i might be able to use it for my project!
awesome :)
Theres just one problem... i'm experiencing a short pause in all sounds when loading a new sample... am i missing an external or do you know any way to overcome this problem? I have them same issue when simply looping a sample with tabplay~ and exchanging it during play.
this is a common problem with Pd's sound file loading. you could try setting your latency higher. or you could use something like readsf~ to load the sounds.
with soundfiler (which my patch uses) the system glitches a bit as memory is allocated and the sound is loaded, etc. (it also glitches when you resize an array) but if you use readsf~ to play the sound into an array, you can avoid some of these issues. i think this might also have been addressed with readanysf~?
i have a modified version of the patch that supports this type of file loading, but i get some weird anomolies where the sound isn't yet loaded and it's still trying to play. but, if anyone is interested, i could post it on audionerd.com.
the solution as i see it was:
these are never resized (to avoid glitches) 2. i readsf~ into those arrays 3. i tell my patch what the size (in samples) of the wavfile was
the 3rd point gets tricky. i suppose i could [timer] how long the sound played and calculate the size in samples. but instead i'm polling the sound file itself. however, i have had problems on windows in the past with getting wav file size, so i'm using a custom external for this! :P
ha, so i guess it gets kind of complicated. but if you're interested in a patch to the patcher that includes the [pokewave] external i'm using and the replacement for the loadsound abstraction, email me. in fact, if people like it better, maybe i should just put it into GYRE by default?
--eric
------ http://USFamily.Net/info - Unlimited Internet - From $8.99/mo! ------