【限】断片
Added 2021-11-23 17:16:06 +0000 UTCresampleroverwriter
◯左ブランク、固定範囲、右ブランク フラグ
通常ではノート上からでは設定を変更できない値がある、これらはそもそもUI上から変更することを想定していない、というかそもそも原音設定の段階で確定させる要素なので固定値として扱われているわけだが、これらをフラグから好き勝手できるようにする。
・左ブランク
(STPで削ることはできるが、マイナス値にはできない。(0として扱われる))
・固定範囲
・右ブランク
メリットとしては、ちょっとだけ変更した原音設定を無闇に増やしたくないとき…くらいにしか使わないと思う。
これらのフラグ実装は下のプラグインありきの為の機能で、単体で使いたくて実装するわけではあんまり無い。
(左ブランクのさらに左に息を吸う音が入ってるときに、一時的に左ブランク含め左に引き伸ばす、という使い方もあるかな)
(右ブランクがバラバラの連続音音源を、原音設定を変更せず一定の値で使う…という使い方もできるかもしれない。)
(個人的には先行発音を左にずらしてVCを作るということをよくやるのだが、その際に固定範囲が動かないことが気持ち悪いのでその為に使うかもしれない)
(有用な例としては、算数する必要があるけど、全てのノートが十分に短いとき、必ず全ての歌唱を固定範囲内で処理を行って品質を上げる…というのもできる。)
◯フォースの力プラグイン(仮)
ノートのパラメータを差し替え先に合わせた
・先行発音
・オーバーラップ
・固定範囲
・右ブランク
の値に強制する。
他にも
・差し替え元に無い音素を呼び出す準備
をさせる。
差し替え元に「a ヴ」が無いが、差し替え先に「a ヴ」があるときに、ブリッジするマップを仕込む。
ただし、?の形で指定されているとprefix.mapの置換処理に支障がある。
←これに関してはSフラグで差し替えの音階を指定されていることを前提、念頭に置く。プラグインコール時も考慮しなければならない。
→逆に、差し替え先にはその音素が無い時もあることを考慮しなければならない。
・Sフラグの値(デフォルト値=0)との音程差を考慮して、存在しない「e3a ヴ.wav」等のコールを、ベース音源のprefix.mapの情報からe3と分離させて「a ヴ」のエイリアスを獲得する。
←//TODO ここに関してはどうresamplerからどう呼ばれてたか記憶がないので要確認。できないかも。
・差し替え先のprefix.mapと音程情報とエイリアスから、対称のパス・原音設定を獲得する
・ノートに対して差し替え先のパラメータを適用する。
※存在しないエイリアスのノートに無理やりパラメータを与える為にプラグインの実行が必須※
←そうしないとエンベロープの形が作れない。予め差し替え先の値を知っていれば手動でも可。
GUIDで予め差し替え先パスとのデータをマップをフォルダ内に作っておけば、見かけのエンベロープも崩れず、強引にコールできるので見かけも元の音源に無い音素が差し替えさきの音源の設定で動いてる振る舞いになる。
(考え方としてはpresampのREPLACEの機能をやってるだけ)
(先行発音やオーバーラップを空白に戻すと、当然元の音源に無い音素なのでエンベロープが死ぬのでそこは注意)
@フラグの値を変えたとき、正確な値に補正し直すのにプラグインを実行し直す必要がある。
(差し替え前後で値が違う音源の場合のみ。)