📌
Raspberry Pi にbeepコマンドモドキを実装してみた
動機
なんとなく、Raspberry Pi が起動したときに音を鳴らしたいなと思って、圧電ブザーを付けたら
ビープ音で音楽を鳴らしてみたくなったので実装してみた。
※実際の所は Python に慣れたかったから書いただけです。。
参考にした所
圧電スピーカー(余興) | Feijoa.jp
ここのプログラムをベースにしました。セットアップ方法等はこちらをご参照下さい。
ソース
こちらで公開しています。
使い方1 (シンプル)
python beep.py 750 100
750hz で 100ms ビープ音を鳴らします。
使い方 2 (beep 互換)
python beep.py -f 750 -l 100 -n -f 300 -l 100
オプションと値がくっついている形式はサポートしません。スペースで区切って下さい。
サポートしているつもりのオプションは以下の通り。
- -f (周波数 hz) 省略可。省略時は 200hz
- -l (長さ ms)。 省略時は 100ms
- -n -new 複数の beep 音を指定する際のデリミタ
- -d -D (長さ ms) 無音を再生します
- -r (繰り返し回数) 最初から、もしくは前回の -r 以降を指定回数繰り返します
ご注意&TIPS
root 権限が必要です。
beep を連打して実行するような形式の場合、プログラム自体が多少時間がかかるため、
音に隙間が空いてしまうのでご注意下さい。
以下のように実行すると、隙間が空いてしまいます。
python beep.py -f 300 -l 100
python beep.py -f 400 -l 100
python beep.py -f 500 -l 100
# これならOK
python beep.py -f 300 -l 100 -n -f 400 -l 100 -n -f 500 -l 100
# シェルスクリプトに書くなら以下のようなのがよろしいかと
# 1行につなげて書いてももちろんOKですが、行が長すぎるとvimが重くなったりします。
python ./beep.py \
-f 100 -l 53 -d 53 \
-n -f 150 -l 53 -d 53 \
-n -f 130 -l 53 -d 53 \
-n -f 200 -l 200 \
-n -f 220 -l 200
beep 音楽
以下の通り。ここの beep 音楽は大体再生できます。(なんか一部おかしいのもありますが)
Discussion