SFP

3 December 2004

SFP : Sound File Player -- A Decorator pattern sound file editing system (for sc2)

/code/SC/SFP.sea.hqx

simplest usage:
SFP(":SoundFiles:pathname").play

every SFP object supports the .ar(startTime,endTime) message.

  • SFPPlayer(path) has an actual concrete SoundFile.

other SFP objects play the SFP 'beneath' them and respond to objects on 'top' of them in a transparent manner.

so a SFPSkip object skips its section as though the section was never there, and acts identical to an SFP or any other AbstractSFP subclass.

an SFPLoop can be layered on top of that, and loops as though the sound file had been edited and the skipped section never existed.

  • SFPLoop(sfp,start,end,repeats)
    loops over the section

  • SFPRepeats -
    play till section, repeat the section n times, play till end of file ( will upload soon )

  • SFPSkip(sfp,start,end)
    skips the section

  • SFPClip(sfp,start,end,fadein,fadeout,curvein,curveout )
    plays only this section, with the given fade and curve settings

  • SFPfunc(sfp,function)
    plays the file through a function. this works especially well
    with Patch (sorry, coming soon), which enables complex paramater definitions to be stored to disk.

  • SFPSeq(listOfSFPs)
    plays each of the SFPs in sucession. see also Pattern support below.

skipped=   SFPSkip(
SFPPlayer(":sounds:long_track.aiff"),
start,end);looped = SFPLoop(skipped,loopstart,loopend);tweaked = SFPFunc(looped,tweakFunction);{
// play it from the start
tweaked.ar
}.playortweaked.play(10,30); // play seconds 10 to 30

or

SFPClip.new(
SFPSkip.new(
SFPSkip.new(
SFPPlayer.new(
"HD:Desktop Folder:album:lust.3 idr",
96
),
1.03645e+06,
2.97296e+06
),
2.21946e+06,
2.64668e+06
),
26460,
1.07604e+07,
0.2,
2,
-4,
-4
)

many more are possible... if you build one, let me have it. that's the rule.
ideas:
* effect on just a specified area, (cross) fade in and fade out.
* play one SFP, then crossfade to another during the selected area.
* vari-speed playback
* SFPSilence
* random crossfades over a section
* SFPReplace - replace the section with another sound file
* SFPEfx - add efx during section
* SFPFade - fade up to start, fade down from end
* SFPDip - dip levels during section
* SFPExposeSection - play the section only, otherwise silent
* SFPPlayAt - play the underlying at the section
* SFPSpawner - select sections and launch multiples

  • SFPScramble - random overlaps over underlying
    * SFPLoopTransport - trig on key stroke

GUI


send the .topGui message to your top level SFP object, a FlowLayout will be created and everything put up on the gui.
eventually i will put in a system to hide/expose the guiBody.
I am working with files that have 8 or 9 layers on them, and that stretches to two pages.
(FlowLayout creates new pages when you overflow).

the SFP objects each have a guiClass method that returns its appropriate gui class.
.topGui, .gui and .smallGui can still be sent to the SFP itself, and it will instantiate a guiClass and send the message on to that.

Pattern support


All SFP objects can be placed in patterns!


Prand([
skipped,looped,tweaked
],inf)

each object returns an event that lasts for its duration

also included is SFPSeq(listOfSFPs) which allows sublocating within the list of snd files.

Convienience


Even when not layering or editing, just using SFP to play sound files is very convienient.

SFP(pathName).ar


  • more posts in Super Collider
    • on laptops, controllers, musicianship, post-musicianship

      Sam Pluta published an article about computer based music, information theory and human control: http://www.newmusicbox.org/article.nmbx?id=5614 and then we discussed it and I posted the following to the list, so I wanted to preserve it here because it collects some of my long-standing thoughts and experiences about controllers and live computer based music. sometimes I've gotten a bunch of controllers (a few too many) and then found that it was distracting to the music. instead of it being about music it ...

    • apple goofs up airport update

      The new mac airport update breaks most audio programs. We now get nasty crackling and CPU spikes. Solution: turn airport off when making muzak. or revert the airport update: http://www.ableton.com/forum/viewtopic.php?t=88815&postdays=0&postorder=asc&start=0&sid=63b29a6140f11d35ef1b64db664f3cb5 and the thing is this is the first time in 5 months that my airport has worked with our apartment's WLAN. I've had a cable running down the hall and I can't shut my door. george clinton has two houses : one for music, one for business.

    • how to set up a local svn repository (for SC)

      How to create and maintain a local SVN repository for your private work. If you are just working locally, you don't have to run an svn server at all. Its much easier than I thought. ( this is mainly a post about working with supercollider packages. if you just want to know how to set up a local svn repository then I'll cut to the chase: svn import ~/Documents/SC3docs/felix-imported file:///Users/crucial/svn/sc/trunk/felix -m "initial felix import" then check out a working copy: ...

    • super collider links

      SuperCollider2 runs only on Mac OS9. It is now available for free from http://audiosynth.com SuperCollider3 is open source, and runs on OS X and Linux. http://sourceforge.net/projects/supercollider/ browse CVS tree http://cvs.sourceforge.net/viewcvs.py/supercollider/SuperCollider3/ sc-users mailing list info http://www.create.ucsb.edu/mailman/listinfo/sc-users sc-users archives http://www.create.ucsb.edu/pipermail/sc-users/ http://news.gmane.org/gmane.comp.audio.supercollider.user sc-dev mailing list info http://www.create.ucsb.edu/mailman/listinfo/sc-dev sc-dev archives http://www.create.ucsb.edu/pipermail/sc-dev/ http://del.icio.us/tag/supercollider search sc user lists archives:

    • Full index for Super Collider

Solar Life Raft Ingredients

Timeblind
Format: Digital
Release date: 4th January 2010
Available at
  • coltan and cassiterite Timeblind

The unmixed ingredients from Rupture and Shadetek’s Solar Life Raft. Including two tracks by me: Coltan and Cassiterite and Space Cadet (which came out on last year’s 12” on Version)

I’ve been waiting/yearning for Coltan and Cassiterite to come out for much of last year. I was about to release it myself just to relieve my own tension waiting for it. Anyway, its on a good home: The Agriculture and the reviews have been great so far.

The title refers to two of the minerals that are mined in the Democratic Republic of Congo and are components in portable electronics like cel phones. Its one of the unfortunate driving forces behind continuing warfare among the militias in the Rwanda/DRC border area.

Avail at boomkat: http://➯.ws/⚥ SLR in 320kMP3 and Flac