6.1.2 MultiAudioStreamFromMic

6.1.2.1 モジュールの概要

複数のマイクロホンアレイからマルチチャネル音声波形データを取り込む. このノードは AudioStreamFromMic を拡張したものである. 長時間のデータを受信した時に,マイクロホンデバイス間でフレームのずれが発生する可能性がある. MultiAudioStreamFromMic は,そのずれを補正する機能を持つ.

6.1.2.2 必要なファイル

無し.

6.1.2.3 使用方法

どんなときに使うのか

このノードは,HARK システムへの入力として, 複数のマイクロホンアレイから得られた音声波形データを用いる場合に使用する. 複数のマイクロホンアレイは同一の型番あるいは同一の仕様でなければならない.

典型的な接続例

6.7MultiAudioStreamFromMic モジュールの使用例を示す.

\includegraphics[width=0.8\textwidth ]{fig/modules/MultiAudioStreamFromMic}
Figure 6.7: MultiAudioStreamFromMic の接続例: LOOP0 の内部

6.1.2.4 モジュールの入出力とプロパティ

Table 6.3: MultiAudioStreamFromMic のパラメータ表

パラメータ名

デフォルト値

単位

説明

LENGTH

int 

512

[pt]

処理を行う基本単位となるフレームの長さ.

ADVANCE

int 

160

[pt]

フレームのシフト長.

CHANNEL_COUNT

int 

8

[ch]

使用するデバイスのマイクロホン入力チャネル数.

SAMPLING_RATE

int 

16000

[Hz]

取り込む音声波形データのサンプリング周波数.

DEVICETYPE

string 

WS

 

使用するデバイスの種類.

GAIN

string 

0dB

 

RASP を使用する場合のゲイン.

DEVICE

string 

/dev/null

 

デバイスへのアクセスに必要な識別名リスト. 複数のデバイスの識別名を空白文字で区切って指定する.

FRAME_COUNT_SKEW_TOLERANCE

float 

5.0

[sec]

フレームずれの許容量を秒単位で指定する.

入力

無し.

出力

AUDIO0

: Matrix<float> 型. 行番号がチャネルのインデックス,列番号がサンプルのインデックスである,マルチチャネル音声波形データ. 列の大きさはパラメータ LENGTH に等しい. 本出力端子はデフォルトでは非表示である. パラメータDEVICEで指定した順にAUDIO0,AUDIO1,...のように,AUDIOの後ろに0から始まる通し番号をつけた出力端子を追加する必要がある.

NOT_EOF

: bool 型. まだ波形の入力があるかどうかを表す. 録音波形に対する繰り返し処理の終了フラグとして用いる. trueのとき,波形の取り込みを続行し,falseのとき,読み込みを終える. 常に trueを出力する.

非表示出力の追加方法は図 6.8を参照されたい.

\includegraphics[width=\linewidth ]{fig/modules/MultiAudioStreamFromMic_output1}
Step 1: MultiAudioStreamFromMic を右クリックし,Add Output をクリック
\includegraphics[width=\linewidth ]{fig/modules/MultiAudioStreamFromMic_output2}
Step 2: Add Output の入力フォームに AUDIO0 を記入し,Add をクリック
\includegraphics[width=\linewidth ]{fig/modules/MultiAudioStreamFromMic_output3}
Step 3: ノードに AUDIO0 出力端子が追加される
\includegraphics[width=\linewidth ]{fig/modules/MultiAudioStreamFromMic_output4}
Step 4: Step 1 〜 Step 3を繰り返しAUDIO1,...を追加
Figure 6.8: 出力の追加例 : AUDIO0 端子の表示

パラメータ

LENGTH, ADVANCE, CHANNEL_COUNT, SAMPLING_RATE, DEVICETYPE, GAIN

: これらのパラメータは AudioStreamFromMic と同じである. これらパラメータ DEVICE にて空白区切りで指定した複数のデバイス識別名に対応させて, AUDIO0、AUDIO1, ....のように昇順に並べた出力端子を追加する.

DEVICE

: string 型. 入力に用いる複数のデバイスへのアクセスに必要な識別名を,空白文字で区切って指定する. 区切られた個々の識別名は AudioStreamFromMic の DEVICE と同じである.

FRAME_COUNT_SKEW_TOLERANCE

: float 型. デバイス間におけるフレーム数の差の許容範囲を秒単位で指定する. この値を超えるフレームずれが生じたタイミングで,補正処理が行われる.

6.1.2.5 ノードの詳細

AudioStreamFromMic を複数のデバイスに対応するよう拡張したノードである. パラメータ DEVICE にて空白区切りで指定した複数のデバイス識別名に対応させて, AUDIO0、AUDIO1,....のように昇順に並べた出力端子を追加する. パラメータ FRAME_COUNT_SKEW_TOLERANCE はデバイス間におけるフレーム数の補正を実行するタイミングを決定する. 複数デバイスから取得した音声波形データのフレーム数の最大値と最小値の差が FRAME_COUNT_SKEW_TOLERANCE に指定した秒数を超えた時点で,その秒数分を最大の音声波形データから削除する.