Velocity Sweep?

Sound synthesis techniques, DSP and related mathematics

Moderators: electrogear, exonerate

Velocity Sweep?

Postby MDMA on Mon Jan 16, 2012 10:25 pm

Hi guys,

I have been trying to create something very similar to a kick synth called Bazzism but with other options.

Now, I was able to recreate all the controls except this one:
Image
I cant understand how they did it and what it really does!

In their manual they refeer to this control as "tSweep" and include a graph that leads me to think that its the time that velocity takes to go from 0(min value) to 1(max value) but I have tryed it out (by aplying a volume sweep to a plyphonic signal) and it gives me an unwanted fade in in volume oposite to Bazzism that doesn't.

Now my guess is that the transulation in the manual is incorrect and the control is doing something else or maybe they are applying something else, I dont really know.

This is the manual:
BazzISM2 Manual
To the human ear, a fast sequence of sounds appears to be simultaneous. In this
way BazzISM2 creates a bass kick by a short sinus sweep.
The Parameters:
Main Page
fStart:
The start (highest) frequency
fEnd:
The end (lowest) frequency, will also be played out while the time tEnd.
tSweep:
The duration of the sinus sweep.
tEnd:
The duration of the time after the sweep, where the constant frequency fEnd is
played out.

Image
vSweep:
The frequency change’s velocity while the sweep:

Image
tDecay:
Decay time.
Volume:
Over all volume.
Polyphony:
With activated polyphony, overlapping bass kicks will be played out.
Without activation, the start of a basskick will terminate the previous one.
MidiStop:
Bass kicks will be ended by Midi Off, if MidiStop is activated. Else they will be
played in full length.


And that is literaly it.

You can get the plugin demo here:http://www.ismism.de/BazzISM.htm

Please help and thank you in advance.
User avatar
MDMA
essemist
 
Posts: 95
Joined: Wed Dec 14, 2011 4:11 pm
Location: UK

Re: Velocity Sweep?

Postby cyto on Mon Jan 16, 2012 10:37 pm

From the description, it looks like the control affects the curve of the frequency sweep and has nothing to do with "velocity" (in the midi sense). There was some discussion not too long ago about frequency sweeps for percussion synths here on the forum. I'll see if I can find it.

-cyto

EDIT: here you go: http://synthmaker.co.uk/forum/viewtopic.php?f=12&t=10846
User avatar
cyto
essemilian
 
Posts: 317
Joined: Sun Nov 28, 2010 4:36 am
Location: CIN | OH | USA

Re: Velocity Sweep?

Postby MDMA on Mon Jan 16, 2012 10:53 pm

cyto wrote:From the description, it looks like the control affects the curve of the frequency sweep and has nothing to do with "velocity" (in the midi sense). There was some discussion not too long ago about frequency sweeps for percussion synths here on the forum. I'll see if I can find it.

-cyto

EDIT: here you go: http://synthmaker.co.uk/forum/viewtopic.php?f=12&t=10846


I came to build most of it with the help from that topic.
I've used your "pitchEnv1.osm" and got good results but how would you go about affecting that curve?
Maybe is the wideness of the sweep, but how to widen it?
User avatar
MDMA
essemist
 
Posts: 95
Joined: Wed Dec 14, 2011 4:11 pm
Location: UK

Re: Velocity Sweep?

Postby cyto on Tue Jan 17, 2012 4:25 am

MDMA wrote:but how would you go about affecting that curve?

I've attached an osm of how I would go about it. Maybe this is the type of thing your looking for. Basically, it's a slightly more elegant form of the pitch envelope thingy I did in the other thread. In that one, the "sweep" was tied to the duration of the note. In this one, the sweep is independently adjustable. What's going on inside is the "env" primitive triggers an impulse sample during its attack phase. This impulse sample is then run through a logarithmic slew limiter-type thing that provides for a nice pitch-scaled sweep through the frequency range (start freq - end freq). The "length" knob simply adjusts the severity of the slew limiter. You can just plug the module directly into the "freq" input of your oscillator and you should be good to go (make sure the input calls for normalized freqs). I also included a separate little knob/graph demo so you can see how the changes of the "length" setting affect the curve. Is this the type of thing you had in mind?

pitchEnv2.osm
(17.19 KiB) Downloaded 137 times

-cyto
User avatar
cyto
essemilian
 
Posts: 317
Joined: Sun Nov 28, 2010 4:36 am
Location: CIN | OH | USA

Re: Velocity Sweep?

Postby MDMA on Tue Jan 17, 2012 11:28 am

cyto wrote:
MDMA wrote:but how would you go about affecting that curve?

I've attached an osm of how I would go about it. Maybe this is the type of thing your looking for. Basically, it's a slightly more elegant form of the pitch envelope thingy I did in the other thread. In that one, the "sweep" was tied to the duration of the note. In this one, the sweep is independently adjustable. What's going on inside is the "env" primitive triggers an impulse sample during its attack phase. This impulse sample is then run through a logarithmic slew limiter-type thing that provides for a nice pitch-scaled sweep through the frequency range (start freq - end freq). The "length" knob simply adjusts the severity of the slew limiter. You can just plug the module directly into the "freq" input of your oscillator and you should be good to go (make sure the input calls for normalized freqs). I also included a separate little knob/graph demo so you can see how the changes of the "length" setting affect the curve. Is this the type of thing you had in mind?

The attachment pitchEnv2.osm is no longer available

-cyto


Thanks a lot Cyto, very kind of you to make a new version, It's closer to what I was looking for but not quite there yet, only because I want to give the user the option to use pitch follow.
I had a go at it but when pitch follow is on there are inconsistencies and when I move the tune and fine knobs it takes too long to respond, probably due to my lack of knoledge and experience.

This OSM is quite messy(sorry) but here it is:
PitchEnv(MDMA ver).osm
PitchEnv2(MDMAver)
(60.91 KiB) Downloaded 128 times
User avatar
MDMA
essemist
 
Posts: 95
Joined: Wed Dec 14, 2011 4:11 pm
Location: UK

Re: Velocity Sweep?

Postby cyto on Wed Jan 18, 2012 6:23 am

MDMA wrote:{...}I want to give the user the option to use pitch follow.
I had a go at it but when pitch follow is on there are inconsistencies and when I move the tune and fine knobs it takes too long to respond, probably due to my lack of knoledge and experience.

The different data types in SM (poly,mono,green,etc) generally don't play together nicely. Green data especially doesn't play well with the other data types because it is on a completely different CPU thread. So a good rule of thumb is to try to minimize the conversion between data types as much as possible. In your schematic, you are summing all the poly voices together (in the poly to mono primitive), converting it to green (in the mono to float primitive), doing some math (often with poly) in green, then converting back to poly. After you work in SM awhile, you'll get a feel for how to handle each data type and it will start to make sense (maybe ;) ).

See if this version suits your needs better. I basically integrated a key follow control into the code, much the same way you would do it with a filter. You can go from 0% where the base frequency stays static no matter what note you hit all the way to 100% where it follows your midi note exactly. This way it is continuously adjustable rather than just on/off. I did change the "start freq" control to a "range" control (because the exact frequency will change depending on the KF setting). If you hit the little "p" at the bottom of the module, you can open up the properties panel to set the max value for the range control. If you look in the code box, you'll also notice I added a line to protect the osc from going over nyquist. Hopefully, this is getting a little closer to what you're looking for. Let me know if you need anything explained.

pitchEnv3.osm
(18.05 KiB) Downloaded 133 times

-cyto
User avatar
cyto
essemilian
 
Posts: 317
Joined: Sun Nov 28, 2010 4:36 am
Location: CIN | OH | USA

Re: Velocity Sweep?

Postby MDMA on Thu Jan 19, 2012 1:43 pm

Man, I have to thank you for this, you've been very explanatory and helpfull but I found that the following happens:
When I increase the value of keyFollow the pitch goes really high for some reson and I cant seem to get a kick out of it.
???

PS: It sounds better to the ear now.
User avatar
MDMA
essemist
 
Posts: 95
Joined: Wed Dec 14, 2011 4:11 pm
Location: UK

Re: Velocity Sweep?

Postby cyto on Thu Jan 19, 2012 3:38 pm

MDMA wrote:When I increase the value of keyFollow the pitch goes really high for some reson and I cant seem to get a kick out of it.
???

A keyFollow of 100% means that the ending pitch equals the actual note you are playing. The sweep will start from that freq plus whatever range you have set. So yeah, If you have the keyFollow set high and are playing notes above the first octave or so, they are definitely not going to sound like kick drums. You could detune the frequency going into the pith envelope by an octave or two (or three) to force the final KeyFollowed sound down into a more appropriate range.

-cyto
User avatar
cyto
essemilian
 
Posts: 317
Joined: Sun Nov 28, 2010 4:36 am
Location: CIN | OH | USA

Re: Velocity Sweep?

Postby MDMA on Thu Jan 19, 2012 10:58 pm

cyto wrote:
MDMA wrote:When I increase the value of keyFollow the pitch goes really high for some reson and I cant seem to get a kick out of it.
???

A keyFollow of 100% means that the ending pitch equals the actual note you are playing. The sweep will start from that freq plus whatever range you have set. So yeah, If you have the keyFollow set high and are playing notes above the first octave or so, they are definitely not going to sound like kick drums. You could detune the frequency going into the pith envelope by an octave or two (or three) to force the final KeyFollowed sound down into a more appropriate range.

-cyto

Thanks for the explanation Cyto, I didn't realise that!
User avatar
MDMA
essemist
 
Posts: 95
Joined: Wed Dec 14, 2011 4:11 pm
Location: UK

Re: Velocity Sweep?

Postby MDMA on Tue Feb 14, 2012 8:04 pm

I still didn't found a way to create this velocity sweep control, lol.

Cyto, you mentioned that the env primitive is creating the sweep and the lenght control only controls how much of the env is sent? Is that it or did I missunderstood it?

Aparantley to create this control we need to affect the sine sweep curve, winch I think thats what you've done with the lenght control, right? That control is changing the the curve and therefore increasses the lenght, right?

Now the purpose of this topic was realy to have 2 separate knobs, where one controled the lenght and the other the curve.

Do you know of a way to make this happen?
Maybe use a different envelope with more conrol?
I've been doing some trial and error with it for ages and can't get there, please help.
User avatar
MDMA
essemist
 
Posts: 95
Joined: Wed Dec 14, 2011 4:11 pm
Location: UK

Re: Velocity Sweep?

Postby cyto on Tue Feb 14, 2012 8:38 pm

I had almost forgotten about this topic. Interestingly enough, my "big" project that I happen to be working on right now is a (performance) drum synth. When I get to a point where it's somewhat presentable, I'll post some examples. It has some crazy things going on in it with the envelopes (multi-attacks, sympathetic envs, scale-able curves, velocity-sensitive responses, etc, etc). but I digress...

If I'm interpreting your problem correctly, I think the issue might have to do with the difference between the "pitch" envelope and the "amp" envelope. My example above just affects the pitch. The way it's set up, as the envelope theoretically never quite reaches the base frequency, therefore "length" is probably a misnomer. Perhaps "steepness" is better. I think what you're looking for in the "second" knob is something to adjust the length of the note. Right? If that's the case, you will need to have a separate "amp" envelope. There is already one in the above example. To turn it into a "proper" drum envelope, adjust the Attack to taste, set the Sustain to 0, and hook up a knob that sends the same value to both the Decay and Release. Is that what you mean?

-cyto
User avatar
cyto
essemilian
 
Posts: 317
Joined: Sun Nov 28, 2010 4:36 am
Location: CIN | OH | USA

Re: Velocity Sweep?

Postby MDMA on Tue Feb 14, 2012 10:31 pm

cyto wrote:I had almost forgotten about this topic. Interestingly enough, my "big" project that I happen to be working on right now is a (performance) drum synth. When I get to a point where it's somewhat presentable, I'll post some examples. It has some crazy things going on in it with the envelopes (multi-attacks, sympathetic envs, scale-able curves, velocity-sensitive responses, etc, etc). but I digress...

If I'm interpreting your problem correctly, I think the issue might have to do with the difference between the "pitch" envelope and the "amp" envelope. My example above just affects the pitch. The way it's set up, as the envelope theoretically never quite reaches the base frequency, therefore "length" is probably a misnomer. Perhaps "steepness" is better. I think what you're looking for in the "second" knob is something to adjust the length of the note. Right? If that's the case, you will need to have a separate "amp" envelope. There is already one in the above example. To turn it into a "proper" drum envelope, adjust the Attack to taste, set the Sustain to 0, and hook up a knob that sends the same value to both the Decay and Release. Is that what you mean?

-cyto

I'm afraid that is not what I meant.
Sorry for not being so explanatory with my questions.

What I meant is that the extra control (velocity sweep), its not really to affect velocity but to affect the sine sweep curve, this control should enable us to bend the sweep curve in time.

Hope you understood and thanks again for the help. ;)
User avatar
MDMA
essemist
 
Posts: 95
Joined: Wed Dec 14, 2011 4:11 pm
Location: UK

Re: Velocity Sweep?

Postby cyto on Wed Feb 15, 2012 4:42 am

Okay. I think I understand. See if this is closer to what you're trying to do...

pitchEnv4.osm
(28.22 KiB) Downloaded 119 times

It approaches the envelope in a slightly different way than the first couple of examples. Instead of just having a simple exponentially-scaled pitch decay with adjustable time, this one uses a mapping function to produce the pitch curve (props go to martinvicanek for the mapping transfer that this is based on). So, now you'll see a new knob "slope". When it is at 0% the curve is just like it was in the first examples (exponentially-scaled). However, now you can increase it to get a more convex slope (pitch hangs at the starting value longer) or decrease it to get a more concave slope (pitch decays faster and hangs more at the ending value). I was going to put together a little graph to illustrate, but I opted instead to just put an FFT display in the schematic. Because the oscillator is a sine, you can clearly see how the slope is affected. Are we getting closer?

-cyto
User avatar
cyto
essemilian
 
Posts: 317
Joined: Sun Nov 28, 2010 4:36 am
Location: CIN | OH | USA

Re: Velocity Sweep?

Postby MDMA on Wed Feb 15, 2012 12:29 pm

This might just be it, at least is what I was trying to do, although I believe they've used other tricks also when building bazzism because it sounds so round and punchy and I'm having a lot of troubble getting such a kick but as they say: Different plugins different sound, as long as it sounds good and punchy that's cool!

I'm gonna mess arround with it in order to implement it into my plugin and check the results.

Thanks a lot Cyto!
I'm curious about that drum synth you've mentioned, let us know when you post it!
All the best!
User avatar
MDMA
essemist
 
Posts: 95
Joined: Wed Dec 14, 2011 4:11 pm
Location: UK

Re: Velocity Sweep?

Postby MDMA on Wed Feb 15, 2012 3:46 pm

Now I cant implement your example into mine, lol.

What I had b4 is bellow!

Notice that when you move the endPitch(low) knob it doesn't affect the range(hi), and it follows the pitch as I dont want to have the option of not following it.

I want to integrate a slope knob in this example like you did but allready pulled out some of my hair trying to do it, lol.

Hope you can help and I hope not to bother you more!

Thanks in advance.
Attachments
PitchEnv(MDMA2).osm
(30.97 KiB) Downloaded 121 times
User avatar
MDMA
essemist
 
Posts: 95
Joined: Wed Dec 14, 2011 4:11 pm
Location: UK

Next

Return to Sound

Who is online

Users browsing this forum: No registered users and 1 guest