• Hi and welcome to the Studio One User Forum!

    Please note that this is an independent, user-driven forum and is not endorsed by, affiliated with, or maintained by PreSonus. Learn more in the Welcome thread!

Scale note length by velocity?

Jens

Member
Is it possible to scale note length by velocity? Some Daws are supporting this according to a quick Google search. Is there a nice workaround?
 
Yes, I just did it for a synth patch and it sounds great. Instead of adjusting each note length slightly I should have selected a velocity range and then adjust the length of the selected notes. But it would be still tedious for 5+ velocity ranges.
 
@Jens Just a passing thought...
If the Synth is capable, can velocity be used as a modulation source?
It might be possible by modulating the release envelope by velocity, just a shot in the dark.

Kind regards
 
I dont really see any benefit, other than some note length change is altered by velocity. Doesnt sound all that effective. One would want to designate how much length, by how much velocity for what would be considered useful control. The conceivable possibilities would be as pointed out, by some script (Lucas), or where some synths can modulate length from velocity (sintil8). There's also many ways to modulate length, or velocity now using 3rd party software such as Stepic (Devicemeister). One could alter, randomize, or select via midi key, control over length, a given envelope such as release, and so on.

A simple length by velocity doesn't sound very controlled unless I'm missing something.
 
Last edited:
The fun part is obviously the fast/intense build-up of the first half. Synths are much more responsive to velocity changes, so velocity editing is first (and is easier than editing note ends). Changing the note length by velocity works because it fits preset and intend. It's neither random nor just there to provide variation. Even a simple velocity-to-note-length command would be fine because I could select all notes afterwards and scale all note ends at once.
VelocityNoteLength.png


I'm not sure if envelope D/R modulation (slope/length) could archive something similar since the note length editing affects the sustain part which has no time parameter. It's not really a good alternative for a variety of other reasons.

I'm a casual user so I use the tools S1 has to offer. Buying similar tools/sequencers would be my last option.

(The center white line is the buggy playhead that often gets misplaced when I resize editor panels)
 
I can't help solve your problem but I am interested in an example of what the result sounds like. I imagine it's very dependent upon the type of synth sound. Can you post an example to SoundCloud or similar?

Personally I'd love to see an extended macro or scripting language in S1 or better access and documentation to the stuff that is already there but I guess it's not a priority for Presonus. If you take a look at the sort of stuff the community has added to Ableton or Reaper you'll see a real benefit in that sort of thing. (Alternatively we could just kidnap Lukas.... :devilish:)
 
Dependent on the type of synth, patch, and set length. For example, in Jens [OP] image, the notes are fairly staccato, so rapid triggers of different velocity, will be more apparent audably to varied note lengths. Varying modulation will also add to that, but I'd also like to hear an example, what the results provide. How useful that is for someone to chase such as building a script for Studio One, is for someone else to chase. It might be fun, it might be limited, dunno. It can certainly be created note by note, just to get feel for one outcome. Then vary patches to see how it works towards different sounds.

I just have too much fun using 3rd party VSTI's that do this and way more in spades, for very little shell-out.
 
Given that @Jens is lookig for a function that SO1 does not seem to have at this time, his only option is to manually do what he is doing.
It might be an interesting function for SO1 to have, but as @lokeyfly has said there are 3rd party options, so it may not be something SO1 will be looking to implement.

I had a ferret around on Google and the only Daw that I could find with this was Ableton, perhaps @Jens can provide more info as to what he found re... about other Daws supporting this function?
The Ableton Max Device to do this is a paid addon, it's not an expensive item tho' at around $15.

To view this content we will need your consent to set third party cookies.
For more detailed information, see our cookies page.

I can see a use for it, but as I said with my "shot in the dark" the Synth he is using was never mentiond.

Kindest regards to all.
 
People usually do songs, I do snippets and learn little things. I don't have the motivation to publish anything, I just documented my thinking and 20 minutes (or so) of unfinished work for reference. Anybody can recreate this 2 bar loop in a minute (minus the note end stuff). It's a supersaw patch but that was just a suitable patch (Edit: Omnisphere, "JX-10 Saw Arps"). It creates sudden energy for no obvious reason, immediately followed by a calming/relaxing phase.

Editing velocities is a fast, easy and fun, editing note ends is not. If S1 also had a tab for note ends in the lower panel (scaled to 1 bar) then the experience would be the same. Coping velocity percentages into this tab would be even faster.
 
Last edited:
sintil8, I did a Google search "scale note length by velocity" afterwards and top results (including AI) stated that some Daws are supporting this. I didn't follow up on which Daw or how it's implemented. (I used Omnisphere, "JX-10 Saw Arps" patch, suitable but far from perfect.)
 
Last edited:
@Jens
Looking at the YTube I posted above is that the type of effect/modulation you are after?

Omni may not be able to create that same effect exactly but it does have Pulse width modulation (single shot Square Wave). Which might be worth looking at. Just guessing here tho' having not heard the effect you are after.
Google the following... AI will give you a recipe as to how Omni...might do something similar to what I imagined you were after.

" Omnisphere velocity modulating pulse width for note length "

Maybe you are after something to adjust velocity after recording, that is a different thing to what I had initially imagined you were after?
The more info folk have the better we can understand what you are asking about.

Best regards.
 
Last edited:
Ableton Live can do it. Reaper can do it. Cubase can probably do it but I don't know enough about its logical editor to say for sure.

These DAWs all have scripting/macros with a wider scope than Studio One. In this case S1 is almost there. It already has macro commands to change or scale the note length, and to change or scale the velocity bit it does not have a means to read velocity and then use it to scale the note length. Close but no cigar.
 
@Davey
When you say Ableton does this, do you mean out of the Box or is it a Max for Live device addon?
I don't know about Reaper and CBase and it's Logic editor is a steep learning curve.
I may have misunderstood the OP's #1 post. Which given the information, as I said it was a shot in the dark.
But a single shot pulse width modulation would not require note length adjustment, similar to a single shot sample.

I agree the midi functions in SO1 needs some love and attention and having access to some form of scripting/macro function building tools would be a good feature IMHO, but I would not probably use it myself.

Best of regards
 
I think we're all doing pretty good describing the possibilies of such an undertaking without hearing it. ๐Ÿ˜‰

I tried an example or two by manually positioning notes to velocity, and yes it's cludgy at best and doesn't always promote a useful (related) sound. I'm sure its dependent on the sonic qualities of what also might be going on such as an LFO modulating, chorus-like, or other pitch shifting, complimenting that sound, further. With some script to make this all easier, would be far greater to explore, and for some people in this forum, a walk in the park to create.
So its said that some DAW's have this ability. It's too bad an example cant be found, because asking someone to go find the water well, off the beaten path, without tasting some water first, is not always possible. I still go back to having some control on set length to how much velocity should be allowed and be incorporated in that function.

My suggestion is provide an example, let's say using Mai-Tai, displaying something that people can be convinced has some quantitative value and you might see it in a script before long.

Until then, we're describing an an otter with an opera voice, without hearing it (for proof)..
Ok, silly example.

Briefly: I heard the example in the video sintil8 provided, only while it covers the description, it doesn't provide some actual spice for lack of a better word towards usefulness. To knowone's fault, but it just covers louder makes longer and JMO, is not very musical in at least some useful context. Hope that being an acceptable description.
 
Last edited:
As promised, attached is a macro which will do some of what you want.
The ranges are hardcoded so you need to edit the file if you want something different.
There are 6 steps in the macro, the second three being a duplicate of the first three but with different ranges.

The macro in plain English:
  • Select all notes with velocities between 30% and 60%
  • Increase the note length by 20%
  • Deselect all notes
  • Select all notes with velocities between 60.1% and 100%
  • Increase the note length by 40%
  • Deselect all notes
To install the macro, in the S1 menu choose "Studio One -> Macro Organiser". At the bottom. Click on "Show Macros folder..." to open Explorer. Copy the downloaded macro file there. Now find the macro in the Macro Organiser. It's called "Velocity to Length". You may need to hit refresh. Assign it a key shortcut. I used "-" because it was the first unused key I could find.

Now close Macro Organizer. Select a track or an event and hit your shortcut key. You should see the corresponding notes get longer. Note that if you hit the key again it will lengthen the notes again. Fortunately Undo seems to work nicely with it!

To edit the velocity ranges or to add more velocity ranges edit the macro file in a text editor and edit and/or duplicate the stuff as required and change the ranges. After you save it you need to hit refresh in the macro organizer.
The ranges are set with:
XML:
<CommandArgument name="VelocityFrom" value="0.30"/>
<CommandArgument name="VelocityTo" value="0.60"/>

and the scaling multiplier with:
XML:
<CommandArgument name="FactorValue" value="1.2"/>

If you get to a point where you are happy with the macro you can add it to one of the macro bars - the "Music Editing" bar would be the obvious choice. Details of how to do that are in the manual.

The full contents of the macro is as follows. I'm happy for one of the S1 macro gods on here to improve it further or point out any possible problems with it. The lack of public information on the macro language means I have to fumble about a bit.
XML:
<?xml version="1.0" encoding="UTF-8"?>
<Macro title="Velocity to Length" group="Note Length" description="">
    <CommandElement category="Musical Functions" name="Select Notes">
        <CommandArgument name="Mode" value="2"/>
        <CommandArgument name="RangeMode" value="1"/>
        <CommandArgument name="IntervalMode" value="0"/>
        <CommandArgument name="Invert" value="0"/>
        <CommandArgument name="PitchFrom" value="0"/>
        <CommandArgument name="PitchTo" value="127"/>
        <CommandArgument name="VelocityFrom" value="0.30"/>
        <CommandArgument name="VelocityTo" value="0.60"/>
        <CommandArgument name="NoteLengthFrom" value="21"/>
        <CommandArgument name="NoteLengthTo" value="0"/>
        <CommandArgument name="BeatGrid" value="7"/>
        <CommandArgument name="StartBeat" value="0"/>
        <CommandArgument name="BeatInterval" value="1"/>
        <CommandArgument name="BeatTolerance" value="0"/>
        <CommandArgument name="PositionCount" value="2"/>
        <CommandArgument name="PositionStart" value="1"/>
    </CommandElement>
    <CommandElement category="Musical Functions" name="Length">
        <CommandArgument name="Value" value="0.5"/>
        <CommandArgument name="FactorValue" value="1.2"/>
        <CommandArgument name="LegatoOverlap" value="0"/>
        <CommandArgument name="Mode" value="3"/>
    </CommandElement>
    <CommandElement category="Edit" name="Deselect All"/>
    <CommandElement category="Musical Functions" name="Select Notes">
        <CommandArgument name="Mode" value="2"/>
        <CommandArgument name="RangeMode" value="1"/>
        <CommandArgument name="IntervalMode" value="0"/>
        <CommandArgument name="Invert" value="0"/>
        <CommandArgument name="PitchFrom" value="0"/>
        <CommandArgument name="PitchTo" value="127"/>
        <CommandArgument name="VelocityFrom" value="0.601"/>
        <CommandArgument name="VelocityTo" value="1"/>
        <CommandArgument name="NoteLengthFrom" value="21"/>
        <CommandArgument name="NoteLengthTo" value="2"/>
        <CommandArgument name="BeatGrid" value="7"/>
        <CommandArgument name="StartBeat" value="0"/>
        <CommandArgument name="BeatInterval" value="1"/>
        <CommandArgument name="BeatTolerance" value="0"/>
        <CommandArgument name="PositionCount" value="2"/>
        <CommandArgument name="PositionStart" value="1"/>
    </CommandElement>
    <CommandElement category="Musical Functions" name="Length">
        <CommandArgument name="Value" value="0.5"/>
        <CommandArgument name="FactorValue" value="1.4"/>
        <CommandArgument name="LegatoOverlap" value="0"/>
        <CommandArgument name="Mode" value="3"/>
    </CommandElement>
    <CommandElement category="Edit" name="Deselect All"/>
</Macro>
 

Attachments

  • Like
Reactions: AAV
This thread got far more posts than I expected. And I got a custom made macro. So, thank you! I'll maybe add 2 more velocity ranges and reduce the length factor substantially because (as you wrote) I can repeat the macro if needed. (And fixing a few notes later is always an option.)
 
Last edited:
Back
Top