Over the years, I've developed a handful of UTAU tools and shared them with the public on my GitHub and here in UtaForum's Resources. The oldest ones were made with Java back when I was first learning how to code, which was kind of a poor choice in hindsight and has caused grief for some users. I'd like to go over the possible courses of action for updating each of these tools and get some feedback on which will be the most useful. Here are the general approaches and the pros and cons of each.
setParam or UTAU plugins
This would be the most ideal, since it would allow the tools to be fully integrated into the normal workflow of OTOing a voicebank or editing USTs. However, the biggest disadvantage is that this would be Windows only. Mac users have always been at a disadvantage because UTAU-Synth doesn't support third party plugins and there's no Mac-native version of setParam (yet), which means they must use Wine in order to use the same tools that Windows users have.
Web applications
The most well known instance of this is UtaFormatix, which allows users to convert files between various vocalsynth software formats. It used to be a downloadable application for Windows, but has now moved online. If I were to update my tools in a similar way, they would be hosted on TUBS Tools alongside the Voicebank Terms of Use Generator. This makes it accessible to users of other OSes. However, it's a break from workflow, and more importantly, requires internet in order to access the page. It's also somewhat... messy. Theoretically, a webpage means that it can be updated and improved at any time, and that all users will have access to the latest and best version. In practice, I'm very unlikely to continue working on it after an initial version goes online.
Offline applications
This is another solution that could work independent of OS, and without relying on internet connection. But again, it's a break from workflow, and requires you to stop what you're doing in setParam or UTAU to run a separate application. The easiest way to do this would be to release python scripts, so users would need to have python installed. But it should be less of a headache than the current Java situation. I could also look into developing software with a full GUI and release builds for different OSes.
You're welcome to vote in the poll above as well as the poll on twitter.
Please feel free to discuss your preferences overall as well as for specific tools listed below.
UF: https://utaforum.net/resources/number-duplicate-aliases.303/
setParam has a built in function for adding numbers to duplicate aliases, but not for deleting duplicates, or keeping a certain maximum and deleting the rest. This tool would make the most sense to have as a setParam plugin.
Some users have expressed difficulty with using this tool due to the expectation that they can pre-number the aliases and then delete them later. However, this originally works by detecting EXACT matches. Detecting existing numbers would be more difficult, as some reclists use numbers to distinguish different phonemes. An updated version could provide the option to attempt stripping out numbers, with a warning that it may cause unexpected behavior.
UF: https://utaforum.net/resources/vccv-to-arpasing-plugin.343/
As it turns out, the plugin I modified did not allow modifications. This needs to either be rewritten as a new plugin or made into a replace list for iroiro, or fall under one of the other possible options described earlier. If this were to be changed into a web application, I could also put it up on the updated ARPAsing website.
UF: https://utaforum.net/resources/contextual-n-plugin.454/
This is already an UTAU plugin, but it was created before I was aware of Delta's C# class library for UTAU plugins. I'm also pretty unhappy with the git repo, and would be happy to rewrite this from scratch. A rewrite will probably not use the same context-n.ini format as before, but I'll try to convert old settings to whatever new format would be used.
Due to the reliance on per-voicebank settings, it would be inconvenient to have this as a web app or standalone app. Unless there's a very compelling reason not to do so, it will almost certainly remain as an UTAU plugin.
UF: https://utaforum.net/resources/vcv-generator.312/
This would be more practical as a web app. I believe there are already other VCV reclist generator websites out there, so that sets a precedent. I can't see this fitting into setParam or UTAU as plugins.
UF: https://utaforum.net/resources/oto-generator.308/
I think I'd rather abandon this project. My new project, Label2OTO, does pretty much the same thing as OTO generator, but you don't have to prewrite your whole reclist and the labeling process allows you to generate an OTO that's already finished. This old generator merely gives you aliases and base values.
If there are any OTO Generator fans out there, please check out Label2OTO and look forward to when I make a video tutorial for it!
UF: https://utaforum.net/resources/oto-suffixer.306/
This is already built into setParam. For non-Windows users, I could easily replace this tool with a tutorial on how to add suffixes using a text editor. A text editor is very useful for many aspects of voicebank development, so I would need an extremely compelling case for the continued existence of a standalone suffixing tool.
UF: https://utaforum.net/resources/oto-aliaser.305/
In its current form, it's kind of primitive, but the idea has huge potential. Based on what I've already implemented in Label2OTO, this tool could have the capabilities to:
In fact, this could probably be merged into Number Duplicate Aliases as an overall alias-editing utility. As an OTO-editing tool, this would make the most sense as a setParam plugin.
UF: https://utaforum.net/resources/ust-note-length-multiplier.294/
This makes the most sense as an UTAU plugin. It allows you to basically stretch or shorten the notes in the UST, while adjusting the tempo so that the final speed ends up exactly the same. This would be very handy for tuning fast songs, since you'd be able to "zoom in" a bit more and have more space to work with.
In its current state, it can only edit a whole UST file. The same would be true if this were a web app or python script. As an UTAU plugin, you'd be able to selectively apply it to only parts of a UST.
setParam or UTAU plugins
This would be the most ideal, since it would allow the tools to be fully integrated into the normal workflow of OTOing a voicebank or editing USTs. However, the biggest disadvantage is that this would be Windows only. Mac users have always been at a disadvantage because UTAU-Synth doesn't support third party plugins and there's no Mac-native version of setParam (yet), which means they must use Wine in order to use the same tools that Windows users have.
Web applications
The most well known instance of this is UtaFormatix, which allows users to convert files between various vocalsynth software formats. It used to be a downloadable application for Windows, but has now moved online. If I were to update my tools in a similar way, they would be hosted on TUBS Tools alongside the Voicebank Terms of Use Generator. This makes it accessible to users of other OSes. However, it's a break from workflow, and more importantly, requires internet in order to access the page. It's also somewhat... messy. Theoretically, a webpage means that it can be updated and improved at any time, and that all users will have access to the latest and best version. In practice, I'm very unlikely to continue working on it after an initial version goes online.
Offline applications
This is another solution that could work independent of OS, and without relying on internet connection. But again, it's a break from workflow, and requires you to stop what you're doing in setParam or UTAU to run a separate application. The easiest way to do this would be to release python scripts, so users would need to have python installed. But it should be less of a headache than the current Java situation. I could also look into developing software with a full GUI and release builds for different OSes.
You're welcome to vote in the poll above as well as the poll on twitter.
Please feel free to discuss your preferences overall as well as for specific tools listed below.
Number Duplicate Aliases
GH: https://github.com/adlez27/number-duplicate-aliasesUF: https://utaforum.net/resources/number-duplicate-aliases.303/
setParam has a built in function for adding numbers to duplicate aliases, but not for deleting duplicates, or keeping a certain maximum and deleting the rest. This tool would make the most sense to have as a setParam plugin.
Some users have expressed difficulty with using this tool due to the expectation that they can pre-number the aliases and then delete them later. However, this originally works by detecting EXACT matches. Detecting existing numbers would be more difficult, as some reclists use numbers to distinguish different phonemes. An updated version could provide the option to attempt stripping out numbers, with a warning that it may cause unexpected behavior.
VCCV to ARPAsing Plugin
ARPAsing website: https://arpasing.neocities.org/en/resources/vccv-to-arpasing.htmlUF: https://utaforum.net/resources/vccv-to-arpasing-plugin.343/
As it turns out, the plugin I modified did not allow modifications. This needs to either be rewritten as a new plugin or made into a replace list for iroiro, or fall under one of the other possible options described earlier. If this were to be changed into a web application, I could also put it up on the updated ARPAsing website.
Contextual ん Plugin
GH: https://github.com/adlez27/context-nUF: https://utaforum.net/resources/contextual-n-plugin.454/
This is already an UTAU plugin, but it was created before I was aware of Delta's C# class library for UTAU plugins. I'm also pretty unhappy with the git repo, and would be happy to rewrite this from scratch. A rewrite will probably not use the same context-n.ini format as before, but I'll try to convert old settings to whatever new format would be used.
Due to the reliance on per-voicebank settings, it would be inconvenient to have this as a web app or standalone app. Unless there's a very compelling reason not to do so, it will almost certainly remain as an UTAU plugin.
VCV Generator
GH: https://github.com/adlez27/vcv-generatorUF: https://utaforum.net/resources/vcv-generator.312/
This would be more practical as a web app. I believe there are already other VCV reclist generator websites out there, so that sets a precedent. I can't see this fitting into setParam or UTAU as plugins.
OTO Generator
GH: https://github.com/adlez27/oto-generatorUF: https://utaforum.net/resources/oto-generator.308/
I think I'd rather abandon this project. My new project, Label2OTO, does pretty much the same thing as OTO generator, but you don't have to prewrite your whole reclist and the labeling process allows you to generate an OTO that's already finished. This old generator merely gives you aliases and base values.
If there are any OTO Generator fans out there, please check out Label2OTO and look forward to when I make a video tutorial for it!
OTO Suffixer
GH: https://github.com/adlez27/oto-suffixerUF: https://utaforum.net/resources/oto-suffixer.306/
This is already built into setParam. For non-Windows users, I could easily replace this tool with a tutorial on how to add suffixes using a text editor. A text editor is very useful for many aspects of voicebank development, so I would need an extremely compelling case for the continued existence of a standalone suffixing tool.
OTO Aliaser
GH: https://github.com/adlez27/oto-aliaserUF: https://utaforum.net/resources/oto-aliaser.305/
In its current form, it's kind of primitive, but the idea has huge potential. Based on what I've already implemented in Label2OTO, this tool could have the capabilities to:
- Find aliases and delete them
- Find aliases and replace them with something else
- Find aliases and create a copy of the parameters with another alias
In fact, this could probably be merged into Number Duplicate Aliases as an overall alias-editing utility. As an OTO-editing tool, this would make the most sense as a setParam plugin.
UST Note Length Multiplier
GH: https://github.com/adlez27/ust-note-multiplierUF: https://utaforum.net/resources/ust-note-length-multiplier.294/
This makes the most sense as an UTAU plugin. It allows you to basically stretch or shorten the notes in the UST, while adjusting the tempo so that the final speed ends up exactly the same. This would be very handy for tuning fast songs, since you'd be able to "zoom in" a bit more and have more space to work with.
In its current state, it can only edit a whole UST file. The same would be true if this were a web app or python script. As an UTAU plugin, you'd be able to selectively apply it to only parts of a UST.
Last edited: