Resource icon

Universal Harmony: A Cross-Compatibility Guide

After noticing a couple of threads inquiring about Mac-to-PC compatibility issues, I realized that there aren't many resources for UTAU-Synth users — at least, none that focus on issues and hiccups specific to making voicebanks on Mac, using UTAU-Synth. So, being a Mac user, I decided to try and amend that.

Mainly, this resource is aimed at UTAU-Synth users who are making voicebanks and want to make them cross-compatible. However, it’s also here to try and answer some questions that PC users may have about Mac-built UTAU and UTAU-Synth, since they may not be familiar with UTAU-Synth, or the differences between it and UTAU, for obvious reasons.

I should note that about 90% of this article came from my answer to a thread of about making voicebanks on Mac, with a bit of condensing or editing here and there for the sake of reading. All of it is derived from experiences I’ve had both making voicebanks on Mac and getting them to be cross-compatible. I’m in no way an expert, by any means, but I hope that other users will find this guide helpful. If there are users who have questions I haven't addressed, or comments, feel free to PM or leave a comment. If I get enough questions to answer or material to add, I'll update this guide accordingly.

Contents:
- Part 1: Configuration Issues
1.1 -
Converting an OTO
1.2 - Configuring Multipitch Voicebanks

- Part 2: Compression and Extraction

- Part 3: Testing Your Voicebank


--- --- ---

- Part 1: Configuration Issues -
The primary reason a Mac-built voicebank fails to work when loaded into UTAU is the OTO. UTAU uses Shift-JIS encoding, while UTAU-Synth generates it's OTOs encoded in UTF-8, in the form of a file dubbed "oto_ini.txt." Unless special steps are taken to create an oto.ini that UTAU can read, a Mac-built voicebank will be non-functional, and it's OTO completely mojibakke’d.

1.1 - Converting an OTO
Converting a Mac-made OTO for use on PC is actually fairly simple, though it takes a little effort.

1) Open the oto_ini.txt file in a text editor, preferably one intended for coding of some type. I use and highly recommend TextWrangler for this — it’s amazing, and also free (made by the good folks who make BBEdit.)

2) Create a new document, then copy-&-paste the contents of the oto_ini.txt file into the new document. Go ahead and remove the top line, “#Charset:UTF-8.” There’s no reason to leave it in, and leaving it in will actually cause issues when UTAU tries to load the voicebank.

3) Save the new file as “oto.ini” using “Shift JIS” as the encoding type.

Important Note: if you encode in hiragana or katakana, it’s possible that when you try to save the file in Shift-JIS encoding, the program may refuse to do so, citing the presence of “incompatible characters.” When I had this issue, it was the V and Vy sounds, aliased in hiragana. I opted to rename the affected files and aliases in either romaji or katakana, or both. (If I have learned anything from this experience, it's that the “Find and Replace” tool is your friend.)

Some PC users may be wondering -- what about the flip side? Mac-built OTOs don’t work in UTAU, so what about the reverse? Do I need to take special steps to make my voicebank work right on Mac? The answer, happily, is no — making a PC-built voicebank functional in UTAU-Synth requires exactly no special effort on the user’s part.

When a PC-built voicebank is loaded into UTAU-Synth, it can and will load the existing oto.ini without issue. If any changes are made to the OTO, the program automatically generates a duplicate OTO, an oto_ini.txt file, encoded in UTF-8. Any updates or changes made to the OTO after loading the voicebank in UTAU-Synth will be made to the oto_ini.txt file — the original oto.ini will be left untouched.

1.2 - Configuring Multipitch Voicebanks
One of the most drastic differences between UTAU and UTAU-Synth is how they handle multipitch/multi-folder voicebanks. In order to recognize the files in each folder, UTAU requires that each subfolder have its’ own, individual, local oto.ini for the files within it, which kind of makes every folder it’s own little voicebank.

UTAU-Synth users will probably find this to be an alien concept, because UTAU-Synth has no such requirement. As far as UTAU-Synth is concerned, the only OTO that it cares about is the primary OTO located in the voicebank’s main folder. It completely ignores the other sub-folder OTOs.

Creating OTOs for subfolders can be a pain, but it’s not much harder than creating an oto.ini from an oto_ini.txt file. Copy, paste, and exercise some caution when deleting or editing. Tactical use of Find and Replace can and will save a lot of time. And sanity.


- Part 2: Compression and Extraction -
If you use hiragana or katakana aliasing or file names, the wrong choice of compression or extraction software can cause an otherwise perfectly functional voicebank to break. Some programs can’t handle non-Western characters at all, while some others can generally handle Japanese characters, but are incapable of dealing with characters that contain dakuten and handakuten — the little diacritics used in Japanese kana to indicate how a consonant is voiced. For example, see the little notation that differentiates the sound ba (ば) from pa (ぱ,) and ha (は.)

When it comes to compression and extraction for Macintosh, I strongly recommend Keka, and The Unarchiver. Both are freeware, and easy to use.

Keka can handle a number of compression and extraction formats — the only downside is that it doesn’t offer RAR as an archiving format option. However, considering that it’s free, and also can archive a voicebank without breaking it’s contents, not being able to compress in RAR format is a small price to pay for a solid program.

The Unarchiver is an archive unpacker, which can not only handle a large number of archive formats, but is also perfectly content handling file names containing non-Western characters. Which means, you can unstuff Teto or Ruko (or any other Japanese-language voicebank that uses hiragana or katakana aliasing) to your heart’s content, mojibakke-free.


- Part 3: Testing Your Voicebank -
This is pretty much a given, but always try to test your stuff before publicly releasing it. A copy of UTAU (in Japanese locale) running in Wine via Wineskin can be helpful, though the multitude of third-party plugins and resamplers created for it don’t always function properly in Wine’s environment. Sometimes they don't work, sometimes they crash UTAU or Wine outright. Some resamplers' distribution pages will tell you whether or not they'll work properly in Wine, but not all.

In the end, it may not always be possible (or reasonable) to try and test everything out yourself, so if possible, try to enlist the help of an UTAU user for beta testing. That way, you can be certain that your OTO conversions work properly, and that whatever archiver you used isn’t breaking your file names. It's certainly better than finding out months later, or not at all.

--- --- ---

It’s not easy creating a voicebank, no matter what platform you’re running. Trying to surmount the vast differences in programs across operating systems can be a headache in and of itself, but it’s a task worth undertaking if it means that you can share your voicebank with people using multiple operating systems. After all, we're all here out of a common and universal love of music and vocal synthesis.

Good luck, and happy creating!
  • Like
Reactions: Kiyoteru
Author
lunavi
Views
385
First release
Last update
Rating
0.00 star(s) 0 ratings

More resources from lunavi