RaspberryPi で ライン入力・録音
RaspberryPi を使って、PAでまとめられた音声を自動録音したい。
*必要なもの
USBオーディオインターフェース
 
他のUSBオーディオインターフェースでも使えると思いますが、手持ちのUSBインターフェースは、上記のものです。
単純にシェルスクリプトを仕込んでおいて、cronで呼び出して録音を開始し、設定時間後に録音停止
シェルスクリプト
 ファイル名「record_mp3.sh」と想定
———-
 #!/bin/sh
 SERVER_URL=”http://*****.com//RecordData/”
#録音中表示用赤色LED点灯
 echo 23 > /sys/class/gpio/export
 echo out > /sys/class/gpio/gpio23/direction
 echo 1 > /sys/class/gpio/gpio23/value
#USBオーディオデバイスの初期設定
 #オーディオデバイスによって要不要がある
 #/usr/bin/amixer -c 1 sset  Line Capture cap
 #/usr/bin/amixer -c 1 sset  Line Capture  19
#録音データ保存ディレクトリへチェンジ
 cd /home/record
#録音ファイル名の文字列を作成
 DATE=`date ‘+%Y%m%d%H%M%S’`
 FILENAMEMP=”.mp3″
 FILENAME=$DATE$FILENAMEMP
#録音開始時のメール文字列作成
 DATE_STR=`date ‘+%Y/%m/%d %H:%M:%S’`
 MAIL_STR=”\nStart Recording \n”
#録音開始時メール配信
 echo $MAIL_STR$DATE_STR |/usr/bin/mail -s “RaspberryPi Start Recording” -aFrom:RaspberryPi@******.com ******@******.com
#録音開始
 AUDIODEV=plughw:1,0 rec –buffer 67000 $FILENAME trim 0 $1
#録音終了時、rsyncでサーバーへアップロード
 /usr/bin/rsync -avP /home/record/ ******@******.com:/home/www/RecordData/
#録音データのうち、60日以上前の録音データを削除する
 find /home/record/ -mtime +60|xargs -i% rm -f %
##録音中表示用赤色LED消灯
 echo 0 > /sys/class/gpio/gpio23/value
#録音終了時のメール文字列作成
 DATE_STR=`date ‘+%Y/%m/%d %H:%M:%S’`
 MAIL_STR=”\nEnd Recording \n”
 RECORDING_FILENAME=”\n\n”$SERVER_URL$FILENAME”\n\n”
#録音終了時メール配信
 echo $MAIL_STR$DATE_STR$RECORDING_FILENAME |/usr/bin/mail -s “RaspberryPi End Recording” -aFrom:RaspberryPi@******.com ******@******.com
——————–
cron の設定
#recording
 # Sunday service
 28 10   * * 7 root /usr/local/bin/record_mp3.sh 7200
#Sutday CheckRecording
 10 22   * * 6 root /usr/local/bin/record_mp3.sh 10
#Christmas
 28 10   25 12 * root /usr/local/bin/record_mp3.sh 7200
 58 18   24 12 * root /usr/local/bin/record_mp3.sh 7200
 #1.1
 28 10   1 1 * root /usr/local/bin/record_mp3.sh 7200
————–

テスト時の様子

録音時、LED点灯
参考にしたサイト
橋本商会
 http://shokai.org/blog/archives/7914
Raspberry Piで Audio の録音
 http://qiita.com/setsulla/items/c08a6d8fcdddc83c54c5
