飯香 · @iicafiaxus
17th Nov 2012 from Twitlonger
※不具合修正しました。
■ ピッチ曲線の貼り付けプラグイン r4
■ 2012. 11. 17
■ 日野飯香(◆iicafiaxus)
○ダウンロードはこちらから
http://www1.axfc.net/uploader/so/2679745.zip
(上記が重い場合は http://sdrv.ms/S14UJW 121118b.zip)
■経緯
こんにちは。飯香です。何度もすみません。
花篭という名前で、テキスト読み上げのようなことをするための
UTAU用プラグインを作っているのですけれど。
その中で、ピッチ曲線について、ノートにくっつけるのではなく、
ひとつの“時間軸”にくっつけるような考え方で管理しておくと、
いろいろ便利だと思いました。
最終的にUTAUに書き出すとき、およびUTAUからもらうときだけ、
個々のノートに結びついた形で扱うようにすればいいよねって。
なので、ノートからピッチ曲線を読み取って時間軸に貼り付ける、
また逆に時間軸からピッチ曲線を取ってきてノートに貼り付ける、
といったことができるようなモジュールを作っていました。
それができたので、実用ということで、ピッチ曲線をコピーする
プラグインを作ったところです。
ピッチ曲線がコピーできるツールはすでにいろいろあるのですが、
異なるシンガーへの貼り付けや、異なるテンポへの貼り付けという
ことになると、広く出回っているものでは、見当たらないと思って
います。(すでにあるようでしたらすみません。)
■概要
あるUTAUウィンドウから、別の(または同一の)UTAUウィンドウへ、
ピッチ曲線をコピーします。
まず、コピー元のウィンドウで、コピー元としたい範囲を選択し、
「クリップボードへコピー」プラグイン(別で配布しています)
などによって、範囲をクリップボードへコピーしてください。
その後、コピー先のウィンドウで、コピー先としたい範囲を選択し、
本プラグインを実行してください。
すると、コピー元に描かれていたピッチ曲線が、コピー先に転写されます。
■機能
ピッチ曲線はMode1に対応しています。
ノートの置かれた高さが違っても、ピッチ曲線は同じ場所に貼り付きます。
たとえば、読み取り元で「ドからレに上がる」ようなピッチ曲線が描かれて
いたならば、それを貼り付けると「ドからレに上がる」ような曲線になります。
たとえ貼り付け先のノートが「ミ」だったとしてもです。
読み取り元と貼り付け先のテンポが違う場合、ピッチ曲線は伸縮します。
このため、たとえばBPM120で作った曲をBPM118に直すというような場合も、
ピッチ曲線がずれることなくコピーできます。
読み取り元と貼り付け先でシンガーが異なる場合や、
シンガーは同じでも音の高さによってprefix.mapの設定が異なる場合でも、
先行発声などの原音設定を読み取ってピッチ曲線がずれないようにコピーします。
先行発声が前ノートを半分以上削ってしまう場合には、
UTAUの機能で自動調整というのが働いて先行発声などが調整されます。
この挙動にも対応していますのでピッチ曲線はずれません。
読み取り元のノートにピッチ曲線がない場合は、
平坦なピッチ曲線があるものと解釈してコピーします。
tフラグは考慮しません。
■詳細(※普通は読む必要はありません)
このプラグインの本体は、tldemobat.exeです。
tldemobat.exeは、内部でtldemo.exeを呼び出しています。
このtldemo.exeは、それ自身がUTAUプラグインとして動作します。
tldemo.exeの機能は以下の通りです。
ピッチ曲線の読み取り機能と、ピッチ曲線の貼り付け機能があります。
・読み取り機能
選択範囲のピッチ曲線を読み取り、プラグイン内に保存します。
・貼り付け機能
プラグイン内に保存されているピッチ曲線を、選択範囲に貼り付けます。
なお、保存されていたピッチ曲線はプラグイン内からは消去されます。
プラグイン内に保存されているピッチ曲線があるかないかによって、
保存されているピッチ曲線がないときは「読み取り機能」が動作しますし、
保存されているピッチ曲線があるときは「貼り付け機能」が動作します。
保存されているピッチ曲線というのは、プラグインフォルダ内のtl.datです。
(アクセス権限などによりプラグインフォルダにファイルを作成できない
設定になっている場合、うまく動作しませんので、ご注意ください。)
tl.datはテキスト形式ですのでメモ帳で編集できます。
(ふつうは編集する必要はありません。)
Pitchesは、1msごとにピッチの値を並べたものです。
この値は、notenum=0の音が0で、notenum=60の音が6000です。
Weightは、その値が実測値のとき1、補間で作られた値のとき0です。
■注意
期待通りに動くつもりですが、万一何かあっても責任はとりませんので、
あしからずご了承ください。
「このustでやるとずれる」等ありましたら教えていただけますと幸いです。
(ただし直せるかどうかはそのとき次第です…。)
■改版履歴
2012. 11. 16 初公開
2012. 11. 17 tldemobat.exe を作成
2012. 11. 17 エイリアス重複時に異常終了する不具合を修正
2012. 11. 17 ピッチがなく、かつ子音速度かstpがある場合の不具合を修正
■ 日野飯香
■ twitter: @iicafiaxus
■ e-mail: iica@live.jp
■ http://monopole.jimdo.com
○ダウンロードはこちらから
http://www1.axfc.net/uploader/so/2679745.zip
(上記が重い場合は http://sdrv.ms/S14UJW 121118b.zip)