フェルマータ

個人用のメモ。ソフトウェアの導入とかが多くなる予定。

UTAU 音源の仕様

経緯

 UTAU 音源を読み込むプログラムを何回か書いているのだが、都度都度調べなおしているのが面倒になったので記事にまとめる。音源やプラグインを作るための情報ではなく、プログラムから音源を利用する際に必要な情報であることに注意。

構成

 音源はディレクトリに含まれる以下のファイルからなる。波形ファイル以外のファイルは全てオプショナルなもので存在しなくても良い。ディレクトリ内に含まれる波形ファイルは、サブディレクトリ内まで再帰的に読み込まれる。サブディレクトリまで読み込まれる。(@namiyome さん、@maruLoop さんからご指摘がありました。ありがとうございます。)

  • /root/
    • oto.ini
      • 波形のラベリング情報。
    • character.txt
      • キャラクター情報
    • prefix.map
    • subdirs/
      • oto.ini

oto.ini

 音の切り出しとラベリング情報、および配置位置の情報が含まれる。形式は以下。改行することで複数の指定が可能である。時間指定は浮動小数点で単位はミリ秒。

ファイル名=エイリアス,左ブランク,固定長,右ブランク,先行発声,オーバラップ

記述例は以下。

_ああいあうえあ.wav=- あ,500,125,-500,500,250

ファイル名の前にはアンダースコアがつけられることが多い。これはエイリアスによる検索性をよくするためか。

 それぞれの値の意味合いは検索してください。

character.txt

 UTAU 音源のキャラクター情報。形式は以下。ただし日本語名で設定している音源も少なくないが、当面面倒がないのでこの形にしておく。

name=音源名
image=音源アイコン名
sample=サンプルボイスへのファイルパス
author=製作者
web=製作者の web サイト

= 前後のスペースが無視されるかは未確認。

prefix.map

 音の高さと、読み替え先の情報のペア。読み替え先はディレクトリ名とサフィックスのペア。以下の形式。

音高名\tディレクトリ名\tサフィックス

設定例は以下。

C5\t↑\t↑

音高はノート名とオクターブの組。ノート名は以下から選択する。

C, C#, D, D#, E, F, F#, G, G#, A, A#, B