問題タブ [webkitaudiocontext]

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 に答える
2620 参照

javascript - HTML 5 オーディオ - AnalyserNode.getByteFrequencyData() が未定義を返す

これはよくある質問のようです - Javascript Web Audio API AnalyserNode が機能していません- しかし、私の実装でエッジケースが見つかったかどうかはわかりません。

createMediaElementSource() を使用してオーディオ ソースを作成しますが、ページ マークアップのオーディオ タグを使用する代わりに、要素は Buzz.js を使用して動的に作成されます。

これが私のテスト設定です:

上記のコードでは、サウンドが再生されます。動作する他のノード (バイカッド フィルター、ゲインなど) をアタッチすることもできますが、audioAnalyser.getByteFrequencyData はすべてのフレームで未定義の値を返します...

Buzz.js の使用と何か関係があるのでしょうか?

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

node.js - NodeJs WebSockets を介して avconv から AudioContext を使用して Chrome にオーディオをストリーミングする

ブラウザで (Chrome を使用して) ストリーミング オーディオを再生する際に問題が発生しています。

一部のポートのudpでオーディオ(インターネットラジオなど)をストリーミングするプロセスがあります。avconv( avconv -y -i SOMEURL -f alaw udp://localhost:PORT)です。このオーディオ ストリームを受信し、WebSocket 経由で接続された複数のクライアントに転送する NodeJs サーバーがあります。NodeJs が受信するオーディオ ストリームは、0 から 255 までの数値の配列であるバッファーにラップされます。データは問題なくブラウザーに送信され、AudioContext を使用してブラウザーでオーディオ ストリームを再生します (コードAudioStreamer に基づいています - https://github.com/agektmr/AudioStreamer )。

最初は、この時点で得られたのは静的なものだけでした。AudioStreamer コードを調べたところ、オーディオ ストリーム データは -1 から 1 の範囲である必要があることがわかりました。この知識をもとに、バッファ内の各値を次の式で変更してみましたx = (x/128) - 1。何が起こるかを確認するためだけに行ったところ、驚くべきことに、雑音が少し軽減されました。音声が音声の場合は、歌や言葉のメロディーを聞き分けることさえできました。しかし、それでも非常に悪く、多くの静的であるため、これは明らかに解決策ではありませんが、ランダムなデータだけでなく、Websocket を介して実際にオーディオ ストリームを受信して​​いることを示しています。

問題は、私たちが何を間違っているのかということです。使用すべきコーデック/フォーマットはありますか? もちろん、すべてのコード (avconv、NodeJ、およびクライアント側) は自由に変更できます。必要に応じて別のブラウザーを使用することもできますが、ここでは問題ではないと思います。私たちが知っている唯一のことは、WebSocket を介して機能するためにこれが本当に必要だということです。

avconv と NodeJs を実行している OS は Ubuntu (さまざまなバージョン 10-13) です。

何か案は?すべての助けをいただければ幸いです。

ありがとう!トーマス

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

html - libFLAC を使用して AudioContext の出力を FLAC 形式に変換する

HTML5 オーディオコンテキスト (例: buffer.getChannelData(0)...) の PCM 出力を、「FLAC__stream_encoder_process_interleaved」で必要な PCM データに変換しようとしています。

奇妙なことに、FLAC はデータを int32 バッファ ( const FLAC__int32 buffer[]) として必要としますが、audiocontext の出力は正規化された float32 配列です。オーディオ コンテキストの正規化されたバッファを FLAC が必要とする形式に変換する方法がわかりません。

リンク

FLAC が一般的な float32 配列ではなく int32 のバッファを必要とする理由を誰か説明できますか?

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

javascript - webAudio-API を使用して連続した独立した録音をセットアップする方法

マイクを録音し、アナライザーを素敵な vu-meter に接続し、 speex.jsライブラリの「xaudio.js」を使用して大量のデータを処理可能なもの (8Khz、Mono) に再サンプリングし、ラップすることは問題ありません。適切な WAV エンベロープに変換します。

録音プロセスが onaudioprocess 機能より大幅に遅れているため、レコーダーの停止は別の話のようです。しかし、不足しているサンプルを計算し、実際にデータを保存する前にそれらが到着するのを待つことができるので、これでも問題はありません。

しかし、今はどうですか?audio-process が onaudioprocess を呼び出さないようにするにはどうすればよいですか? すべてのノードを切断しても違いはありません。すべてのバッファを再初期化して、次の録音のためにクリーンでフレッシュなジャンプイン ポイントを作成するにはどうすればよいですか? AudioContext を破棄する必要がありますか? どうすればいいですか?それとも、createMediaStreamSource を「null」にするだけで十分ですか?

シーケンシャルな独立したレコーディングのために本当にすべてをセットアップするには、何をする必要がありますか?

どんなヒントでも大歓迎です。

0 投票する
2 に答える
2836 参照

html5-audio - WebAudio API のオーディオ コンテキストのサウンドを録音する

プロジェクトで Web オーディオ API を使用しています。webkitAudioContext.destination に送信されている音声データを記録する方法はありますか? ブラウザで .wav ファイルを再生しているので、そのデータを (.wav) ファイルに保存する方法が必要です。私はこれが可能であることを知っていますが、まだ解決策を見つけていません:(recorder.jsは私を助けることができますが、今まではマイクのライブ入力を録音するだけであることがわかりました.助けを借りてオーディオ(.wavファイル)を録音することは可能ですか?のrecorder.js?plzヘルプ

私はこのサンプルを記録に使用しています https://github.com/mattdiamond/Recorderjs

0 投票する
2 に答える
3353 参照

javascript - カスタム MediaStream

WebSocket を介して生の float32 オーディオを受信して​​おり、これをブラウザーで再生したいと考えています。私の理解では、これには MediaStream API を使用する必要があります。ただし、データ バッファーを追加できる MediaStream を作成する方法が見つかりません。

これを達成する適切な方法は何ですか?

私はこのようなことを試みています:

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

javascript - 低遅延オーディオ再生?

HTML5 を使用して低遅延のオーディオ再生を実現することは可能ですか? 私は現在AudioContextAPIを使用しています。ただし、約 4 秒の遅延が発生しています。これは、私のユースケースにはかなりの方法です。

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

mono - Chrome M34 の MediaStreamDestination からの AudioContext ステレオ出力

AudioContext.createMediaStreamDestination() のデフォルトはモノラル出力のようです。このデフォルトは変更されていますが、必要な出力チャネルの数を手動で設定する方法はありますか?

または、正しい量のチャネルを維持しながら、WebAudio から WebRTC にストリームを取得する他の方法はありますか?

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

node.js - NodeJs からの WebAudio API の使用

NodeJSでWebAudio(AudioContext)を使いたいです。ただし、NodeJS は WebAudio をサポートしていません。web-audio-api の npm がありますが、まだアルファ段階であり、不完全です。

では、NodeJS で WebAudio(AudioContext) を使用するにはどうすればよいですか。

NodeJS から Chrome ブラウザー環境をインスタンス化し、その機能を利用できますか? これは可能ですか?それを行う他の方法はありますか?

助けてください。