But first, explanation.
When you crank the pitchbend range of a sampler or an instrument all the way up to 24, the audio in a sampler will play at 1/4th speed when pitched completely down, and 4x speed when pitched completely up. This means that you can calculate a speed in BPM that will match the playback speed of a sample being pitched up or down by writing the following formula:
So if you had a project whose tempo was 132, it would look like this:bpm = min_bpm * ((max_bpm / min_bpm) ^ ((pitch_val / max_pitch))
Or to put more simply:bpm = (132/4) * (((132 * 4) / (132 / 4)) ^ ((pitch_val / 16383))
pitch_val is the value of the pitch bend and can range from 0 to 16383.bpm = 33 * ((528 / 33) ^ ((pitch_val / 16383))
The tempo range as defined above is hard coded inside the codec itself. You will have to edit the values to make your own bpm.
So why are we trying to match the sample playback speed with the BPM? That's the fun part and it's insanely simple to use.
If you record a pitch bending sample at the same speed as its playback, you preserve its information in the time domain.
That is, it will start and end at the same time as it would if it hadn't been pitched up or down. That might sound like no big deal at first, but... it will retain any changes to its pitch that happened along the way. Also, any time-based effects like synchronized wobbles or delays, etc, will distort in the recording to become faster or slower if they don't match the pitch curve.
This process also works on any other type of instrument, but works best on simple synth patches. You can even resample what you resampled to build up crazy sounds that aren't possible in any other way.
Essentially this means that you can resample anything in Reason, giving you the power to extend the creative potential of all sounds already in the rack.
To use this method, you will need to do the following:
- Have a midi controller with physical ports
- Have a midi loopback cable
- Get my codec, attached to this post
- Create the folder "Raveshaper" in Reason's Remote\Codecs\Lua Codecs folder
- Place the files from folder "Codec" in the Vinyl_Codec zip in "Raveshaper"
- Add it to Reason in Preferences > Control Surfaces > Add > Raveshaper > Vinyl
- Create a Combinator
- Right-click the Pitch wheel
- Bind the Raveshaper Vinyl > Vinyl Pitch remote override to the Pitch wheel
- Do not bind anything else
- Place an External Midi Instrument inside the Combinator
- Place an NN-XT, NN-19 or Dr. OctoRex inside the Combinator
- Scale pitch bend range on any sampler patches to 24
- Sequence sustained note(s) to trigger the sample(s) in NN-XT/etc
- Create Audio Track
- Enable "Rec Source" on the Combinator's Mix Channel
- Select the Mix Channel output as the input for the Audio Track
- Use automation or physical control of the pitch bend (consult codec)
- Select Audio Track before pressing Record
- Once audio is resampled, disable pitch bend automation lane of Combinator
- Double-click Stop to reset tempo and hear result.
Audio: Vinyl Codec Demo
Basically, the music is an example of what regular instruments sound like when resampled this way. A lot of meat is added to the waveform, and there's a touch of almost pseudo-analog randomness that happens due to calculation during playback. If you layer the resampled result with the original sound you can get nice phase effects and even super wide stereo through hard panning that works perfectly in mono with no dropouts.
This is incredibly simple and insanely powerful.
I don't think anyone has done this before, but then, someone must have thought of it already.