From: owner-sc-users-digest@lists.io.com (sc-users-digest) To: sc-users-digest@lists.io.com Subject: sc-users-digest V1 #2 Reply-To: sc-users Sender: owner-sc-users-digest@lists.io.com Errors-To: owner-sc-users-digest@lists.io.com Precedence: bulk sc-users-digest Wednesday, July 8 1998 Volume 01 : Number 002 ---------------------------------------------------------------------- Date: Thu, 11 Jun 1998 23:08:06 -0700 From: James McCartney <---@---.---> Subject: scheduling I prefer to answer this question later, since scheduling is not in its final state in SC2 at the moment. Any info I give now will not work in the version you have and will probably change anyway. >I am still learning SC, starting with the SC2 beta, and I don't understand >using a score file to schedule events. Part of the answer must be in >McCartney's earlier post (below) but I still don't get it... > >Say I have a simple score file of the form... > >[ >[ , ], >... >[ , ] >] > >Could someone provide a short code example that schedules the notes the >recursive "right way" as per below? > >I am sure other beginners will find it useful too... > >thanks! Phil --- james mccartney james@clyde.as.utexas.edu james@lcsaudio.com If you have a PowerMac check out SuperCollider, a real time synth program: http://www.audiosynth.com ------------------------------ Date: Tue, 23 Jun 1998 00:48:46 +0200 From: joel ryan <---@---.---> Subject: re PCM/CIA Dat i/o Does anyone know if there are any PCM/CIA DAT i/o cards planned or available for Mac powerBooks? Could such a card be easily interfaced to to the sound manager and thus to SCollider? j.ryan ............................................................. Joel Ryan STEIM "Studio for Electro-Instrumental Music" Achtergracht 19, 1017 Amsterdam Institute of Sonology Frankfurt Ballet +31 (020) 624-3886 +31 (020) 626-4264 fax ............................................................. ------------------------------ Date: Mon, 22 Jun 1998 22:08:33 -0700 From: Alex Stahl <---@---.---> Subject: Re: re PCM/CIA Dat i/o Emu has a SPDIF PC-Card but it looks like they aren't going to do a Mac driver. But it might not hurt if a lot of people begged them....hint hint >Does anyone know if there >are any PCM/CIA DAT i/o cards >planned or available for Mac powerBooks? > >Could such a card be easily interfaced to >to the sound manager and thus to SCollider? >j.ryan > >............................................................. > Joel Ryan > STEIM "Studio for Electro-Instrumental Music" > Achtergracht 19, 1017 Amsterdam > Institute of Sonology Frankfurt Ballet > +31 (020) 624-3886 > +31 (020) 626-4264 fax >............................................................. ------------------------------ Date: Tue, 23 Jun 1998 18:04:25 +1000 From: garth@creativeaccess.com.au (Garth Paine) Subject: Lexicon card Does anyone know anything about the upcoming Lexicon digital audio PCI card? Will it interface with SC2? Cheers, Garth See information about my new immersive interactive sound installation at http://creativeaccess.com.au/~garth/Map1/MaP1_Sound_Installation.html << >< >> . Composer, Sound Designer .. Interactives Designer ... Interactive Installation Artist .... Exhibition Consultant http://www.creativeaccess.com.au/~garth << >< >> ------------------------------ Date: Tue, 23 Jun 1998 03:27:39 -0600 From: antiorp@tezcat.com (=cw4t7abs) Subject: Re: Lexicon card >Does anyone know anything about the upcoming Lexicon digital audio PCI card? > >Will it interface with SC2? jas. + w!ll u+ur small kompan+e rekuezt publ!k ass!ztansz 4 dze purchasz ov dze kard - !f dze state of flor!da w!ll not donate +? >See information about my new immersive interactive sound installation at >http://creativeaccess.com.au/~garth/Map1/MaP1_Sound_Installation.html > ><< >< >> >. Composer, Sound Designer >.. Interactives Designer >... Interactive Installation Artist >.... Exhibition Consultant >http://www.creativeaccess.com.au/~garth ><< >< >> >See information about mymymymymymymymymymymymy newnewnewnewnewnewnewnewnew immersiveimmersiveimmersiveimmersiveimmersiveimmersive interactiveinteractiveinteractiveinteractiveinteractiveinteractiveinteractive effekt +? pozer krapmaTTr. ke!word fezt 4 1 unevntful konglomerate -> humanz dze krapmaTTr 1 regardz az aRt. ------------------------------ Date: Tue, 23 Jun 1998 12:25:50 +0200 From: jreydel@hol.fr Subject: Re: re PCM/CIA Dat i/o >Emu has a SPDIF PC-Card but it looks like they aren't going to do a Mac >driver. >But it might not hurt if a lot of people begged them....hint hint > >>Does anyone know if there >>are any PCM/CIA DAT i/o cards >>planned or available for Mac powerBooks? >> >>Could such a card be easily interfaced to >>to the sound manager and thus to SCollider? >>j.ryan >> >>............................................................. >> Joel Ryan >> STEIM "Studio for Electro-Instrumental Music" >> Achtergracht 19, 1017 Amsterdam >> Institute of Sonology Frankfurt Ballet >> +31 (020) 624-3886 >> +31 (020) 626-4264 fax >>............................................................. Also, Digigram is about to demonstrate their PCXpocket PCMCIA card with drivers for the Macintosh at IBC in Amsterdam and AES in San Francisco, late September. For technical specifications, go and see: http://www.digigram.com/products/pocketad.html Regards, Jean ------------------------------ Date: Tue, 23 Jun 1998 08:27:00 -0700 From: James McCartney <---@---.---> Subject: Re: Lexicon card At 1:04 AM -0700 6/23/98, Garth Paine wrote: >Does anyone know anything about the upcoming Lexicon digital audio PCI card? > >Will it interface with SC2? > The first cards supported will be a Korg 1212 I/O and the Sonorus card. Apple made some noise a while back about a generic multichannel card API. It is really too bad it hasn't happened. Supporting every card that comes out is a pain because they're all pretty different on the inside and the interrupt level stuff is always the hardest to debug. And that is only if you get over the reluctance some manufs have to give out the specs in the first place. If they had to write to a common API it would eliminate every sound app programmer from having to reinvent the wheel each time. --- james mccartney james@clyde.as.utexas.edu james@lcsaudio.com If you have a PowerMac check out SuperCollider, a real time synth program: http://www.audiosynth.com ------------------------------ Date: Tue, 23 Jun 1998 17:48:20 +0200 From: laurson@siba.fi (Mikael Laurson) Subject: SC2d18 >>(1) If I give in Finder SC a very large memory partition (say over 40 megs) >>SC refuses occasionally to quit. >What machine, system, etc..? G3 PowerMac/266hhz/System 8.0 >Can you email me the sound file to check this on? I send the sample (String Orch Sus f A#2 LP) to: james@clyde.as.utexas.edu I hope this your email address? >What is the value you get from sustainLoopEnd and what is the >correct value? In the following examples the first one uses a sustainLoopEnd value from Alchemy (124969): (var sample; w = SoundFile.new; w.read("SCII disc#1:Samples:Strings:String Orchestra:String Orch Sus f A#2 LP", 0); w.sustainLoopEnd.postln; sample = (w.data.at(0)); Synth.play (Samp.ar(sample, 1, 0, w.sustainLoopStart, 124969)) ) and the second one uses a sustainLoopEnd value from the sustainLoopEnd method (which returns 65536): (var sample; w = SoundFile.new; w.read("SCII disc#1:Samples:Strings:String Orchestra:String Orch Sus f A#2 LP", 0); w.sustainLoopEnd.postln; sample = (w.data.at(0)); Synth.play (Samp.ar(sample, 1, 0, w.sustainLoopStart, w.sustainLoopEnd)) ) The first one works correctly while the second one produces a click while looping. >If you parameterize a unit generator with a constant value, then >you cannot change it later. In order to have a changing value, >you need to use ControlIn. You can use a Ref object whose value is >a Float as the source for the ControlIn. Then you can change the value >in the Ref programmatically. Fine, this works perfectly. How about continuous control? Say that I would like to trigger a short vibrato after each excitation. What it the best way to realise this? I used a sub Spawn (inside the main Spawn) with a fast nextTime and polled a SinOsc inside the sub Spawn and changed the Ref each time the sub Spawn was looping. (Actually this scheme seems to work pretty well.) Is there a better (more efficient) way to trigger continuous control information from the main Spawn? Mikael ================================ Mikael Laurson Hollantilaisentie 1 A 2 00300 Helsinki 33 Finland E-mail: laurson@siba.fi ================================ ------------------------------ Date: Sat, 27 Jun 1998 01:10:48 +0000 From: Andrew Brown <---@---.---> Subject: SC2d18 on Powerbook 1400 SC2 is still grinding the powerbook to a snails pace due either to small audio buffer size (possible bug) or constant polling of headphone jack (Apple problem?). Somehow SC1 worked just fine on these machines, is there any chance SC2 can be made to as well? Cheers, Andrew Brown ------------------------------ Date: Sun, 28 Jun 1998 18:16:33 +0000 From: mary <---@---.---> Subject: Programming Question Dear James, I have have spent some time getting to know supercollider but I have been unable to do the following. I would like to play a list of freq, such as 300HZ, 400Hz, 500Hz and 600Hz with the arp filter instead of randomly generating frequencies. How is this done? Thank you very much for your time. Mary ------------------------------ Date: Mon, 29 Jun 1998 10:31:31 -0500 From: Philip Galanter <---@---.---> Subject: Why won't this compile? (Schedule score file events the right way...) Earlier I had asked about scheduling events from an arbitrarily long score file. I have some code that I think _should_ work (a simpler version that just reads and posts score file lines works fine) but it won't compile and I can't figure out why... So any general comments are welcome, but a syntax clue would be a big help! The score file looks like this: .25 60 .50 61 .75 62 ... 200.25 71 200.50 70 time delay and midi note _in time sorted order_... Here is the SC1.X code...which is a modified example... Thanks for any help! Phil - -- FM instrument with a score that's read in from a file. - -- defaudioout L, R; deftable tabl1, env1, env2; var fileID; - -- The start function calls the score reading function. - -- start { var name; - -- Open score file name = getStringFromUser("Macintosh HD:score", "Select a score file."); fileID = fopen(name, "r"); - -- Load up scheduler until almost full (2 * 250) and then - -- refill by half via recursive calls read_score; read_score; } - -- - -- MODIFIED VERSION by Philip Galanter - -- - -- Read _sorted_ score file, schedule 250 events, then schedule the - -- score reader again. - -- read_score { var line, start, note, icount; line = []; icount = 0; line = freadlist(fileID); while ( ( icount < 250 ) && ( line != 0 )) do # start note = line; [start, 'fm_instr, .1, note, 1, 1 ].sched; line = freadlist(fileID); icount = icount + 1; end.while; if ( icount == 250 ) then [start, thisFunc].sched; end.if; } - -- The FM instrument must be changed to accept a list of arguments - -- fm_instr { arg args; var duration, pitch, index, ratio, osc, i_env, a_env, hz, lfo; -- Read the argument list into the parameters -- with a multiple assignment. # duration pitch index ratio = args; -- Convert the pitch to Hz. hz = pitch.midicps; -- Unit generator instance creation -- (same as in previous examples). osc = Aposcil(hz, hz * ratio, 0); a_env = Ktransient(env1, duration, 0.8, 0, `dspRemove); i_env = Ktransient(env2, duration, index, 0, `dspRemove); lfo = Psinosc(0.2, 0); -- DSP Loop. { (osc.value(\, \, i_env.value) *! a_env.value).pan2out(lfo.value, L, R) }.dspAdd; } =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Philip Galanter New York University phone: 212-998-3041 Associate Director 251 Mercer fax: 212-995-4120 for Arts Technology New York, NY 10012 internet: galanter@nyu.edu N Y U A c a d e m i c C o m p u t i n g F a c i l i t y Info, resources, art gallery, and more... http://www.nyu.edu/atg/ ------------------------------ Date: Mon, 29 Jun 1998 14:26:45 -0700 From: James McCartney <---@---.---> Subject: Re: Why won't this compile? (Schedule score file events the right way...) The syntax errors are: > [start, 'fm_instr, .1, note, 1, 1 ].sched; ^ this should be a back quote ` also you must write a zero before a decimal point, so it should be 0.1 above. --- james mccartney james@clyde.as.utexas.edu james@lcsaudio.com If you have a PowerMac check out SuperCollider, a real time synth program: http://www.audiosynth.com ------------------------------ Date: Mon, 29 Jun 1998 15:36:30 -0700 From: James McCartney <---@---.---> Subject: Re: Programming Question At 11:16 AM -0700 6/28/98, mary wrote: >Dear James, > >I have have spent some time getting to know supercollider but I have >been unable to do the following. I would like to play a list of freq, >such as 300HZ, 400Hz, 500Hz and 600Hz with the arp filter instead of >randomly generating frequencies. How is this done? I don;t know what you mean by arp filter. Give me more details. --- james mccartney james@clyde.as.utexas.edu james@lcsaudio.com If you have a PowerMac check out SuperCollider, a real time synth program: http://www.audiosynth.com ------------------------------ Date: Tue, 30 Jun 1998 10:15:38 -0700 From: James McCartney <---@---.---> Subject: Re: Programming Question At 11:16 AM -0700 6/28/98, mary wrote: >Dear James, > >I have have spent some time getting to know supercollider but I have >been unable to do the following. I would like to play a list of freq, >such as 300HZ, 400Hz, 500Hz and 600Hz with the arp filter instead of >randomly generating frequencies. How is this done? > >Thank you very much for your time. >Mary Here's one possibility taking the Arlpf example: defaudioin Lin Rin; defaudioout L R; deftable t1 e1 e2; defdelay d1(0.4) d2(0.4); var freqlist, count=0; init { freqlist = [300, 400, 500, 600, 700, 800, 900]; } start { value ({ instr1; [1.3 thisFunc].sched; }); fx; } instr1 { Q = mouseY/10 + 1.0; freq = freqlist @@ count; count = count + 1; cfreq = freq * (1.0 rand: 24.0); osc1 = Acoscili(t1, freq, 1.0.rand); filt1 = Arlpf(freq, 0.5); env1 = Atransient(e1, 7, 0.02, 0.0, `dspRemove); env2 = Knoise1(1.0 rand: 4.0, cfreq); chan = [L R].choose; { (filt1.(osc1., cfreq + env2., Q) *! env1.).out(chan).out(d1); }.dspAdd(1); } fx { { (tapi(d1, 0.1) *! 0.6).out(L).out(R).out(d1); }.dspAdd(2); } --- james mccartney james@clyde.as.utexas.edu james@lcsaudio.com If you have a PowerMac check out SuperCollider, a real time synth program: http://www.audiosynth.com ------------------------------ Date: Tue, 30 Jun 1998 13:40:39 -0400 (EDT) From: David Crandall <---@---.---> Subject: compatible soundcards Apologies for multiple postings, I'll try to keep it short. I'm thinking of getting a multichannel soundcard for my PM 7600 and want to find one that will work with everything. I currently use Pro Tools software as well as SuperCollider, and will probably upgrade Max to 3.5.9/MSP relatively soon. My minimum need is 4 channels of I/O so I can at least print stereo effects back to Pro Tools, although more channels would be great. Another consideration of course is latency; a faster 4-channel beating out an 8-channel with greater latency. I'm also thinking of getting a G3 PowerBook and migrating the whole setup to that, so if there are products that will do what I need on that platform, I might hold off till then. Reply to the list or privately, as you wish. Thanks, David Crandall dcrand1@gl.umbc.edu ------------------------------ Date: Tue, 30 Jun 1998 13:30:25 -0700 From: Alex Stahl <---@---.---> Subject: Re: compatible soundcards The Korg 1212 is the only multichannel card currently supported by both sc and msp. *Maybe* it could work on a powerbook with a pci expansion chassis. I don't think there are any multichannel pc cards for the powerbooks. >Apologies for multiple postings, I'll try to keep it short. > >I'm thinking of getting a multichannel soundcard for my PM 7600 and want >to find one that will work with everything. I currently use Pro Tools >software as well as SuperCollider, and will probably upgrade Max to >3.5.9/MSP relatively soon. My minimum need is 4 channels of I/O so I can >at least print stereo effects back to Pro Tools, although more channels >would be great. Another consideration of course is latency; a faster >4-channel beating out an 8-channel with greater latency. > >I'm also thinking of getting a G3 PowerBook and migrating the whole setup >to that, so if there are products that will do what I need on that >platform, I might hold off till then. > >Reply to the list or privately, as you wish. > >Thanks, > >David Crandall >dcrand1@gl.umbc.edu ------------------------------ Date: Tue, 30 Jun 1998 17:36:23 +0000 From: mary <---@---.---> Subject: Re: Programming Question Thank you very much James. It does indeed work. Now my only question is - is version 2 almost ready. I just love SC esp the new filters, and I can't wait to be able to play and save them. Mary ------------------------------ Date: Tue, 30 Jun 1998 17:39:17 -0400 (EDT) From: David Crandall <---@---.---> Subject: Re: compatible soundcards On Tue, 30 Jun 1998, Alex Stahl wrote: > The Korg 1212 is the only multichannel card currently supported by both sc > and msp. > *Maybe* it could work on a powerbook with a pci expansion chassis. I don't > think > there are any multichannel pc cards for the powerbooks. Thanks for the quick reply. Is anyone trying the expansion-chassis solution? And does anyone know if the 1212 works with Pro Tools (4)? I think it does work with Deck II, but I prefer PT, since I can transfer files straight to the machines at work... dc ------------------------------ Date: Tue, 30 Jun 1998 22:59:07 -0700 From: "Thomas Miley" <---@---.---> Subject: new lease on sc2d18 life? Dear James, Once again we approach the hour when SC 2 demos become pumpkins - any chance we can get another time extension? Also, is there a reason why xline.kr's don't accept negative to positive numbers and vice versa? Thanks! Thomas Miley ------------------------------ Date: Wed, 1 Jul 1998 17:33:22 +1000 From: garth@creativeaccess.com.au (Garth Paine) Subject: Re: Programming Question Hi James, in my last email with you, you said I could start different processes by assigning them a MIDI not number and a volume. How do I do this? Cheers, Garth See information about my new immersive interactive sound installation at http://creativeaccess.com.au/~garth/Map1/MaP1_Sound_Installation.html << >< >> . Composer, Sound Designer .. Interactives Designer ... Interactive Installation Artist .... Exhibition Consultant http://www.creativeaccess.com.au/~garth << >< >> ------------------------------ Date: Wed, 1 Jul 1998 11:00:09 +0200 (MET DST) From: Hans Tutschku <---@---.---> Subject: Re: compatible soundcards >On Tue, 30 Jun 1998, Alex Stahl wrote: > >> The Korg 1212 is the only multichannel card currently supported by both sc >> and msp. >> *Maybe* it could work on a powerbook with a pci expansion chassis. I don't >> think >> there are any multichannel pc cards for the powerbooks. > >Thanks for the quick reply. Is anyone trying the expansion-chassis >solution? And does anyone know if the 1212 works with Pro Tools (4)? I >think it does work with Deck II, but I prefer PT, since I can transfer >files straight to the machines at work... > >dc 1212 does not work with Protools (4) Hans ------------------------------ Date: Wed, 1 Jul 1998 15:04:40 +0200 From: Ioannis Zannos <---@---.---> Subject: Re: compatible soundcards >>On Tue, 30 Jun 1998, Alex Stahl wrote: >> >>> The Korg 1212 is the only multichannel card currently supported by both sc >>> and msp. >>> *Maybe* it could work on a powerbook with a pci expansion chassis. I don't >>> think >>> there are any multichannel pc cards for the powerbooks. >> >>Thanks for the quick reply. Is anyone trying the expansion-chassis >>solution? And does anyone know if the 1212 works with Pro Tools (4)? I >>think it does work with Deck II, but I prefer PT, since I can transfer >>files straight to the machines at work... >> >>dc > >1212 does not work with Protools (4) > >Hans If Korg 1212 uses only SPDIF as digital multichannel I/O (citing from memory here ... look up the Korg site on www) then you will have to use an SPDIF to AES-EBU converter to interface to Protools. In fact I am myself considering to attempt this solution, since MOTU24 has apparently appeared in Germany (where I live) but there is no concrete info about its compatibility or not with SC (NOTE: MOTU24 does both AES-EBU and SPDIF I/O !). If any people in this list have experience with this problem and can recommend converters, please help! I will post on the topic as soon as I find out more info. Best Iannis Ioannis Zannos Staatliches Institut fuer Musikforschung Tiergartenstr. 1, D-10785 Berlin, Germany Tel: +49 30 25481140 Fax: +49 30 25481172 ------------------------------ Date: Wed, 1 Jul 1998 08:37:38 -0700 From: James McCartney <---@---.---> Subject: Re: new lease on sc2d18 life? At 10:59 PM -0700 6/30/98, Thomas Miley wrote: >Dear James, > >Once again we approach the hour when SC 2 demos become pumpkins - any >chance we can get another time extension? I will try to get one up asap, but I will miss the deadline by a few days. You can set your date back to sometime in June and it will continue to work. >Also, is there a reason why >xline.kr's don't accept negative to positive numbers and vice versa? XLine works via natural exponential growth and decay. You cannot naturally exponentially grow from a negative to a positive number or vice versa. That is there is no positive number which you can repeatedly multiply by the starting value to arrive at the ending value. You can acheive what you want by three methods. The easiest is to use the add input to add an offset to the XLine output. This is essentially what happens in the following two methods. You can use EnvGen to generate exponential curves of any curvature between any two values. You could also use a Lag on some square pulse. --- james mccartney james@clyde.as.utexas.edu james@lcsaudio.com If you have a PowerMac check out SuperCollider, a real time synth program: http://www.audiosynth.com ------------------------------ Date: Wed, 1 Jul 1998 16:23:41 +0200 (MET DST) From: Hans Tutschku <---@---.---> Subject: Re: compatible soundcards >If Korg 1212 uses only SPDIF as digital multichannel I/O >(citing from memory here ... look up the Korg site on www) >then you will have to use an SPDIF to AES-EBU converter >to interface to Protools. In fact I am myself considering >to attempt this solution, since MOTU24 has apparently >appeared in Germany (where I live) but there is >no concrete info about its compatibility or not with SC >(NOTE: MOTU24 does both AES-EBU and SPDIF I/O !). > >If any people in this list have experience with this >problem and can recommend converters, please help! > >I will post on the topic as soon as I find out more info. > >Best >Iannis If I understand the former question right - it was about to be able to play and to record into protools thru the 1212 card. This is not possible, because protools in not accessing other cards then digidesign products. Hans ------------------------------ Date: Wed, 1 Jul 1998 08:36:51 -0700 From: Alex Stahl <---@---.---> Subject: Re: compatible soundcards >If Korg 1212 uses only SPDIF as digital multichannel I/O >(citing from memory here ... look up the Korg site on www) No, it uses SPDIF for 2-channel and ADAT optical for 8-channel. >If any people in this list have experience with this >problem and can recommend converters, please help! I think Otari makes a 24-channel AES/SPDIF/TDIF/ADAT/younameit converter. ------------------------------ Date: Wed, 1 Jul 1998 11:56:26 EDT From: NO40@aol.com Subject: Re: Simple Morph App. Hello SC Users, I am not very experienced with SC and only have the Demo. I want to make a simple morphing app that would look at two sound files and replace samples from the second to the first. Starting with one sample then two samples then three, etc., and alternating from sound file to sound file, at a definable rate, until the "fade" is complete. I do not really know where to start. Any advise? Thanks Eoin Russell ------------------------------ Date: Thu, 2 Jul 1998 11:01:41 +1000 From: NIGEL FRAYNE <---@---.---> Subject: Re: compatible soundcards SNIP... >If I understand the former question right - it was about to be able to play > and to record into protools thru the 1212 card. This is not possible, because >protools in not accessing other cards then digidesign products. > >Hans Can't one use the sound manager driver under ProMix? Sorry for unrelated SC thread. NF. _________________________ NIGEL FRAYNE nfrayne@netspace.net.au _________________________ ------------------------------ Date: Thu, 2 Jul 1998 10:16:51 -0700 From: James McCartney <---@---.---> Subject: Re: Programming Question At 12:33 AM -0700 7/1/98, Garth Paine wrote: >Hi James, > >in my last email with you, you said I could start different processes by >assigning them a MIDI not number and a volume. How do I do this? I have not had a chance to test the Voicer class yet. --- james mccartney james@clyde.as.utexas.edu james@lcsaudio.com If you have a PowerMac check out SuperCollider, a real time synth program: http://www.audiosynth.com ------------------------------ Date: Mon, 6 Jul 1998 10:57:17 +0200 (MET DST) From: Hans Tutschku <---@---.---> Subject: Re: Simple Morph App. >Hello SC Users, > I am not very experienced with SC and only have the Demo. I want >to make a >simple morphing app that would look at two sound files and replace samples >from the second to the first. Starting with one sample then two samples then >three, etc., and alternating from sound file to sound file, at a definable >rate, until the "fade" is complete. I do not really know where to start. Any >advise? >Thanks >Eoin Russell you can't make a morph between two sounds by replacing samples. you would introduce a lot of clics. Hans ------------------------------ Date: Mon, 6 Jul 1998 11:27:03 +0200 From: Ioannis Zannos <---@---.---> Subject: Re: Simple Morph App. >>Hello SC Users, >> I am not very experienced with SC and only have the Demo. I want >>to make a >>simple morphing app that would look at two sound files and replace samples >>from the second to the first. Starting with one sample then two samples then >>three, etc., and alternating from sound file to sound file, at a definable >>rate, until the "fade" is complete. I do not really know where to start. Any >>advise? >>Thanks >>Eoin Russell > >you can't make a morph between two sounds by replacing samples. you would >introduce >a lot of clics. > >Hans On the other hand, perhaps what Eoin is describing is rather a kind of cross-fade? Look at Avoscili and Avcoscili (SC Version 1.x). Maybe they are close to what you are looking for. Iannis. ------------------------------ Date: Mon, 06 Jul 1998 17:35:18 -0400 From: Habies <---@---.---> Subject: Re: Simple Morph App. > >Hello SC Users, > >I am not very experienced with SC and only have the Demo. I want > >to make a simple morphing app that would look at two sound files and > >replace samples from the second to the first. Starting with one sample then > >two samples then three, etc., and alternating from sound file to sound > >file, at a definable rate, until the "fade" is complete. I do not really > >know where to start. > > Any advise? > >Thanks > >Eoin Russell > try argeiophontes lyre at: ftp://music.calarts.edu/pub/akira/ it might not do exactly what you want but there is a module in it that swaps chunks from files ------------------------------ Date: Wed, 8 Jul 1998 03:00:29 +0200 From: joel ryan <---@---.---> Subject: G3 Powerbook and SC Does anyone have any experience with using a new G3 Powerbook for audio? I would take a chance getting one sooner if I had any encouragement. A chance, since the noise in the previous portables [and current lack of digital out till the PCMCIA cards get sound manager support] makes me hesitate. STEIM made a test of the sound outputs of three 3400s and in two found identical audible peaks in the noise spectrum (the oldest rev. was much quieter). jr ............................................................. Joel Ryan STEIM "Studio for Electro-Instrumental Music" Achtergracht 19, 1017 Amsterdam Institute of Sonology Frankfurt Ballet +31 (020) 624-3886 +31 (020) 626-4264 fax ............................................................. * I'll be in California from 14July to 18August NY till 27 August. Email to the same .nl address. ------------------------------ Date: Tue, 7 Jul 1998 23:18:16 -0400 From: k-taro terasaki <---@---.---> Subject: Re: G3 Powerbook and SC Hi Joel, >I would take a chance getting one sooner >if I had any encouragement. >A chance, since the noise in the previous portables >[and current lack of digital out >till the PCMCIA cards get sound manager support] >makes me hesitate. In my opinion, new G3 PowerBooks have the best sound quality ever! (Are you dropping by New York this summer?) _________________ Keitaro Terasaki k-taro@interport.net ------------------------------ Date: Wed, 08 Jul 1998 14:38:50 -0400 From: Philip Galanter <---@---.---> Subject: Example of scheduling events from a score file in SC 1.x Hi all. At one point I was asking about scheduling events "the right way" from a long score file...i.e. a file with more events than the 512 event limit in the SC 1.x event buffer. Based on a hint from James I modified one of Steven Pope's examples and came up with something that I think works fairly well. It may be obvious to some, but it sure wasn't to me at first. James will be posting the example code and score file as: ftp://www.audiosynth.com//pub/patches/galanter.sea.hqx The example is a general structure that keeps the score file reading/parsing, event scheduling, and instrument definition distinct. Also all of the hard work of reading the score file is done before any of the real-time audio starts, and the events are prepacked and (almost) ready to schedule...this should keep the overhead low while scheduling more events in mid-execution. The downside is that the entire score has to be read and fit into memory first...i.e. the score file is not read on the fly... Any comments would be most welcome as I am still learning SC!!! Also, I have no idea as to how any of this will or won't correspond to doing something similar in SC 2.x. Phil p.s. the score is just for testing, not aesthetic appreciation! =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Philip Galanter New York University phone: 212-998-3041 Associate Director 251 Mercer fax: 212-995-4120 for Arts Technology New York, NY 10012 internet: galanter@nyu.edu N Y U A c a d e m i c C o m p u t i n g F a c i l i t y Info, resources, art gallery, and more... http://www.nyu.edu/atg/ ------------------------------ Date: Wed, 8 Jul 1998 15:27:49 -0700 From: James McCartney <---@---.---> Subject: Re: Example of scheduling events from a score file in SC 1.x >sched_score { > > var delay, icount, event; > > for i=0; i<250; i=i+1; do > > event = removeAt( score_list, 0 ); > if ( size( event ) < 1 ) then break; end.if; > > delay = ( (event @ 0) - now ); -- .sched will use first >parameter as the > replace(event, 0, delay); -- amount of delay. The >delay is the > event.sched; -- start time adjusted by >the current time. > > end.for; > > if ( size( score_list ) > 250 ) then > > [delay, thisFunc].sched; > > end.if; > >} This is not a good way. It's my fault for not answering this sooner. You only ever need to have one event scheduled at a time. Assume that the event list has been built and consists of an array of arrays whose first value is the absolute time, second is an instrument number. The event list is assumed to be time sorted. A global variable orc is an array of instrument functions. These functions are called with the values from the event as arguments. var orc; play_events { var event, index = 0, time, prevTime = 0, deltaTime; value({ event = score_list.at(index); -- get the event time = event.at(0); deltaTime = event.at(0) - prevTime; -- calc delta time prevTime = time; instr = orc.at(event.at(1)); -- get instrument func instr.valueList(event); -- call instrument index = index + 1; -- incr score position -- schedule this function for the next event if index < score_list.size then [deltaTime, thisFunc].sched; end.if }); } --- james mccartney james@clyde.as.utexas.edu james@lcsaudio.com If you have a PowerMac check out SuperCollider, a real time synth program: http://www.audiosynth.com ------------------------------ Date: Wed, 8 Jul 1998 15:37:35 -0700 From: James McCartney <---@---.---> Subject: Re: Example of scheduling events from a score file in SC 1.x A better written version because I declare the variables where they are needed and in the proper scope : var score, orc; play_events { var index = 0, prevTime = 0; -- this context is crucial to how this works -- index and prevTime are the state preserved across scheduled -- calls to the following function value({ var event, time, deltaTime, instr; event = score.at(index); -- get the event time = event.at(0); -- time is the first field deltaTime = time - prevTime; -- calc delta time prevTime = time; -- remember this time instr = orc.at(event.at(1)); -- get instrument func instr.valueList(event); -- call instrument index = index + 1; -- incr score position -- if not at end of score if index < score_list.size then -- schedule this function for the next event [deltaTime, thisFunc].sched; end.if }); } --- james mccartney james@clyde.as.utexas.edu james@lcsaudio.com If you have a PowerMac check out SuperCollider, a real time synth program: http://www.audiosynth.com ------------------------------ Date: Wed, 08 Jul 1998 18:03:26 -0400 From: Philip Galanter <---@---.---> Subject: Re: Example of scheduling events from a score file in SC 1.x James, I think I understand how your routine works, but I am not sure I understand why it is better...maybe that means I don't really understand how your routine works after all! Is this a question of style or is there something inherently error prone or resource consumptive about scheduling 250 events at at time? My concern about scheduling only one event at a time was this...what if there are a bunch of "simultaneous" events? My thinking was that keeping the event buffer fairly full would allow events closely spaced in time to be started as quickly as possible, and that the code to add new events would be executed later when there were spare cycles available to do so... Of course I don't know whats really going on internally... I know you are busy pushing ahead on V2.0...but I really do appreciate your answers as time allows...processing score files is critical to a video I am trying to finish... thanks! Phil =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Philip Galanter New York University phone: 212-998-3041 Associate Director 251 Mercer fax: 212-995-4120 for Arts Technology New York, NY 10012 internet: galanter@nyu.edu N Y U A c a d e m i c C o m p u t i n g F a c i l i t y Info, resources, art gallery, and more... http://www.nyu.edu/atg/ ------------------------------ Date: Wed, 8 Jul 1998 18:48:33 -0700 From: James McCartney <---@---.---> Subject: Re: Example of scheduling events from a score file in SC 1.x At 3:03 PM -0700 7/8/98, Philip Galanter wrote: >James, I think I understand how your routine works, but I am not sure I >understand why it is better...maybe that means I don't really understand >how your routine works after all! > >Is this a question of style or is there something inherently error prone or >resource consumptive about scheduling 250 events at at time? > >My concern about scheduling only one event at a time was this...what if >there are a bunch of "simultaneous" events? > >My thinking was that keeping the event buffer fairly full would allow >events closely spaced in time to be started as quickly as possible, and >that the code to add new events would be executed later when there were >spare cycles available to do so... > >Of course I don't know whats really going on internally... It is better to have a lot of short pauses than a few really big ones. The idea in real time stuff is to be as incremental as possible. What if closely spaced events happen to fall around event #250 ? There is going to be a lot more overhead from building the synth voices that there is in that scheduling loop anyway. --- james mccartney james@clyde.as.utexas.edu james@lcsaudio.com If you have a PowerMac check out SuperCollider, a real time synth program: http://www.audiosynth.com ------------------------------ Date: Wed, 08 Jul 1998 23:48:31 -0500 From: Philip Galanter <---@---.---> Subject: Re: Example of scheduling events from a score file in SC 1.x >At 3:03 PM -0700 7/8/98, Philip Galanter wrote: ... >>My concern about scheduling only one event at a time was this...what if >>there are a bunch of "simultaneous" events? >> >>My thinking was that keeping the event buffer fairly full would allow >>events closely spaced in time to be started as quickly as possible, and >>that the code to add new events would be executed later when there were >>spare cycles available to do so... >> >>Of course I don't know whats really going on internally... > >It is better to have a lot of short pauses than a few really big ones. >The idea in real time stuff is to be as incremental as possible. >What if closely spaced events happen to fall around event #250 ? >There is going to be a lot more overhead from building the synth >voices that there is in that scheduling loop anyway. > > > --- james mccartney james@clyde.as.utexas.edu james@lcsaudio.com In my version there is always a minimum of 250 events in the queue...its always kept at least half full, so closely spaced events in reasonable numbers will always be already scheduled and ready to go. I guess this boils down to a question as to how SC divides its time among tasks. I assumed that the scheduler would have a priority second only to the DSP engine, and would spawn multiple tasks timesharing at a third priority. This way a long running routine scheduling events for the "distant future" wouldn't get in the way of starting or executing near term events. It sounds like that was a bad assumption. Are you saying that when the scheduler starts event N (and calls the corresponding function), it will not be able to start event N+1 until N completes? Also, regarding the time it takes to build a synth voice. Can this be so great that a mix of very simple and very complex patches will result in audible timing jitter? If so, is there a way to measure this and then tweak the starting times when scheduling to compensate for this? thanks again, Phil =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Philip Galanter New York University phone: 212-998-3041 Associate Director 251 Mercer fax: 212-995-4120 for Arts Technology New York, NY 10012 internet: galanter@nyu.edu N Y U A c a d e m i c C o m p u t i n g F a c i l i t y Info, resources, art gallery, and more... http://www.nyu.edu/atg/ ------------------------------ End of sc-users-digest V1 #2 ****************************