問題タブ [sound-synthesis]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Java で純音を生成する高調波を減らす
Java で純粋なトーンを生成する静的メソッドを開発しようとしています。
最初は簡単そうに見えたのですが、ダブルアレイをラウドスピーカーに書き込もうとすると、ハーモニクスが多すぎることに気づきました。
スペクトル アナライザー (ソノメーター) でテストしてから、配列の結果をグラフィックに描画しました。私がそれをやったとき、私は問題を見てきました:
それは波形についてです、それは突然です。この配列を滑らかにしたいのですが、やり方がわかりません。
これはコードです:
fft - カスタムオシレーター用の任意波テーブル
Web Audio API で使用するオシレータ用の特定のカスタム波形を作成する必要があります。
目的の波形を出力する Javascript 関数があり (任意の x に対して -1 と 1 の間で y を計算します)、プロットされた結果は次のようになります。
ただし、Web Audio API のドキュメントcreatePeriodicWave
では、関数を使用してハーモニック テーブルに基づいてカスタム ウェーブテーブルを作成することしかできませんsetPeriodicWave
。波形関数に基づいて高調波テーブルを計算するために使用できる一般的な手法はありますか?
c++ - 仮想現実環境における物体の衝突による音の合成
「仮想現実環境でのオブジェクト衝突からのサウンド合成」というテーマのプロジェクトがあります。まず、特定の属性 (形状、質量、素材など) を持つオブジェクトをいくつか定義し、次に衝突からサウンドを作成する必要があります。これらのオブジェクトは、属性、衝突領域などに応じて C++ で作成されます。Bullet や ODE などの物理エンジンを使用する必要があると思いますが、このプロジェクトを開始する方法がわかりません。音声合成に特化した物理エンジンはありますか?
PhyA を思いつきましたが、ダウンロードして実装する方法がわかりません。 http://www.tech.dmu.ac.uk/~dylan/z/phya/
PS Falcon デバイスを使用する必要があるため、CHAI3d または H3dApi を使用する予定です。
前もって感謝します
javascript - 特定の期間をカバーする雷音をプログラムで作成する
私が実装した雪のシミュレーションでは、背景に落雷があります。
私はこれまで一般的な効果音を扱ったことはありませんでした。
私が尋ねようとしているのは、プログラムで雷鳴の音を作成して、拍手の持続時間と強度を定義し、フラッシュに一致する音を得る方法です。
フラッシュはランダムです (開始、持続時間、およびその間の一時停止があります)。
JavaScript で実行され、ブラウザ (html5+canvas) で実行されます。
すぐに使用できるコードを探しているのではなく、概念、アルゴリズムのアイデア、またはそのようなタスクを実際に開始する方法に関する基本的な情報 (リンク) を探しているので、それは問題ではありません。
ひょっとしたら、雷鳴の音を絞ったり伸ばしたりするのも選択肢になるのでは?それから始める方法もわかりません^^
どんなヒントでも大歓迎です。
前もって:どうもありがとうございました:-)
python - midiファイルをキープレスに変換する方法(Pythonで)?
MIDIファイルを読み取ってから、各ノート(MIDI番号)をキーボードのシミュレートされたキープレス(A、f、h、J、t ...)に変換しようとしています。
次のように python-midi ライブラリを使用して、任意の MIDI ファイルを読み取ることができます。
また、次のようにpywin32でキープレスをシミュレートすることもできます:
しかし、実際に MIDI 番号 (MIDI ファイルにある) をキープレスに変換する方法がわかりません。
より正確に言うと、 virtualpiano.net (61-key)に従って MIDI 番号を音符に変換し、次に音符をキープレスに変換して、キーボードの対応するボタンを押すことでプログラムがそのピアノを演奏できるようにしようとしています (キーを押すことができます)。ピアノの設定を支援して、どのキーがどのボタンであるかを確認します)
もちろん、キーを押す間も待つ必要がありますが、それは簡単です。
どんな助けでも大歓迎です。(Windows 10 64 ビット (32 ビット Python 2.7))