14.2.1 Ubuntu

Ubuntu で用いる録音ネットワークサンプルは,表 14.2 に示すように 4 種類ある.左列に,ネットワークファイルを,右列に処理内容 を示している. これらのサンプルを実行するには,ターミナルで ./ファイル名 [録音時間] とすればよい.図 14.2 にその実行例を示す.

Table 14.2: 録音ネットワーク一覧.

ネットワークファイル名

処理内容

demoALSA.n

ALSA準拠デバイスを用いた録音

demoWS_8ch.n

無線 RASP を用いた 8ch 録音

demoRASP24_8ch.n

RASP24 を用いた 8ch 録音

ALSA については、シェルスクリプト demoALSA.sh を使えば 録音フレーム数、チャンネル数、デバイス名 (plughw:1,0など) を 変えて録音できる。 たとえば、チャンネル数 2 でデバイス名 plughw:1,0 のデバイスを 200 フレームだけ録音するばあいは、次のようにすればよい。

> ./demoALSA.sh 200 2 plughw:1,0
 UINodeRepository::Scan()
 Scanning def /usr/lib/flowdesigner/toolbox
 done loading def files
 loading XML document from memory
 done!
 Building network  :MAIN
 
 <Bool 1 >
Figure 14.2: demoALSA.sh の実行例.

ただし,各サンプルネットワークファイルで使用するノードは全て共通 であり、違いは,AudioStreamFromMic ノードに指定するパラメータだけ であることに注意されたい.各サンプルで設定されている DEVICE パラメータ (ALSAの場合は plughw:1,0, RASPの場合は 127,0,0,1など) は,環境によって 変化する.そのため,この DEVICE パラメータは各自で設定を変更する必要 がある.

ネットワークファイルは二つのサブネットワーク (MAIN, MAIN_LOOP) から構成されており, MAIN (subnet) に 1 個, MAIN_LOOP (iterator) に 6 個のノードがある. MAIN (subnet) と MAIN_LOOP (iterator) を 図 14.3, 14.4 に示す. AudioStreamFromMic ノードで取り込んだマルチチャンネルの音声から ChannelSelector ノードを使って特定のチャンネルだけを選び, SaveWavePCM でファイルに書き出す単純なネットワーク構成である. ネットワークに SaveWavePCM ノードが 2 個あるが,これは マルチチャンネルの音声を録音する際に 二つの方法があるからである (モノラル音声の場合はどちらも同じ). AudioStreamFromMic ノードからの出力を直接 SaveWavePCM ノードに 接続した場合は,1 つのファイルに全てのチャンネルの音声が含まれる. 一方で MatrixToMap を介して接続した場合は,各チャンネル毎にファイルが 作成される. Iterate は設定した値の回数だけ実行を繰り返すために使うノードである. 繰り返し回数が MAX_ITER より小さい間のみ true を出力する.そのため, このノードの出力を繰り返しの終了判定に用いることで取り込むフレーム数を指定し, 録音時間を調節することができる.

\includegraphics{fig/recipes/demo-Record-MAIN.png}
Figure 14.3: MAIN (subnet)
\includegraphics[width=\textwidth ,clip]{fig/recipes/demo-Record-MAIN_LOOP.png}
Figure 14.4: MAIN_LOOP (iterator)

MAIN (subnet) にある MAIN_LOOP ノードのプロパティは, 5 個ある.表 14.3 に一覧を示す. SAMPLING_RATE と GET_FRAMES が重要である. この表の通りに各パラメータ値が設定されている. GET_FRAMES の設定値が,int :ARG1 となっているが,この意味は, サンプルネットワークファイルの第一引数を整数型にキャストして代入する意味である. 録音時間長は,取得フレーム数で指定し,実際の録音時間長を秒で表すと,

  $\displaystyle $ $\displaystyle $ $\displaystyle ( LENGTH + (GET\_ FRAMES - 1) * ADVANCE ) / SAMPLING\_ RATE $   (1)

である.

Table 14.3: MAIN_LOOP のパラメータ表

パラメータ名

設定値

単位

説明

ADVANCE

int 

160

[pt]

シフト長

LENGTH

int 

512

[pt]

FFT 長

SAMPLING_RATE

int 

16000

[Hz]

サンプリング周波数

GET_FRAMES

subnet_param 

int :ARG1

 

録音フレーム数

DOWHILE

bool 

   

空欄にする

14.2.1.1 ALSA準拠デバイスによる録音

Record/n-files ディレクトリにある demoALSA_2ch.n を実行する. 録音が正常に終了すると,一つのファイルに 2ch の音声を録音した rec_all_0.wav というファイルと,各チャンネル毎に一つのファイルに した rec_each_0.wav, rec_each_1.wav というファイルを生成する.

うまく録音できないときは,次のチェックをする.

  1. HARK 以外の録音ソフトで音の再生や録音は可能か確認する.再生や録音 ができない場合は,OS やドライバの設定,オーディオインターフェース が正しく接続/設定されていない可能性がある.そちらを確認する.これ には,例えば audacity やデバイスに付属するサンプルを用いる.

  2. マイクロホンは接続されいるか.プラグが抜けていたり,緩んでいないか 確認し,しっかり接続する.

  3. PC のマイク端子がプラグインパワーに対応しているか確認する. プラグインパワーに対応していない時は,マイクロホンに電源を供給する 必要がある.マイ クロホンに電池を入れるタイプでは電池を入れ,スイッチを入れる.電池 ボックスを接続するタイプでは電池ボックスを接続しスイッチを入れる.

  4. 2 つ以上のオーディオインターフェースを接続している場合は,2 台目以 降のオーディオインターフェースを外してから,録音する.接続オーディ オインターフェースを1 台にしても録音できない場合には,demo.n のプ ロパティを変更する.AudioStreamFromMic ノードの DEVICE プロパ ティを plughw:0,0 plughw:0,1 plughw:1,0 などの設定を試す.

AudioStreamFromMic のパラメータを表 14.7 に示す. このノードで,録音デバイスを指定する.このデモでは,録音チャネル数を 2 ch にし, DEVICETYPE に ALSA,DEVICE は plughw:0,0 を指定した.

Table 14.4: AudioStreamFromMic のパラメータ表

パラメータ名

設定値

単位

説明

LENGTH

subnet_param 

LENGTH

[pt]

FFT 長

ADVANCE

subnet_param 

ADVANCE

[pt]

シフト長

CHANNEL_COUNT

int 

2

[ch]

録音チャネル数

SAMPLING_RATE

subnet_param 

16000

[Hz]

サンプリング周波数

DEVICETYPE

string 

ALSA

 

デバイスタイプ

DEVICE

string 

plughw:0,0

 

デバイス名

14.2.1.2 無線 RASP による 8ch 録音

Record/n-files ディレクトリにある demoWS_8ch.n を実行する. ただし,demoWS_8ch.n には,無線RASP の IP アドレスとして 127.0.0.1 を 指定しているが,これを適切な IP アドレスに変更する必要がある. また,もし無線 RASP の FPAA のコンフィグレーションが終っていなければ, ここで実行する.ws_fpaa_config 実行方法は無線 RASP のドキュメントを 参考にする. 録音が正常に終了すると,ALSA 準拠デバイスの時と同様に 8ch の音声ファイル rec_all_0.wav と,各チャンネル毎にファイルにした rec_each_0.wav, rec_each_1.wav,...,rec_each_7.wav というファイルが生成される.

うまく録音できないときは,次のチェックをする.

  1. マイクロホンは接続されいるか.プラグが抜けていたり,緩んでいないか確認し, しっかり接続する.

  2. RASP の IP アドレスにネットワーク接続されているか? ping を使ってネット ワーク接続を確認する.

  3. AudioStreamFromMic に RASP の正しい IP アドレスを設定しているか?

  4. RASP の FPAA の初期化が完了しているか?

  5. HARK 以外の録音ソフトで音の再生や録音は可能か確認する.再生や録音 ができない場合は,OS やドライバの設定,オーディオインターフェース が正しく接続/設定されていない可能性がある.そちらを確認する.

AudioStreamFromMic のパラメータを表 14.5 に示す. DEVICETYPE に 無線 RASP を表す WS を,DEVICE には IP アドレスを指定する. サンプルを実行するには,実際の無線 RASP のアドレスに変更する必要がある.

無線 RASPと接続する場合には,AudioStreamFromMic ノードの CHANNEL_COUNT を 16 にして使用する必要がある. そのため, 8 ch 録音するためには,16 ch 中から 8 ch 分を選択しなければ ならない.この例では ChannelSelector で,0〜7 ch を選択している.

Table 14.5: AudioStreamFromMic のパラメータ表

パラメータ名

設定値

単位

説明

LENGTH

subnet_param 

LENGTH

[pt]

FFT 長

ADVANCE

subnet_param 

ADVANCE

[pt]

シフト長

CHANNEL_COUNT

int 

16

[ch]

録音チャネル数

SAMPLING_RATE

subnet_param 

16000

[Hz]

サンプリング周波数

DEVICETYPE

string 

WS

 

デバイスタイプ

DEVICE

string 

127.0.0.1

 

デバイス名

14.2.1.3 RASP24 による録音

Record/n-files ディレクトリにある demoRASP24_8ch.n を実行する. 録音が正常に終了すると,ALSA 準拠デバイスの時と同様に 8ch の音声ファイル rec_all_0.wav と,各チャンネル毎にファイルにした rec_each_0.wav, rec_each_1.wav,...,rec_each_7.wav というファイルが生成される.

うまく録音できないときは,次のチェックをする.

  1. マイクロホンは接続されいるか.プラグが抜けていたり,緩んでい ないか確認し,しっかり接続する.

  2. RASP の IP アドレスにネットワーク接続されているか? ping を使ってネットワーク接続を確認する.

  3. AudioStreamFromMic に RASP の正しい IP アドレスを設定しているか?

AudioStreamFromMic のパラメータを表 14.6 に示す. RASP24 を用いる場合は,量子化ビット数を 16, 32 bit から選ぶことができる. DEVICETYPE の RASP24-16 は 16 bit で,RASP24-32 は 32 bit である (RASP24 はデバイス名).DEVICE には IP アドレスを指定する. RASP24 を選んだ場合,図 14.5 のように 追加のオプションとして GAIN という項目が増える.

Table 14.6: AudioStreamFromMic のパラメータ表

パラメータ名

設定値

単位

説明

LENGTH

subnet_param 

LENGTH

[pt]

FFT 長

ADVANCE

subnet_param 

ADVANCE

[pt]

シフト長

CHANNEL_COUNT

int 

16

[ch]

録音チャネル数

SAMPLING_RATE

subnet_param 

16000

[Hz]

サンプリング周波数

DEVICETYPE

string 

RASP24-16

 

デバイスタイプ

GAIN

string 

0dB

 

ゲイン

DEVICE

string 

127.0.0.1

 

デバイス名

GAIN は,入力がクリッピングしない範囲で選ぶ.

\includegraphics[width=.4\linewidth ]{fig/recipes/demo-Record-RASP24.png}
Figure 14.5: Additional parameter for RASP24