Spongefork [8.25.08]
Download Spongefork 3.3.4 (requires Mac OS 10.4+, Java 1.5)

:: overview

:: manual
:: concepts
:: usage
:: midi control
:: all pages

:: concepts

For a great introduction on synthesis and sound in general, I would recommend taking a look at the web text Music and Computers by Phil Burk, Larry Polansky, douglas repetto, Mary Roberts, and Dan Rockmore. It contains many excellent diagrams and examples.

oscillators and wave tables

Spongefork uses variable sized wave table oscillators. A table is data collection that can be looped. If you loop it fast enough, then you get an oscillator. Faboulous. Since this table size is limited by the amount of memory available to SF, samples loaded into them will need to fit in ram.

FM synthesis

Read an overview and history of FM from Music and Computers.

FM stands for frequency modulation and is often associated today with cheesy digital synths like the casios. FM means taking the frequency of an oscillator (carrier) and driving it with the frequency of another oscillator (modulator). Spongefork stretches the original purpose of FM to the extreme. At its simplest, with sine waves loaded into the OSC (carrier) and MOD (modulator) you can achieve a harmless vibrato. By increasing the modulation rate (frequency) and depth (amplitude) you can send that sine wave to the moon. Now if you load a sample into one of the oscillators you can achieve very complex modulations due to the amount and varience of both frequency and amplitude in sample data.

:: usage

Each button or slider has rollover tooltip help to tell you what it is, as well as listing the associated key command in parentheses. For example, the first sine wave button on rollover will report: sine wave OSC (q).

Spongefork is built off the idea of frequency modulated oscillators. With this in mind, OSC refers to the carrier wave and MOD refers to the modulating wave. Dragging in the XY window will change the frequency of both oscillators at the same time. The X axis is mapped to the OSC and the MOD is mapped to the Y. In order to hear the modulation you will need to have the modulation depth slider set above 0.

Frequency range refers to the upper pitch limit. This slider changes its function based on what mode you are playing in. The basic modes are either free pitch, locked to pitch, or play keys.

The playlist is for managing and playing your samples. Samples can be loaded into the OSC and MOD by double or option double clicking the file name or pressing CMD 1 or 2. Files are started, stopped, or looped using the associated button on the right side of the playlist. Files are removed by pressing delete. All of these commands can be done on multiple contiguous selections.

NOTE: Capture to disk, storing presets, and saving playlists are disabled until you unlock Spongefork with a valid registration code.

Input record will capture from your selected sound input device into memory. Once you have recorded some audio, you can use the buttons to load it into the OSC / MOD or save it to file / add it to the play list.

* MIDI CONTROL: Spongefork can now be controlled by external MIDI controllers or through the IAC (inter-application communication) MIDI bus (Mac OS 10.3 and higher). This addition opens up so many new possibilities of ways to use SF in performance, the studio, or by adding automation via applications such as Midifork 2, Max or other sequencers. SF 2.4 is bundled with Midifork 2 which enables a simple way to drive SF or any other MIDI device with tempo based events, modal sequences, additional xy controllers, envelope-based parameter automation, and more. (see screenshot of SF and MF together)

Any slider, frequency, filter, or patch change can be set via the new MIDI preference panel :

Control numbers are easily assigned by either entering the number or by pressing the learn button and moving a controller on your device. Spongefork will automatically grab the assigned number from the event. This makes it extremely easy to set up SF to use your existing MIDI device setup even if you don't know what your controls are set to. In addition to control events, SF can also respond to note on, pitch bend, channel pressure, and patch change. Each of these events are also easily assignable to different SF functions such as modulation depth, filter cutoff, X or Y frequency, and changing SF patches.