BPK-09 : 声を録音して、そのまま再生

ここではRaspberry Piに接続したUSBマイクから音を入力し、wavファイルとして保存してから再生する方法を説明します。

準備
マイクの設定
    • USBオーディオアダプタの優先順位を変更します。
      • まずは下記のコマンドを実行し、現在の優先度を確認します。
      • Raspberry Piが初期状態だと、下記のようにUSB_Audioは2番めに表示されてしまうはずです。USB_Audioがリストの1番上に表示されている場合は、すでに設定は終了しているということなので、以下のステップは飛ばして次のステップ(マイクの感度調整) に進んでください。
      • 「/etc/modprobe.d/」フォルダーに移動し設定ファイル「alsa-base.conf」を編集してください。
      • すでにalsa-base.confが存在している場合と、新たに作成する場合とがありますが、いずれにしても、以下のように書き換えてください。
      • Raspberry Piを再起動($ reboot)してください。
      • 改めてUSB_Audioの優先順位を確認してください。
      • 以下のように表示されれば、優先順位の変更作業は成功です。

      • マイクの感度調整
        •  マイクの感度を調整しておきます。最大値は62ですが、音が割れてしまうので50ぐらいがお勧めです。必要に応じて変更してください。
          • もし「Unable to find simple control ‘Mic’,0」といったエラーがでてしまった場合は、マイクが認識されていない可能性が高いです。このページの頭から再度確認してみてください。
        録音テスト
        • 以下のコマンドを入力後、マイクに向かって喋り、Ctrl+Cで終了させてください。
          • 16kHzでサンプリングしています。
          • もし「 audio open error: そのようなファイルやディレクトリはありません」といったエラーがでてしまった場合は、マイクが認識されていない可能性が高いです。このページの頭から再度確認してみてください。
        • test.wavが生成されていることを確認してください。
        • wavファイルを再生してみましょう。

        pyaudioのインストール

        • pyaudioをインストールしてください

サンプルプログラム
  • まずは先程作成した「test.wav」の権限を変更して書き込みができるようにします。
  •  サンプルプログラムを実行してみましょう。
      • ベゼリーが「録音開始!」と言ったら、2秒以内でマイクに向かって喋ってください。
      • ちょっとしてからスピーカーからあなたの声が出力されたら成功です。
      • 止めたいときは、CTRL+C を押してください。

応用
  • サンプルプログラムをnanoで開いてみましょう。
  • 16行目の変数RECORD_SECONDSの値が録音する音の長さを表しています。サンプルでは2秒と設定されていますが、この値を大きくしたり小さくしたりしてみましょう。