Chrome の WebAudio でステレオ入力ができない場合
input channel 数はちゃんと2なのに同じデータが入っている
モノラルになるとかじゃなく、ステレオ入力すると、デフォルトではモノラル結合されて、同じデータが2チャンネルにコピーされて流れてくる。
解決方法
echoCancelation が有効だとこういう挙動になるらしく、これを止めさせるとちゃんとステレオデータがとれる。getUserMedia で以下のように指定する。余計なことをできるだけ止めさせたい場合はいろいろ指定する必要がある。
const stream = await navigator.mediaDevices.getUserMedia({
audio: {
channelCount: {ideal: 2, min: 1},
echoCancellation: { exact: false },
noiseSuppression: { exact: false },
autoGainControl:{ exact: false },
}
}); ref
関連エントリー
- Raspberry Pi で Chromium を起動してリモート操作 Chromium (Chrome の OSS版) を Raspberry Pi で Kiosk モード (全画面単一アプリケーションモード)...
- ccls + vim-lsp で補完時に後続のwhitespaceが削除される 以下をいれるととりあえずおさまる。ccls と相性が悪い?? let g:lsp_insert_text_enabled = 0 let g...
- codesign した Electron アプリがフリーズするのを修正 リファレンスマニュアル閲覧用の Chemr だけど、ベースの Electron を1.2.1にバージョンアップした。 しかし codesig...
- mbed USBSerial を WebUSB から扱うには mbed USBDevice ライブラリの中に USB CDC で動く USBSerial クラスが実装されている。これを Web USB ...
- Web Serial API chromium Issue 884928: Web Serial API が該当する。(Chrome 系以外では実装されていない。予定もな...