2022/11/12 (updated 2023/09/27)

A directory of scripts for Synthesizer V Studio Pro.

To have your scripts added to this page, contact Claire on the official forums or tag @claire in a forum topic linking to your scripts.

1.1

What are scripts?

Scripts (sometimes referred to as "user scripts") are JavaScript or Lua files which can be executed within the Synthesizer V Studio Pro application. This feature requires the Pro edition of the software and is not available with the Basic version.

These scripts are able to modify various aspect of a project, such as tracks, groups, notes, and parameters. Most scripts either accomplish a common task more quickly than if it were done manually, or automate complex tasks that would be difficult to perform manually.

1.2

Using Scripts

To use scripts, download the .js or .lua file and put it in the scripts folder, which can be located with the "Open Scripts Folder" option within SynthV Studio Pro.

the Open Scripts Folder option under the Scripts menu

After adding scripts, if SynthV Studio is open, you will need to select "Rescan" or restart the application.

the Rescan option under the Scripts menu

Scripts can be assigned a keybind via the Settings panel. Once set, the assigned keys will be shown in the Scripts menu and can be pressed to quickly execute the bound script.

binding a hotkey to a script

Downloading scripts should generally be straightforward, however due to the nature of the website GitHub makes downloading individual files somewhat less intuitive. You can download an individual file from GitHub by right clicking on "Raw" and selecting "Save Link As...".

downloading a file from GitHub

Some users might also package their GitHub repository as a release for easy downloading.

downloading a release from GitHub

1.3

Security Considerations

Since scripts allow code to be executed on your computer, there is some caution to be taken. Generally speaking, JavaScript is much more limited than Lua in this respect. SynthV's JavaScript implementation cannot access things outside the editor like files, and therefore has minimal potential for abuse.

Lua scripts, however, can access any file, anywhere on your computer. You should take caution when executing Lua scripts from untrusted sources.

Checking a script for potentially malicious code is relatively straightforward. Search the file for the following functions, as these are the primary concerns. Please keep in mind that the use of these functions may have legitimate use, however if you are not familiar with software development you should verify the reason for their use before running the script.

  • io.open reads a file
  • io.popen executes an external script or application
  • os.execute runs a command on your OS's command line
  • os.exit closes SynthV Studio
  • os.getenv reads an environment variable from your OS
  • require loads an external library (this one could do practically anything depending on the library loaded)

1.4

Creating new scripts

The focus of this catalog is not the creation of scripts or teaching users how to code, however if you are familiar with JavaScript or Lua you can refer to the official Scripting Manual to get started, using the links below to find implementation examples. Some undocumented functions have been detailed in the Unofficial User Manual.

There are some limitations to the scripting capabilities within SynthV Studio:

  • While the Lua implementation is rather fully-featured, JavaScript is implemented via Duktape and therefore is lacking certain capabilities such as file io and loading of external dependencies.
  • Scripts are completely isolated from one another, meaning there is no convenient manner in which to store a variable for later or share variables between scripts. The "global scope" only applies to the current script being executed.
  • There are no event hooks.
  • Dialog boxes are always "blocking", ie the user cannot interact with the application while a dialog box is open, even using the async functions.

2.1

Dreamtonics

GitHub: Dreamtonics/svstudio-scripts

The scripts included with Synthesizer V Studio Pro can be found in the Utilities folder of Dreamtonics' GitHub repository. Dreamtonics also provides example/test scripts for users learning the scripting API. Users may create pull requests to the official repository to have their scripts distributed with future versions of the software.

  • Merge Selected Notes
  • Play with Smooth Page Turning
  • Randomize Parameters
  • Remove Short Silences
  • Scale Selected Notes
  • Silence Skipping Play
  • Split Selected Groups
  • Split Selected Notes

2.2

Eclipsed Sounds

Eclipsed Sounds distributes four scripts with the purchase of any of their voice databases. These extras are only included with purchases from the Eclipsed Sounds website. If you purchased SOLARIA from the Dreamtonics store, you may need to contact Eclipsed Sounds to receive these files.

  • Change Track Color
  • English Phoneme Reference
  • Mass Adjust Phoneme Duration/Strength (unreliable as of 1.6.0)
  • Replace Phoneme (unreliable as of 1.6.0)

3.1

Claire

Disclaimer

This contributor is also the creator and maintainer of this website.

GitHub: claire-west/svstudio-scripts

Scripts are separated into folders based on their behavior or purpose. Most scripts have a description at the top of the file as well as variables that can be changed to customize the behavior, including comments explaining what each variable does.

automation - Scripts that automate a complex or continuous task.

  • Generate Key Reference
  • Apply Tempo from MIDI (Reads a MIDI file and applies any tempo changes and time signatures to the current project)
  • Start Live Preview (plays notes as you create/change them)
  • Create Stepwise Tempo Change

hotkey-scripts - Scripts which perform simple tasks intended to be hotkeyed to improve workflow and reduce reliance on the mouse.

  • Copy Lyrics / Paste Lyrics
  • Copy Phonemes / Paste Phonemes
  • Copy Vibrato / Paste Vibrato
  • Find Next With Same Lyric / Find Prev With Same Lyric
  • Find Next With Same Phonemes / Find Prev With Same Phonemes
  • Move Notes Down / Left / Right / Up
  • Move Playhead Left / Right
  • Preview Selection
  • Scroll to Selection Center / Scroll to Selection Start
  • Select All With Same Lyric / Select All With Same Phonemes
  • Select Next Note / Select Previous Note
  • Set Lyrics / Set Phonemes
  • Zoom In / Out

utility - "Regular" scripts which do not fall into the above categories.

  • Clone Parameter Curve
  • Duplicate / Delete Track (workaround for Mac users encountering a right-click bug)
  • Find Lyric (a find dialog in the style of the ctrl+F function of most text editors and web browsers)
  • Move Selected Notes
  • Reset All Notes
  • Select All With Lyric / Select All With Phonemes

3.2

Hataori

GitHub: hataori-p/real-voice

Hataori has created a project focused on applying the parameters of a real voice to SynthV Studio, but has also contributed some more general-purpose utilities (such as RV Growl and RV Shift Notes & Params).

Refer to the SynthV Praat Tutorial for information on using these scripts.

  • RV Filter Pitch
  • RV Growl (forum topic)
  • RV Load Envelope
  • RV Load Pitch
  • RV Notes from TextGrid
  • RV Notes to TextGrid
  • RV Quantize Pitch
  • RV Randomize Onsets
  • RV Shift Notes & Params (forum topic)
  • RV Split Note

3.3

dcuny

GitHub: dcuny/synth-v-scripts

  • Expression Curves (creates parameter curves for selected notes)
  • Progressive Vibrato
  • Scale Pitch Deviation

3.4

impbox

impbox has also created scripts focused on hotkeying common functions.

GitHub: ftsf/synthv-impkit

  • Add Note
  • Add +
  • Add -
  • Backspace Note
  • Lengthen Note
  • Shorten Note
  • Move Note Down / Up
  • Next Note / Prev Note
  • Add Breaths
  • Split Group
  • Fade Out

3.5

Leo

GitHub: leostudiooo/sv-scripts

  • Autosave Helper (shows a reminder every x minutes to save)
  • Delete 0-Duration Notes
  • Param Compressor

Leo has also contributed a TypeScript definition for working with the SynthV Studio scripting API.


3.6

Bee

GitHub: TiredPcholka/BeeSV

  • Create Metronome
  • Follow Playhead Play
  • Key Scale Helper
  • Scale Pitch
  • Vocalmode Curve Transfer

3.7

mac2492


3.8

Johann

GitHub: JohannJEG/svstudio-scripts

  • Invert Selection
  • Select Notes By Duration

3.9

JP Fandom Wiki

Wiki page: プラグイン・TIPS集

Many scripts from Japanese contributors are already organized on the JP Fandom Wiki. These authors have been grouped under the same heading for easier viewing, and script names have been translated for those who cannot read Japanese. Refer to the original wiki page for the most up-to-date list.

  • aike's articulation scripts (GitHub)
    • Overshoot
    • Overshoot + Undershoot
    • Preparation
    • Pitch Transition Delay
    • Minor Transitional Note
    • Squeak (rising release)
    • Falling Release
    • Folk Vibrato (volume fluctuation)
  • Optimize lyrics for ust by Aster
  • Next ALT / Reset ALT by kadotanimitsuru
  • Korean lyrics support script by Charlotte_White
  • SynthV Growl by Charlotte_White
  • Duplicate Note by kozv
  • VCV to CV by ShimoLen
  • suzumof (GitHub)
    • Repeat Play Of Current / Next / Prev Phrase
    • Repeat Play Of Selected Notes
    • Filter Note With Multiple Phonemes
    • Filter Note With Single Phoneme
    • Select Next / Prev Note
    • Set Consonant Phoneme Duration
    • Set First Phoneme Duration
    • Pack Parameter To Group
    • Copy Track
    • Down / Up Selected Note Pitch
    • Fit Note Edge To Playhead
  • Change Track Color by so-c
  • Pronounce Hiragana With Chinese Voice by so-c
  • chom
  • hachinana (BowlRoll)
    • Consonant Cut
    • Vowel Copy
    • Insert Breath / Cl / Sil / N / Hyphen / Pau
    • Add Cl
  • maiko (Google Drive)
    • Track Color Changer (SV Colors)
    • Track Color Changer (Material Design Colors)
    • Insert Lyrics (avoiding "br" and "-")
    • Add Breath
    • Create Harmony
    • Split Breathy Vowel
  • Change Track Color by 水っぽいスープ (waterysoup)
  • yukikazari (GitHub)
    • Return 2 Original Position
    • Change Lyrics default2pitch (replace default "la" with CeVIO-style "do, re, mi...")
    • Change__Notes (multiple scripts to set note length)
    • __NotesLonger / __NotesShorter (multiple scripts to adjust note length)
  • Copy Notes and Parameters by RigoLigo
  • Fine tune BPM by RigoLigo
  • Imitation of AI Tohoku Kiritan by lemorin
  • rem (note.com)
    • Zoom in / out Horizontally
    • Forward / Back One Measure
    • Move Note Up / Down

3.10

Other Contributors

These scripts are from authors that have only made one or two scripts, and have been grouped under the same heading for easier viewing.