■アフィリリンク

iTunes Store(Japan)
iTunes Store(Japan)
Mac ソフトのことなら act2.com
act2.com
リンクシェア アフィリエイト紹介プログラム

■プロフィール

飴屋/菖蒲

Author:飴屋/菖蒲
(あめや・あやめ)
「UTAU」の作者です。

■アクセスカウンタ

08/10/20設置

■リンク
■ブログ内検索

■最近の記事
■カテゴリー
■最近のコメント
■月別アーカイブ
■RSSフィード
■Amazon

アソシエイトリンク

スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。


スポンサー広告 | --:--:--
日付変わったのでもう一件
GUIからデータをエンジンに渡すところで、
ピッチデータがコマンドプロンプトの制限に引っかかって壊れる件、
(判らない人はスルー推奨)
今、ささやかながら長さの圧縮を試みています。

まず、精度が0.01cent(半音の一万分の一)と無駄に高精度を誇っていたので、
これを1cent単位に丸めます(0.5centを聴き分ける位でないと違いは判らない)。
それから値をbase64の2文字分(-2048~2047、これだけあれば十分なはず)に制限して、
1ステップを長さ固定2文字で渡すようにして、ついでに簡単なランレングス圧縮もかけます。
そうすると、


200.00 200.00 200.00 200.00 200.00 200.00 200.00 200.00 200.00 200.00 200.00 200.00 199.00 197.00 194.00 188.00 182.00 174.00 165.00 154.00 143.00 131.00 119.00 106.00 94.00 81.00 69.00 57.00 46.00 35.00 26.00 18.00 12.00 6.00 3.00 1.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 -1.00 -2.00 -3.00 -5.00 -7.00 -9.00 -11.00 -12.00 -14.00 -14.00 -14.00 -14.00 -12.00 -10.00 -8.00 -4.00 0.00 5.00 10.00 15.00 20.00 25.00 30.00 34.00 38.00 40.00 42.00 42.00 42.00 39.00 36.00 31.00 25.00 18.00 9.00 0.00 -9.00 -19.00 -29.00 -38.00 -47.00 -55.00 -61.00 -66.00 -70.00 -70.00 -68.00 -64.00 -59.00 -52.00 -44.00 -34.00 -23.00 -12.00 -1.00 11.00 22.00 33.00 42.00 51.00 58.00 64.00 68.00 70.00 70.00 68.00 64.00 59.00 52.00 44.00 34.00 24.00 13.00 1.00 -10.00 -22.00 -32.00 -42.00 -51.00 -58.00 -64.00 -68.00 -70.00 -70.00 -68.00 -65.00 -59.00 -52.00 -44.00 -35.00 -24.00 -13.00 -1.00 10.00 21.00 32.00 42.00 50.00 58.00 63.00 67.00 70.00 70.00 68.00 65.00 59.00 53.00 44.00 35.00 24.00 13.00 2.00 -10.00 -21.00 -32.00 -42.00 -50.00 -58.00 -63.00 -67.00 -70.00 -70.00 -68.00 -65.00 -60.00 -53.00 -45.00 -35.00 -25.00 -14.00 -2.00 9.00 21.00 31.00 41.00 50.00 57.00 63.00 67.00 70.00 70.00 68.00 65.00 60.00 53.00 45.00 35.00 25.00 14.00 2.00 -9.00 -20.00 -31.00 -41.00 -50.00 -57.00 -63.00 -67.00 -70.00 -70.00 -68.00 -65.00 -60.00 -53.00 -45.00 -36.00 -25.00 -14.00 -3.00
↑こんなデータが

DI#11#DHDFDCC8C2CuClCaCPCDB3BqBeBRBFA5AuAjAaASAMAGADABAA#113#///
+/9/7/5/3/1/0/y#3#/0/2/4/8AAAFAKAPAUAZAeAiAmAoAq#2#AnAkAfAZASAJAA/3/t/j/a/R/
J/D+++6+6+8/A/F/M/U/e/p/0//ALAWAhAqAzA6BABEBGBGBEBAA7A0AsAiAYANAB/2/q/g/
W/N/G/A+8+6+6+8+//F/M/U/d/o/z//AKAVAgAqAyA6A/BDBGBGBEBBA7A1AsAjAYANAC/2/
r/g/W/O/G/B+9+6+6+8+//E/L/T/d/n/y/+AJAVAfApAyA5A/BDBGBGBEBBA8A1AtAjAZAOA
C/3/s/h/X/O/H/B+9+6+6+8+//E/L/T/c/n/y/9
↑このくらいになります。

ここまでは実装しようと思ってますので最新版はもうちょっとお待ちください。
UTAU | 00:41:16 | Trackback(0) | Comments(6)
コメント
Windows XPとVistaでピッチ情報の後ろが切り落とされるケースよりもさらに制限が厳しいWindows2000でUTAUの人です。対応ありがとうございます。リリースされたら今のバージョンでコンパイルできないUSTファイルを試して報告させていただきます。
2008-10-28 火 09:02:27 | URL | キハ22 [編集]
つ 環境変数渡し
2008-10-28 火 13:58:55 | URL | n [編集]
ふと思い出しました。考慮されていると思いますが、生成した文字列を従前同様バッチ処理のコマンドラインに渡すのなら、コマンドラインの特殊文字(<>|^)は含まれないようにしておかないと別途特殊文字エスケープが必要になるかも、と思いました。

resampler.exeが直に環境変数を参照するほうが無難かも、ですね。
2008-10-28 火 14:18:10 | URL | キハ22 [編集]
失礼しました。BASE64に(<>|^)は出てこないので無問題ですね。
2008-10-28 火 15:20:55 | URL | キハ22 [編集]
getenv()
確かに、set param=でサブのバッチファイルに渡してる位なら、
exeん中から直接読めば良いじゃん! って話ですね?
そのset param=の時点で切り落とされてるんじゃないかと。
って、分割すればいいのか。
でも、ここはあんまり複雑にしたくないんですよね。
やるならもっと抜本的に、ust渡して直にwav生成するとかを考えます。
2008-10-28 火 17:28:51 | URL | あめや [編集]
お疲れ様です。一時ファイル生成+ファイル名渡しってのはどうでしょうか。スマートかというと微妙ですが。

cent幅については、昔ブラバンやってたときの楽器のピッチあわせが±2~3centくらいでしたので、1centなら問題になるケースは少ないかと思います。主な外部MIDI音源のピッチベンド指定も1cent丸めだという話をどこかで聞いたような…(記憶が曖昧なので話し半分で)
2008-10-29 水 02:53:49 | URL | にお [編集]
コメントの投稿

管理者にだけ表示を許可する

FC2Ad

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。