2013年2月24日日曜日

COWON D2にROCKboxを導入してみた。


ROCKboxだぜぇ~♪
http://www.rockbox.org/

Sgt. Pepper's Lonely Hearts Club BandやAbbey Roadをレコードで聴いていた時のように、
メドレー部分は曲間のブランク無し(ギャップレス)で聴きたい!と思って、
色々探していると「ROCKbox」を発見したので、早速、インストールしてみました。

・ギャップレス再生(クロスフェードで0秒を指定)
・リプレイゲイン対応
・ハイサンプリングファイルの再生(176.4kH24bitは確認)

などにより、Live録音されたCDの再生にもバッチリです(^o^)
※メドレーだけでなく全てギャップレスです。はい^^;

COWON D2へのROCKbox導入メモ

ROCKboxのCOWON D2のマニュアルと、
COWON D2のWikiを参考にした。
http://download.rockbox.org/daily/manual/rockbox-cowond2/rockbox-build.html
http://www41.atwiki.jp/cowond2/pages/42.html

1.COWON D2+のファームウェアを入手
http://board.cowon.com/zeroboard/zboard.php?id=C08&page=1&sn1=&divpage=1&bmenu=M&sn=off&ss=on&sc=on&select_arrange=headnum&bmenu=M&desc=asc&no=777&bmenu=M
から、V3.14をダウンロードした。

2.COWON D2用のROCKboxを入手
Development Buildsから最新のモノをダウンロード
http://build.rockbox.org/data/rockbox-cowond2.zip

3.ブートローダーを入手
内蔵メモリ:オリジナル、SDカード:ROCKbox
の2つのファームウェアをデュアルブートにするためのもの。
http://download.rockbox.org/bootloader/cowon/d2/bootloader-cowond2.bin

4.パッチ用のツールを入手
「mktccboot.exe」をググって探し回った。
http://iaudiophile.net/forums/showthread.php?t=32193
にインストール手順があり、ツールがリンクされている。

5.オリジナルのファームウェアにパッチをあてる
5.1.オリジナルのファームウェアを展開する
D2N_P.bin,D2N_P_FT.bin,D2N_P_RS.binができる。

5.2.ブートファイルにパッチをあてる
上記展開したフォルダにmktccboot.exeとbootloader-cowond2.binを
コピーして実行する。
>mktccboot.exe D2N_P.bin bootloader-cowond2.bin D2N_P-patched.bin
original firmware entry point: 0x20000070
New entry point: 0x2046633c

5.3.オリジナルのバックアップと差替え
move D2N_P.bin D2N_P.bin.org
move D2N_P-patched.bin D2N_P.bin

6.内蔵メモリにパッチ済みのファームウェアをコピーする
D2N_P.bin,D2N_P_FT.bin,D2N_P_RS.bin

7.SDカードにROCKboxを展開する
rockbox-cowond2.zipをSDカードに展開する。
ルートフォルダには「.rockbox」フォルダが作成される。

8.PCから切り離し電源投入。
8.1.オリジナル(D2+)で起動することを確認する。
8.2.ROCKboxが起動することを確認する。
電源投入後、すぐ「ホールド」にすることでROCKboxがブートする。
→両方共にバッチリでした。

9.スキンの変更
ROCKboxのサイトから好きなテーマを拾ってくる。
http://themes.rockbox.org/index.php?target=cowond2
SDカードに展開してコピーする。
→これは、日本語化をする前にやるのが良い。
日本語化した後でやると、テーマを変更した時点で文字化けしてしまう。

10.日本語化
10.1.日本語フォントを入手する
UTF8のフォントをダウンロードする。
http://www.wikihouse.com/cipher/index.php?Font
→今回は「Osakaフォント14」を選択した。

10.2.日本語フォントをコピーする
「.rockbox\fonts\」フォルダに上記フォントをコピーする。

10.3.日本語表示へ変更
Main MenuからSettings → Theme Settings → Font
でコピーした日本語フォントを選択する。
Main MenuからSettings → General Settings → Language
でJapaneseを選択する。
→この時点でメニューも日本語に変わり、
ファイルもタグ情報も日本語表示される。

以上で、基本的な設定が完了。

2013年2月9日土曜日

Raspberry Pi:セッション切れ対策だぜぇ~(byobu)


SSHのセッション切れ対策しました♪

SSHでRaspberry Piに接続して色々作業しているが、何かの拍子で突然切れてしまうことがある。
アイドリング中であれば影響は無いのだけれど、
設定ファイルを修正していたりすると、折角いっぱい入力したのに。。。(T_T)となってしまう。
また、再接続しても前のセッションは生きているので、killしたりして精神衛生上も良くない。
何とかならないものかとググっていると、screenやbyobuというソフトを使うとイイらしい。
もっとググると、byobuはscreenのフロントエンドツールで格段に使いやすいとのこと。
これに決~めた!
Byobu community
https://help.ubuntu.com/community/Byobu
を参考にして導入してみた。
1.byobuパッケージのインストール
pi@raspberrypi ~ $ sudo apt-get install byobu Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
  python-newt screen tmux
Suggested packages:
  apport lsb-release po-debconf run-one ttf-ubuntu-font-family
  update-notifier-common vim w3m
The following NEW packages will be installed:
  byobu python-newt screen tmux
0 upgraded, 4 newly installed, 0 to remove and 124 not upgraded.
Need to get 463 kB/1,113 kB of archives.
After this operation, 2,129 kB of additional disk space will be used.
Do you want to continue [Y/n]? y
Get:1 http://mirrordirector.raspbian.org/raspbian/ wheezy/main tmux armhf 1.6-2 [224 kB]
Get:2 http://mirrordirector.raspbian.org/raspbian/ wheezy/main python-newt armhf 0.52.14-10 [103 kB]
Get:3 http://mirrordirector.raspbian.org/raspbian/ wheezy/main byobu all 5.16-1.1 [136 kB]
Fetched 463 kB in 3s (125 kB/s)
Preconfiguring packages ...
Selecting previously unselected package tmux.
(Reading database ... 60212 files and directories currently installed.)
Unpacking tmux (from .../archives/tmux_1.6-2_armhf.deb) ...
Selecting previously unselected package python-newt.
Unpacking python-newt (from .../python-newt_0.52.14-10_armhf.deb) ...
Selecting previously unselected package screen.
Unpacking screen (from .../screen_4.1.0~20120320gitdb59704-7_armhf.deb) ...
Selecting previously unselected package byobu.
Unpacking byobu (from .../byobu_5.16-1.1_all.deb) ...
Processing triggers for man-db ...
Processing triggers for install-info ...
Processing triggers for desktop-file-utils ...
Processing triggers for hicolor-icon-theme ...
Setting up tmux (1.6-2) ...
Setting up python-newt (0.52.14-10) ...
Setting up screen (4.1.0~20120320gitdb59704-7) ...
Setting up byobu (5.16-1.1) ...
2.接続する際に自動的にbyobuを起動する設定
pi@raspberrypi ~ $ byobu-config →メニューで「Byobu currently does not launch at login (toggle on)」を選択
3.ログオフして再接続してみる
pi@raspberrypi ~/.byobu $ ps ax | grep byobu
 4557 pts/1    S+     0:00 grep --color=auto byobu
31557 pts/0    S+     0:00 tmux -2 -f /usr/share/byobu/profiles/tmuxrc
31574 ?        Ss     0:07 tmux -2 -f /usr/share/byobu/profiles/tmuxrc
→byobuが起動している。コンソール画面も華やかになっている(^^)
4.使い方
機能は豊富にあって、はっきり言ってよくわかりません(^_^;)
1)セッション切れ対策としては、自動起動の設定だけでOKOK!
→落ちても、次回接続時に前の状態に復帰します。
2)作業を途中でやめたいときは、「F6」でターミナルを終了します。
→次回接続時には中断した状態に復帰します。
サーバ側ではセッションが継続され続け、接続時にはそのセッションに繋げるようです。
Winのターミナルサービスの感じです。
これで安心(^^)

Raspberry Pi:IPアドレスを固定する


サーバーのIPは固定したい。

Raspberry Pi の初期設定では、
IPアドレスはDHCPを使用して動的に設定される。
サーバ用途で使うので勝手にアドレスが変わるのは困る。
「setting static ip address on Raspberry Pi」
http://www.rootlinks.net/2012/12/19/setting-static-ip-address-on-raspberry-pi/
を参考にして設定した。
1.現在の状態を調べる。
pi@raspberrypi ~ $ ifconfig eth0      Link encap:Ethernet  HWaddr b8:27:eb:a0:c2:79
          inet addr:192.168.1.41  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:111907 errors:0 dropped:0 overruns:0 frame:0
          TX packets:90745 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:16413596 (15.6 MiB)  TX bytes:8987386 (8.5 MiB)
lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:26999 errors:0 dropped:0 overruns:0 frame:0
          TX packets:26999 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:2376008 (2.2 MiB)  TX bytes:2376008 (2.2 MiB)
2.設定用の現状を調べる。
2.1./etc/network/interfaces
pi@raspberrypi ~ $ cat /etc/network/interfaces auto lo
iface lo inet loopback
iface eth0 inet dhcp
allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp
→DHCPで設定するようになっている。
2.2./etc/resolv.conf
pi@raspberrypi ~ $ cat /etc/resolv.conf nameserver 192.168.1.1
→ DNSは適切に設定されている。
3.IPアドレスを指定する。
pi@raspberrypi /etc/network $ sudo vi interfaces
#iface eth0 inet dhcp
iface eth0 inet static
address 192.168.1.41
netmask 255.255.255.0
gateway 192.168.1.1

4.再起動する。
pi@raspberrypi /etc/network $ sudo shutdown -r now
5.状態を確認する。
pi@raspberrypi ~ $ ifconfig eth0      Link encap:Ethernet  HWaddr b8:27:eb:a0:c2:79
          inet addr:192.168.1.41  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:103 errors:0 dropped:0 overruns:0 frame:0
          TX packets:101 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:15643 (15.2 KiB)  TX bytes:12657 (12.3 KiB)
lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
これで、不用意に変更されることは無くなりました(^^)

2013年2月5日火曜日

Raspberry Pi:ラジオ(SqueezeSlave)も聴くぜぇ~♪(2013/06/12:Squeezeliteに移行)

「ながら族」の私はラジオも聴きたい。

MPDでもSHOUTcastは聴けるようになるが、BayFM,東京FM,NHKFMなどのラジオは聴けない。
そこで、NASに導入したLogitecMediaServerのクライアント(SqueezeSlave)をインストールして、
プラグインの「らじるこ plugin for Squeezebox(らじる&ラジコを聴く)」にアクセスするぞ!

NAS+LMS+らじるこ(ラジオ)→Raspberry Pi(聴取:Squeezeslave:オーディオ出力)←PC(操作)
こんな感じです。
参考にしたのは
Running SqueezeSlave on Raspberry Pi
http://dabdig.blogspot.jp/2012/05/running-squeezeslave-on-raspberry-pi.html
です。

1.ARM用バイナリの入手
pi@raspberrypi ~/work $ wget http://jaist.dl.sourceforge.net/project/softsqueeze/squeezeslave/squeezeslave-1.3.393/squeezeslave-1.3-393-armhf-lnx32.tar.gz
--2013-01-23 14:20:56--  http://jaist.dl.sourceforge.net/project/softsqueeze/squeezeslave/squeezeslave-1.3.393/squeezeslave-1.3-393-armhf-lnx32.tar.gz
Resolving jaist.dl.sourceforge.net (jaist.dl.sourceforge.net)... 150.65.7.130
Connecting to jaist.dl.sourceforge.net (jaist.dl.sourceforge.net)|150.65.7.130|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 354010 (346K) [application/x-gzip]
Saving to: `squeezeslave-1.3-393-armhf-lnx32.tar.gz'

100%[======================================>] 354,010     1.96M/s   in 0.2s

2013-01-23 14:20:56 (1.96 MB/s) - `squeezeslave-1.3-393-armhf-lnx32.tar.gz' saved [354010/354010]

pi@raspberrypi ~/work $ ls -l
total 348
-rw-r--r-- 1 pi pi 354010 Jan 21 21:24 squeezeslave-1.3-393-armhf-lnx32.tar.gz

2.展開とコピー
pi@raspberrypi ~/work $ tar xzvf squeezeslave-1.3-393-armhf-lnx32.tar.gz
LICENSE.txt
squeezeslave
pi@raspberrypi ~/work $ ls -l
total 980
-rw-r--r-- 1 pi pi  18009 Jan  3 01:24 LICENSE.txt
-rwxr-xr-x 1 pi pi 625351 Jan  3 01:53 squeezeslave
-rw-r--r-- 1 pi pi 354010 Jan 21 21:24 squeezeslave-1.3-393-armhf-lnx32.tar.gz

pi@raspberrypi ~/work $ sudo cp squeezeslave /usr/bin/squeezeslave
pi@raspberrypi ~/work $ ls -l /usr/bin/squee*
-rwxr-xr-x 1 root root 625351 Jan 23 14:55 /usr/bin/squeezeslave

3.デバイスの確認
pi@raspberrypi ~/work $ squeezeslave -L
Output devices:
  0: (ALSA) bcm2835 ALSA: bcm2835 ALSA (hw:0,0) (11/46)
  1: (ALSA) sysdefault (11/46)
  2: (ALSA) pulse (11/46)
  3: (ALSA) mmap0 (11/46)
* 4: (ALSA) default (11/46)
→0番がターゲット

4.インタラクティブモードで試す
「-D」を指定すると、コンソール上でインタラクティブに操作できます。
「-o 0」は音声の出力先です。(#3で確認したもの)
pi@raspberrypi ~/work $ ./squeezeslave -o 0 192.168.1.23 -D

                   lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk
                   xSqueezebox Home                  1 of 10x
                   xNow Playing                            >x
                   mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj


                   lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk
                   xraziru&raziko (Qian Xie eria)           x
                   x      10 of 17TOKYO FM                  x
                   mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj


                   lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk
                   xNow Playing                        00:15x
                   xTOKYO FM - doraibazuinhuo               x
                   mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj

→TOKYO FMがちゃんと聴こえます(^^)
ここまでは簡単だった。。。

5.起動用のスクリプト入手
マシンが起動したらSqueezeSlaveが自動起動するように設定するためのスクリプトです。
Rasbianの元になったDebian用のスクリプトがそのまま使えます。

pi@raspberrypi ~/work $ wget http://ralph_irving.users.sourceforge.net/squeezeslave.init.debian
--2013-01-24 16:21:22--  http://ralph_irving.users.sourceforge.net/squeezeslave.init.debian
Resolving ralph_irving.users.sourceforge.net (ralph_irving.users.sourceforge.net)... 216.34.181.96
Connecting to ralph_irving.users.sourceforge.net (ralph_irving.users.sourceforge.net)|216.34.181.96|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 4657 (4.5K) [text/plain]
Saving to: `squeezeslave.init.debian'

100%[======================================>] 4,657       11.5K/s   in 0.4s

2013-01-24 16:21:23 (11.5 KB/s) - `squeezeslave.init.debian' saved [4657/4657]
pi@raspberrypi ~/work $ ls -l squeezeslave.init.debian
-rw-r--r-- 1 pi pi 4657 Dec  6  2010 squeezeslave.init.debian

6.インストール方法の確認
pi@raspberrypi ~/work $ vi squeezeslave.init.debian
# Install Instructions
#
#       Copy file to /etc/init.d/squeezeslave
#       chmod 755 /etc/init.d/squeezeslave
#       update-rc.d squeezeslave defaults
#
#       Create /etc/default/squeezeslave to override any default
#               variables defined here.  No not edit this file.
#
→スクリプトの頭にコメントが書かれています。(素晴らしい!!見習いたいものです。)
後半のCreate /etc/default・・・の部分の意味がよくわからずすっ飛ばしてしまい、
サーバに接続できず何回もネットを調べてはやり直しました。(T_T)
色々調べた結果、スクリプトのパラメタはスクリプトを修正するのではなく、
/etc/default/squeezeslaveに記述することによりオーバーライドできるんだよ!
ということだと分かりました。(#7.5がミソ)

7.インストール開始
スクリプトに書かれている通りに進めるだけです。
7.1.初期化スクリプトディレクトリにセットする
pi@raspberrypi ~/work $ sudo cp squeezeslave.init.debian /etc/init.d/squeezeslave
pi@raspberrypi ~/work $ cd /etc/init.d/

7.2.実行モードをセットする
 pi@raspberrypi /etc/init.d $ ls -l squeezeslave
-rwxr-xr-x 1 root root 4707 Jan 24 02:15 squeezeslave

7.3.デフォルト登録する
pi@raspberrypi /etc/init.d $ sudo update-rc.d squeezeslave defaults
update-rc.d: using dependency based boot sequencing

7.4.スクリプト初期設定の確認をする
pi@raspberrypi ~/work $ vi squeezeslave.init.debian
PATH=/sbin:/usr/sbin:/bin:/usr/bin
DESC="Squeezebox client"
NAME=squeezeslave
DAEMON=/usr/bin/$NAME
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
SSMAC="00:00:00:00:00:01"
SBSHOST="localhost"
SSOPTIONS=
SSLOG=/var/log/squeezeslave.log
OSS="`$DAEMON -V | grep -c 1810`"
AOSS=/usr/bin/aoss
DAEMON_ARGS="-R -M${SSLOG} ${SSOPTIONS} -m${SSMAC} ${SBSHOST}"

→SBSHOST(接続先の設定),SSOPTIONS(その他オプション:出力先の設定)の
2つのパラメタを修正する

7.5.デフォルトスクリプトの修正パラメタファイルの作成
pi@raspberrypi /etc/init.d $ sudo vi /etc/default/squeezeslave
SBSHOST="192.168.1.23"
SSOPTIONS="-o 0"

8.起動の確認
pi@raspberrypi /etc/init.d $ sudo ./squeezeslave start
pi@raspberrypi /etc/init.d $ ps ax | grep squeeze
 2494 ?        Ssl    0:00 /usr/bin/squeezeslave -R -M/var/log/squeezeslave.log -o 0 -m00:00:00:00:00:01 192.168.1.23
 2516 pts/0    S+     0:00 grep --color=auto squeeze

→Logitech Media Serverからリモコンしてみる。
オーディオからも音が出た。バッチリだぜ!

9.停止の確認
pi@raspberrypi /etc/init.d $ sudo ./squeezeslave stop
pi@raspberrypi /etc/init.d $ ps ax | grep squeeze
 2549 pts/0    S+     0:00 grep --color=auto squeeze

10.自動起動の確認
pi@raspberrypi /etc/init.d $ sudo shutdown -r now
Broadcast message from root@raspberrypi (pts/0) (Thu Jan 24 16:17:53 2013):
The system is going down for reboot NOW!

pi@raspberrypi ~ $ ps ax | grep squeeze
 1671 ?        Ssl    0:00 /usr/bin/squeezeslave -R -M/var/log/squeezeslave.log -o 0 -m00:00:00:00:00:01 192.168.1.23
 2109 pts/0    S+     0:00 grep --color=auto squeeze

やったね!! 、「ながら環境」できあがり(^^)/

2013年2月3日日曜日

RaspberryPiでリモコン操作するぜぇ~♪

NAS,RaspberryPi,PCの3層構造だぜ。


GMPCは、MPDのクライアントです。
RaspberryPiへの接続設定画面です。

接続して、DBを更新すると楽曲が一覧表示されます。


再生中の画面です。
アルバムカバーイメージや説明などが表示される。英語なので???です^^;
音はWin7からではなく、RaspberryPiから出る。ここがミソです(^^)

Lyricsを使って歌詞まで表示してくれます。


AM/FMラジオも聴けるようになりました。
もちろん、SOUTcast他のネットラジオもリモコン操作で簡単に選局できます。


TFMを選局した状態です。
番組名やロゴまで表示してくれます(^^)




Raspberry Pi:MPD(Music Player Daemon)の導入だぜ~♪


Raspberry PiにMPD(http://mpd.wikia.com/wiki/Music_Player_Daemon_Wiki)を導入して、
リモコン操作するぜぇ~。
NAS(楽曲)→Raspberry Pi(演奏:MPD:オーディオへ出力)←PC(操作)
こんな感じで~す。
「Raspberry Pi+MPDの設定」http://www.ns.n-mmra.net/audio/raspimpd/raspimpd.html
を参考にして導入しました。m(_ _)m

1.mpdのインストール
pi@raspberrypi ~ $ sudo apt-get install mpd
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
  libao-common libao4 libaudiofile1 libavformat53 libcurl3-gnutls libfaad2
  libmms0 libmpcdec6 libshout3 libwavpack1
Suggested packages:
  libesd0 libesd-alsa0 avahi-daemon icecast2 mpd-client
The following NEW packages will be installed:
  libao-common libao4 libaudiofile1 libavformat53 libcurl3-gnutls libfaad2
  libmms0 libmpcdec6 libshout3 libwavpack1 mpd
0 upgraded, 11 newly installed, 0 to remove and 99 not upgraded.
Need to get 1,413 kB of archives.
After this operation, 3,176 kB of additional disk space will be used.
Do you want to continue [Y/n]? y
Err http://mirrordirector.raspbian.org/raspbian/ wheezy/main libavformat53 armhf 6:0.8.4-1+rpi1
  404  Not Found
Get:1 http://mirrordirector.raspbian.org/raspbian/ wheezy/main libaudiofile1 armhf 0.3.4-2 [86.3 kB]
Get:2 http://mirrordirector.raspbian.org/raspbian/ wheezy/main libcurl3-gnutls armhf 7.26.0-1 [306 kB]
Get:3 http://mirrordirector.raspbian.org/raspbian/ wheezy/main libfaad2 armhf 2.7-8 [177 kB]
Get:4 http://mirrordirector.raspbian.org/raspbian/ wheezy/main libmms0 armhf 0.6.2-3 [43.2 kB]
Get:5 http://mirrordirector.raspbian.org/raspbian/ wheezy/main libmpcdec6 armhf 2:0.1~r459-4 [38.1 kB]
Get:6 http://mirrordirector.raspbian.org/raspbian/ wheezy/main libshout3 armhf 2.2.2-8 [37.2 kB]
Get:7 http://mirrordirector.raspbian.org/raspbian/ wheezy/main libwavpack1 armhf 4.60.1-3 [80.3 kB]
Get:8 http://mirrordirector.raspbian.org/raspbian/ wheezy/main libao-common armhf 1.1.0-2 [11.3 kB]
Get:9 http://mirrordirector.raspbian.org/raspbian/ wheezy/main libao4 armhf 1.1.0-2 [40.1 kB]
Get:10 http://mirrordirector.raspbian.org/raspbian/ wheezy/main mpd armhf 0.16.7-2 [195 kB]
Fetched 1,014 kB in 6s (158 kB/s)
Failed to fetch http://mirrordirector.raspbian.org/raspbian/pool/main/liba/libav/libavformat53_0.8.4-1+rpi1_armhf.deb  404  Not Found
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?
→アップデートしろ!と言われた。。。

pi@raspberrypi ~ $ sudo apt-get update
Get:1 http://mirrordirector.raspbian.org wheezy InRelease [12.5 kB]
Get:2 http://archive.raspberrypi.org wheezy InRelease [7,737 B]
Get:3 http://archive.raspberrypi.org wheezy/main armhf Packages [6,421 B]
Get:4 http://mirrordirector.raspbian.org wheezy/main armhf Packages [7,403 kB]
Ign http://archive.raspberrypi.org wheezy/main Translation-en_GB
Ign http://archive.raspberrypi.org wheezy/main Translation-en
Get:5 http://mirrordirector.raspbian.org wheezy/contrib armhf Packages [23.3 kB]
Get:6 http://mirrordirector.raspbian.org wheezy/non-free armhf Packages [47.8 kB]
Get:7 http://mirrordirector.raspbian.org wheezy/rpi armhf Packages [14 B]
Ign http://mirrordirector.raspbian.org wheezy/contrib Translation-en_GB
Ign http://mirrordirector.raspbian.org wheezy/contrib Translation-en
Ign http://mirrordirector.raspbian.org wheezy/main Translation-en_GB
Ign http://mirrordirector.raspbian.org wheezy/main Translation-en
Ign http://mirrordirector.raspbian.org wheezy/non-free Translation-en_GB
Ign http://mirrordirector.raspbian.org wheezy/non-free Translation-en
Ign http://mirrordirector.raspbian.org wheezy/rpi Translation-en_GB
Ign http://mirrordirector.raspbian.org wheezy/rpi Translation-en
Fetched 7,500 kB in 54s (138 kB/s)
Reading package lists... Done

→再度チャレンジ!
pi@raspberrypi ~ $ sudo apt-get install mpd
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
  libao-common libao4 libaudiofile1 libavformat53 libcurl3-gnutls libfaad2
  libmms0 libmpcdec6 libshout3 libwavpack1
Suggested packages:
  libesd0 libesd-alsa0 avahi-daemon icecast2 mpd-client
The following NEW packages will be installed:
  libao-common libao4 libaudiofile1 libavformat53 libcurl3-gnutls libfaad2
  libmms0 libmpcdec6 libshout3 libwavpack1 mpd
0 upgraded, 11 newly installed, 0 to remove and 124 not upgraded.
Need to get 399 kB/1,414 kB of archives.
After this operation, 3,176 kB of additional disk space will be used.
Do you want to continue [Y/n]? y
Get:1 http://mirrordirector.raspbian.org/raspbian/ wheezy/main libavformat53 armhf 6:0.8.5-1+rpi1 [399 kB]
Fetched 399 kB in 2s (136 kB/s)
Selecting previously unselected package libaudiofile1:armhf.
(Reading database ... 60097 files and directories currently installed.)
Unpacking libaudiofile1:armhf (from .../libaudiofile1_0.3.4-2_armhf.deb) ...
Selecting previously unselected package libavformat53:armhf.
Unpacking libavformat53:armhf (from .../libavformat53_6%3a0.8.5-1+rpi1_armhf.deb) ...
Selecting previously unselected package libcurl3-gnutls:armhf.
Unpacking libcurl3-gnutls:armhf (from .../libcurl3-gnutls_7.26.0-1_armhf.deb) ...
Selecting previously unselected package libfaad2:armhf.
Unpacking libfaad2:armhf (from .../libfaad2_2.7-8_armhf.deb) ...
Selecting previously unselected package libmms0:armhf.
Unpacking libmms0:armhf (from .../libmms0_0.6.2-3_armhf.deb) ...
Selecting previously unselected package libmpcdec6:armhf.
Unpacking libmpcdec6:armhf (from .../libmpcdec6_2%3a0.1~r459-4_armhf.deb) ...
Selecting previously unselected package libshout3:armhf.
Unpacking libshout3:armhf (from .../libshout3_2.2.2-8_armhf.deb) ...
Selecting previously unselected package libwavpack1:armhf.
Unpacking libwavpack1:armhf (from .../libwavpack1_4.60.1-3_armhf.deb) ...
Selecting previously unselected package libao-common.
Unpacking libao-common (from .../libao-common_1.1.0-2_armhf.deb) ...
Selecting previously unselected package libao4.
Unpacking libao4 (from .../libao4_1.1.0-2_armhf.deb) ...
Selecting previously unselected package mpd.
Unpacking mpd (from .../mpd_0.16.7-2_armhf.deb) ...
Processing triggers for man-db ...
Setting up libaudiofile1:armhf (0.3.4-2) ...
Setting up libavformat53:armhf (6:0.8.5-1+rpi1) ...
Setting up libcurl3-gnutls:armhf (7.26.0-1) ...
Setting up libfaad2:armhf (2.7-8) ...
Setting up libmms0:armhf (0.6.2-3) ...
Setting up libmpcdec6:armhf (2:0.1~r459-4) ...
Setting up libshout3:armhf (2.2.2-8) ...
Setting up libwavpack1:armhf (4.60.1-3) ...
Setting up libao-common (1.1.0-2) ...
Setting up libao4 (1.1.0-2) ...
Setting up mpd (0.16.7-2) ...
[....] Starting Music Player Daemon: mpdlisten: bind to '[::1]:6600' failed: Failed to create socket: Address family not supported by protocol (continuing anyway, because binding to '127.0.0.1:6600' succeeded)
Failed to load database: Failed to open database file "/var/lib/mpd/tag_cache": No such file or directory
. ok

2.mpd起動確認
pi@raspberrypi ~ $ ps ax
  PID TTY      STAT   TIME COMMAND
    1 ?        Ss     0:01 init [2]
・・・
 2151 pts/0    Ss     0:00 -bash
 2675 ?        Ssl    0:00 /usr/bin/mpd /etc/mpd.conf
 2700 pts/0    R+     0:00 ps ax
→とりあえず動いてる(^^)

3.サウンドカードの確認
pi@raspberrypi ~ $ cat /proc/asound/cards
 0 [ALSA           ]: BRCM bcm2835 ALSbcm2835 ALSA - bcm2835 ALSA
                      bcm2835 ALSA
→ちゃんと動作しているようだ。

4.mpdの設定
4.1.mpd.confのミュージックディレクトリを確認

# Files and directories #######################################################
#
# This setting controls the top directory which MPD will search to discover the
# available audio files and add them to the daemon's online database. This
# setting defaults to the XDG directory, otherwise the music directory will be
# be disabled and audio files will only be accepted over ipc socket (using
# file:// protocol) or streaming files over an accepted protocol.
#
music_directory         "/var/lib/mpd/music"

4.2.mpdの設定に合わせてnasにシンボリックリンクを張る
pi@raspberrypi ~ $ sudo ln -s /mnt/nas/music /var/lib/mpd/music/nas
pi@raspberrypi ~ $ ls -l /var/lib/mpd/music/
total 0
lrwxrwxrwx 1 root root 14 Jan 22 01:14 nas -> /mnt/nas/music
pi@raspberrypi ~ $ ls -l /var/lib/mpd/music/nas
lrwxrwxrwx 1 root root 14 Jan 22 01:14 /var/lib/mpd/music/nas -> /mnt/nas/music
pi@raspberrypi ~ $ ls -l /var/lib/mpd/music/nas/cd/
total 0
drwxrwxrwx 0 root root 0 Jan 26  2013 classic
drwxrwxrwx 0 root root 0 Jan 12 15:32 etc
drwxrwxrwx 0 root root 0 Jan 12 15:17 jazz
drwxrwxrwx 0 root root 0 Jan 12 15:30 jpop
drwxrwxrwx 0 root root 0 Jan 12 15:20 pops
drwxrwxrwx 0 root root 0 Jan 12 16:19 test

4.3.再起動して設定を反映させる
pi@raspberrypi ~ $ sudo /etc/init.d/mpd restart
[ ok ] Stopping Music Player Daemon: mpd.
[....] Starting Music Player Daemon: mpdlisten: bind to '[::1]:6600' failed: Failed to create socket: Address family not supported by protocol (continuing anyway, because binding to '127.0.0.1:6600' succeeded)
. ok
→アドレスが違うよと怒られた。。。
→リスナーアドレスを指定する
pi@raspberrypi ~ $ sudo vi /etc/mpd.conf
# For network
#bind_to_address                "localhost"
bind_to_address         "192.168.1.41"

pi@raspberrypi ~ $ sudo /etc/init.d/mpd restart
[ ok ] Stopping Music Player Daemon: mpd.
[ ok ] Starting Music Player Daemon: mpd.
→再起動完了!!

5.リモコンソフト GMPC(Gnome Music Player Client)をWin7に導入
http://gmpclient.org/ からダウンロードしてインストール
・サーバ設定
・アップデート MPD データベース
・再生!
→音が出ない。。。(T_T)

6.音声の出力先の設定
3.5mmジャックから出力するにはミキサーで出力先を変更する必要があった。
sudo amixer cset numid=3
where n is 0=auto, 1=headphones, 2=hdmi.
Change to 1 to force sound through the 3.5mm headphone jack

pi@raspberrypi ~ $ sudo amixer cset numid=3 1
numid=3,iface=MIXER,name='PCM Playback Route'
  ; type=INTEGER,access=rw------,values=1,min=0,max=2,step=0
  : values=1
→音が出た!!が、音が小さ過ぎ。。。(T_T)

7.ボリューム調整
今回はここがポイント。サーフィンしまくってやっとできた^^;

7.1.現在の状態を調べてみた。
pi@raspberrypi ~ $ amixer
Simple mixer control 'Master',0
  Capabilities: pvolume pswitch pswitch-joined penum
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 65536
  Mono:
  Front Left: Playback 26215 [40%] [on]
  Front Right: Playback 26215 [40%] [on]
Simple mixer control 'Capture',0
  Capabilities: cvolume cswitch cswitch-joined penum
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 65536
  Front Left: Capture 65536 [100%] [on]
  Front Right: Capture 65536 [100%] [on]

7.2.コントロール番号を調べる
pi@raspberrypi ~ $ amixer controls
numid=4,iface=MIXER,name='Master Playback Switch'
numid=3,iface=MIXER,name='Master Playback Volume'
numid=2,iface=MIXER,name='Capture Switch'
numid=1,iface=MIXER,name='Capture Volume'
→ボリュームはnumid=3だと分かる

7.3.ボリュームを最大にする
pi@raspberrypi ~ $ amixer cset numid=3 100%
numid=3,iface=MIXER,name='Master Playback Volume'
  ; type=INTEGER,access=rw------,values=2,min=0,max=65536,step=1
  : values=65536,65536

pi@raspberrypi ~ $ amixer
Simple mixer control 'Master',0
  Capabilities: pvolume pswitch pswitch-joined penum
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 65536
  Mono:
  Front Left: Playback 65536 [100%] [on]
  Front Right: Playback 65536 [100%] [on]
Simple mixer control 'Capture',0
  Capabilities: cvolume cswitch cswitch-joined penum
  Capture channels: Front Left - Front Right
  Limits: Capture 0 - 65536
  Front Left: Capture 65536 [100%] [on]
  Front Right: Capture 65536 [100%] [on]
→100%に設定できた。

今度はそれなりの音量になった。
やったね、リモコン環境できあがり(^^)/

2013年2月1日金曜日

Raspberry Pi:NASをマウントだぜ!

Raspberry Pi からNASを見れるようにしてみた。

NASではWindowsのファイル共有サービスを使用して公開しているので、
CIFS(Common Internet File System)を使用してアクセスできるように(マウント)する。

1.CIFSモジュールをインストール
pi@raspberrypi /etc $ sudo apt-get install cifs-utils
Reading package lists... Done
Building dependency tree
Reading state information... Done
cifs-utils is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 99 not upgraded.

2.マウントポイント(/mnt/nas)を作成する
pi@raspberrypi /mnt $ sudo mkdir nas
pi@raspberrypi /mnt $ ls -l
total 4
drwxr-xr-x 2 root root 4096 Jan 21 23:46 nas

3.起動時に自動マウントするように設定する
pi@raspberrypi /etc $ sudo vi fstab
//192.168.1.xx/Multimedia       /mnt/nas        cifs    username=hogehoge,password=mogemoge,file_mode=0777,dir_mode=0777,iocharset=utf8     0       0

4.fstabの設定を反映させる
pi@raspberrypi /etc $ sudo mount -a
pi@raspberrypi /etc $ ls /mnt/nas
music  photo  video

バッチグー!!(^^)