Kurzweil:Tutorial- SwimPadTutorial
From Sonikmatter
This is a pad that I built from scratch with the help of Puppeteer.
I found this nice pad in Atmosphere called Classic Prophet VS, and wanted to try and duplicate it on the kurz. the biggest feature that stood out to me was when I played around with the resonance control was the whistling but still warm sound that emanated from the patch. So, I knew that I wanted to imitate that. Also, it had this weird stereo effect that sort of split the layers so there was no real center sound image. it sounded bigger than it really was. Lastly, it had this weird random effect on the filter/resonance that made it sound like the sound never really was stable, and was always swimming around a certain fixed frequency. So, with that, I knew what I was looking to build:
- pad sound, with kinda slow amp envelope
- weird filter sweep
- weird stereo effect
- random floating around filter after finishing envelope filter.
So, first things first, find a Keymap.
1. Start with Program 199, and edit it.
2. I searched for a while before I found keymap 803 Orch Pad, part of the contemporary rom. An Alternate keymap I considered was the ever faithful #6, and but also #170.
Ok, all's well in the keypad department. One thing that needed to be confronted was tuning. the Atmosphere pad was a little bit sharp. So, I set the Fine to 29ct on the PITCH page.
Next, gotta build the envelope for the sound. I go into atmosphere and look at the values they use for the amp envelope. 0.0003 for the attack, no decay, sustain forever, and a 5.04s release time.
Contents |
Enter the Envelope
On to the AMPENV page, where I play around with some values. Now, because Atmosphere was using a 40+meg sample for this patch, and I wasn't, i figured that part of the reason it sounds the way it does is because the sample itself is kind of envelope'd already in how it was recorded. So, I played around with some AMPENV values of my own, and came up with this:
| Att1: | Att2: | Att3: | Dec1: | Rel1: | Rel2: | Rel3: | Loop: |
| 0.06 | 0.22 | 0.72 | 0.52 | 4.16 | 0 | 0 | Off |
| 42% | 81% | 94% | 77% | 0% | 0% | User | Inf |
Awesome. Kinda has the same sorta shape as the Atmosphere patch. On to the Filter Sweep.
Enter the Sweep
First of all, I remembered what Puppeteer wrote about the 2Pole LoPass Filter, and how it's used in all of those filter sweep sounds, and synth lead sounds of the 90's or whatever. he says it on that filter's page. So, I find an algorithm that uses it: Algorithm 2.
I start first by getting the cutoff value from atmosphere, which is 819hz. Plug that in, and that sounds pretty good. But it's still not sweeping, so I check out the Filter Envelope settings. A:0.332 D:2.15 S:Infinity R:3.61. So, I build an envelope just like that in ENV2:
| Att1: | Att2: | Att3: | Dec1: | Rel1: | Rel2: | Rel3: | Loop: |
| 0.14 | 0.34 | 0 | 1.26 | 0 | 0.2 | .98 | Off |
| 62% | 100% | 0% | 12% | 0% | -4% | 0% | Inf |
Next, I assign the ENV2 as the SRC1 for the FRQ page. I can't really hear the sweep, because there's no resonance applied, so I hit the resonance page. I set up SliderB to control the amount of resonance, setting it to some insane value like 30db. I play around with the frequency depths until I find that 4000ct seems to give me the same amount of sweep as the atmosphere patch.
Now, the reason behind setting the resonance so high for right now is something the teacher of the studio techniques class at my school showed us for setting EQ.
- set the gain all the way up.
- find the frequency you want to adjust
- adjust the gain to the appropriate spot so you get the frequency's volume where you want it.
Ok, that takes care of the filter sweep. But it's not at all random after it finishes the filter sweep envelope. So, I invoke the awesome powers of The Puppeteer, and we figure out the right way to get this sound.
ENTER THE FUN's.
First things first, I gotta wait until after the filter sweep has finished before letting the random sweep occur. that is accomplished with an ASR, he says. Adding up the time of the filter, it's about 3 seconds. So, that means the ASR's delay time is gonna be 3 seconds. Since we don't want it to immediately trigger whatever it's gonna trigger/turn on, we'll add some attack time for the ASR.
| Trig: | Mode: | Delay: | Attack: | Releas: | |
| ASR1: | ON | HOLD | 3.00s | 0.16s | 0s |
Ok, so now, I can assign ASR1 as the SRC2 for the FRQ page. Basically, it's gonna do the envelope (SRC1), and ASR1 at the same time, but ASR1 is gonna wait 3 seconds before triggering whatever it's set to trigger.
Here comes the "FUN" part.
First we tried using only FUN1 to make it randomize the sound. input a was Keyst, and input B was RandV1. the function was Sample B on A. Here's what he said it would do:
- Basically Fun1 will act as a sample and hold algorithm triggered by a key press or the ASR (it doesn't matter as long as it's a controller associated with pressing a key). ASR1 fades from the initial value to the random value after 3 seconds (the length of the envelope).
But that didn't really make it very random. In fact, it didn't work at all, because ASR's Mode was not set to HOLD yet. I told him I wanted the resonance/frequency to move, so he said to do this:
- The Puppeteer: The resonance won't move.
- The Puppeteer: Did you want it to move?
- chuck: yeah, it was when I was moving the slider.
- chuck: ah, I need my headphones for this...
- The Puppeteer: OK, then set Fun1 A to an LFO
- The Puppeteer: Set Fun2 to Lopass set A to 0.4 or 0.5 (use your ears to tune it. Higher values will be chunckier.)
- The Puppeteer: Set Fun2 B to Fun1
- The Puppeteer: Set DptCtl to Fun2
- The Puppeteer: Set a pretty slow speed on the LFO, and probably a square wave shape
I eventually arrive at these settings after much trial and error:
| Input a: | Input B: | Function: | |
| FUN1: | LFO1 | RandV1 | Sample B On A |
| FUN2: | =0.05 | FUN1 | Lowpass(f=a,b) |
- LFO is:
| MnRate: | MxRate: | RateCt: | Shape: | Phase: | |
| LFO1: | 10.80 | 2.90H | MIDI23 | SINE | 0deg |
Now that I've got FUN2 being the depth controller for the frequency AFTER the envelope finishes, it's time to find the amount it's gonna control.
Enter the Random Sweep
Sustain some chords for a while, and eventually I decide upon minDpt:10ct and MaxDpt: 450ct for the FRQ page.
Currently the FRQ page looks like this:
- Course: A 5 880Hz
- Src1: ENV2
- Depth: 4000ct
- Src2: ASR1
- DptCtl: FUN2
- Min: 10ct
- Max: 450ct
Awesome, now it's randomly fluctuating the frequency slightly after the envelope finishes the sweep.
Off to the resonance page, because that makes the sweep present, and I assign the same randomness to the resonance.
To find the right settings for Min/Max, I found this neat little trick:
- set Adjust to 0.
- crank the Depth to 18.5 or so
- set Src1 to MIDI22
- hit the MIDI Faders button
- For slider number2, set CTL to 22 (so it controls MIDI22, so the program will respond to the slider)
- Find the sweet spot where I like where the resonance sounds awesome.
- turns out to be between 87 and 127.
- do some math to determine that is the same as having the slider modulate between 12.5 and 18.5 (resonance was ADJUST: -12
So, I set the Min/Max to 0.0db/8.0db for the resonance page. The resonance page ends up looking like this:
- Adjust: -3.5db
- Src1: MIDI22
- Depth: 18.0db
- Src2: ASR1
- DptCtl: FUN2
- Min: 0.0db
- Max: 8.0db8
ALright, now I've got the filters sounding all awesome like this Atmosphere patch, and it's still on 1 layer. Last step, make it pan back and forth a bit.
enter the random panning
Hit up the OutPut Page, and pan each wire Hard Left/Hard Right, then turned back 1 tick. Upper wire goes hard right.
Next, make it randomly swim back and forth So, I assign Fun1 to the Panner Page's Src2:
Src2: ON DptCtl: FUN1 MinDpt: -12% (a little bit on the left) MaxDpt: 12% (a little bit on the right)
Awesome.
- AMPENV controls the keymap level
- ENV2 controls the initial Frequency Level
- MIDI22 controls the initial Resonance Level
- FUN2 Controls the secondary Filter Sweep, Resonance Level
- FUN1 controls the Random stereo effect.
- Panner controls the Stereo Effect.
enter the final program parameters
Here are the parameters one more time for the program:
- Alg: 2
- Keymap 803
- Xpose -12st
- Finetune +29ct
FRQ
- Adjust: 880hz
- Src1: ENV2
- Depth: 4000ct
- Src2: ASR1
- DptCtl: FUN2
- Min: 10ct
- Max: 450ct
RES
- Adjust: -3.5db
- Src1: MIDI22
- Depth: 18.0db
- Src2: ASR1
- DptCtl: FUN2
- Min: 0.0db
- Max: 8.0db
POS:
- Src2: ON
- DptCtl: FUN1
- Min: -12%
- Max: 12%
Amp:
- VelTrk: 21db
- Adjust: 8db.
AMPENV
| Att1: | Att2: | Att3: | Dec1: | Rel1: | Rel2: | Rel3: | Loop: |
| 0.06 | 0.22 | 0.72 | 0.52 | 4.16 | 0 | 0 | Off |
| 42% | 81% | 94% | 77% | 0% | 0% | User | Inf |
ENV2
| Att1: | Att2: | Att3: | Dec1: | Rel1: | Rel2: | Rel3: | Loop: |
| 0.14 | 0.34 | 0 | 1.26 | 0 | 0.2 | .98 | Off |
| 62% | 100% | 0% | 12% | 0% | -4% | 0% | Inf |
- LFO1: 10.80 2.90H MIDI23 SINE 0deg
- ASR1: ON Hold 3.00s 0.16s 0s
- FUN1: LFO1 RandV1 Sample B on A
- FUN2: =0.05 FUN1 lowpass(f=a,b)
- SliderB controls Resonance Level
- SliderC controls LFO Speed for random action in the FUNs
1 Layer, but doesn't sound like it. Awesome.
Peace. | here is the original sound, and the kurzweil sound back to back
Matkatamibakundo 03:14, 23 March 2006 (EST)
| Main Page : | Documentation : | FAQ : | DSP Blocks : | KDFX : | Algorithms |

