Problem
マイクロホンアレイなどからの多チャネル音響信号を録音したい.
Solution
多チャネル録音を行うためには,多チャネルの入力を同期して入力できるデバイ スを用いる必要がある. 現在, HARKを用いて録音に用いることができるデバイスは以下のとおりである. 各デバイスの詳しい説明や接続方法は HARKドキュメントの第8章を参照。
Advanced Linux Sound Architecture (ALSA) を通してアクセスでき るオーディオデバイス,
System In Frontier, Inc. RASP シリーズ,
東京エレクトロンデバイス製 TD-BD-16ADUSB.
HARK では2種類の方法で録音ができる。 ひとつは、録音を行うためのネットワーク (HARKのプログラム) を作成して録音 する方法。もうひとつは、wios というサポートツールを用いて録音する方法で ある。 以下ではそれぞれについて説明する。
HARKには、録音デバイス(A/D変換器)から音声を取得するノード AudioStreamFromMic と、波形を記録する SaveRawPCM / SaveWavePCM がある (ノード の詳細は HARKドキュメント参照). これらを直接接続すれば,マルチチャネルの録音が可能となる. 詳細は はじめての録音を参照。
HARKではサポートツールとして、wios (バージョン3.1まで, 3.2からサポート終了) というALSA, RASP, TDBD に対応した録音・再生用ツールを提供している. 最大の特徴は、再生と録音を同時に行えることである. 現状のHARKの定位、分離ノードは、音源から各マイクへ音が伝わる過程(伝 達関数 or インパルス応答) を事前に計測することを前提としている. そのためには、計測用信号を再生し、同時に録音することが必須である。 ここでは録音の方法だけを解説するので, インパルス応答の計測の詳細はレシピ: インパルス応答を録音したいを 参照。
HARKのリポジトリを登録していれば、wios は次のコマンドで インストールできる.(登録方法は HARK installation instructionsを参照)
sudo apt-get install wios
wios のオプションは4つに分類できる 詳しくはオプションなしの実行で表示されるヘルプを参照。
:
再生(-p), 録音(-r), 同期再生録音 (-s) の3種類. -t で動作時間を指定.
:
再生 (D/A) に用いるファイル名(-i), 録音に用いるファイル名(-o)
量子化ビット数 (-e), サンプリング周波数(-f), チャ ネル数(-c)
:
使用するデバイスの種類の指定 (-x) (ALSA:0, TDBD:1, RASP:2)
使用するデバイスの指定 (-d) (ALSA: デバイス名。デフォルト値はplughw:0,0. TDBD: デバイスファイル。デフォルト値は/dev/sinchusb0. RASP: IPアドレス。デフォルト値は192.168.33.24. )
:
ALSA: バッファのサイズなど。 TDBD: ゲインなど。 RASP: ゲインなど。
以下に使用例を示す。
IPアドレスが 192.168.1.1 のRASPから...
8チャネルの音声を3秒録音する。出力ファイル名は output.wav
wios -r -x 2 -t 3 -c 8 -d 192.168.1.1 -o output.wav
input.wav を再生する。
wios -p -x 2 -d 192.168.1.1 -i input.wav
tsp.wav を同期再生録音する。出 力ファイル名は response.wav
wios -s -x 2 -d 192.168.1.1 -i tsp.wav -o response.wav
コンピュータのサウンドカード (ALSA対応) から...
モノラルで 10秒間録音
wios -r -x 0 -t 10 -c 1 -o output.wav
output.wav を再生 wios -p -x 0 -i output.wav
See Also
HARKのネットワークファイルを使った録音の方法は はじめての録音を参照。 また、録音に失敗する典型的な理由は うまく録音できないを参照。
デバイスの使い方は、HARK ドキュメントのデバイスの章を参照. 新しいデバイスを使って録音をしたいなら、次のレシピ: 別のA/D変換器を使いたい を読むとよい.
インパルス応答の測定方法は インパルス応答を計測したいを 参照.