Creating new waveforms in Reason

Posted: Fri, 09/05/2008 - 12:56
Source - Propellerheads User Forum - DJFresha and other contributors

Cool

New tip I found a while ago but now willing to share (it's only fair)...

I'm guessing some of you want to be able to flip audio signals upsidedown within Reason to create more waveforms. Well thanks to THOR you can now do that. Found this by mistake (as most of my tricks LOL). Basically use THOR as an effects unit/processor instead of a synth.

1: Create a standard Mixer 14:2 / 6:2, then create another sound module (ie Dr Rex / Maelstrom / Subtractor / NN19 / NNXT / Thor). Load up a preset/sample/rex. Now Shift-create a THOR and initialise the unit (shift-creating disables auto routing of wires). Turn off OSC 1 on filter 1, turn off OSC 1 altogether so you have no waveforms. Turn off Filter 1 so you have a very basic blank THOR now. Turn off DELAY and CHORUS, not needed (just yet). Ok... now flip the rack round, and pull from your first device's outputs to the FX-Thor AUDIO 1 input (from device Left, or Subtractor's mono out). Now route cables from FX-Thor's AUDIO OUT 1 to mixer channel 1 left, then from FX-Thor's AUDIO OUT 2 to mixer channel 2 - this will work for any device. Now... on the FX-Thor's ModMatrix panel go to the SOURCE list for line 1, select AUDIO 1 IN, set the AMOUNT to +100, set DEST as AUDIO OUT 1. Go to line 2 of the ModMatrix, select AUDIO 1 IN, set the amount to -100, set DEST as AUDIO OUT 2. What this is doing is splitting the audio in into 2 signals (like a y-splitter), but the +100 has the audio as normal (say like a saw wave you would see |\|\|\), while the -100 setting inverts the signal (flips it upside down, again using the saw wave example you would get |/|/|/). Now when you play a note on your 1st device you should get silence... why? because |\|\|\ + |/|/|/ = ------ = cancellation. this can be really handy to make some new waveforms. To see what it's done, set up a 1 bar loop and play C3 on 1st device, pan mixer channel 1 to far left, pan mixer channel 2 to far right, then export the loop and take a look at the sample in a Wave editor (get Wavosaur if you haven't got one yet www.wavosaur.com PC only), and you should see the same waveforms but one being a mirror-flipped version of the other. This is how you could create a larger array of waveforms using the same waveforms but flipped version, could create some seriously weird and wonderful sounds using subtractive waveform shaping opposed to simple subtractive eq shaping.. now go try make some new shapes up, export as a wave file, chop in your editor to a single cycle, bring back into Reason, create a sik sik bassline... plenty warpings ahead I predict.

What about just shifting the sound slightly? Well put in a wet DDL onto the inverted signal and use milliseconds to shift the waveform to create even more alternative waveforms, again, bounce out, slice/trim to the cycle of the waveform, put back in... rinse well.. resample.. reuse... keep going till you get a great catalogue of waveforms and new sounds....

Hope this tip helps any of you out there. The old trick of using the Scream 4 Tape distortion nearly does the same, but you do get very slight phase difference, so it's a similar approach with a minute timing factor (doing the same as above with Scream instead of Thor results in a very quiet signal left after the normal waveform takes the distorted flipped waveform). Using Thor's input > flip-one leave-one performs true audio flip within Reason.

Dark...

________________________


Quote:
Originally Posted by djfresha
New tip I found a while ago but now willing to share (it's only fair)...

I'm guessing some of you want to be able to flip audio signals upsidedown within Reason to create more waveforms. Well thanks to THOR you can now do that. Found this by mistake (as most of my tricks LOL). Basically use THOR as an effects unit/processor instead of a synth.
OK, I'm not sure I'm following you, but an inverted waveform sounds exactly like the original (don't mean to insult if you already knew this). Thus, it will not create waveforms that actually sound any different than the originals - if you have done this and can hear a difference, something else is going on! Now, if you combine TWO waveforms and one is inverted, you WILL create a different waveform, just like if you combine two different waveforms (basic mixing concept). OTOH, when used as an LFO, an inverted waveform WILL sound different, as an inverted envelope will sound different.

I don't follow exactly what "subtractive waveform shaping" involves - could you give details? At what stage (and how) are you actually altering the shape of the waveform? How is this different (or is it different) from just drawing on a single cycle wave in an editor and importing that?

There are already some cool single cycle waves in Thor's Wavetable Osc, but with all single cycle solutions, the sound can be static without further manipulation. This is much harder with a sampler than a synth - synths can sweep the wavetables, add warping at the voice level, osc sync, FM, AM, etc (all things Reason's samplers cannot do).

_________________________


Talking

Quote:
Originally Posted by selig
OK, I'm not sure I'm following you, but an inverted waveform sounds exactly like the original (don't mean to insult if you already knew this). Thus, it will not create waveforms that actually sound any different than the originals
Yep - I agree, but you have to do a couple of things to change the final output to create a new waveform. Inverting the waveform polarity 'technically' creates a new waveform, for example, the SAW wave on a Subtractor is a ramp-down Saw wave, when inverted it is a ramp-up Saw wave, so being a different waveform shape - admittedly comparing both will sound exactly the same, but the actual movement will be 'inverted'. Hypothetically, if you could slow the waveform down low enough to see a speaker cone's movement, the normal-Saw would push out at the top of the saw wave, then start to move inwards following the shape. The inverted-Saw would suck the cone in first, then push outwards (alike wiring up a speaker the wrong way around).

Quote:
Originally Posted by selig
..if you have done this and can hear a difference, something else is going on! Now, if you combine TWO waveforms and one is inverted, you WILL create a different waveform just like if you combine two different waveforms (basic mixing concept). I don't follow exactly what "subtractive waveform shaping" involves - could you give details? At what stage (and how) are you actually altering the shape of the waveform? How is this different (or is it different) from just drawing on a single cycle wave in an editor and importing that?
If both +ve and -ve are combined and are in sync (ie no effects on either channel, just the raw signal), they cancel out (technically another waveform shape, even though it is flat). if you have affected only one waveform slightly, by use of an effect, (delay offset etc) then you definately would create a new waveform. Using 2x normal waveforms would also create different shapes being delayed or not. So before using Thor as your invert-one-leave-one waveform 'shaper', you would have to take the bounced audio into a 3rd party software package, flip that signal, then mix it with another to creat your sound, using Thor now to flip-one-leave-one means you can do this in Reason quicker than using the 3rd party software method.

I agree that it isnt too far different from drawing a wave cycle in an editor then inporting, but have you ever tried to draw a waveform freehand that would be in pitch? You would need to know the sample length of 1 cycle first before you know what pitch you are 'drawing', using Reason's modules and the key editor you already know what 1 cycle length note is - saves time.

IE Subtractor sawwave playing a note on C3, export audio. Open sample in external program. Trim sample to 1 cycle. Save as 'SubtrSaw C3'. Import into Reason (NNXT), play C3 same note plays. Now, go back to external editor, file new, set length to say 1 second at 44.1khz. Draw in your waveform, trim to the cycle you want. Save as 'Freehand wave'. Import into NNXT, now play your note and the pitch most likely would be out comparing to the saw wave C3 (unless by some chance you actually have trimmed to a true sample length of what 1 cycle would be at the pitch of C3).

Quote:
There are already some cool single cycle waves in Thor's Wavetable Osc, but with all single cycle solutions, the sound can be static without further manipulation. This is much harder with a sampler than a synth - synths can sweep the wavetables, add warping at the voice level, osc sync, FM, AM, etc (all things Reason's samplers cannot do).
True true, I'm not saying there isn't some great wavetable sounds in Thor, I'm just pointing out that using Thor additionally now as a normal-invert merging effect unit, you can create an army of new sounds that you couldn't do quickly with earlier versions of Reason. You could do the same thing using R3 and earlier, but you would have to use 3rd party sample software to manipulate the waveforms the way you would want to, and productively this could take longer and wou would have to audition the 'mixed'/processed sample in the 3rd party software without the ease of simply listening and tweaking that you can do in R4. Also automating in R4 using inverted waves mixed with normal waves is something else using a 3rd party software would take an age to do.

See the attached ZIP files for what I mean (1st ZIP has PDF file within, 2nd file has the Reason 4 file with 5x Combi presets) - screen shots showing what happens when merging normal & inverted signals, plus delayed signal examples at different pitches (you can even create more alternatively shapped waveforms simply by changing the pitch because the cycles are longer/shorter, while the offset of x milliseconds stays the same). The images are all set at the same zoom rate in Wavosaur so you can see clearly the differences between each waveform and each pitch (1,2 & 3 are C3, #4 & 5 are C2)

Looking at example 3 & 5, this is what I would call "subtractive waveform shaping" (Positive Saw + delayed Negative Saw = Squarewavish waveform; uses maths to a degree to create the waveforms). With this the possibilities are quite endless with what sort of shapes you can create from the basic waveforms (saw/sine/tri/square) to the more complex waveforms/wavetables available, plus you can have audio loops normalled & flipped in exactly the same manner to create even more weird and wonderful sounds. Hope this makes a bit more sense

Right... something on a similar vein... you are saying about FM/AM synthesis with Thor's built in oscillators etc... well following the waveform example above, i've found that you can use your generated waveforms (or even as you did say before about freehand waveform drawing this is where they cam come in very handy) again as custom envelope shapes, opposed to drawing envelopes in the sequencer, and copy/pasting through your tracks. Have a look at my AUDIO TO CV EXAMPLE Reason 4 file, also attached. Following the path, I've created a Subtractor with a low set pitch Saw wave (zero), sent the audio out to Thor Audio 1 IN, Thor ModMatrix'd the Audio In 1 to CV 1 out, connected the CV 1 out of Thor to a Combi Rotary 1 in. In the Combi I've added a Line 6:2 simply for this example. Now on the Combi programmer I've linked the Rotary 1 to Line 6:2 channel 1 level. When I play a note (say C-2, so extremely slow & low) on the Subtractor, the Saw wave sends it's signal through the Thor converting Audio signal into Control Voltage signal, routing into the Rotary CV input which controls the Line 6:2 volume. Route into the Line 6:2 another sound module (anything that you can easily recognise like a vocal in an NN19 sampler or something). Now relating this to AM (which is Amplitude modulation for those that don't know), you turn up the octave setting on the Subtractor and your CV signal doubles in speed - play another note higher again on the Subtractor while also playing the NN19 sample and you are now starting to create sounds which use AM methods. AM simply means volume control at a set speed, so faster you go the faster the audio is turned up and down. sort of like a gate in a way, using a waveform as the envelope to follow, in this case Subtractor Saw starts of full volume then turns down, then starts the sawwave envelope loop again. If you exchange the Subtractor with a sampler and impoprt one of your previously custom made waveforms, pitch the sample way down (so root key can be like C8 or something high so all you are doing is using the waveform you made as an envelope instead)and 'trigger' the wavform 'envelope' with your keyboard, now you can use a custom waveform shape as an Amplitude modulator. You can do the same for FM (or similar), just reset the Combi Programmer Line 6:2 control to nothing, and then select the new 'vocal' sampler in the programmer, link the Rotary 1 control to NN19 pitchbend, so that when the 'custom' sampler plays the low note custom sample, the audio from that goes to Thor which converts into a CV signal, which patches into the Combi Rotary 1, which then controls the pitch of the 'vocal' sample when played. This is Frequency Modulation (FM), using the same method as the AM, just instead of the volume being controlled it's the pitch of the sample that is being adjusted. Can get some Dalek voices coming out with this now.

Phew... you can tell I'm busy at work can't you lolol
Attached Files
File Type: zip AUDIO TO CV EXAMPLE.zip (21.4 KB, 1 views)
File Type: zip INVERT EXAMPLE.zip (30.9 KB, 1 views)
File Type: zip Inversion example using Thor.zip (58.0 KB, 1 views)

___________________________

Quote:
Originally Posted by djfresha
I agree that it isnt too far different from drawing a wave cycle in an editor then inporting, but have you ever tried to draw a waveform freehand that would be in pitch? You would need to know the sample length of 1 cycle first before you know what pitch you are 'drawing', using Reason's modules and the key editor you already know what 1 cycle length note is - saves time.
Why do you need to know wavelength when you are drawing the waveform? All you need are defined start and end points (preferably at zero). If you are loading into a smapler, then yes it makes a difference, but for a synth it would be irrelevant. As for loading into a sampler, all you need is a frequency to note/pitch chart to define the sample pitch.

All you would need to do is draw the wave shape and set the frequency when you save it.

Easy-peasy!

Unless I misunderstood what you were trying to say.

Thomas

______________________________

Quote:
Originally Posted by flotzilla View Post
Why do you need to know wavelength when you are drawing the waveform? All you need are defined start and end points (preferably at zero). If you are loading into a sampler, then yes it makes a difference, but for a synth it would be irrelevant. As for loading into a sampler, all you need is a frequency to note/pitch chart to define the sample pitch.

All you would need to do is draw the wave shape and set the frequency when you save it.

Easy-peasy!

Unless I misunderstood what you were trying to say.

Thomas
Ok.. when you export a sample at a rate of 44.1kHz then this means that in 1 second you would have a total of 44,100 'marker' points within 1 second. Now if you export a sample loop at 1 bar:120bpm at a rate of 44.1kHz the sample length would be
88200 samples long (120bpm/60seconds = 2 seconds long per bar). You could have various sounds within 2 seconds, so when you export you are simply exporting the sample rate not the sample frequency.

Frequency is different to Sample Rate. Frequency is used for tuning samples/waveforms, while sample rate is the setting of resolution. Higher sample rates (96khz, 192khz etc) are smoother and smoother, resulting in very precise waveforms but also means your system may have a hard time using high resolution samples.

To make this clearer, lets use this hypothetical example to explain sample rates: using a digital camera take 3 photos of say your family/pet etc., one at a low resolution (320 x 256pixels, in audio terms lets say 8khz), one at a mid resolution(1000 x 800pixels, in audio say 22khz), and one at an ultra-high resolution (3200x2560pixels, best quality lets call this 80khz as 10x better than the 1st photo). All 3 photos have the same 'image' (so same information regarding colours, shapes etc.), just different qualities of clarity. This is what sample RATE does - it controls the resolution only, not the actual content (until you set your audio exports to below original sample rate..resolution is decreased, and to decrease resolution means decreasing information.. that's another story).

Now going back to waveform frequency, a sample taken from a Subtractor using the init patch at C3 is 85 samples per cycle at 44.1kHz. C2 is twice as long (as a lower pitch, so the cycle moves at half the rate of C3), so 170 samples per cycle @ 44.1khz. C4 is half the size of C3 (as being twice as fast), so approx 42/43 samples per cycle @ 44.1khz. When you draw a waveform which is longer or shorter than 85 samples @ 44.1khz then you are changing the actual frequency of the sample, which is changing the pitch. This is why you would need to know the waveform length if you are drawing waveforms that are to be used as audio content to keep it in tune - it simply helps. You could create an empty sample set at 172 samples long (base setting for a C2 sample), at a sample rate of 44.1khz, draw in your new waveform as mad as you like, and save this as a custom waveform already pitched at C2 - this does go against the rules a little (because you may draw a multiple amount of cycles within 172 samples, which then may not be in the key of C @ 44.1khz.... man this is mad science now... C2 = 172 samples per cycle, C3 = 86 samples per cycle, C4 = 43 samples per cycle, C5 = 21.5 samples per cycle, C6 = 10.25 samples per cycle... I know you can't have fractions of samples, but this is how it would work out - this is where higher sample rate would come in to effect), but at least you would have a note to start with and you know you could tune this custom waveform against any other already in pitch sound, simply by putting the custom sample on root key C2. To make sure your waveform is in tune you MUST only draw a certain number of cycles within your available samples range, ie If you have a sample/waveform length of 172 cycles and you want to have a C2 sample only draw 1 cycle 172 samples long, for C3 draw 2 cycles 86 samples long, for C4 draw 4 cycles 43 samples long, for C5 draw 8 cycles 21.5 samples long... you see where I'm going I hope. A cycle can have a cross over at any point, but to be in tune the return cross over must finish at the proper end point, if you say draw a waveform at 100 samples long, the cycle length is different, thus chainging the actual tuning of the sample. Anyone who knows otherwise please let me know to correct me, I'm open for being corrected (my wife does it to me all the time LOL)

However...... if you are using samples for envelopes only, then it's up to you how you draw your waveforms, because all you are interested in is the actual movement/shape, NOT the actual sound. I would export a loop at one bar or 4 bars of the BPM I was working at to get an empty sample set perfectly in time, then draw my 'enveloping' sample, and then have that re-imported set on any root key and trigger the 'envelope' sample from that same key, then I know I would have the envelope I have drawn in time to my track.

Hope this helps out more now and explains the differences, especially if you are drawing your own waveforms for your own sounds.

Sorry for blabbing on... like my mates say to me 'anyone else takes 3 words to explain, I'll take 50'

-------------------------------------

Thanks for such a thorough explanation! I'm a bit of glutton for punishment when it comes to technical stuff anyway, so the more the merrier!

My confusion/post was from you using length being defined in # of samples. What I was thinking at the time was coming from the 'completed product' point of view. In other words, I was thinking that if someone has an app that allows free-hand drawing of waveforms, the app would do the math behind the scenes during the save process.

The 'completed product' view :

Producer X fires up WavedrawerPro and freehands a sinewave. Then during the saving process WavedrawerPro asks for pitch and root note data from Producer X. So Producer X inputs 44.1kHz and A#3. Then WavedrawerPro does all the fun stuff (the calculations) for determining the technicals of the sample. Producer X does not have to (nor should he/she) do any math or any real thinking other than remembering to start at 0, cross 0 only once, and end at 0. Probably not even that since (if I were to make it) WavedrawerPro would by design/default end the drawing process on the next touching of 0 after a 0 crossing.

See why I was confused?

Thomas

__________________

Always look on the bright sleight of life...