UTSU - A cross-platform vocal synth frontend

Pikachuk(SeleDreamsP)

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

Mooncat

Teto's Territory
https://clyp.it/mhwlliqy

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).
 

Mooncat

Teto's Territory

Elon Satoshi

Teto's Territory
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:

Code:
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
 

Sheanna122

Ruko's Ruffians
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

Sheanna122

Ruko's Ruffians
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.
 

Mooncat

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!).
 

Kiyoteru

UtaForum power user
Supporter
Defender of Defoko
OTO parameters
filename=alias,offset,consonant,cutoff,preutterance,overlap
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.
 

Mooncat

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!

dark.png
 

Lethe

Ruko's Ruffians
Supporter
Defender of Defoko
Thread starter
Hi all!

Sorry for appearing and disappearing out of the blue like this. Long story short, I got burned out working on the 0.4 version, then got discouraged by how many bugs the program still had, then I got sick for a month and a half, and after all that I had trouble getting started again. But lately thanks to the quarantine I've been working on putting my life in order, and part of that is returning to UTSU and finishing what I started.

The 0.4.1 update is now released! You can go here to find a Windows, Mac, and Linux installer. I'm no longer releasing JAR files now since all three main platforms have installers, but if the installers don't work you can still try building the project from source.

  • New editor features.
    • Right-click voicebank image in song editor to open that voicebank in a new tab.
    • Note context menu -> Open Lyric Config: Opens the voicebank in a new tab and navigates to current note's lyric.
    • Note context menu -> Clear Cache: Clears resampler cache for current note or selected notes.
    • Note properties can now reset preutter/overlap for a group of notes at once.
    • Auto-scroll during playback can now be cancelled by manually moving horizontal scrollbar.
    • Slider values in Song and Note properties can be typed in a text box for greater precision.
  • Backend changes.
    • Caching.
      • The most recent render for each song is now cached. Playing the same song or section of notes twice without making changes will re-play the cached render!
      • Resampler outputs for individual notes are now cached.
      • Changing a song's voicebank or resampler will clear all cache values automatically. You can also select all notes and click "Clear Cache" on a note context menu to clear all cache values.
    • Created a ".utsu" folder in user home directory to hold settings, assets, and cache files.
    • Some UI optimization for larger USTs.
    • Changed Windows installer from .exe to .msi.
    • New Linux installer!
    • Upgraded to a modular application, meaning that .jar file distribution is no longer available.
  • Translations.
    • Improved coverage: all messages (except log messages in status bar) can now be translated.
    • If you've translated for Utsu in the past, consider checking in again as there are lots of new messages that need translation!
  • Bug fixes.
    • Timing issues.
      • Fixed the majority of bugs that were causing UST timing to get messed up.
      • UTSU now automatically detects timing discrepancies and corrects them by extending the length of silences if needed.
    • In-progress playback now stops when closing a tab.
    • Opening a file and cancelling mid-open no longer leaves an empty tab.
    • Can no longer open the same voicebank in multiple editors.
    • Pitchbends should no longer randomly jump up half an octave.
    • Note property values no longer get clobbered when editing multiple notes.
    • No longer crashes when moving multiple notes off top/bottom of screen.

On the outside this version looks very similar to 0.4, but on the inside it's a lot less buggy than before and should hopefully be viable for making real songs. As a proof-of-concept I tried making and tuning a fussy English UST in UTSU:



Future plans:
I've been chipping away at Utsu for an hour a day for the last few weeks and I'll try to keep up the slower pace to avoid getting burned out again. Features planned for the upcoming 0.5 release include:
  • User preferences editor, including color customization.
  • Built-in tools such as bulk editor, reclist converter.
  • An icon.
The "official" task list for Utsu is here but I change it around frequently so it's not that reliable.
 

Similar threads