|
|
|
05-10-2019, 07:54 AM
|
#1
|
Human being with feelings
Join Date: Feb 2015
Posts: 753
|
MIDI overlap to pitch bend (portamento)
Hey fam...
Is there currently a JSFX MIDI effect that can take overlapping MIDI notes and create a monophonic portamento glide (using pitch bend) from one note to the next?
If not, is that something that would be easy for someone to make?
This could be really useful for instruments which do not have portamento features (e.g. RS5K).
|
|
|
05-12-2019, 04:47 PM
|
#2
|
Human being with feelings
Join Date: Aug 2013
Location: Bowral, Australia
Posts: 1,638
|
Just to clarify, if the notes are overlapping, portamento is on and if they are not overlapping, portamento is off?
I think this should be possible. You would need to input the pitch bend range for the target instrument as it can vary between instruments. I'm not sure how smooth it would be in practice.
|
|
|
05-13-2019, 03:46 AM
|
#3
|
Human being with feelings
Join Date: Nov 2006
Posts: 855
|
|
|
|
05-21-2019, 06:47 AM
|
#4
|
Human being with feelings
Join Date: Feb 2015
Posts: 753
|
Quote:
Originally Posted by Time Waster
Just to clarify, if the notes are overlapping, portamento is on and if they are not overlapping, portamento is off?
I think this should be possible. You would need to input the pitch bend range for the target instrument as it can vary between instruments. I'm not sure how smooth it would be in practice.
|
I was thinking that the pitch bend amount be a dynamic calculation of the pitch difference of the notes. And the speed be either a static value or a based on the time of overlap...
And ideally, the curve of the bend be specified:
1) Linear
2) Curve Preset
3) Dynamic Curve (bezier curve ends being directly or inversely proportional to velocity of notes).
Is that too much in regards to portamento?
Also, I've known about kawa's script, which generates curves.
I guess I was just hoping for a midi JSFX effect instead of a LUA script.
Something that can be inserted in the FX chain and simply enabled or disabled.
|
|
|
05-21-2019, 04:50 PM
|
#5
|
Human being with feelings
Join Date: Mar 2007
Location: Denver, CO
Posts: 633
|
oooh,that would be cool!!!
and yes, JSFX, so it can be (crucially) used in real time
sounds mathy, though Not for me....
|
|
|
05-21-2019, 11:43 PM
|
#6
|
Human being with feelings
Join Date: Aug 2013
Location: Bowral, Australia
Posts: 1,638
|
Quote:
Originally Posted by Ozman
I was thinking that the pitch bend amount be a dynamic calculation of the pitch difference of the notes. And the speed be either a static value or a based on the time of overlap...
And ideally, the curve of the bend be specified:
1) Linear
2) Curve Preset
3) Dynamic Curve (bezier curve ends being directly or inversely proportional to velocity of notes).
Is that too much in regards to portamento?
|
The portamento time would have to be a preset value. You can't use overlap because the note-off message will arrive in the future, so the overlap is indeterminate at the time you need to do the calculation.
Usually portamento is just linear AFAIK, but other curves could be interesting.
|
|
|
05-28-2019, 08:06 PM
|
#7
|
Human being with feelings
Join Date: Aug 2013
Location: Bowral, Australia
Posts: 1,638
|
I have added a portamento FX here: https://stash.reaper.fm/v/36457/MIDI-PB-Portamento.jsfx
Currently this is only a linear portamento, as a proof of concept. Portamento only occurs when notes are overlapping. Non overlapping notes will have a normal step change. You need to dial in the pitch bend range as set on your virtual instrument.
Note, the portamento note range will be limited by your instruments pitch bend range. If the note step change is greater than the pitch bend range, you will only get a partial portamento.
To do: Add an option to provide portamento for all notes including non overlapping notes. Add some other functions for the transition curve e.g. cosine; exponential; inverse exponential.
|
|
|
05-30-2019, 02:05 AM
|
#8
|
Human being with feelings
Join Date: Aug 2013
Location: Bowral, Australia
Posts: 1,638
|
I have now added the all notes option, and the transition curves. Updated in the stash.
|
|
|
06-04-2019, 07:15 AM
|
#9
|
Human being with feelings
Join Date: Feb 2015
Posts: 753
|
Time Waster, dude... you're the man.
This will be of use in sooo many cases!
Testing now.
Are you adding it to a ReaPack?
|
|
|
06-05-2019, 04:29 AM
|
#10
|
Human being with feelings
Join Date: Aug 2013
Location: Bowral, Australia
Posts: 1,638
|
@Ozman, I'll add it to ReaPack eventually, along with a few others. Let me know how your testing goes.
|
|
|
07-15-2019, 12:05 PM
|
#11
|
Human being with feelings
Join Date: Apr 2013
Location: Toronto ON
Posts: 972
|
Quote:
Originally Posted by Time Waster
I have added a portamento FX here: https://stash.reaper.fm/v/36457/MIDI-PB-Portamento.jsfx
Currently this is only a linear portamento, as a proof of concept. Portamento only occurs when notes are overlapping. Non overlapping notes will have a normal step change. You need to dial in the pitch bend range as set on your virtual instrument.
Note, the portamento note range will be limited by your instruments pitch bend range. If the note step change is greater than the pitch bend range, you will only get a partial portamento.
To do: Add an option to provide portamento for all notes including non overlapping notes. Add some other functions for the transition curve e.g. cosine; exponential; inverse exponential.
|
Very nice. Thanks!
|
|
|
Thread Tools |
|
Display Modes |
Linear Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -7. The time now is 05:00 AM.
|