【限】いましてること (Pixiv Fanbox)
Content
ResamplerOverWriterがちゃんと動いてないことを修正してます。
●フラグテンプレートが存在しないときの挙動を修正した
└flag_template.xmlが対象の音源内に絶対存在しないとそもそも合成を諦めるようになっていたのを修正
◯"差し替え先の"対象のエイリアスが検索出来ないと、ベースの音声を鳴らすようになっているが、そういった場合UTAU上では色々指定されている感じになっているのにベース音源の音声のままで再生されているのがユーザに通知されていない
└同じような音源を使っていると気づきづらい
└まぁ、resampler.exeでMtフラグを使っても何も起こらないよねみたいな問題ではある
└通常、差し替え元の、ベース音源のエイリアスが存在しない場合、そもそもUTAU上でもエンベロープ不整合になるというか、まぁ普通再生されない。
一方、差し替え先のprefix.mapが無かったりとか、差し替え先の音源構造が異なってエイリアスが一個もみつけられない状況だと、ベース音源の音声のままで再生する。が、これについてユーザに通知されていないというのが。
└#や@フラグが指定されてるときの挙動がマチマチになっている?
これには、[A:多音階音源だが「prefix.map」がなく該当エイリアスが見つけられない](製作途中でうっかり入れ忘れ、というパターンしか無いと思うが)[B:そもそも「a き強」とかになってるから該当エイリアスが見つけられない][C:元音源にはあるが、差し替え先には無い音素だった]だったりととか。言及がされない…というか全部「見つからなかった」というシチュエーションで、細分化してツール側から言及はできないんですけども、
ともかく、「見つからなかった」と通知していない。
└差し替え先が1音階でprefix.mapも無い音源で、「f#3a き」→「a き」のように対応するはずなので動くはず、【未検証】
◯差し替え前後で収録音階が違うときに不都合がある問題を修正する
└やや上項目に関連しますが、例えば、floatをベースに、queryのg3をf#3の音階で呼び出したいとき、「?g3a き」と打っても、ベースであるfloatには「?g3a き」が存在しないので表示されるエンベロープの形がダメになり、そもそも何も生成できなくなってしまう。とはいえ、「?f#3a き」と指定しても、queryのprefix.mapでf#3に指定されている「?d3a き」を呼びにいこうとしてしまって「?g3a き」を呼び出せない。(本来はprefixmapを考慮する実装にした気がしたんだけど、なってない。というか、原理上どうゴリ押ししても出来ない。)
└そこで、新たに音階シフト指定フラグ「S」を実装したい
└もともとの音階が指定数分ずれていると解釈させる。なのでfloatからqueryのg3をf#3の音階で呼び出したいとき、[S1]とフラグを指定して「f#3」が呼ばれているのではなく、「g3」として音階を扱っているとさせたい。【未検証】
└UTAUのピッチ計算に不都合が生じる感もあるので、できないかも…
└更に、通常はprefix.mapを解釈した結果「g#3a き」を呼びにいくシチュエーションで歌詞にわざわざ「?f#3a き」として入力しないといけなかったが、[S-2]とフラグを指定することで歌詞側を弄らずにフラグだけでできるようにもなる?
└ust全体に[S+12]とすることでprefix.mapを1オクターブ上にずらすような横着もできる感じある
ただこれには、もちろん扱っている音源のprefix.mapをすべて熟知している必要があるが、音源ごとに収録している音階がマチマチな場合の問題をこれで解決でき…たい。
△対象の周波数表が存在しないと動かない?
└というか、デフォルトでResamplerOverWriterを指定すると周波数表の一括生成から呼ばれるとそもそも動かない気がする【要検証】
△多音階で、空のoto.iniが設置されていないと動かない?
└原因不明。実際にやってみても動くので、多分prefix.mapが無いからエイリアス検索できなかった方に関係してると思う。