I’m a multi-year Synthesizer V (SynthV) user, but this is my first time posting on the forum.
Recently, I’ve been writing more choral music and would like to streamline my workflow with a couple of simple scripts. I’m an experienced programmer, and I’ve reviewed the scripting guide, but unfortunately, I didn’t find anything to support the specific functions I have in mind.
Here’s what I’m trying to achieve:
**Solo/Mute Management Script
I’d like to create a script that solos or mutes all tracks except the currently selected one (or unsolos/unmutes them as needed). This seems straightforward, but I couldn’t find anything in the scripting guide under the “Track” object that would allow me to:
Check a track’s solo or mute status.
Set a track’s solo or mute status.
Track Duplication and Adjustment Script
I’d also like to write a script to duplicate a track and adjust certain parameters programmatically, such as:
Modifying voice parameters (e.g., Gender and Tone Shift) to partially automate creating a choir version of a voice part.
Adjusting the time positions of notes on the duplicated tracks to introduce slight offsets for a more natural choral sound.
Does anyone have insights or workarounds for achieving these within the current scripting framework? This is such a helpful and supportive community I thought it would be worth a try in case anyone really knows the scripting possibilities intimately.
Nope, I already send this lack to Dreamtonics support for this.
Yes, some existing scripts (like mine for harmony) could duplicate a group of notes and transpose the notes to new tracks. Others scripts can copy/update/import volume, pitch or any other automation parameters.
I also recently wrote 2 scripts for another user to move selected notes back/forward regardless of the snapping configuration. The scripts can be used with keyboard shortcuts.
JFA - Thanks for the reply. I’ve already searched though most of those script repositories. I’ll take a look at your harmony script to see how to move notes between tracks. I saw your script for moving notes forward or backward by a small unit of time regardless of the snapping configuration. That one will also be useful.
Disappointing to hear that track status is not exposed in the scripting system. The one simple function I miss most whilst building these choir sections would be the ability to solo or un-solo all tracks at once. It would be an easy script if that property was made available.
Adjusting the time positions of notes on the duplicated tracks to introduce slight offsets for a more natural choral sound.
I simply duplicate the track then select all notes then select “Re run with new random seed” from the Auto - Process drop down menu
This creates many offsets of timing pitch overshoot etc…I use it for double tracking Works for me
Finally, there are 3 menu options under the “Auto-Process” submenu
With also 2 “Auto-pitch tuning” to impact the pitch deviation.
This allows to automate a pitch deviation in one shot of each note.
But doing this does not update the timing (another human behavior for choirs).
Introducing a small offset on the notes could also be another solution. From the request of another user, I wrote a script to shift back or forward the selected notes.
With a combination of theses actions you can make a better result.
To use the “Auto-Process” pitch deviation you need to change before, for all notes, the pitch mode to “Manual”.
Yes, I use that approach too, and it works well. However, I wonder if it could be scripted. My initial thought is that the answer is likely ‘No,’ but I was hoping someone more knowledgeable could share insights or ideas.
The reason scripting would be helpful is that when working on a choral score, this operation needs to be repeated every time changes are made to the music—across every voice in the choir. Even a small choir involves at least twelve to 16 voices (i.e., tracks), meaning these steps might need to be repeated dozens, if not hundreds, of times in a single day.
Wow, 16 voices… I know that for choirs it’s not a mess but for SynthV you need a quantum computer to support that! I’m joking but sure, to automate many tasks, scripting is the way. Adding a pitch deviation and small timing gap to each track (voice) and next set a voice directly could be interesting. Maybe in the future V2 release of SynthV?
fja, I know, I know, but rather than time shifting a group of notes by a fixed amount, how 'bout a random amount applied to each note within a range of deviation.
Yes, a script could do the trick for a random variation of timing and pitch deviation. This to generate a faster result. I am just understanding what you want me to do… lol But it’s a good idea.
I have published a new release of my script GroupHarmony.lua (v1.5).
With:
1/ Adding a lower output level slider for all new generated track loudness
2/ Adding a max random pitch offset to add a time gap
3/ Use current track to clone it (template to keep voice set)
4/ Random pitch deviation to impact automation pitch (in %)
I changed my previous method to update offset notes to a new pitch time offset. This to preserve the position of each notes, while only offsetting the beginning of the voice on each note (point 2).
I also created a new script to delete all created track (named begin with “Track H”) usefull for testing… (ClearHarmonyTracks.lua)
“… for SynthV you need a quantum computer to support that!..”
SynthV runs 12 voices fine on an 13th Gen intel machine. No perceptible waiting at all when working on a short piece (about 5 minutes long).
Audio playback on SynthV is actually very efficient as it does all of the “heavy-lifting” computation on background threads while idle. The playback itself is simply playing pre-computed audio files, one for each track.
That’s true. I work in the standalone version and import the audio files into my DAW.
I tried working in from the plugin version in the DAW, but I could see no advantage, and the plugin would crash fairly frequently. The standalone is more stable. (This is on MacOS; the Windows version is probably different.)
Yes, DAW’s have more highly-developed editing tools than SynthV. But I’m using SynthV as stand-alone, not in a DAW, so my idea is to develop some scripts that would ‘evolve’ SynthV’s builtin editing toward a more developed approach.