Old 11-21-2016, 06:27 AM   #1
ijijn
Human being with feelings
 
ijijn's Avatar
 
Join Date: Apr 2012
Location: Christchurch, New Zealand
Posts: 479
Default VI Folio: Pushbike - pushback quantiser

Saddle up everyone, it's time for the VI Pushbike.

Currently in Early Access, this plugin hopes to do a lot of interesting and useful things for you in the realm of note quantisation and retriggering. It's available as part of the VI Folio package. Your feedback would be most appreciated.

Current features
  • Pushback quantisation: notes will be delayed to coincide with the next "beat".
  • Retriggering: notes will be repeatedly triggered as long as the original notes continue. Set to 0 to disable.
  • Flexible grids: independent and arbitrarily configurable grids for pushback quantisation beats and note retriggering.
  • Strength: quantise a little or a lot.
  • Forgiveness: notes landing just after a quantisation grid curfew but before the forgiveness fraction of the grid has elapsed will not be delayed.
  • Heavy duty: this plugin should handle bars (and bars...) of pushback delay/retriggering craziness.
  • Terminator setting: a quantised note that has already ended before its official start time is now either completely removed (terminator mode on) or played for an instant (terminator mode off). Any duplicates will be removed.
  • Multi-situational: playback and/or live input

Roadmap
  • Expressive variation during retriggering
  • Loading time performance improvements
  • Various other configuration options and user suggestions

Hope you enjoy it and let me know how you get on.

Last edited by ijijn; 11-23-2016 at 01:33 AM.
ijijn is offline   Reply With Quote
Old 11-21-2016, 06:36 AM   #2
mccrabney
Human being with feelings
 
mccrabney's Avatar
 
Join Date: Aug 2015
Location: Twiddy, Alabama
Posts: 1,962
Default

Quote:
Originally Posted by ijijn View Post
[*]A quantised note that has already ended before its official start time is now completely removed. Is this desired, or would you like the option of playing it, perhaps for 0/1 samples or a full grid's worth?
as option, please! for sequence triggering (ala ableton) you'll often just hit a note and release it, expecting it to trigger a measure later for example. the above described feature, if i understand it correctly, would prevent this, though it does have other useful options.

wow, you've very quickly created what appears to be the best and most configurable live quantizer that i've ever seen.
__________________
° using REAPER as host/arranger/sequencer to write instrumental beat music.
° striving for a loop-based, controller-centric midi recording/editing workflow.
° reluctantly switched to using Ableton for live performance and actually enjoying it
mccrabney is offline   Reply With Quote
Old 11-21-2016, 06:53 AM   #3
ijijn
Human being with feelings
 
ijijn's Avatar
 
Join Date: Apr 2012
Location: Christchurch, New Zealand
Posts: 479
Default

Thanks! Yes, that sounds about right.

EDIT: I've added it as an option called "Terminator mode".

Last edited by ijijn; 11-21-2016 at 01:48 PM.
ijijn is offline   Reply With Quote
Old 11-21-2016, 01:45 PM   #4
ijijn
Human being with feelings
 
ijijn's Avatar
 
Join Date: Apr 2012
Location: Christchurch, New Zealand
Posts: 479
Default

New in VI Folio 0.8.23...

Notes occurring precisely on a grid line should act normally now and don't require any forgiveness.

I've added a terminator mode: "On" will remove all abandoned notes (as before) while "Off" will allow them to speak briefly. Also, VI Pushbike will only ever play one such note in each case, no matter how many times a note is abandoned before the grid curfew. Playing multiple identical note events simultaneously is rarely an excellent idea.
ijijn is offline   Reply With Quote
Old 11-21-2016, 02:19 PM   #5
semiquaver
Human being with feelings
 
Join Date: Jun 2008
Posts: 4,913
Default

any plans to include these in ReaPack?
semiquaver is offline   Reply With Quote
Old 11-21-2016, 06:18 PM   #6
ijijn
Human being with feelings
 
ijijn's Avatar
 
Join Date: Apr 2012
Location: Christchurch, New Zealand
Posts: 479
Default

Quote:
Originally Posted by semiquaver View Post
any plans to include these in ReaPack?
Possibly. I'll look into the logistics of that soon.
ijijn is offline   Reply With Quote
Old 11-21-2016, 07:02 PM   #7
Sju
Human being with feelings
 
Join Date: Jun 2015
Posts: 686
Default

Wow this looks interesting, will give it a try certainly.

Thank you!

EDIT: just had a look at that suite of plugins you've created :O really impressive! also I appreciate the work you've put on those sweet looking GUIs definitely gotta check them out

I must ask though, what the hell is happening in that code of yours?!

Last edited by Sju; 11-21-2016 at 07:18 PM.
Sju is offline   Reply With Quote
Old 11-21-2016, 09:25 PM   #8
ijijn
Human being with feelings
 
ijijn's Avatar
 
Join Date: Apr 2012
Location: Christchurch, New Zealand
Posts: 479
Default

Quote:
Originally Posted by Sju View Post
Wow this looks interesting, will give it a try certainly.

Thank you!

EDIT: just had a look at that suite of plugins you've created :O really impressive! also I appreciate the work you've put on those sweet looking GUIs definitely gotta check them out

I must ask though, what the hell is happening in that code of yours?!
Thanks! I hope you find uses for them and please let me know if you have any questions. It's definitely a work in progress but I'm really glad you like the GUIs so far.

Ah yes, the source code. Pretty isn't it?! ... The original VI Folio repository is split over 100+ files and contains lots of extra baggage for every eventuality. The code in each case has been aggregated and minified. This way it compiles in slightly less time (although it's still taking quite a while and I seriously hope there are more things I can do in this regard) and is much more standalone than a giant, evolving hierarchy of folders. I actually got the original inspiration for this code structure from bang's arp!0, but I've clearly taken the madness to another level.
ijijn is offline   Reply With Quote
Old 11-23-2016, 01:29 AM   #9
ijijn
Human being with feelings
 
ijijn's Avatar
 
Join Date: Apr 2012
Location: Christchurch, New Zealand
Posts: 479
Default Live mode

VI Folio 0.8.25 has arrived. Check out Pushbike's new live mode.
ijijn is offline   Reply With Quote
Old 12-08-2016, 06:28 AM   #10
mccrabney
Human being with feelings
 
mccrabney's Avatar
 
Join Date: Aug 2015
Location: Twiddy, Alabama
Posts: 1,962
Default

latest pushbike version doesn't seem to be working for me? fx shows up but no changes are made to the incoming midi...
__________________
° using REAPER as host/arranger/sequencer to write instrumental beat music.
° striving for a loop-based, controller-centric midi recording/editing workflow.
° reluctantly switched to using Ableton for live performance and actually enjoying it

Last edited by mccrabney; 12-08-2016 at 06:34 AM.
mccrabney is offline   Reply With Quote
Old 12-12-2016, 06:56 PM   #11
ijijn
Human being with feelings
 
ijijn's Avatar
 
Join Date: Apr 2012
Location: Christchurch, New Zealand
Posts: 479
Default

Hmm, that's no good, I don't know what's going on. Version 0.8.25 seems to be working fine here.

By any chance, do you have:
  • the desired notes unshaded by the keyboard?
  • the relevant channel/s selected?
  • the strength set high enough?
  • the forgiveness set low enough?

If it's none of these, have you tried Ctrl+clicking on the "Edit..." button to recompile? Does that help? If not, how many instances of Pushbike are you running?
ijijn is offline   Reply With Quote
Old 12-13-2016, 08:06 AM   #12
mccrabney
Human being with feelings
 
mccrabney's Avatar
 
Join Date: Aug 2015
Location: Twiddy, Alabama
Posts: 1,962
Default

thanks, will test on a simpler project. i have a lot of edge case midi routings so it may well have been luser error.

side note, these plugins are still loading much more slowly than other vst and JS plugins - not a huge problem but it adds 2 seconds to each load (i intend to include this in my default project)

is there any chance you could make a GUI-less version of this fella? i suspect that it's the GUI that does this.
__________________
° using REAPER as host/arranger/sequencer to write instrumental beat music.
° striving for a loop-based, controller-centric midi recording/editing workflow.
° reluctantly switched to using Ableton for live performance and actually enjoying it
mccrabney is offline   Reply With Quote
Old 12-15-2016, 01:59 PM   #13
ijijn
Human being with feelings
 
ijijn's Avatar
 
Join Date: Apr 2012
Location: Christchurch, New Zealand
Posts: 479
Default

I'm really glad the GUI-less version has improved loading times for you.

Justin has kindly looked into this for me: apparently it's most likely related to the number of declared functions and function calls, as the JSFX compiler currently does a linear search every time a function call occurs, effectively resulting in a performance hit proportional to the square of the total number of functions. In other words: ouchies, my friend...

When I get the chance, I'm going to have a hack at this from various angles: inlining certain functions and fine-tuning the removal logic via the minification process so that there are fewer functions overall, and tinkering with the EEL source code in WDL in an effort to improve the search algorithm to incorporate a number of potential optimisations I have brewing. Who knows, maybe those experiments will even trickle back into mainstream JSFX at some stage, despite Justin's clear anti-function leanings.

But for now, VST is generally looking very promising as a high performance solution, so I'll focus on that for a while.
ijijn is offline   Reply With Quote
Old 04-07-2017, 02:24 AM   #14
ThrashJazzAssassin
Human being with feelings
 
ThrashJazzAssassin's Avatar
 
Join Date: Oct 2010
Location: Scotland
Posts: 357
Default

I've been using Pushbike to sync super8 recording and playback to REAPER's arrange grid/tempo and it works perfectly. Thank you so much ijijn! No other plugin can do it quite so well.

It's hugely CPU expensive however - using more CPU than any of my reverb's or delay's. Are you any further forward with an optimised version?
__________________
TJA MIDI JSFX | REAPER-OSC-panels | erthoide
ThrashJazzAssassin is offline   Reply With Quote
Old 04-09-2017, 08:03 PM   #15
ijijn
Human being with feelings
 
ijijn's Avatar
 
Join Date: Apr 2012
Location: Christchurch, New Zealand
Posts: 479
Default

Thanks so much for the feedback, ThrashJazzAssassin.

It's been insanely busy with work this year, but I do plan to create a VST version as soon as I get the chance: that's probably our best bet in terms of reducing CPU usage.
ijijn is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 06:47 PM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, vBulletin Solutions Inc.