elastic~ in more detail.
As it looks in Max:

- arguments
- The first argument sets the name of the buffer~ that elastic~ will playback.
- The second (optional) argument defines the number of output channels (1 or 2).
- inlets
- The first inlet (float) controls the speed of playback (0.5 - 2.0), this will not affect the pitch. eg 1 = normal speed, 0.5 = half speed, 2 = double speed.
- The second inlet (float) controls pitch (0.5 - 2.0), this will not affect the speed, eg 1 = normal pitch, 0.5 = down one octave 2 = up one octave.
- The third inlet (float) sets the point (in ms) at which the loop will begin (default: 0).
- The fourth inlet (float) sets the end loop point (default: entire sample length).
- outlets
- The first outlet is the audio output.
- The second outlet is a loop phase output which runs from 0 - 1 (between loopmin and loopmax).
- If running in stereo the second outlet is the right audio output, the third outlet is the loop phase.
- messages
- startloop - start playing from the loopmin point, or from the beginning if no loopmin set
- start 500. - start playing from this ms value
- stop - um, stop playing
- loop $1 - turn loop on or off (if off, then when the loopmax is reached, elastic~ will stop playing)
- livebuffer $1 - enable this if you want to record in to a buffer whilst playing it back through elastic~ at the same time
- extraoctave $1 - enable this to allow pitch-shifting and time-stretching between 0.25 - 4.0 instead of 0.5 - 2.0. The algorhythm is much less efficient at these extremes though so watch your cpu levels!
- set - change the buffer that elastic~ is playing from, eg "set buf1" switches to a buffer named "buf1".
elastic~ can be used with mono or stereo files, at any sample rate.
System requirements
PC (XP or Vista)
Mac (OSX 10.4 or later)
Max/MSP 4.5 or later
Efficiency test
| Model | Pitch 1.0 & Speed 1.0 | Pitch 1.5 & Speed 1.0 | Pitch 2.0 & Speed 1.0 | Pitch 0.7 & Speed 1.0 | Pitch 0.5 & Speed 1.0 | Pitch 1.5 & Speed 0.7 | Pitch 2.0 & Speed 0.5 |
| Macbook Pro Intel Core 2 Duo 2.2GHz | 3% |
3% |
3% |
3-4% |
5-6% |
3% |
4-5% |
Sony VAIO T7100 Dual core 1.8GHz |
4% |
4% |
4% |
4-7% |
7-8% |
4% |
6-8% |
Some demos...
Each mp3 contains a loop at these speed and pitch values (in this order):
| Speed | Pitch |
| 1.0 | 1.0 |
| Speed | Pitch | | | Speed | Pitch | | | Speed | Pitch | | | Speed | Pitch | | | Speed | Pitch | | | Speed | Pitch |
| 1.2 | 1.0 | | | 1.5 | 1.0 | | | 2.0 | 1.0 | | | 0.8 | 1.0 | | | 0.6 | 1.0 | | | 0.5 | 1.0 |
| Speed | Pitch | | | Speed | Pitch | | | Speed | Pitch | | | Speed | Pitch | | | Speed | Pitch | | | Speed | Pitch |
| 1.0 | 1.2 | | | 1.0 | 1.5 | | | 1.0 | 2.0 | | | 1.0 | 0.8 | | | 1.0 | 0.6 | | | 1.0 | 0.5 |
drums
strings
vocals
guitar
doublebass
sax
jazz_(PianoBassDrumsSax)
Licensing Model
The license is a non-commercial 'personal' license. Meaning you are free to make patches for yourself (including gigging with them), but if you want to sell or distribute a patch then we would discuss a commercial license, we are happy to do this on a project by project basis. (The full license terms are included in the download package, feel free to email us if you wish to see a copy before you purchase elastic~).
Version history
elastic~ 1.00
(released 14th July 2008)
elastic~ 1.01
(released 31st July 2008)
- pitch / speed input freezing bug fix
- loopmin and start received before dac on crash fixed
- changing from mono sample to stereo using 2 channel elastic~ crash fixed
