How to Warp Audio (Audio Warp Engine, formerly Vinyl)

This forum is for discussing Reason. Questions, answers, ideas, and opinions... all apply.
Post Reply
User avatar
Raveshaper
Posts: 1089
Joined: 16 Jan 2015

12 Feb 2016

By popular demand, here is the how-to thread on to perform advanced audio warping in Reason 7+ (finally).

There are two ways to do this, but both involve a piece of MIDI hardware.
You need either a pitch wheel (or other control capable of sending pitch bend information), or a MIDI port that can be looped using a short loopback cable.

1. Setup

Install the files on to your system in the following locations:

MAC Instructions
File Link: https://drive.google.com/open?id=0BzrZO ... 1RuTWhNSHc (drag "Raveshaper" folder)
Destination - Macintosh HD\Library\Application Support\Propellerhead Software\Remote\Codecs\Lua Codecs\

File Link: https://drive.google.com/open?id=0BzrZO ... zhjNDU1UXM (drag "Raveshaper" folder)
Destination - Macintosh HD\Library\Application Support\Propellerhead Software\Remote\Maps\

PC Instructions
NOTE: There is no PC formatted release yet, so if this fails to load on your PC, you may need to format the files to FAT32 first before retrying. I do not have the ability to create FAT32 or NTFS versions for use on Windows at this time.

Insure that the files have loaded correctly by starting Reason, then navigating to Reason > Preferences > Control Surfaces > Add...
Locate the Manufacturer "Raveshaper" in the list and confirm that "Audio Warp Engine - Pitch" and "Audio Warp Engine - Tempo" are listed.

If either the manufacturer or the control surface types fail to load, something went wrong during setup or the files are not formatted for use on your PC. Troubleshoot the location of the file(s) and/or their format and retry.

If everything is there, you are ready to get started.

There are many more surfaces included in the folder, but these are the only ones I'll be covering in this instructable.

2. Preparing Sounds for Warping

All sounds must be loaded into a sampler for this method to work.
Load your desired sound into either an NN-XT or an NN-19 and click "Rec Source" for its mix channel.
Create an audio track and select the output of the sampler's mix channel as the stereo source that is to be recorded.

Create a Thor and open the programmer section. Define the following mappings in the Thor's ModBus:

Pitch Bend > 100 > CV Out1
Pitch Bend > 100 > CV Out2
Pitch Bend > 100 > CV Out3

Create a CV Spider Merger and route all three CV signal into the merge section.
Scale CV Merge Input 3 on the spider to a value of 63 using the trim knob on the back.
Route the CV Merge Output to the Pitch Wheel CV Input on the back of the sampler.

It is optional to place the Thor inside a Combinator.

Sounds with a root key of middle C (C 3) will perform best, because there is a maximum pitch bend range of about 5 octaves up or down from middle C. There is less of a range for other notes, so performance will differ based on what key triggers the sample during recording. That's how happy accidents happen, so that's a good thing. Just be aware.

3. External MIDI Instrument (Optional)

If you want to use precise pitch bends created by CV, you can create an External MIDI Instrument and loop them back in over your looped MIDI port, if you have opted to set one up.

Create the External MIDI Instrument and select the MIDI port you have looped. If two ports show up, pick the option that does not include the word "virtual". Place the External MIDI Instrument in a Combinator.

3. Loading Surfaces

Navigate to Reason > Preferences > Control Surfaces > Add...
Load the surface Raveshaper > Audio Warp Engine - Tempo.
Assign the MIDI port of your controller or looped MIDI port.
Lock the surface to the Transport track in the sequencer.

Navigate to Reason > Preferences > Control Surface > Add...
Load the surface Raveshaper > Audio Warp Engine - Pitch.
Assign the same MIDI port as you allocated to Audio Warp Engine - Tempo.
If you created an External MIDI Instrument, lock the surface to its Combinator.
If you placed the Thor inside a Combinator, lock the surface to the Combinator.
If you did not place the Thor inside a Combinator, lock the surface to the Thor directly.

4. Warp Capture

Sequence your notes for the sampler and/or draw in your pitch bend automation.
Please note that pitch bend is multiplied by 2.5 because of the CV routing. This means you will need to use the following formulas to solve for semitones:

Upward Pitch
s = (8191 / 59), multiply this by how many semitones you want to pitch up.

Downward Pitch
s = (-8192 / 60), multiply this by how many semitones you want to pitch down.

Turn loop recording off and arm the audio track by selecting it in sequencer view.
Begin recording the sampler's output to the audio track.
If you have not drawn automation, manipulate your pitch bend control as you record to make distortions manually.

5. Post-Capture Procedures

Disable the automation lane created for tempo under the Transport channel in the sequencer.
Disable any pitch bend automation lane present in the sequencer that is involved in the audio warping process.
Solo the audio track.

For better accuracy at higher playback speeds, right click the audio track and select Stretch and Transpose Type > Vocal.
For best overall accuracy, right click the audio track and select Stretch and Transpose Type > Allround.

6. Results and Further Experiments

What you should hear will seem pretty strange. The audio changes pitch, but retains its original time signature. The higher it gets warped the more metallic and shrieky it gets, and the lower it gets warped the more subsonic and slightly bitcrushed it becomes.

To use the result in your song projects, you should export the audio you just generated by soloing the audio track.
Import the exported audio into your intended song project and stretch the clip to the correct length of time if there is a slight deviation from the grid due to round off errors.

It should be noted that you can repeat this process as many times as you want, and time-based effects like The Echo, Alligator, DDL-1, RV-7000 (tap delay), and LFOs, as well as some resolution-based effects like Scream 4's Digital variation, all can have very cool and unexpected results when captured using this technique.

You can also drive the External MIDI Instrument's pitch wheel using a side chain source or other CV signal.

7. The Technical Side, or How it Works

How this works is a bit hard to grasp, but here is as simple as I can make it.
When a sample is pitched up or down, it appears to change speed because the period of the wave is being either shortened or lengthened. This means it takes less or more time to record that same sound in actual real world elapsed time.
This also means that the tempo of the song project must be adjusted to match that new amount of elapsed time required.

By using a mathematical model that describes the change in speed for a pitched sample, it is possible to calculate the relative speed needed to retain correct tempo information. Notice that I said relative speed, as the default tempo at zero pitch is slightly above 31 BPM.
This is because of the constraints of the available tempo speeds, as well as the maximum pitch range of the samplers.

The mathematical model for tempo is as follows:

32000 * (2^(1/12)) ^ (-60 + ((119.589394103529 / 16383) * ((y * 128) + x)))

Where:
{x = Z|0 <= x <= 127}
{y = Z|0 <= y <= 127}

So the tempos that are used are a bit misleading. The base tempo of ~31 BPM should be consider as "1", or the normal rate of speed for the sample.

Anything above zero pitch should be considered a multiplier of that normal speed as described by the math, topping out at almost 32 times the original speed. When the original playback is multiplied that many times, the relative matching BPM is 999.999 (or 999,999 in the mathematical model).

Anything below zero pitch should be considered a divisor of that normal speed as described by the math, bottoming out at 1/32 the original speed. When the original playback is divided by 32, the relative matching BPM is 1.000 (or 1,000 in the mathematical model).

Because tempo is defined by pitch, when adjustments are made on the pitch control or via CV over External MIDI Instrument, the pitch and the tempo calculation both happen in a near simultaneous manner.

During recording, the internal time stretching algorithm built into Reason tracks the pitched sample's audio data as though it existed in the correct place in time along the sequencer, because tempo is used by the algorithm to calculate the waveform of stretched audio. Instead of stretching an entire audio clip between two points the way it's done normally when editing audio clips, the algorithm is stretching audio between the last change in tempo and the most recent moment that audio was recorded -- during the recording process itself.

If you disable stretching on the audio track, you can see that the audio was still recorded at different speeds, with faster audio looking squished and slower audio looking elongated, but with stretch enabled it tricks Reason into preserving proper timing of the audio overall.

When it comes down to the really intricate bits of why or how this works, I really don't know. That's the domain of Jengstrom and Ludvig Carlsson, and people with that level of involvement. This is the super nerdy equivalent of me saying "whatever, it's got a beat and I can dance to it."

8. Conclusion

This is black magic. What you can do with this is pretty impressive, and it's as easy as being a little patient and letting the capture render itself out while you record. I hope to hear some weird things out there as a result of this technique gaining mainstream attention. I'm sure there are some wizards and virtuoso composers that could really do great stuff with it. I know I will.
:reason: :ignition: :re: :refillpacker: Enhanced by DataBridge v5

Post Reply
  • Information