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
————–
参考にしたサイト
橋本商会
http://shokai.org/blog/archives/7914
Raspberry Piで Audio の録音
http://qiita.com/setsulla/items/c08a6d8fcdddc83c54c5