UTSU - A cross-platform vocal synth frontend


Teto is love, Teto is life (Rin too)
Defender of Defoko
It's possible to make it run on OpenJDK, but it requires an OpenJDK 8 version that includes OpenJFX
I think the AdoptOpenJDK project has it
[doublepost=1587090615][/doublepost]https://sdkman.io/ I recommend to use sdkman as it helps to find the java 8 builds with openjfx on linux
  • Like
Reactions: Sheanna122


Teto's Territory

I've done a test with my UTAU with UTSU. It seems to have timing issues. I've tried this with multiple resamplers, just to make sure it wasn't Macres.

Thanks. I've heard rumours about timing issues but never experienced any. Is there any chance you could supply a UST, or give an example I can reproduce, please?

I'm currently trying to get UTSU to build into a package that runs on OpenJDK 11 and doesn't require OpenJFX. This should make life a lot easier. I've also noticed a permissions bug on linux which means some of the rendering peformance optimisations won't work in linux (or Mac, probably).


Teto's Territory

Elon Satoshi

Momo's Minion
Unfortunately it does not run on openjdk 11.0.6 2020-01-14 and other versions of Java wont run on my Debian Buster System.

I run UTSU on Debian 10 using the nvidia java 8 package:

sudo apt install nvidia-openjdk-8-jre
alias nvidia-java=/usr/lib/jvm/nvidia-java-8-openjdk-amd64/bin/java
nvidia-java -jar ./utsu-0.4-jfx.jar


Teto's Territory
Defender of Defoko
I've written some wrappers to see what parameters are being sent to the resampler and wavtool. It looks like UTAU and UTSU send significantly different parameters for the same UST file.

I'm so excited to see when it will be updated.
Last edited:
  • Like
Reactions: Big_B


Teto's Territory
Defender of Defoko
Thanks. So far there are no visual changes, it's all making the rendering engine work better, and it handling Japanese encoding on non-Japanese systems.

As long as it functions, I'm not too worried about appearance.


Teto's Territory
Does anyone know if there exists a good explanation of the different arguments to the resampler, oto.ini parameters per sample, and ust format? There is some detail in the world4utau resampler source code. I'm perfectly happy to reverse engineer it, but if someone has already done this (reliably), that would be a great help.

I've found that some of the UTSU resampler parameters are out by about 4%, so I need to double check everything. I've done the same for OpenUTAU and with a simple three note UST gets one out of three note renders completely right (apart from the pitch bends, which are all completely out!).


Local Sensei
Defender of Defoko
OTO parameters
Details: https://utaforum.net/resources/anatomy-of-the-oto.321/

Resampler arguments
0: path to input audio
1: path to output audio
2: note pitch
3: consonant velocity
4: per note flags/project flags
5: oto offset
6: length in msec
7: oto consonant
8: oto cutoff
9: intensity
10: modulation
11: tempo (looks different depending on whether or not line 14 exists)
12: pitchbends and vibrato (affected by preutterance and STP too?)

Wavtool arguments
0: path to output audio
1. path to input audio
2: forced STP + user input STP
3: length(ticks)@tempo+preutterance
4: envelope p1
5: envelope p2
6: envelope p3
7: envelope v1
8: envelope v2
9: envelope v3
10: envelope v4
11: overlap
12: envelope p4
13: envelope p5
14: envelope v5

UST format is an ini file, with sections per note. The format of the temp file used by UTAU plugins is almost exactly the same.


Teto's Territory
I'm still plugging away at making UTSU output almost exactly the same parameters as UTAU to the resampler and wavtool executables. The resampler is looking OK, but wavtool is quite different.

I've also had a quick play with JavaFX theming. It should be quite easy to have themes for UTSU, but not so easy to make it look good! Here's a quick and dirty dark theme to show how tricky this might be. Those buttons will have to go!