Notice
Dreamtonics has released a comprehensive official user manual along with version 1.11.0 of Synthesizer V Studio; this unofficial manual will no longer be maintained. Please visit the Official User Manual for all future updates and information.
User Scripts
Pro Feature
The features described below require Synthesizer V Studio Pro.
Synthesizer V Studio Pro supports scripting with JavaScript and LUA. User scripts are capable of augmenting the core functions of the editor and automating complex or tedious tasks.
Using Scripts
Some scripts are included with Synthesizer V Studio Pro. These scripts can be accessed via the "Scripts" top menu.
Select a script from the dropdown to execute it.
Adding New Scripts
Selecting "Open Scripts Folder" will open your operating system's file browser with the scripts folder highlighted.
Drag any new scripts into this "scripts" folder and then select "Rescan" or restart Synthesizer V Studio. The new scripts will now appear in the dropdown.
This folder will be in the following locations based on your operating system:
Operating System | Folder Location |
---|---|
Windows | Documents\Dreamtonics\Synthesizer V Studio\scripts |
MacOS | /Library/Application Support/Dreamtonics/scripts |
Linux | <your installation directory>/scripts For example: /opt/Synthesizer V Studio Pro/scripts |
Assigning Keybinds to Scripts
Scripts can be assigned a hotkey from the Keybinds section at the bottom of the Settings panel.
Creating Scripts
Visit the official scripting manual for information on creating your own scripts.
Undocumented Functions and Properties
There are some scripting capabilities not mentioned in the official documentation.
Tone Shift and Vocal Modes
Info
Scripts using Tone Shift should declare a minEditorVersion
of at least 65792.
Scripts using Vocal Modes should require a version of 67072 or higher.
The Tone Shift and Vocal Mode Automation definitions are as follows:
displayName |
typeName |
range |
defaultValue |
---|---|---|---|
"Tone Shift" | "toneShift" | -800, 800 | 0 |
"<Vocal Mode Name> " |
"vocalMode_<Vocal Mode Name> " |
-150, 150 | 0 |
For example, when fetching a NoteGroup
's Automation object for the "Soft" vocal mode, the function would be noteGroup.getParameter("vocalMode_Soft")
.
Warning
Using getParameter()
for a vocal mode will automatically initialize it for the track, even if the provided vocal mode name does not exist.
Note
properties and functions
In version 1.9.0b2 some additional bindings were added to the Note
class to enable scripting access to note-level language selection, pitch modes, and rap features.
Info
Scripts using these additional bindings should declare a minEditorVersion
of at least 67840.
note.getRapAccent()
returns an integer from 1-5 (only applicable for Mandarin Chinese rap).
note.setRapAccent(integer)
(only applicable for Mandarin Chinese rap).
note.getMusicalType()
returns a string ("sing" or "rap") based on the selected pitch mode.
note.setMusicalType(string)
note.getPitchAutoMode()
returns an integer indicating whether the pitch mode is set to manual (0) or auto (1).
note.setPitchAutoMode(integer)
note.getLanguageOverride()
returns a string representing the note's selected language ("japanese", "english", "mandarin", "cantonese", "spanish").
note.setLanguageOverride(string)
Additionally, the following new properties are present on the attributes object:
strength
: array of numbers for phoneme strength scaling (0.2 to 1.8)
rIntonation
: number
rap intonation (-0.5 to 0.5)
rTone
: number
rap tone (semitones, from -5 to 1)