このエントリーをはてなブックマークに追加

2020年9月20日日曜日

MS2109の格安HDMIキャプチャでステレオ音声キャプチャする話、Windows編

 最近話題のHDMIキャプチャを買いました。USB2.0接続で1000円くらいの安いやつ。
ってこれ前回も書いたんですけどね。で、Windowsで使ってもやっぱり音声モノラルなんですよね。


OBSで使ってみた。見てのとおり1chしかないのでオーディオメーターが一本線。


プロパティを見てもやっぱり1チャネル 96kHzなんですよね。

ということで、Windowsでもステレオで録ろうという話。

参考にしたサイト

例によってこのサイト
GitHub で MS2109 で検索してみたところ、Windows 上でこのデバイスのオーディオ入力をキャプチャして、別デバイスに正しいステレオ音声を出力することができそうなユーティリティを作っている人がいた (試してない)。世界は広い。https://github.com/ToadKing/mono-to-stereo

mono-to-stereoを使う

さっそくmono-to-stereoを使ってみます。
どうやらこのmono-to-stereoは、
 単純にこの格安HDMIキャプチャの音声をステレオにする
ではなくて、
 この格安HDMIキャプチャの音声を48kHzステレオに変換して、他の再生デバイスに流す
という機能のようです。

コマンド例は
mono-to-stereo.exe --in-device "録音デバイス名(格安HDMIキャプチャの)" --out-device "再生デバイス名"
こんな感じ。out-deviceは省略可。省略した場合は既定の再生デバイスに音が流れます。
in-deviceも省略できるんだけど、その時は"Digital Audio Interface (USB Digital Audio)"という名前のデバイスを見に行きます。
この記事を見ている多くの人は日本語のOSでしょうから上手く動かないと思います。
in-deviceもout-deviceもデバイス名を書かなければいけないけど、どうやってデバイス名を知るのよ?って話ですが、
mono-to-stereo.exe --list-devices
で見ることができます。
上のActive render endpointsが再生デバイス。out-deviceで指定するもの。
下のActive capture endpointsが録音デバイス。in-deviceで指定するもの。


で、やってみました。
おそらく、ほとんどの人は、このHDMIキャプチャの音声は"デジタル オーディオ インターフェイス (USB Digital Audio)"という名前で表示されていると思います。
私はこのデバイスの音声をステレオに変換して仮想音声デバイスである"VB-Audio Virtual Cable"に流したかったので、
mono-to-stereo.exe --in-device "デジタル オーディオ インターフェイス (USB Digital Audio)" --out-device "CABLE Input (VB-Audio Virtual Cable)"
としました。このコマンドを入力した瞬間からHDMIキャプチャの音声がout-deviceで指定したデバイスにステレオ音声で流れ始めます。
※検証不足ですが、初回起動は左右の音が逆に流れます。


で、OBSでout-deviceで指定したデバイス(今回だとVB-Audio Virtual Cable)を設定することにより、


OBSでもステレオで扱えるようになりました。
以上、めでたしめでたし。

0 件のコメント: