Ticket #28732

【仕様改善】【GR】ギター音についての改善案(音声の1本wav化)

Open Date: 2012-06-15 00:49 Last Update: 2015-01-05 02:19

Reporter: ickw_284 Owner: (None)
Type: 新規機能リクエスト Status: Open
Component: DTXMania MileStone: 新機能の追加
Priority: 6 Severity: 5 - Medium
Resolution: None

Details

現状、ギター譜面を制作するには予め音を切らないと作れず

作者の負担も大きく、ギター譜面不足の一因となっています。

自分が提案するのは、ギター音の一本WAV(ogg)を指定してノートが上手く弾けてたら鳴らし

失敗したら音消すorピッチを弄るようにする仕様です。

この方がギターのデータを作りやすくて楽な上音分割する必要がなくなり、

今以上にギター譜面が増えると見込んでいます。

(参考にしたのはFoFというギターヒー□ーのシミュレーターで

あちらも提案通りの仕様となっています)

Attachment File List

Ticket History (3/15 Histories)

2012-06-15 00:49 Updated by: ickw_284
  • New Ticket "【仕様改善】【GR】ギター音についての改善案(音声の1本wav化)" created
2012-06-16 04:01 Updated by: yyagi
  • Milestone Update from (None) to 新機能の追加
  • Component Update from (None) to DTXMania
  • Type Update from 仕様変更リクエスト to 新規機能リクエスト
Comment

そうですね。一度試作してみましょうか。

ですが、私は今仕事が忙しくて全然時間がとれないので、少しでも手伝っていただけるとありがたいです。この新仕様に準じたサンプルのDTX曲データ、作ってもらえませんか?それが再生できるように本体をいじってみますので。

2012-06-18 01:53 Updated by: ikanick
Comment

ご無沙汰しております。瀬名です。
横からですが、新仕様への提案が御座いますので持参しました。

デメリットとして、
・容量の増加
・に伴う読み込み速度の低下?
・実装方法によってはDTXCからの操作が難化すること
が挙げられますが、機能の実装メリットの方が高いと見て、提案させていただきます。

まず本件の実装にあたって、ドラムパートでも出来ないかということを提案させていただきます。
例えばスネアロールの音源を基盤として、無音チップを配置するだけで切り分けてくれるようなものが理想です。

では、仕様提案内容です。なるべくDTXCの仕様を変えないで実装できるものを考えました。
#WAVxx:yy.wavの後に#CUTWAV:01とすることで自動カットのSWをオンにできる
WAVxxの再生中にWAV無指定チップが鳴った場合、WAVxxの途中から再生する
・(鳴らす部分は、現チップの正常再生タイミングから次チップの正常再生タイミングまで)
・(再生中の現チップはレーン属性によって処理を変える)
・→次チップの再生時にミュートされるチャンネル → 次チップが鳴るタイミングで消音する
・→次チップの再生時にミュートされないチャンネル → 次チップが鳴るタイミングで消音しない(重複する)

以上に伴うDTXC側の仕様変更提案です。
・GtR~Bのレーンにチップを置いた時に自動でGtVに(GtVDefault)チップを配置する(BsVも同様とする)
・GtV,BsVのレーン単体でもチップを置けるようにし、その場合はギターBGM用チャンネル(BC,BDあたり?)を設ける
・(現状ではGtVに配置すると自動的にOPENが敷かれ、OPENを除去したGtVのみのデータだと保存されないため)

以上の提案に準じたサンプルデータをこちらでご用意させて頂きました。
http://finetskill.ddo.jp/crs/data/ippon.zip

長くなりましたが以上です。
丸投げになってしまい恐縮なのですが、よろしくお願い致します。

2012-06-19 21:46 Updated by: yyagi
Comment

瀬名さん

こちらこそご無沙汰してます。台風で早く帰ってきました。(その分明日からの仕事が地獄ですが・・・)

仕様案をご呈示いただき、ありがとうございました。それを拝見して思ったのですが・・・

  • 素直にギター/ベース/ドラム用のそれぞれに、これ用のトラック(チャンネル)を新設するのが分かりやすくて良いように感じましたが、いかがでしょうか。(DTXCのソースをご覧いただければ分かりますが、編集用のチャンネルを増やすのはものすごく簡単にできます。私がリファクタして更にそこら辺をいじりやすくしましたし・・・)
  • ドラムでミュートしない云々のお話がございましたが、用途を考えるとミュートしないような使い方はあり得ないように思います。(基本的に、再生しっぱなしのトラックの音量をONにするかOFFにするかという制御だと考えていました。もしミュートすることがうまい活用につながるようなことがあるようでしたら教えて下さい)
  • 読み込み速度の低下はしばらく無視して下さい。XP対応廃止の時に高速化しますので。(XPのせいで高速化できないわけでなく、デコード方式を変える(現在:ACM, 将来: DirectShowをすっ飛ばしてMediaFoundation)とBGMと譜面の同期で互換性が無くなるので、であればXP対応廃止といったような大きな変更のタイミングで一気にやりましょうという話です。DirectShow止まりで良ければXPでも高速化できますが、やっぱり既存曲で同期ズレが発生するのと、Microsoftさんは今からDirectShowなアプリを作るくらいならMediaFoundationにとっとと移行してくれと言ってますので。)
  • 別件ですが、必要であればDABの宣伝リンクをホームページに載せますよ。(宣伝文句をフォーラムあたりに載せて下さい。コピってmainoriサイトに載せますので)
2012-06-20 02:06 Updated by: yyagi
  • File DTXMania_28732_20120619.zip (File ID: 4786) is attached
2012-06-20 02:06 Updated by: yyagi
  • File _test_yyagi改.dtx (File ID: 4787) is attached
2012-06-20 02:17 Updated by: yyagi
  • Owner Update from (None) to yyagi
Comment

今晩しか時間がとれないので、取りあえず急ぎ試作を作りました。(添付のファイル群。後でソースをbranchにコミットしておきます) こんな感じでしょうか。

  • #CUTWAV な文法は使わずに、取り急ぎチャンネル BD,BE,BFをそれぞれドラム/ギター/ベースの1本化WAVチャンネルにしました。(BCは既に使用済みなので使うのを避けました)
  • ひょっとすると、ドラムは各レーン毎に個別に1本ずつWAVを使いたいという意図がございましたでしょうか。(何となくそんな気がしました・・・が、とりあえずドラム全体で1本にしました)
  • 音を鳴らす(初回のヒットでボリュームを上げる)ところと、ギター/ベースでネックを間違えたときに周波数がへっぽこになるところまでは作りました。
  • チップが来たタイミングでチップを叩いて/ピックしていなければ「消音」すべきかなとも思いましたが、今はまだこれは入れ込んでないです。これも必要でしょうか。

いや、消音を入れること自体は難しくないのですけれども、これを入れちゃうと(音切れ発生を避けようとして)どうしても演奏がツッコミ方向に矯正されちゃうような気がして、躊躇してます。(以前別のチケットでも書きましたが、ドラムはまず突っ込まないように突っ込まないように練習するところから入るものですので・・・)

2012-06-20 02:42 Updated by: yyagi
Comment

消音の件。

チップが流れて100msくらい待って消音する、ってアイデアを思いつきました。いかがでしょう。

(ってか、その消音までの待ち時間をCONFIGとかでいじれるようにしろとか言われそうだな・・・ww)

2012-06-20 02:45 Updated by: ikanick
Comment

早く帰ってきてその時間ですか!いつも遅くまでお疲れ様です。

ミュート

そうですね、よくよーーく考えると当たり前の話でした…。すっ飛ばして下さい。

素直にギター/ベース/ドラム用のそれぞれに、これ用のトラック(チャンネル)を新設

自分で思ったのですが、ドラム側で開始チップから発音にしてるくらいだからギターも開始チップから発音でいいんじゃ・・とか思ってしまいました。
=つまりGtVを単体で置ける必要はないってことじゃん!ということです…。
なので、新しいチャンネルを追加せずとも実装できるのであれば全レーンに対応できる汎用性を持ちますし、
レーンが増えたりだとかで見づらくなるよりは、CUTWAVを新設する方法がより操作も見た目も直感的であると思いこちらを提案させていただきます。

読み込み速度

じゃなくてもいわゆる永遠の課題な気がしますね・・・
XP早くどうにか!

宣伝

おお、ありがとうございます!ですがちょっとなんとなく後ろめたい気持ちもあるので、今回は遠慮させてください。
お気持ちだけでも、大変感謝です!

2012-06-20 03:06 Updated by: ikanick
Comment

完全にすれ違いじゃないですかー!やだー! 後ほど確認させていただきます!

2012-06-21 11:44 Updated by: ikanick
Comment

お疲れ様です。試作動かしてみました!
とりあえず自分の感じた点は、叩いた(弾いた)通り(のタイミング)に音がならないというのがすごい違和感でした。

早めに叩いてしまったら早めに鳴る、遅かったら遅めに、叩かなかったら鳴らない、というのは無茶でしょうか。
そういった意味で、ロード時にチップ毎にバッファを振り分けられたらそれも実現できるかなと思ったのです。

あともうひとつ、ドラムでレーン個別に使いたいというよりは使えたら尚素敵になるかな、とは思います(汎用性を持たす意味でも

2012-06-22 00:08 Updated by: yyagi
Comment

えーと、ひょっとして

「音切りを自動化する機能を本体に内蔵する」

ものを期待されてますでしょうか。

私はickw_284さんの最初の提案の文章から

「1本のWAVをボリューム0で再生させておいて、チップをヒットさせたタイミングでボリュームを上げて、次のチップが来たタイミングでまたボリュームを0にする」

機能かと思ってそのように作っちゃいましたよHAHAHA。

# やっぱしちゃんと話を伺ってから作らないと「コレジャナイ」ものになりますねホント。

2012-06-22 16:57 Updated by: ikanick
Comment

まさにそれです!手段的には間違いないと思うのですが、プレイした時に違和感があるのは好かなかったので・・・

提案というかアイデアを思いついた当人が実装できれば一番良いのは間違いないのですが、
プログラムを趣味でかじってるだけの人間がいじれるコードではないです('A)

2012-07-02 01:20 Updated by: yyagi
  • Owner Update from yyagi to (None)
Comment

すぐには対応できないので、私も担当を外れます :-)

2015-01-05 02:19 Updated by: yyagi
  • Priority Update from 5 - Medium to 6
Comment

ギター譜面制作の効率化のため、そろそろちゃんと対応したい。優先度を5→6に変更した。

Edit

You are not logged in. I you are not logged in, your comment will be treated as an anonymous post. » Login