問題タブ [audio-worklet]

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.

0 投票する
1 に答える
236 参照

javascript - AudioWorkletProcessor.process の実行時間に関する考慮事項

への呼び出しはhttps://developer.mozilla.org/en-US/docs/Web/API/AudioWorkletProcessor/processAudioWorkletProcessor.processによると同期的であるため、実行に時間がかかりすぎる場合 (たとえば 1 秒以上) はどうなりますか? 次の呼び出しでいくつかのオーディオ サンプルがスキップされますか? または、サンプルはどこかにキューに入れられますか? これに関するドキュメントは見つかりませんでした。

0 投票する
1 に答える
73 参照

javascript - AudioWorklet 内の new Function()

ノードを接続してカスタム オーディオ コンポーネントを作成できるオーディオ エディタを作成したいと考えています。ノードが変更されるたびに、javascript にコンパイルされ、new Function()パフォーマンスを向上させるために実行されます。AudioWorklet別のスレッドで実行されるを作成する可能性があることを読みました。私のアルゴリズムがJavaScriptコードの文字列として渡され、コンストラクター内でAudioWorklet関数に入れられるように、両方のアイデアを組み合わせる可能性があるかどうか疑問に思っています。new Function(codeString)次に、audioworklet のprocess()関数が何らかの形でカスタム関数を呼び出します。

これは何らかの方法で可能ですか、それとも私が求めすぎているのでしょうか? 何時間もかけて動作させる前に、「はい、可能です」または「いいえ、申し訳ありません」と答えてもらいたいのですが...

ご協力いただきありがとうございます、

ドジェフロマージュ

0 投票する
0 に答える
53 参照

angular - マイクの音量レベルを取得する - Angular

目的は、マイクの音量 (ノイズ) レベルを表す特定の数値 (デシベル単位または 1 ~ 100 のスケール) を返す関数 (ユーザーの要求に応じて起動される) を作成することです。

調査しましたが、必要なものが見つかりませんでした。私が見つけた最も近いものは次のコードでしたが、問題は「onaudioprocess」のために無限に実行され続けることです。

すぐに正確な数字が出始めるわけではないので、数秒待ってからお約束としてボリュームを戻し、機能を停止する条件を設定することを考えました。何らかの理由で機能しなかったため、遅延時間が経過する前に、(最初のいくつかの値から) 不正確な値が返されました。

以前のコードを私が特に必要としているものに変えることができる変更や、その他の提案 (AudioWorklet の使用など) をお勧めする場合は、大いに感謝します。

0 投票する
0 に答える
91 参照

web-audio-api - AudioWorkletProcessor の入力を Float32Array に設定する

postMessage を使用して 1 つの AudioWorkletProcessor から入力を抽出し、その入力を別の AudioWorkletProcessor に挿入しようとしています。

Float32Array を 2 番目の AudioWorkletProcessor プロセス メソッドに入れることはできましたが、RingBuffer が機能していないようです。

process メソッド内のエラーまたは RingBuffer に関連するエラーを検出する方法がわかりません。

無音出力が表示され、コンソールにエラーはありません。

抽出された Float32Array を ring-buffer-worklet-processor 出力に渡す方法を知る必要があります。

前もって感謝します。

編集: ( outputChannelCount: [2] ) を ringBufferWorkletNode オプションに追加した後、出力でオーディオを取得し始めましたが、まったくクリアされませんでした。


メインスレッド:

audio-processor.js

ring-buffer-worklet-processor.js

メインスレッドからの console.log サンプル:

これは私がフォローしていた GitHub です: https://github.com/GoogleChromeLabs/web-audio-samples/tree/main/audio-worklet/design-pattern/wasm-ring-buffer

0 投票する
0 に答える
33 参照

javascript - Vite は `?url` でインポートされた typescript をビルドしません

vite と typescript でオーディオ アプリケーションを作成しています。次のようにオーディオ ワークレットをインポートしました。

開発サーバーで動作します。ただし、製品ビルドでは機能しません。Javascriptに変換せずにフォルダAudioMixerWorklet.tsにコピーしました!assest

どうすればこの問題を解決できますか?