問題タブ [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.
javascript - AudioWorkletProcessor.process の実行時間に関する考慮事項
への呼び出しはhttps://developer.mozilla.org/en-US/docs/Web/API/AudioWorkletProcessor/processAudioWorkletProcessor.process
によると同期的であるため、実行に時間がかかりすぎる場合 (たとえば 1 秒以上) はどうなりますか? 次の呼び出しでいくつかのオーディオ サンプルがスキップされますか? または、サンプルはどこかにキューに入れられますか? これに関するドキュメントは見つかりませんでした。
javascript - AudioWorklet 内の new Function()
ノードを接続してカスタム オーディオ コンポーネントを作成できるオーディオ エディタを作成したいと考えています。ノードが変更されるたびに、javascript にコンパイルされ、new Function()
パフォーマンスを向上させるために実行されます。AudioWorklet
別のスレッドで実行されるを作成する可能性があることを読みました。私のアルゴリズムがJavaScriptコードの文字列として渡され、コンストラクター内でAudioWorklet
関数に入れられるように、両方のアイデアを組み合わせる可能性があるかどうか疑問に思っています。new Function(codeString)
次に、audioworklet のprocess()
関数が何らかの形でカスタム関数を呼び出します。
これは何らかの方法で可能ですか、それとも私が求めすぎているのでしょうか? 何時間もかけて動作させる前に、「はい、可能です」または「いいえ、申し訳ありません」と答えてもらいたいのですが...
ご協力いただきありがとうございます、
ドジェフロマージュ
angular - マイクの音量レベルを取得する - Angular
目的は、マイクの音量 (ノイズ) レベルを表す特定の数値 (デシベル単位または 1 ~ 100 のスケール) を返す関数 (ユーザーの要求に応じて起動される) を作成することです。
調査しましたが、必要なものが見つかりませんでした。私が見つけた最も近いものは次のコードでしたが、問題は「onaudioprocess」のために無限に実行され続けることです。
すぐに正確な数字が出始めるわけではないので、数秒待ってからお約束としてボリュームを戻し、機能を停止する条件を設定することを考えました。何らかの理由で機能しなかったため、遅延時間が経過する前に、(最初のいくつかの値から) 不正確な値が返されました。
以前のコードを私が特に必要としているものに変えることができる変更や、その他の提案 (AudioWorklet の使用など) をお勧めする場合は、大いに感謝します。
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
javascript - Vite は `?url` でインポートされた typescript をビルドしません
vite と typescript でオーディオ アプリケーションを作成しています。次のようにオーディオ ワークレットをインポートしました。
開発サーバーで動作します。ただし、製品ビルドでは機能しません。Javascriptに変換せずにフォルダAudioMixerWorklet.ts
にコピーしました!assest
どうすればこの問題を解決できますか?