LoginSignup
2
2

More than 5 years have passed since last update.

raspberrypiで作る、chiptune目覚まし

Last updated at Posted at 2017-07-02

raspberry piでオリジナル目覚まし時計を作成

  • 最近chiptune熱が再発
  • 毎朝chiptuneを聞いて仕事に行きたい
  • けど、おんなじ曲だと飽きる
  • オンラインラジオから流せばいいじゃないか!?

てな感じで作りました

1. mplayer

先ずは、mplayerをインストール

apt-get install mplayer
mplayer -h

2. url取得

オンラインラジオを配信しているURLを取得

ググると、下記のサイトが有名どころのよう
rainwave
chipbit

今回は、chipbitから音源を取得することにしました

3. ラズパイでテスト実行

テスト実行

$ mplayer http://stream.chipbit.net:8000/live
MPlayer2 2.0-728-g2c378c7-4+b1 (C) 2000-2012 MPlayer Team
Cannot open file '/home/pi/.mplayer/input.conf': No such file or directory
Failed to open /home/pi/.mplayer/input.conf.
Cannot open file '/etc/mplayer/input.conf': No such file or directory
Failed to open /etc/mplayer/input.conf.
Playing http://stream.chipbit.net:8000/live.
Resolving stream.chipbit.net for AF_INET6...
Couldn't resolve name for AF_INET6: stream.chipbit.net
Resolving stream.chipbit.net for AF_INET...
Connecting to server stream.chipbit.net[138.68.142.162]: 8000...
Name   : ChipBit
Genre  : Electronic, Electronic, Breakbeat
Website: http://chipbit.net
Public : yes
Bitrate: 128kbit/s
Cache size set to 320 KiB
Cache fill:  0.00% (0 bytes)   
ICY Info: StreamTitle='Josh Zimmerman - Flourescent Sun, Neon Moon';
Detected file format: Audio only
Selected audio codec: MPEG 1.0/2.0/2.5 layers I, II, III [mpg123]
AUDIO: 44100 Hz, 2 ch, s16le, 128.0 kbit/9.07% (ratio: 16000->176400)
AO: [pulse] Init failed: Connection refused
AO: [alsa] 44100Hz 2ch s16le (2 bytes per sample)
[AO_ALSA] Unable to find simple control 'Master',0.
Video: no video
Starting playback...
A:   3.3 (03.2) of 0.0 (00.0)  1.9% 19% 

鳴ってる!!!!チュンチュン鳴ってる!!!

  • スペースキーで中断/再開
  • qまたはetcで終了
  • *または/でボリューム調整

てな感じです

4. cronに登録

cronに登録すると、決まった時間・日にちにプログラムが実行されます

まずはchkconfigを登録
sudo apt-get install chkconfig

cronが動いているか確認
sudo chkconfig cron
cron onが出れば、動いている

cronに登録crontab -e
vim/nanoなどテキストエディタを選択(環境によって省略されているかも)
筆者はnanoがオススメです

最後尾に、以下の文言を追記。手前の数字から、(分) (時間) (日にち) (曜日) (月) (実行内容)を表している
30 8 * * * timeout 3600 mplayer http://stream.chipbit.net:8000/live

要するに、毎朝8時30分に目覚ましを起動するということです

実行内容= timeout 3600 mplayer http://stream.chipbit.net:8000/live
これは、
timeout (秒数)で記述し、(秒数)が経過しても、プログラムが終了していない場合は、強制的にプログラムを終了する

という内容です、
つまり、

毎朝8時30分にmplayerを起動し、ラジオからchiptuneを流し、3600秒(1時間)が経過したら、自動でプログラムが終了する
ということです、

課題

  • timeoutで実行を中断しただけでなく、電源を切るべきなのでは??

まとめ

小一時間で意外と簡単にできてびっくりしました、

わたしの環境では、自動でスピーカーを読み込んだので、スピーカーからの出力方法などは、また別の機会に書きたいと思います。(書くとは言っていない)

ではでは

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2