2

ゲームで D6 ダイスを 2 つ転がす際にオーディオをランダム化する方法についての提案を探しています。サイコロの各ロールが異なるように聞こえますが、合理的に妥当であることを望みます. そして、事前に記録されたサイコロのロールをたくさん作りたくはありません。もっとバリエーションが欲しいのです。オーディオをアニメーションと同期させる必要がないことに注意してください (使用しているアニメーションは非常に単純で抽象的なものです)。

私の推測では、1 つのサイコロが表面に 1 回当たる音には、いくつかの基本的なオーディオ スニペットが必要であるということです。(それらを生成するための提案はありますか?それともキャプチャするのが最善ですか?)次に、その基本的なサウンドのバリエーションを変異させて組み合わせて、ユニークなロールサウンドを作成する方法が必要になります....または、方法を理解するにはあまりにも無知です.それは複雑で、別のアプローチを試す必要がありますか?

私は Android 用の Java で開発していますが、任意の言語でオーディオを合理的に結合または手続き的に生成する方法のチュートリアルまたは説明をいただければ幸いです。次のロールのオーディオを事前に生成し、サイコロが実際にロールされるまでキャッシュすることができると思うので、リアルタイム サポートは必要ありません。

4

3 に答える 3

2

サイコロは 2 種類の音を生成できます。1 つは環境に当たったときです。もう一方のサイコロを打っている間。サイコロの衝突音のスペクトログラフを読むと、倍音の比率がわかります。Pure Data のようなソフトウェアでこれを簡単にプロトタイプ化できます。アイデアは、基本周波数をわずかに変更することで、よりプロシージャルな衝突サウンドが得られるようにすることです。おそらく、乱数を使用して変動を行い、衝突を予測できます。おそらく完璧な音ではないかもしれませんが、それが出発点になる可能性があります。

これはおそらく非常に曖昧ですが、それでも役立つことを願っています:D.

于 2012-09-05T19:17:21.330 に答える
0

合成ツールキット (STK) から「Shaker」クラスの手続き型コードを調べることができます。STK は C++ ライブラリですが、実際にオーディオ サンプルを作成する手順はそれほど難しくありません。デフォルトで提供されるシェーカーの種類はたくさんあります。必要に応じて、パラメータ化を調べて変更を加えることができると思います。

于 2012-04-27T02:49:41.003 に答える
0

私の解決策は、無料の録音ソフトウェアを使用して、一度に 1 つのサイコロが転がる音をキャプチャすることです。適切なソフトウェアは、これらのファイルを各パーカッシブ ヒットと残りのオーディオを含む小さなサンプルに分割することができます。記録されたサイコロを数回振るだけで、何十もの「ヒット」のサンプルが得られます。

次に、Java を使用して各サンプルへの参照をロードし、適切なタイミング変更を加えてセミランダム シーケンスで再生するアルゴリズムを設計します。そうすれば、再生前にオーディオを 1 つのストリームにミックスする必要なく、その場でさまざまなバリエーションを得ることができます。

于 2012-04-27T02:35:13.413 に答える