【HARK】#005 - arecordで、8chのwavファイルを作る方法


この記事は、HARK 3.1.0、Ubuntu18.04、Tamago-03で動作を確認したものです。これまでの記事には、連番を振っていますので合わせてご確認ください。

はじめに

これまで、クックブックの「はじめての録音」、「リアルタイム音源定位」をやりましたが、クックブックでは、「2.2.2 リアルタイム音源定位」の前にある、「2.2.1 音声ファイルの音源定位」を飛ばしています。理由は、遊ぶのにwavファイルだとつまらないと思ったからです。

でも、実際にHARKを使う場合、同じ条件で実験したいと思うので、録音したwavを入力としたいと思うと思います。クックブック「2.2.1 音声ファイルの音源定位」に、wavを読み込むために、どのようなノードを使い、どのようなネットワークにすればよいかがもうあるので、ここでは、8chのwavをどうやって作るのかを説明します。

arecordを使って8chのwavを作る方法

TAMAGOの-03のフォーマットを確認

  • 下図のように、 arecord -l で、カード番号がわかります
  • 番号がわかったら、 cat /proc/asound/card1/stream0 (cardXのXは、arecordで表示された番号)で、Formatを確認します。
    • Formatの S24_3LE が必要な情報です

録音

  • arecord -D plughw:1,0 -f S24_3LE -r 160000 -c8 output.wav
    • -Dで、デバイス指定(今回、カード1で、サブデバイス0なので上記のように指定)
    • -fで、先ほど調べてフォーマットを指定
    • -rで、サンプリング周波数を指定。人の声なので、16kHzで十分サンプリング定理を満たす。
    • -cで、チャネル数を指定

補足

  • 出力されたwavを、fileコマンドを使って、本当に8chになっているか確認できます
$ file output.wav 
output.wav: RIFF (little-endian) data, WAVE audio, Microsoft PCM, 24 bit, 8 channels 160000 Hz

最後に

この記事が役立ったら、LGTMよろしくお願いいたします。

他の記事
【HARK】#001 - HARK 3.1.0のインストール
【HARK】#002 - HARKインストール後に最初にすべき3つのこと
【HARK】#003 - HARKクックブック「はじめての録音」をやってみた
【HARK】#004 - HARKクックブック「マイクロホンからのリアルタイム音源定位」をやってみた
【HARK】#006 - HARK::ParsingException