nvk.tools - REAPER Scripts for Game Audio & Sound Design
nvk.tools - REAPER Scripts for Game Audio & Sound Design
I've made a variety of REAPER scripts over the years that I use as part of my game audio workflow and decided to share them with the REAPER community. The purpose of this thread is for discussion of my scripts, so feel free to post any feedback or issues you have. You can also email me directly for support.
Disclaimer: some scripts require a license. If you download my ReaPack repository you will gain access to both free and paid scripts, but if you try to run a script you haven't paid for it will link to the store page.
nvk_CREATE allows you to Search, Layer, and Design sounds in REAPER faster than ever before. Co-developed with Neutronic, the creator of Quick Adder.
Features
Search multiple databases simultaneously with instant results as you type
Automatically trim and add take markers to items
Quickly search through regions in sound files to find the take you want
Multi-layer mode which allows you to intelligently create layered assets based on your search string with settings for length, pitch randomization, reverse, and insertion mode
Swap out assets in your project based on the search string used for that item or the name of the track with the replace script
nvk_WORKFLOW is a collection of REAPER scripts designed for extremely fast game audio workflows. It comes with three different sets of scripts that all work together.
nvk_FOLDER_ITEMS
Organize your projects with folder items: blank items which represent groups of items in a folder. These scripts allow for quick manipulation, renaming, and rendering of your assets with very little work on your end.
nvk_TAKES
Embed take markers in your assets that have more than one variation, allowing you to quickly shuffle through variations.
nvk_SUBPROJECT
A true swiss-army knife of a script. Create subprojects from either selected items or tracks, automatically trim and rename the variations, and re-render them from your main project with automatically generated start and end markers. Makes subprojects incredibly easy to incorporate in your projects by doing all the manual work for you.
Doppler effects are responsible for some of the most iconic sound effects; whether it's a spaceship flyby, a laser sword swing, or even a simple whoosh. Unfortunately, they can be cumbersome to actually create. With nvk_AUTODOPPLER, creating incredible doppler effects couldn't be easier!
Features
Analyzes your track(s) to automatically write precise and highly-tunable automation for various doppler plug-ins
Easily modify settings or use randomize button to quickly test out different effects
Render the results right into your project with automatic splitting of variations
Additional scripts which allow you to render immediately with a single keystroke on only the items you have selected, or render doppler automation automatically with the peak wherever your edit cursor is.
nvk_DOPPLER: Included with your purchase, this a doppler effect capable of wild pitch modulations that would be impossible with a conventional plug-in. By utilizing REAPER's ability to modulate playrate, you can create incredible doppler effects with zero latency or buffer.
Create perfect loops instantly in Reaper! Perfect for game audio. Can also automatically split loops up into variations which can be played back with sample-accurate transitions in middleware.
Features
Zero-crossing loop generation from selected items
Automatic crossfade settings based on item length
Renames with numbers and user-defined appended text
Option for destructive and non-destructive processing
nvk_ITEMS - Align SMART.lua
nvk_ITEMS - Apply FX to items and move to directory.lua
nvk_ITEMS - Copy item positions.lua
nvk_ITEMS - Fade curve SMART (mousewheel reversed).lua
nvk_ITEMS - Fade curve SMART (mousewheel).lua
nvk_ITEMS - Fade in curve (mousewheel reversed) .lua
nvk_ITEMS - Fade in curve (mousewheel).lua
nvk_ITEMS - Fade out curve (mousewheel reversed).lua
nvk_ITEMS - Fade out curve (mousewheel).lua
nvk_ITEMS - Fades to volume automation.lua
nvk_ITEMS - Move cursor to next transient.lua
nvk_ITEMS - Move cursor to previous transient.lua
nvk_ITEMS - Move selected items down one track SMART.lua
nvk_ITEMS - Move selected items up one track SMART.lua
nvk_ITEMS - Move to new tracks with track fx.lua
nvk_ITEMS - Paste item positions.lua
nvk_ITEMS - Remove selected items greater or less than length.lua
nvk_ITEMS - Remove selected items with no color.lua
nvk_ITEMS - Reposition selected items across tracks.lua
nvk_ITEMS - Reposition selected items.lua
nvk_ITEMS - Reset snap offsets of selected items.lua
nvk_ITEMS - Select all items after selected items.lua
nvk_ITEMS - Select all items before selected items.lua
nvk_ITEMS - Shift take offset by length of item.lua
nvk_ITEMS - Split selected items x length x space.lua
nvk_ITEMS - Stretch selected items to previous and next markers.lua
nvk_ITEMS - Switch item source to next in folder.lua
nvk_ITEMS - Switch item source to previous in folder.lua
nvk_ITEMS - Toggle mute SMART.lua
nvk_ITEMS - Toggle zoom to selected items - add time selection with offset.lua
nvk_MULTI
Scripts that do a variety of things depending on the context. Might require other collections to be installed.
nvk_MULTI - Insert or edit marker at current position.lua
nvk_MULTI - Move tracks-items-envelope points down depending on focus SMART.lua
nvk_MULTI - Move tracks-items-envelope points up depending on focus SMART.lua
nvk_MULTI - Move tracks-items-envelope points up or down depending on focus SMART (mousewheel reversed).lua
nvk_MULTI - Move tracks-items-envelope points up or down depending on focus SMART (mousewheel).lua
nvk_MULTI - Project organize - cleanup - color (multitap).lua
nvk_PROPAGATE
Nifty script to apply parameters from the first selected item on each track to all the other items after it on the track. Run it without any items selected to change the settings and then select the items and run the script again.
nvk_PROPAGATE.lua
nvk_TRACK
nvk_TRACK - Solo tracks of selected items.lua
nvk_TRACK - Set master track channel count.lua
nvk_TRACK - Reset track or item color depending on focus.lua
nvk_TRACK - Remove unused tracks.lua
nvk_TRACK - Move selected tracks up SMART.lua
nvk_TRACK - Move selected tracks down SMART.lua
nvk_TRACK - Move folder and named tracks to top of project and video track to top.lua
nvk_TRACK - Move folder and named tracks to bottom of project and video track to top.lua
nvk_TRACK - Insert and set color to parent track color.lua
nvk_TRACK - Cycle folder state of all tracks.lua
nvk_TRACK - Color folder and named tracks with SWS custom colors.lua
nvk_CREATE is released! nvk_CREATE allows you to Search, Layer, and Design sounds in REAPER faster than ever before. Co-developed with Neutronic, the creator of Quick Adder. You can find info about it in the first post on this thread or here.
As a bonus, I went on The REAPER Blog to discuss it here:
Thank you for a good media browser nvk_CREATE,
you can quickly find the desired sample in it, I would very much like the auto key of the sample to the desired note.
Thank you for a good media browser nvk_CREATE,
you can quickly find the desired sample in it, I would very much like the auto key of the sample to the desired note.
Thanks Alex! I'll keep that in mind. I agree it would be nice to have some pitch analysis and maybe features that make use of that.
I'm not sure haha. I think most game audio people are on Twitter and Slack/Discord and don't post a lot in the Reaper forums. I'd love to get bugs/feature requests sent here because it's hard to keep track of them all in all the various locations.
Thank you for a good media browser nvk_CREATE,
you can quickly find the desired sample in it, I would very much like the auto key of the sample to the desired note.
Very cool, thanks nick for the hard work.
Some NVK create suggestions
- Having the feature of the docked version in the non docked one , like split screen view would be absolutely fabulous
- In a docked version in split screen view, have the possibility to resize the waveform (on the right) independently from the result list
- possibility with a shortcut to insert automatically a full lenght file without going in pref's.
- Having some synonyms appearing on the researsh bar (we can always dream )
These are all great suggestions! As far as resizing the waveform, you should be able to do that by clicking in the middle line between them. Or do you mean like in a completely different window?
i was meaning more when we are in "split vertical" mod, a vertical resize of the waveform independently from the result list in order to have a compact long list with mutliple rows on the left without having a huge waveform on the right.
Even though you have the "split horizontal mod" but the waveform is at the bottom.
Small details...but can be nice (i hope that my explanation is clear^^).
i was meaning more when we are in "split vertical" mod, a vertical resize of the waveform independently from the result list in order to have a compact long list with mutliple rows on the left without having a huge waveform on the right.
Even though you have the "split horizontal mod" but the waveform is at the bottom.
Small details...but can be nice (i hope that my explanation is clear^^).
I understand now. The only thing that bothers me about that is the empty space it would create. Maybe I can put some resizable information above the waveform, I’ll have to think about it.
when you import a media item from NVK create (same for NVK loopmaker for the rendered loop)is to directly "copy media items to project directory" if the option is enable in Reaper's pref without obligated doing "save as".
i don't know if it's easy to do or not. Anyway keep up the good work !
Very cool, thanks nick for the hard work.
Some NVK create suggestions
- Having the feature of the docked version in the non docked one , like split screen view would be absolutely fabulous
- In a docked version in split screen view, have the possibility to resize the waveform (on the right) independently from the result list
- possibility with a shortcut to insert automatically a full lenght file without going in pref's.
- Having some synonyms appearing on the researsh bar (we can always dream )
I've released 1.6 with the option to have undocked split-view. If you hold shift now it will override the trim option (trim if you don't have trim on, not trim if you have trim on)
There are also shortcuts for docking/undocking, changing undocked split-view, and focusing back on the arrange window.
Bought nvk Workflow a few weeks ago and have been integrating it into my process. I have some thoughts/suggestions/questions but have been hoping to have explored the corners a bit more before I do so.
In that vein, would you be able to assemble an index of all the scripts and what they do? Looks Like I've got ~150 nvk scripts now, and it can be tough to work out how to fully utilize them without poking through videos or the lua code. Some have pretty descriptive names, but I'm finding a lot of cases where I don't fully understand what to expect.
Either way, this is awesome! Definitely saving me time already.
__________________
Sound Designer, Audio Lead at Heart Machine
Thanks Alex! Right now, watching the youtube videos is the best way to learn how to use the scripts. If you watch the videos and still have questions, I'd be happy to answer them here.
Thanks Alex! Right now, watching the youtube videos is the best way to learn how to use the scripts. If you watch the videos and still have questions, I'd be happy to answer them here.
No worries!
I wanted to wait until I'd compiled a more complete list of thoughts/ideas/bugs, but I hope you don't mind if I just start by listing a few.
First, a bug. I've recently noticed a bug where the automatic region/marker coloring is not working as expected. I have it set to match item color, but it only matches color on the first variation. The rest fall back to the default color. Here are my settings: https://imgur.com/a/tmTF2Yu
Second, a feature request. Would it be possible to have an option to restrict Folder Items to only work in a specific region? I like to keep my source audio on tracks, in the hour or so preceding my actual assets. This media triggers Folder Items to be created, and also makes for unneeded huge renders with the Subprojects script. I can always mute them when I need to, but it's an ongoing hassle. It would be nice if the Folder Items script could check against a list of keywords, and ONLY make folder items inside that region. Or maybe the opposite, you could have a "Scratch" region and prevent Folder Items from operating in that zone.
__________________
Sound Designer, Audio Lead at Heart Machine
Last edited by alexgameaudio; 04-05-2022 at 06:40 PM.
I wanted to wait until I'd compiled a more complete list of thoughts/ideas/bugs, but I hope you don't mind if I just start by listing a few.
First, a bug. I've recently noticed a bug where the automatic region/marker coloring is not working as expected. I have it set to match item color, but it only matches color on the first variation. The rest fall back to the default color. Here are my settings: https://imgur.com/a/tmTF2Yu
Second, a feature request. Would it be possible to have an option to restrict Folder Items to only work in a specific region? I like to keep my source audio on tracks, in the hour or so preceding my actual assets. This media triggers Folder Items to be created, and also makes for unneeded huge renders with the Subprojects script. I can always mute them when I need to, but it's an ongoing hassle. It would be nice if the Folder Items script could check against a list of keywords, and ONLY make folder items inside that region. Or maybe the opposite, you could have a "Scratch" region and prevent Folder Items from operating in that zone.
Thanks for the bug report. I like the idea of regions that you can specify you don't want to use folder items with a keyword of some sort. This might not work for you, but in the settings you can specify words to exclude when looking at folder names. If you add scratch to that, you could put all your scratch media in a folder named "scratch" and then folder items wouldn't be created. I'm thinking I'll just extend that functionality to also exclude folder items within regions with that name too.
Thanks for the bug report. I like the idea of regions that you can specify you don't want to use folder items with a keyword of some sort. This might not work for you, but in the settings you can specify words to exclude when looking at folder names. If you add scratch to that, you could put all your scratch media in a folder named "scratch" and then folder items wouldn't be created. I'm thinking I'll just extend that functionality to also exclude folder items within regions with that name too.
no worries, I think for now I'll continue muting my source media before backing up etc, seems to work ok for now.
The main issue I'm trying to overcome is a bit difficult to parse - I haven't been able to fully mesh the Folder Items render process with the way I like to handle fades, version names, etc.
This is my desired process:
Have a folder track for a sound, with all variations
- Folder Track is named [AssetName]_V1_2022_0406
Render items to a new track in session
- Rendered track has the same name as the folder track
- Wavs are placed in a folder in my Reaper project's audio directory (Achievable by using $track\$item as filename)
Trim/fade/qc rendered items on track
Render items to staging directory before I import them into wwise
- Again, rendered into subfolders - (again achievable by using $project\$track\$item)
And this would be my desired outcome:
I have all my versions sequestered in subfolders that tell me the date and version number of the contained assets. This way I can have multiple files with the same filename.
Currently, I don't have this working entirely smoothly.
Issues:
1. The script seems to get confused by using directory wildcards in step 2. It's naming the rendered tracks (which I wasn't expecting), but all my rendered items get the track name added to the item name - so i gotta strip that off before I do my final render. The script is also throwing an error that says "MediaTrack expected". Let me know if you need me to repro or send you the exact error printout from the console.
2. I've seen an option in nvk_FOLDER_ITEMS - Settings: "Folder item fades write automation instead of fading child items" but I don't see the result of this on any automation lanes.... I feel like this could actually save me from my cutting/trimming step. I think I'm misunderstanding the function of this option, but I could see it being very useful for me:
a. Have an asset with FX that create a tail - delay, manipulator, wormhole, reverb, what have you
b. Add an empty item to extend folder item length
c. Fade folder item - this silently writes an automation curve on the Folder track volume envelope
d. Export with 0.0 tail length, no need for intermediary rendering step!
__________________
Sound Designer, Audio Lead at Heart Machine
Some great stuff here and will check it out when time. Will be buying some of it for sure.
__________________ subproject FRs click here note: don't search for my pseudonym on the web. The "musicbynumbers" you find is not me or the name I use for my own music.
Hey Nick, love the scripts, Folder Items and Loopmaker in particular are central to my workflow.
I really like the recording buffer in Create too, one of its features feels at odds with how I use it though. I like using it kinda like SM record, where I'll run source sounds in my session through track FX, then pull the processed bits I want out of the buffer and back into my session.
Whenever I select a source item to run through the FX, it changes the buffer into "scrub through selected item" mode, when I want to stay in the regular recording buffer. Is there a way to toggle that mode switching on (changes to scrub when item is selected) vs off (stays in buffer mode regardless of item selection)?
When I'm doing design work I usually want the mode switching on, but when I'm doing source work I usually want it off.
Hey Nick, love the scripts, Folder Items and Loopmaker in particular are central to my workflow.
I really like the recording buffer in Create too, one of its features feels at odds with how I use it though. I like using it kinda like SM record, where I'll run source sounds in my session through track FX, then pull the processed bits I want out of the buffer and back into my session.
Whenever I select a source item to run through the FX, it changes the buffer into "scrub through selected item" mode, when I want to stay in the regular recording buffer. Is there a way to toggle that mode switching on (changes to scrub when item is selected) vs off (stays in buffer mode regardless of item selection)?
When I'm doing design work I usually want the mode switching on, but when I'm doing source work I usually want it off.
-Noah
I've run into this as well. I'm planning to add a lock button that will keep it in buffer mode (unless I come up with a better solution)
Hello Nick, really nice scripts ! I'm not at all a game audio pro, but I'm really interested in nvk_CREATE to generate interesting transitions and risers in my songs. It indicates in the manual that you now propose free trials for your products, so I'll test them as soon as I come home.
Do you plan on proposing reductions, for Black Friday for example ? Currently, with the French VAT, nvk_CREATE is 180$, or three times the price of Reaper, and while I understand the price, I'm far from being able to afford it at the moment !
Hello Nick, really nice scripts ! I'm not at all a game audio pro, but I'm really interested in nvk_CREATE to generate interesting transitions and risers in my songs. It indicates in the manual that you now propose free trials for your products, so I'll test them as soon as I come home.
Do you plan on proposing reductions, for Black Friday for example ? Currently, with the French VAT, nvk_CREATE is 180$, or three times the price of Reaper, and while I understand the price, I'm far from being able to afford it at the moment !
Have à nice day,
Strength and honor,
Lion
Hey Lion,
I've always thought nvk_CREATE could be useful for music production that involves sound design elements, but it's certainly designed with sound designers in mind. It would be interesting to know your thoughts after you've spent some time with the trial. I haven't actually tried using it for music production before, aside from making some kicks/snares for fun.
I don't do a ton of sales, but in the past I've had sales when the scripts are first released and on Black Friday. If you sign up for my newsletter at https://nvk.tools/#newsletter I'll send you an email when I have a sale going on!
Hi - these look amazing. I'm trying to install some of the free scripts but I can't find any URL to add to the package manager: the ReaPack xml only adds the premium scripts. Are these free scripts still available? Thanks!
Hi - these look amazing. I'm trying to install some of the free scripts but I can't find any URL to add to the package manager: the ReaPack xml only adds the premium scripts. Are these free scripts still available? Thanks!
They should be. Can you try just searching ReaPack for 'nvk'? If you are searching for the scripts directly by their name they won't show up since I bundle them in packs. You would need to search for 'nvk_ITEMS', 'nvk_TRACKS', etc.
the render smart v2 beta suited my workflow really well, and i see it was removed in the latest update. Curious what the roadmap is, looking forward to using that again!
__________________
Sound Designer, Audio Lead at Heart Machine
the render smart v2 beta suited my workflow really well, and i see it was removed in the latest update. Curious what the roadmap is, looking forward to using that again!
Yeah there were quite a few bugs with it I needed to fix. I haven't figured out a timeline yet. The v2 update to the render script is part of a larger update to FOLDER_ITEMS that I've been working on and I'd like to test everything a bit more before releasing it.
I've been really loving the workflow scripts you've made. However I started getting errors when using smart render trying to render layers of sounds as separate files. They do seem to render fine and into the right folders but when adding to the project it gives me the error below. The rendered files are put on tracks and named but are not put into a folder and muted. (see attachment 3)
I've also attached my smart render settings. (attachments 1 and 2)
I'm getting this error:
Error: nvk_FOLDER_ITEMS - Render SMART.lua:267: bad argument #1 to 'SetTrackSelected' (MediaTrack expected)
Stack traceback:
[C]: in field 'SetTrackSelected'
nvk_FOLDER_ITEMS - Render SMART.lua:267: in function 'Render'
nvk_FOLDER_ITEMS - Render SMART.lua:376: in function 'DoRender'
Button.lua:120: in function 'gui.elements.Button.onMouseUp'
element.lua:109: in function 'gui.element.handleEvent'
window.lua:468: in function 'gui.window.updateInputEvents'
window.lua:240: in function 'gui.window.update'
core.lua:39: in function <...ER\Scripts\nvk-ReaScripts\FOLDER_ITEMS\Data\gui\core.lua:37>
[C]: in function 'xpcall'
core.lua:37: in function 'gui.core.Main'
Is this due to my workflow not being the intended use case?
Hello Nick, really nice scripts ! I'm not at all a game audio pro, but I'm really interested in nvk_CREATE to generate interesting transitions and risers in my songs. It indicates in the manual that you now propose free trials for your products, so I'll test them as soon as I come home.
Do you plan on proposing reductions, for Black Friday for example ? Currently, with the French VAT, nvk_CREATE is 180$, or three times the price of Reaper, and while I understand the price, I'm far from being able to afford it at the moment !