Note: SpiralLoops isn't being supported any more. This is
because there is now a much better featured spiralloop plugin for
SpiralLoops is an experimental loop based sampler for
Linux or FreeBSD.
The idea of SpiralLoops is to provide a simple, visual
tool for looping and layering of sounds; which can be
sourced from either wav files on disk, or from sound
SpiralLoops allows you to
create loop based compositions with the minimum
feedback time between the decisions you make and your ears.
The looping mechanism is very flexible, you can lock the
timing of loops together, or offset them for creating
complex sequences, such as polyrhythms.
Loop triggers can be used to cause interation between the
loops, and as an expermental way of creating music.
Spiral Synth uses the standard OSS/Free sound
output (/dev/dsp). This should work on ALSA too.
Check out the forum on pawfal for information and discussion, and if you make music with SpiralLoops, or linux in general - register your exisence on the pawfal artists stack.
and tell me what you think, any features you want, or if you
can't get it to work etc etc...
This is one loop window. Click on the picture for an shot of the
whole loops app running.
Unlimited number of loops can be mixed together.
Plugin fuctionality allows different sound generators
to be sampled, or played along with the loops.
Loops can be sped up or slowed down or have
the're length changed as they play.
Each loop has a seperate low pass filter, to
change the dynamics of the sound.
The sample playback can be scratched using the
mouse. This feature can also be used for getting loops
Loop triggers, for building up complex patterns.
Cut, copy, paste between loops.
Hold button replaces the sample with the latest
output, so samples can be progressively mangled.
Output can be rendered in realtime into a Wav file.
Stereo output and panning of samples.
LADSPA plugin support planned, but not yet implemented.
Plugins for SpiralLoops can be sampled into a loop,
or simply played alongside SpiralLoop's output.
(If you just want to layer together wav files,
you won't need any plugins at all)
SpiralSynth. Can be adapted
to work as a plugin, see the README for details.
There is also a smaller version of SpiralSynth specifically designed
as a SpiralLoops plugin. This was written because my machine was
unable to comfortably run the full synth and SpiralLoops
SpiralSynthBaby is a two oscillator synth, and runs
about twice as fast as SpiralSynth.
After building the code, you'll get a file called
SpiralSynthBaby.so which can be loaded by SpiralLoops.
A quick guide to operating SpiralLoops.
|Left Mouse Button ||Selects the region.|
|Middle Mouse Button ||Use over the loop to "scratch" the loop play position.
This isn't really scratching yet, as it doesn't change
the pitch of the sample, this is mostly useful for
syncronising beats by hand.|
|Right Mouse Button ||Rotates the loop, to move the start point.|
|Filter emphasis |
|Filter cutoff |
|Master || Sets this loop to be the master. |
|Update || Shows the play position in the loop (quite slow to process at present)|
|Play || Toggles the loop playback. |
|Magic number || Displays the ratio of play length to master loop play length.|
|Record from plugin |
|Load wav file |
|Double || Doubles the length of the loop.|
|Match || Matches the speed and length of the master loop.|
|Hold || Re-samples the stored loop with the one just played,
this way filter modulation, scratching etc can be
recorded. (not availible during recording)|
|Cut [ctrl-x] || Removes the selected region, and puts it in the copy buffer.|
|Copy [ctrl-c] || Copys the selected region to the copybuffer. |
|Paste [ctrl-v] || Inserts the copybuffer to the region start.|
|Paste Mix [ctrl-b] || Same as paste, except it mixes the copybuffer over the loop.|
|Half [ctrl-h] || Halves the length of the loop. (removes the second half) |
|Zero [ctrl-z] || Zeros the selection.|
|Select All [ctrl-a] || Selects all of the loop. |
|Reverse [ctrl-r] || Reverses current selection.|
|New Trigger[ctrl-t] || Add a new trigger to the loop.|
Loop triggers are an experimental feature to modify playback of your loops,
and create interactions between the loops in a workspace. These interactions
can become very complex, and result in interesting rhythms and compositions.
Basically, triggers are placed on a loop, and will start another loop playing
when they are passed over by the play position (select update to see where this
is on a loop).
Triggers are created by pressing ctrl-t over a loop. They can be moved around
the loop by dragging them with the left mouse button.
Each trigger has two numbers associated with it, the one above the frigger is
the number of the loop that will be started (between 0 and 10) cycle through
the loops with the middle mouse button.
The number to the right of the trigger is the stop-count. This specifies the
number of times the trigger will be passed before stopping the current loop. If
the stop count is zero, the loop won't be stopped. Cycle the stop-count with the
right mouse button.
The best way to find out how triggers work is to have a play with them, they are
a little difficult to explain, but are actually quite simple. With only a few
loops, and a couple of triggers, you can build a fairly interesting rhythm up
that may take a while to fully run through. The best thing is that you can
change the triggers in real time, and hear the effects as you change them.
2.0.0 Sunday 7 May 2001.
Reverb (of sorts)
Sample startpoint altering with right mouse button.
Update works properly now.
Stereo - panning of mono samples.
Reverse sample selection.
General bug fixes.
First release 0.1.0 Saturday 2 December 2000.