presamp0.890DVについて

旧開発ログ(http://ch.nicovideo.jp/delta_kimigatame/blomaga/ar467048)が放置しすぎてわけわからないことになってるので.

presamp0.890DVの開発状況について

既存のバグをつぶすのにどうしても必要だったので,ほぼ一から作り直しました.
結果として

  • 休符の直後に先行発声が長いノートがあると出音が変になる不具合を修正しました.
  • ust途中でテンポが変わった場合正しく歌わない不具合を修正しました.
  • UTAU本体でキャッシュファイルを生成しない設定にしてもpresampが動作するようにしました.
  • UTAU本体設定項目で,[レンダリング]-[音符長の計算をGUI側で行う(旧wavtoolの仕様]にチェックを入れてもpresampが動作するようにしました.
  • 休符で囲まれてないエリアの再生に対応した.

などの,既知なのに直せない不具合を改修できました.
今まで通り動かないところとか出てくると思うのでご報告お待ちしてます.

エイリアス変換の優先順位を[通常],[アペンド名違い],[同アペンドピッチ名違い]のそれぞれでpresamp.iniで定義できるようにしました.
詳細はpresamp.iniの仕様をご覧ください.→http://ch.nicovideo.jp/delta_kimigatame/blomaga/ar483589
新しいエントリ作った時にいつも悩むエントリ名.priorityはもう使っているので,
alias_priorityとなりました.
difappend,difpitchはそれぞれdifference append(アペンド違い)とdifference pitch(音高違い)の略


VC,VCVなど各エイリアスの書式をpresamp.iniで定義できるようにしました.
前から作ってたのをやっとまともに動くようにしました.

出力時にコマンドプロンプトが大量発生する現象を起きないようにしました.爆速で画面が流れます.
初めて起動時びっくりすると大不評だったので

presamp.iniに存在しないエイリアスを歌わせようとするとpresampが落ちる不具合を修正しました.
たぶん大丈夫なはずです.

presamp.iniに登録していないアペンド名を,oto.iniから自動で拾ってくる機能を追加しました.
同一のoto.iniファイルのエイリアス全てのうち,9割のエイリアスに末尾から含まれる文字列を拾ってきます.
その中でさらにpresamp.iniに定義された[PITCH]情報を取り除いたものを,暫定的に[APPEND]に加えて処理します.
presampが突然死ぬ不具合回収と併せて,(初心者にとって)理由がよくわからないエラー対策です.

presamp.iniに[longV]項目を追加しましたが,まだ動作していません.
ロングトーン母音の自動分割機能を作ると,最初のリリースから言っていてまだ作ってないので,とりあえず項目だけ追加しました.
[LONG]に0が入力されると分割なし,
[LONG]に正の整数が入力されると,その長さ以上の音符を自動で分割する予定です.
単位はms
長母音の書式は[ALIAS]のLONG_Vで指定し,デフォルトでは[あー][いー]などとする%V%ー
を設定しています.


更新予定について
mustVCの項目がうまく動いていないのを修正したい.
たいていの場合問題ないのですが,[keI][R][stAr]みたいに,語尾必須音と先行ノートが両方発生するときの休符の取り合い部分の実装が若干雑で,今は100%先行ノートが優先されるので,状況によっては二重母音が破たんします.
次回アップデートは英語音源対応の予定なのでその時直します.

wavtoolexが時々変…なような…
エンベロープ弄ってないのに時々クレッシェンドがかかったりして謎.
そのうち改修します.

英語音源の大幅対応
http://www.speech.cs.cmu.edu/cgi-bin/cmudict
上記サイトでDLできる辞書データを,presampのreplace機能で使える形で整備する.
英語のスペル→[上記辞書データを読み込んだpresamp変換器]→英語の発音記号→[presamp分割機]→正しい歌唱データ
というイメージ.