Introduction
Creating a virtual instrument for the well-known Kontakt sampler, or its promising open source alternative Hise, or for any other software/format (SFZ, VSTi… etc…) requires a lot of patience.
You have to edit and organize hundreds of items, with a lot of small variations of the same sound — velocity, tonality, round robin —, different articulations… It gets even more complicated when you have multi-mics sound recording.
In these scenario, repetitive tasks is very common, and organization is key. Finding the tonality of the recorded sound, naming the items with the right datas and the right format to allow sorting etc… You have to do that over and over again.
That’s where the scripts in this pack can helped you. Most of scripts were designed for David @X-Tant Audio (especially for his Bass library) or Simon @Ivy Audio, two brilliant Virtual Instrument Designers professionals, to fit their particular workflow, involving tonal instruments. I’m pretty sure other people who have to deal with a lot of items can take advantage of them
Content
Name | Folder | Links | Date | Version | Changes |
---|---|---|---|---|---|
X-Raym_Split selected items according to MIDI take under mouse notes legatos.lua | Items Editing | 2020-10-29 | 1.1 | 1.1 (2020-10-29)
1.0.1 (2016-06-22)
1.0 (2016-04-12)
| |
X-Raym_Analyze pitch of items on selected tracks and commit as item notes - ReaTune.lua | Items Properties | 2017-08-20 | 1.1.2 | 1.1.2 (2017-08-20) 1.1.1 (2016-06-14) | |
X-Raym_Analyze pitch of items on selected tracks and commit as item notes - Schmitt.lua | Items Properties | 2023-09-23 | 1.2.3 | 1.2.3 (2023-09-23)
1.2.2 (2017-08-20)
1.2.1 (2016-06-14) | |
X-Raym_Apply octave shift on selected items names written in Kontakt automap format.lua | Items Properties | 2016-04-12 | 1.0 | 1.0 (2016-04-12)
| |
X-Raym_Color selected active takes according to pitch in their name.lua | Items Properties | Screenshot | 2016-07-01 | 1.0 | 1.0 (2016-07-01)
|
X-Raym_Rename selected items active takes from REAPER MIDI notes to Kontakt notes.lua | Items Properties | 2017-08-20 | 1.0.1 | 1.0.1 (2017-08-20)
1.0 (2016-04-12)
| |
X-Raym_MIDI_Single-note-analyzer.jsfx | JSFX | 2016-06-14 | 1.0.1 | 1.0.1 (2016-06-14) | |
X-Raym_Schmitt-tuner.jsfx | JSFX | 2016-04-22 | 1.0 | 1.0 (2016-04-22) | |
X-Raym_Add project markers according to selected takes MIDI notes.lua | MIDI | 2016-04-19 | 1.0 | 1.0 (2016-04-19)
|
Details
- X-Raym_Analyze pitch of items on selected tracks and commit as item notes – ReaTune.lua
Use the script below and applied estimated average musical note of item below under play cursor as item notes, while REAPER is playing. ReaTune exports MIDI data and the JSFX below analyses them. Item notes can be sorted by alphabetical order (so in this case, by pitch). Also, the script works on all selected tracks so you can process a lot of items at the same time, as long as their parent track have the right JSFX. - X-Raym_MIDI_Single-note-analyzer.jsfx
A minimal JSFX scripts used to determine what MIDI note is being played. Use it with the script above.
- X-Raym_Analyze pitch of items on selected tracks and commit as item notes – Schmitt.lua
Just like the other pitch analysis script, but using a different pitch detection algorithm. ReaTune should be better in most cases. - X-Raym_Schmitt-tuner.jsfx
A JSFX to make pitch analysis, based on an native REAPER script.
- X-Raym_Split selected items according to MIDI take under mouse notes legatos.lua
A script dedicated to legatos samples editing (like for flutes instruments for example). First your record flute legatos, space by a bit of silence. Then you analyses the audio and output the results as MIDI (this can be done with Melodyne or ReaTune for example). Then you can run the action with the mouse over the midi items, and all selected items will be split from -x to +y positions from legato middle. It can optionally add markers at legato to see if legatos were detected at the right place. - X-Raym_Rename selected items active takes from REAPER MIDI notes to Kontakt notes.lua
Scripts above output sortable note names format in more usual Kontakt way for automapping. - X-Raym_Apply octave shift on selected items names written in Kontakt automap format.lua
If your item active take has been named according to Kontakt automapping usual format (note_keyOctave, 35_C3), you could offset it’s octave number its name using this script. - X-Raym_Add project markers according to selected takes MIDI notes.lua
This can help you mark certain MIDI events on the project. Useful if you audio tuning analysis output the result as MIDI item.
- X-Raym_Color selected active takes according to pitch in their name.lua
A way to color items based on their pitch if they have Kontakt style named active take. Several color mods, based on MyColorMusic, and possibility to mod the script to make your own and deactivate the prompt window.
The license is valid for 1 year. Then, a discount will be proposed to you if you want to still be able to get updates from this pack.
Demos
Here is a very nice in depth tutorial for the Split at MIDI legatos script, used on a real like project, by Simon Dallzel from Ivy Audio, followed by an audio demo of the result:
https://soundcloud.com/simon_dalzell/flute-demo/
Many thanks to Simon for these! 🙂
The following video is a demo of the workflow involving the Schmitt tonality analysis, how the results is committed to items under play cursor notes and then how items can be sort by pitch.
Simple comparison between the two different algorithms set up:
Color selected active takes according to pitch in their name demo:
Detailed Usage instructions
Here is the detailed instructions for the both Analyses Items Pitch scripts.
ReaTune version
- Insert ReaTune as FX
- Activate Send Midi Signal
- Put JS: MIDI Single Note Analyzer just after
- Run the X-Raym_Analyze pitch of items on selected tracks and commit as item notes – ReaTune.lua
Schmitt version
- Insert JS: schmitt-triggering tuner (X-tented) as FX
- Run the X-Raym_Analyze pitch of items on selected tracks and commit as item notes – Schmitt.lua
Tips
In the Items Pitch analysis scripts, pitch is committed to item as item notes. You can use my free X-Raym_Swap selected item notes and take name.lua script to commit the result as take name. Also, if you need to reset the item notes, I have a free X-Raym_Delete selected items notes.lua script.
By using the X-Raym_Sort selected items order by item notes alphabetically keeping snap offset positions per tracks.lua on my free pack, you will be able to sort the items by their tonality, when their are not in the Kontakt common format.
Others scripts dedicated to such workflow can be found in my free script pack like the Trim items by common time section in selection columns scripts for item editing, my groups items scripts, from both my free and paid pack.
Installation
After purchase, just log into the website, to check the detailed installation instructions here, or on the dedicated Purchase Confirmation page. This pack can be installed and updated from REAPER thanks to the free ReaPack extension, via a custom repository link related to your licence, or via regular Zip download. License are valid lifetime. You will be able to enjoy updates and new scripts added to the pack without extra cost.
Modding
These scripts are open source. Some of them have customizable User Area in their header to customize few settings for the scripts (for deactivating the pop up and setting default values, if any are required).
Here is an example with the split at legato script:
-- USER AREA ----------- prompt = true -- true/false: display a prompt window at script run offset_X = 1 -- number (seconds) offset_Y = 1 octave = -1 -- offset the octave number window = 0.02 -- number (milliseconds) insert_markers = true -- true/false: add markers at split position messages = true -- true/false: debug -- END OF USER AREA ----
Links
- Q: Sorting by pitch and selecting tracks – Cockos Confederated Forums
- Cutting Audio Based on MIDI Data – Cockos Confederated Forums
- color items by tonal content? – Cockos Confederated Forums
Notes
By buying this product, you are supporting my free scripting. Thanks!