Old 11-29-2013, 01:05 AM   #1
ijijn
Human being with feelings
 
ijijn's Avatar
 
Join Date: Apr 2012
Location: Christchurch, New Zealand
Posts: 482
Default VI Sculpt - JS plugin to shape virtual instruments

Hey there,

I've been working on a JS project called VI Sculpt and I think it's time for the first public unveiling. The 'VI' here stands for Virtual Instrument, and this plugin is designed to automate much of the heavy lifting required to help make smooth, organic-sounding lines ... or bizarre, unrealistic lines if you prefer. It uses PDC to peer briefly into the future, therefore it is not intended for live performance but rather for pre-recorded MIDI.

Re-updated: VI Compensator 120K is an auxiliary plugin that extends VI Sculpt's maximum delay capabilities. Simply add one or more VI Compensator 120Ks after VI Sculpt in the chain to dial back the resulting delay until everything is in sync.

If you'd like to give it a go, VI Sculpt and VI Compensator 120K are available together as a package in the stash here: https://stash.reaper.fm/v/18934/VISculpt.zip
Latest version: 1.4.0706

It uses language features from JSFX updates a few months back, so a not-ridiculously-recent version of Reaper is required. If you're experiencing problems and haven't updated Reaper in a while, that could be the cause.

I've just started working on the GUI side of things to arrange features more logically, starting with the channel mask/filter selection. And speaking of the channel mask, you can use it to mix and match VI Sculpt instances on the same track if different instruments have different needs.

I'd be very keen to hear your thoughts, including any questions, bug reports, suggestions and the like.

Hope you can find some use for it,
ij

Last edited by ijijn; 07-07-2014 at 04:16 PM. Reason: updated to version 1.4.0706, newly-renamed VI Compensator 120K
ijijn is offline   Reply With Quote
Old 11-29-2013, 01:30 AM   #2
G-Sun
Human being with feelings
 
G-Sun's Avatar
 
Join Date: May 2010
Location: Norway
Posts: 7,318
Default

Please outline features and usage
__________________
Reaper x64, win 11
Composer, text-writer, producer
Bandcamp
G-Sun is offline   Reply With Quote
Old 11-29-2013, 02:25 AM   #3
ijijn
Human being with feelings
 
ijijn's Avatar
 
Join Date: Apr 2012
Location: Christchurch, New Zealand
Posts: 482
Default

Quote:
Originally Posted by G-Sun View Post
Please outline features and usage
Sure thing.

From the documentation on the stash page:

Quote:
VI Sculpt performs multiple tasks to help automate the sculpting of pre-recorded MIDI data for more organic playback, especially for virtual instruments that offer many articulations and/or CC automation, such as VSL and Spitfire Audio libraries.

A more detailed description is available in the JS file itself, but here is a brief overview.

It is composed of five main parts:
  • A. Length, Overlap, Hybrid Length-Overlap and Overlap CC generation: based on how long the notes are, how much they overlap and the interval between them.
  • B. Velocity and Expression XF CC curve generation: based on input velocities.
  • C. Velocity value manipulation: if your instruments have other uses for velocity besides volume (such as portamento) you can make the necessary adjustments here.
  • D. Note name manipulation: the note name (i.e. pitch value) of each control point can be used to generate yet another CC curve, for additional control.
  • E. [Monophonic Only] Channel to keyswitch converter: notes on channels other than 1 produce keyswitches instead, and output to channel 1.
VI Sculpt can be assigned to monophonic or polyphonic mode:

Monophonic mode allows for only one voice at a time. In this mode, the channel to keyswitch converter can be enabled.

Polyphonic mode allows for up to 16 different voices (one per MIDI channel). Each channel is treated independently.

Each CC output from parts A, B and D can be disabled independently if you do not require it by choosing CC 128 [Bypass] in the drop-down menu.

The channel to keyswitch converter is automatically disabled in polyphonic mode, and can also be disabled manually in monophonic mode by choosing 128: [Bypass] in the drop-down menu.

You can set VI Sculpt to bypass certain channels using the Channel mask setting. Channel n will be processed if the bit value 2^(n-1) is set.
To create swells and dips within a note, you can simply add other short notes during a longer note. If a note is completely surrounded by a parent note it is treated as a waypoint, and will use its new velocity and/or pitch to help automate certain parameters. VI Sculpt creates smooth, user-controlled curves between these various values.

The other main feature is CC creation from every note's length and/or overlap with the next note. A typical use for these CCs is to switch between short and long articulations, and separate and legato phrasing.

The following screenshots may give you an idea. The top one shows the original MIDI, and the bottom one shows the output from VI Sculpt.

Original MIDI: note the small waypoint notes towards the end of the polyphonic phrase


Processed MIDI: these are some of the lanes of data you can produce automatically


Please let me know if you have any other questions,
ij
ijijn is offline   Reply With Quote
Old 11-29-2013, 02:40 AM   #4
DarkStar
Human being with feelings
 
DarkStar's Avatar
 
Join Date: May 2006
Location: Surrey, UK
Posts: 19,680
Default

Quote:
Originally Posted by ijijn View Post
... From the documentation on the stash page ...
For info, here is the link to the page: https://stash.reaper.fm/v/18934/VISculpt.zip
__________________
DarkStar ... interesting, if true. . . . Inspired by ...
DarkStar is offline   Reply With Quote
Old 11-29-2013, 02:44 AM   #5
ijijn
Human being with feelings
 
ijijn's Avatar
 
Join Date: Apr 2012
Location: Christchurch, New Zealand
Posts: 482
Default

Quote:
Originally Posted by DarkStar View Post
For info, here is the link to the page: https://stash.reaper.fm/v/18934/VISculpt.zip
Ah yes, thanks! Sorry, that's the link I wanted to put to begin with. Correcting!
ijijn is offline   Reply With Quote
Old 11-29-2013, 03:18 AM   #6
DarkStar
Human being with feelings
 
DarkStar's Avatar
 
Join Date: May 2006
Location: Surrey, UK
Posts: 19,680
Default

Now in the Library:

http://forum.cockos.com/showpost.php...54&postcount=5
__________________
DarkStar ... interesting, if true. . . . Inspired by ...
DarkStar is offline   Reply With Quote
Old 11-29-2013, 03:53 AM   #7
ijijn
Human being with feelings
 
ijijn's Avatar
 
Join Date: Apr 2012
Location: Christchurch, New Zealand
Posts: 482
Default

Quote:
Originally Posted by DarkStar View Post
Thank you!
ijijn is offline   Reply With Quote
Old 12-02-2013, 08:41 PM   #8
ijijn
Human being with feelings
 
ijijn's Avatar
 
Join Date: Apr 2012
Location: Christchurch, New Zealand
Posts: 482
Default

The VI Sculpt package has now been updated to include the associated VI PDC Compensator VI Compensator 120K script, if you would like to use longer delays than Reaper's threshold value.

Last edited by ijijn; 09-05-2014 at 05:26 PM. Reason: script has been renamed
ijijn is offline   Reply With Quote
Old 12-03-2013, 09:18 PM   #9
Sasje
Human being with feelings
 
Sasje's Avatar
 
Join Date: Sep 2013
Posts: 137
Default

Nice, works great here.

I do a have question though: I don't see all the events in the midi lane? as in your screenshot. Do I need to add them manually?
Sasje is offline   Reply With Quote
Old 12-03-2013, 10:08 PM   #10
ijijn
Human being with feelings
 
ijijn's Avatar
 
Join Date: Apr 2012
Location: Christchurch, New Zealand
Posts: 482
Default

Quote:
Originally Posted by Sasje View Post
Nice, works great here.

I do a have question though: I don't see all the events in the midi lane? as in your screenshot. Do I need to add them manually?
Hi Sasje, and thanks for your feedback! I'm glad it's working for you.

I hope I understand your questions correctly..

The events generated by VI Sculpt won't generally be visible, unless you do something like record its output to another track. This can be extremely useful for testing purposes, so I'll run through one way to do it:
  1. Create a new track.
  2. Record Arm the track.
  3. Set its record input to Record: output (MIDI).
  4. Create a receive on this track from the track with VI Sculpt; you'll probably want to set this receive to just MIDI, no audio.
(If anyone has doubts on how to do any of this I'd be happy to elaborate)

When this is done you just hit record, and you should get a copy of all of the MIDI that's coming through. Does that answer your question?

Or if you mean how do you show multiple CC lanes, there is a little '+' button for this. Then you can choose which CC (or velocity etc) you would like it to display.

Also, after some further testing it seems that a delay of 2.72 seconds is now better than 2.67 seconds: it produces tighter results. I'll upload a new version soon with this new and improved default.
ijijn is offline   Reply With Quote
Old 12-03-2013, 10:17 PM   #11
Sasje
Human being with feelings
 
Sasje's Avatar
 
Join Date: Sep 2013
Posts: 137
Default

That makes sense. I initially thought that it would add these events to the lane, but I now see there is a difference in that.
Sasje is offline   Reply With Quote
Old 12-03-2013, 11:08 PM   #12
ijijn
Human being with feelings
 
ijijn's Avatar
 
Join Date: Apr 2012
Location: Christchurch, New Zealand
Posts: 482
Default

Quote:
Originally Posted by Sasje View Post
That makes sense. I initially thought that it would add these events to the lane, but I now see there is a difference in that.
Excellent. Yeah, like a lot of Reaper's workflow it's non-destructive so you always have access to the original unprocessed material should you need it.
ijijn is offline   Reply With Quote
Old 12-08-2013, 02:07 AM   #13
ijijn
Human being with feelings
 
ijijn's Avatar
 
Join Date: Apr 2012
Location: Christchurch, New Zealand
Posts: 482
Default

VI Sculpt in the stash has been updated to version 1.3.1208, which fixes a few bugs related to note length.
ijijn is offline   Reply With Quote
Old 12-23-2013, 02:27 PM   #14
Swamp Ape
Human being with feelings
 
Swamp Ape's Avatar
 
Join Date: Mar 2012
Location: Asheville NC
Posts: 1,335
Default

This is very cool, thanks
Swamp Ape is offline   Reply With Quote
Old 12-23-2013, 06:24 PM   #15
ijijn
Human being with feelings
 
ijijn's Avatar
 
Join Date: Apr 2012
Location: Christchurch, New Zealand
Posts: 482
Default

Thank you, you're most welcome. Merry Christmas!
ijijn is offline   Reply With Quote
Old 07-06-2014, 06:05 AM   #16
ijijn
Human being with feelings
 
ijijn's Avatar
 
Join Date: Apr 2012
Location: Christchurch, New Zealand
Posts: 482
Default

Hi folks.

Good news! I've been chipping away at an (overdue) update of VI Sculpt and it's finally here, bringing us to the most auspicious version to date: 1.4.0706!

Here's a list of various changes:
  • BLEACHER FEATURE: This season, pinch-hitting slider number 2 [Codename: Late-End Dizzy] has been picked up by team management in an effort to tighten up VI Sculpt's timing to near-sample accuracy and get you right back in the game. To take advantage of this, you simply need to work out the difference between the two PDC values (in samples) displayed at the bottom of Reaper's FX window (aka the "ninth"). If you have any other PDC-inducing plugins in your starting lineup, you may like to leave them on the sidelines (just for this calculation) as they will affect the numbers. For example, VI Sculpt on my system shows career stats of 0.0%/ 0.0% CPU 120000/ 120320 spls, so I would put 320 (120320 - 120000 for the decimally-challenged) into the latency slider. Done. It's not quite perfect (you could experience the occasional curveball), and you may not feel the need to bother in the first place for many midi timing applications, but it's here for you if you need it.
  • DELAY TREATMENT: It seemed sensible to change the delay to deal directly with samples instead of seconds, so I did. You are now strongly encouraged to use the built-in multiples of 120,000 samples for the delay length, and the renamed VI Compensator 120K companion plugin is also locked into this 120,000 samples paradigm. Finally, the delay in seconds is still available (it now appears down below), so you can use that to help gauge your real-world needs.
  • CODE CRACKDOWN: The moving parts have been simplified and streamlined, which has been helpful in recent debugging sessions. Oh yes, undeniably thrilling stuff for all concerned.
  • BUG HUNTING: The engine responds much better in general stress testing, such as using painfully small rotating queue sizes for event storage. Most of the note-eating problems, including the trademark slow and messy startup, should be fixed now.
And there may be some more stuff in there, but I've forgotten all about it for the time being.

Next up on the @block:
  • GUI VIEWERS AND THE NEWS: For those of you unhappy to be stuck with sliders, relief is coming. A custom user interface is in the works, which should completely transform the end-user experience when it rolls out Autobot style in the near future. The GUI prototype will actually be making its public debut in a companion plugin soon. For the two of you out there who are interested, it's a flexible control matrix designed to take multiple strands of VI Sculpt's CC output and weave them into funkier, more complex results.
  • DEBUG DEBACLE: In monophonic mode, if you have two notes of the same pitch on different channels that overlap there will be silence until this same pitch appears again, preferably in a less problematic scenario. You probably shouldn't be doing this anyway with monophonic material, but I'll have a crack at patching this special case. I warmly welcome your testing feedback too, if things don't behave quite as expected.
Have fun and keep on sculpting!

ij

Last edited by ijijn; 07-06-2014 at 06:16 AM.
ijijn is offline   Reply With Quote
Old 03-18-2016, 04:41 PM   #17
memyselfandus
Human being with feelings
 
memyselfandus's Avatar
 
Join Date: Oct 2008
Posts: 1,598
Default

well this looks very cool!
memyselfandus is offline   Reply With Quote
Old 03-19-2016, 02:54 AM   #18
ijijn
Human being with feelings
 
ijijn's Avatar
 
Join Date: Apr 2012
Location: Christchurch, New Zealand
Posts: 482
Default

Quote:
Originally Posted by memyselfandus View Post
well this looks very cool!
Hey, thanks!

I haven't updated it in quite a long time, but I've got a much improved replacement coming very soon. It fixes a lot of bugs, processes each voice independently (for those of you who don't know what that means, check the pre-release forum or wait for the next official release to find out more) and is more extensible and modular. VI Scout coming soon, to a Reaper near you...
ijijn is offline   Reply With Quote
Old 04-25-2017, 12:46 AM   #19
bupper
Human being with feelings
 
Join Date: Oct 2013
Posts: 15
Default

anyone have a copy of this because it is no longer in the stash
bupper is offline   Reply With Quote
Old 03-31-2020, 07:57 PM   #20
rekkandevar
Human being with feelings
 
Join Date: Jan 2020
Posts: 60
Default

bumping this again because it's nowhere in the stash and i really want to use this
rekkandevar is online now   Reply With Quote
Old 04-01-2020, 02:23 AM   #21
todd_r
Human being with feelings
 
todd_r's Avatar
 
Join Date: Nov 2006
Posts: 858
Default

Quote:
Originally Posted by rekkandevar View Post
bumping this again because it's nowhere in the stash and i really want to use this
I beleive VI Folio replaced it, in ijijn's sig
todd_r 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 11:49 AM.


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