2015年03月一覧

GIGABYTE BRIX で Voyage MPD part4

音が出るようになったら、残りの3つの設定を行う。

・省電力モードになっているNASを起動させる
・電源ボタンでOSをシャットダウンする
・iPhoneからAirPlay再生する

いつも使用しているNASは省電力モード(スリープ状態)で運用しており、クライアントが起動すると自動的にスリープから復帰して使用できるようにしている。なので、Voyage MPDでもOS起動と同時にNASを起動するようにしたい。

Wake On LANでNASを起動させるため、wakeonlanをインストール。

root@voyage:~# apt-get install wakeonlan

NASのMACアドレスに対してマジック・パケットを送信し、NASがスリープ状態から復帰するか確認。

root@voyage:~# wakeonlan 00:ff:ff:ff:ff:ff

OS起動時にwakeonlanを実行するよう設定。

# vi /etc/rc.local
wakeonlan 00:ff:ff:ff:ff:ff

使用中にNASがスリープにならないように、5分ごとにwakeonlanを実行するよう設定。

# crontab -e
*/5 * * * * wakeonlan 00:ff:ff:ff:ff:ff

つづいて、BRIX本体の電源ボタンを押すことでOSをシャットダウンできるようにする。

acpidをインストール。

root@voyage:~# apt-get install acpid

acpidの設定。

root@voyage:~# vi /etc/acpi/events/poweroff
event=button/power
action=/sbin/shutdown -h now

設定を反映するため、acpidを再起動。

root@voyage:~# /etc/init.d/acpid restart

BRIX本体の電源ボタンを押してみて、正常にシャットダウンできるか確認する。

次に、iPhoneなどのiOSデバイスからAirPlay再生できるようにする。

Voyage MPDではShairPortというソフトで実現可能である。

ShairPortのインストール。

root@voyage:~# apt-get install shairport

USB-DACのデバイス番号を確認。

root@voyage:~# cat /proc/asound/cards
 0 [Intel ]: HDA-Intel - HDA Intel           #オンボードオーディオ
 HDA Intel at 0xee240000 irq 17
 1 [UW10 ]: USB-Audio - YAMAHA UW10          #USB-DAC
 YAMAHA Corporation . YAMAHA UW10 at usb-0000:00:14.0-1, full speed

ShairPortの設定。音の出力先を設定。

root@voyage:~# vi /etc/default/shairport
#OUTPUT_OPTS=
OUTPUT_OPTS="-d hw:1,0"         #USB-DACのデバイス番号1を指定

設定を反映するため、shairportを再起動。

root@voyage:~# /etc/init.d/shairport restart

この後は、iPhoneなどのiOSデバイスから音の出力先をAirPlayに設定する。

ミュージックアプリなどで音楽を再生してみて、Voyage MPDのUSB-DACから音が出ればOK。


GIGABYTE BRIX で Voyage MPD part3

インストールが完了したら次はVoyage MPDの設定を行う。

これからやりたいこと(要件定義)は以下である。

・USB接続のDACから音を出す
・ハイレゾの音源ファイル(96k以上のPCM音源、DSD音源)を再生する
・NASをマウントし音楽再生する
・iPhoneでMPDを操作する

ついでに以下もできるようにしたい(part4にて)。

・省電力モードになっているNASを起動させる
・電源ボタンでOSをシャットダウンする
・iPhoneからAirPlay再生する

取り敢えず、音が出るようにするため上の4点を実施する。

まずはOSの設定から。

root/voyageでログインし、設定変更を保存できるようremountrwを実行。

root@voyage:~# remountrw

ログイン後remountrwを毎回入力するのが面倒なので、.bashrc の最終行にremountrwを追加。これで次回ログイン後、自動でremountrwが実行される。

root@voyage:~# vi ./.bashrc
remountrw

タイムゾーンの設定。Asia → Tokyo を選択。

root@voyage:~# dpkg-reconfigure tzdata

今はDHCPからIPアドレスをもらっているので、IPアドレスが変動しないように固定設定する。

root@voyage:~# vi /etc/network/interfaces.d/eth0.conf
#iface eth0 inet dhcp         #DHCPを無効にする
iface eth0 inet static         #IPアドレスを固定する。↓以下環境にあった設定をする。
address 192.168.0.6
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.1
dns-nameservers 192.168.0.1

USB-DACのデバイス番号を固定するため、デバイス番号を確認。

root@voyage:~# cat /proc/asound/cards
 0 [Intel ]: HDA-Intel - HDA Intel
 HDA Intel at 0xee240000 irq 17
 1 [UW10 ]: USB-Audio - YAMAHA UW10
 YAMAHA Corporation . YAMAHA UW10 at usb-0000:00:14.0-1, full speed

0はオンボードオーディオ、1はUSB-DACなので、デバイス番号を1に固定する。

root@voyage:~# vi /etc/modprobe.d/alsa-base.conf
#options snd-usb-audio index=-2
options snd-usb-audio index=1

続いて、mpdの設定。

音の出力先をUSB-DACへ設定。USB-DACがDSDのNative入力に対応してる場合はdsd_usbをyesすればよいが、未対応の場合はnoに設定。この場合DSDファイルを再生すると、DSD→PCMへ変換して再生される。

root@voyage:~# vi /etc/mpd.conf
# An example of an ALSA output:
#
audio_output {
type "alsa"
name "My ALSA Device"
# device "hw:0,0" optional
device "hw:1,0"               #USB-DACのデバイス番号1を指定
# format "44100:16:2" optional
# mixer_device "default" optional
# mixer_control "PCM" optional
# mixer_index "0" optional
dsd_usb "no"                  #USB-DACがDSDのNative入力に対応してる場合はyes
}

設定を反映させるため、mpdを再起動。

root@voyage:~# /etc/init.d/mpd restart

次に、NASをマウントし音楽再生する設定。

常時起動しているNASであれば、/etc/fstabなどに設定を記載してOS起動時に自動的にマウントするようにすればよいが、ここでは省電力モードになっているNASを起動させてマウントするようにしたいため、autofsを使用する。なお、省電力モードになっているNASを起動させる設定はpart4で。

autofsのインストール。

root@voyage:~# mkdir /music
root@voyage:~# apt-get update
root@voyage:~# apt-get install autofs

autofsの設定。まずは、auto.masterファイルを編集。

root@voyage:~# vi /etc/auto.master
# Sample auto.master file
# This is an automounter map and it has the following format
# key [ -mount-options-separated-by-comma ] location
# For details of the format look at autofs(5).
#
#/misc /etc/auto.misc
/music /etc/auto.nas        #/musicに/etc/auto.nasで設定した領域をマウントさせる。

次に、NASをマウントさせるためのauto.nasファイルを新規に作成。

root@voyage:~# vi /etc/auto.nas
nas -fstype=cifs,rw,noperm,user=user01,pass=password ://192.168.0.3/share/music
#↑/music/nasにマウント       ↑NASのuser名 ↑NASのパスワード ↑NASの共有フォルダ名

設定を反映させるため、autofsを再起動。

root@voyage:~# /etc/init.d/autofs restart

正常にマウントできるか確認。autofsは対象のディレクトリにアクセスして初めてマウントされる。ここでNASのファイルが見れないようであれば、autofsの設定がおかしいか、NAS側のアクセス権に問題ないか確認する。

root@voyage:~# ls /music/nas
High-Resolution Audio Music iTunes rec #←NAS上のフォルダ/ファイルが見えることを確認

Voyage MPDのmusic_directoryからNASの共有フォルダをマウントしたディレクトリへシンボリックリンクを張る。

root@voyage:~# ln -s /music/nas /var/lib/mpd/music/nas

mpd を再起動し、音楽ファイルを読み込ませる。

root@voyage:~# /etc/init.d/mpd restart

この後は、MPDクライアントソフトからMPDへアクセスし音楽を再生する指示をかける。Windowsだと、Gmone Music Playerなどがあるが、ここではiPhone(iOS)用のMPDクライアントソフトMPoDでアクセスしてみる。

同じLAN上にいれば、MPoDのConnectionsに自動的にVoyage Music Playerが現れる。SettingsでUpdate datanaseを実行後、しばらくしてRefresh local cacheを実行する。

 

MenuよりBrowseを選択すると、マウントしたNASが見える。あとは、ファイルを選択すると再生される。

 

もし音量が小さい場合は、alsamixerで調整する。

root@voyage:~# alsamixer

オーディオデバイスが複数ある場合は、F6キーで対象のオーディオデバイスを選択する。上下キーで音量の調整ができるので、[dB gain: 0.00, 0.00]になるよう調整する。

今回は、検証のためUSB-DACとしてYAMAHA UW10という、かなり枯れたDACを使用したが、DSDもPCM変換ながら再生できた。この後、ハイレゾ/DSD対応のUSB-DAC OPPO HA-1を接続してみたがこちらも問題なく、DSDのNative再生も安定してできた。

次は、残りの設定を行う。
part4へ


GIGABYTE BRIX で Voyage MPD part2

ハードウェアのセットアップが完了したらVoyage MPDをインストールする。

インストール手順は、こことかここに解りやすく載っているので詳細は参照されたし。

ここでは簡単な流れだけ。

BRIX本体に、USBキーボード、HDMI接続のディスプレイ、ルーターに繋がっているLANケーブルを接続。

Voyage MPDのホームページより、Live CD(現時点での最新:0.9.5)をダウンロードしUSBメモリへ書き込み、USBメモリより起動する。

Voyage MPDが起動したら、

voyage login: root
Password: voyage

でログインする。あとは、

root@voyage:~# ifconfig

でルーター(DHCP)より割り当てられたIPアドレスを確認する。

ここからは同じLAN上の他のPCから、TeraTermPuTTYなどのターミナルソフトでVoyage MPDに接続する。

先ほど確認したIPアドレスにSSHで接続し、root/voyageでログインする。

インストール用のディレクトリを作成する。

root@voyage:~# mkdir /tmp/root /tmp/cf
root@voyage:~# mount -o loop /lib/live/mount/medium/live/filesystem.squashfs /tmp/root
root@voyage:~# cd /tmp/root

fdisk -lで接続されているディスクの構成を確認。

root@voyage:/tmp/root# fdisk -l

Disk /dev/sda: 128.0 GB, 128035676160 bytes  #内蔵SSD
255 heads, 63 sectors/track, 15566 cylinders, total 250069680 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/sda doesn't contain a valid partition table

Disk /dev/sdb: 1025 MB, 1025024000 bytes     #インストールイメージが入ったUSBメモリ
255 heads, 63 sectors/track, 124 cylinders, total 2002000 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x005f8f51

 Device Boot Start End Blocks Id System
/dev/sdb1 * 2048 2001999 999976 c W95 FAT32 (LBA)

インストールするSSD(/dev/sda)にパーティションを作成、フォーマットする。

root@voyage:/tmp/root# /usr/local/sbin/format-cf.sh /dev/sda

パーティションが作成されたか確認。

root@voyage:/tmp/root# fdisk -l

Disk /dev/sda: 128.0 GB, 128035676160 bytes  #内蔵SSD
30 heads, 63 sectors/track, 132312 cylinders, total 250069680 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x2575bf49

 Device Boot Start End Blocks Id System
/dev/sda1 2048 250069679 125033816 83 Linux  #パーティションが作成された

Disk /dev/sdb: 1025 MB, 1025024000 bytes     #インストールイメージが入ったUSBメモリ
255 heads, 63 sectors/track, 124 cylinders, total 2002000 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x005f8f51

 Device Boot Start End Blocks Id System
/dev/sdb1 * 2048 2001999 999976 c W95 FAT32 (LBA)

インストールの開始。

root@voyage:/tmp/root# /usr/local/sbin/voyage.update
What would you like to do?
 1 - Create new Voyage Linux disk
 2 - Update existing Voyage configuration
 3 - Exit
 (default=1 [Create new Voyage Linux disk]):≪Enter≫
some mandatory options are unset, please enter them interactively
Where is the Voyage Linux distribution directory?
 (default=/tmp/root):≪Enter≫
What would you like to do?
 1 - Specify Distribution Directory
 2 - Select Target Profile - this overwrites current settings
 3 - Select Target Disk
 4 - Select Target Bootstrap Loader
 5 - Configure Target Console
 6 - Partition and Create Filesystem
 (default=2 [Select Target Profile - this overwrites current settings]):≪Enter≫
Please select Voyage profile:
 1 - Keep existing settings
 2 - 4501
 3 - 4511/4521 4 - 4801
 5 - 5501
 6 - 6501
 7 - ALIX
 8 - APU
 9 - Generic PC
 10 - Notebook (pcmcia)
 11 - WRAP
 (default=7 [ALIX]): 9            #普通のパソコンなので9を選択

What would you like to do?
 1 - Specify Distribution Directory
 2 - Select Target Profile - this overwrites current settings
 3 - Select Target Disk
 4 - Select Target Bootstrap Loader
 5 - Configure Target Console
 6 - Partition and Create Filesystem
 (default=3 [Select Target Disk]):≪Enter≫

Partitions information
major minor #blocks name

 8 0 125034840 sda
 8 1 125033816 sda1
 8 16 1001000 sdb
 8 17 999976 sdb1
 7 0 77700 loop0
 7 1 77700 loop1

Which device accesses the target disk [/dev/hde]? /dev/sda

Which partition should I use on /dev/sda for the Voyage system [1]?≪Enter≫

Device information for /dev/sda1
device fs_type label mount point UUID
-------------------------------------------------------------------------------
/dev/sda1 ext2 (not mounted) d00f5160-af4e-469d-a7c2-d3af2a97977e

Where can I mount the target disk [/tmp/cf]? ≪Enter≫

What would you like to do?
 1 - Specify Distribution Directory
 2 - Select Target Profile - this overwrites current settings
 3 - Select Target Disk
 4 - Select Target Bootstrap Loader
 5 - Configure Target Console
 6 - Partition and Create Filesystem
 (default=4 [Select Target Bootstrap Loader]):≪Enter≫

Which loader do you want (grub or lilo) [grub]?≪Enter≫

Which partition is used for bootstrap [1]?≪Enter≫

What would you like to do?
 1 - Specify Distribution Directory
 2 - Select Target Profile - this overwrites current settings
 3 - Select Target Disk
 4 - Select Target Bootstrap Loader
 5 - Configure Target Console
 6 - Partition and Create Filesystem
 (default=5 [Configure Target Console]):≪Enter≫

Select terminal type:
 1 - Serial Terminal
 2 - Console Interface
 (default=2 [Console Interface]):≪Enter≫

What would you like to do?
 1 - Specify Distribution Directory
 2 - Select Target Profile - this overwrites current settings
 3 - Select Target Disk
 4 - Select Target Bootstrap Loader
 5 - Configure Target Console
 6 - Partition and Create Filesystem
 (default=6 [Partition and Create Filesystem]):≪Enter≫

What shall I do with your Flash Media?
 1 - Partition Flash Media and Create Filesystem
 2 - Use Flash Media as-is
 (default=1 [Partition Flash Media and Create Filesystem]): 2

What would you like to do?
 1 - Specify Distribution Directory
 2 - Select Target Profile - this overwrites current settings
 3 - Select Target Disk
 4 - Select Target Bootstrap Loader
 5 - Configure Target Console
 6 - Partition and Create Filesystem
 (default=7 [Copy Distribution to Target]):≪Enter≫


Configuration details:
----------------------

Distribution directory: /tmp/root

Disk/Flash Device: /dev/sda
Installation Partition: /dev/sda1
Bootstrap Partition: /dev/sda1

Will be mounted on: /tmp/cf

Target system profile: Generic PC
Target console: standard

Bootstrap installer: grub
Bootstrap partition: /dev/sda1

OK to continue (y/n)? y

Ready to go ....
Copying files .... done

Removing pcmcia from update-rc.d
update-rc.d: using dependency based boot sequencing
Removing dnsmasq.pxe.conf in /etc/dnsmasq.more.conf
Reconfiguring resolvconf
Updating /etc/hosts
Installing grub
Copy grub files from /tmp/cf to /tmp/cf/boot/grub
Setting up grub under chroot /tmp/cf
copyfiles.sh script completed
What would you like to do?
 1 - Specify Distribution Directory
 2 - Select Target Profile - this overwrites current settings
 3 - Select Target Disk
 4 - Select Target Bootstrap Loader
 5 - Configure Target Console
 6 - Partition and Create Filesystem
 (default=8 [Exit]):≪Enter≫

USBメモリを取り外し再起動する。

root@voyage:/tmp/root# reboot

Broadcast message from root@voyage (pts/0) (Sun Jan 18 06:17:28 2015):

The system is going down for reboot NOW!

次はVoyage MPDの設定を行う。
part3へ


GIGABYTE BRIX で Voyage MPD part1

Voyage MPD専用マシンを、ファンレスのGIGABYTE BRIXベアボーンGB-BXBT-2807で組んでみた。

音楽を鳴らすだけなので、ディスクやメモリは特にこだわりなく、性能は特に考慮していない。

縦横幅はiPhone5sの縦幅とほぼ一緒。

IntelのNUC(DN2820FYKH)とほぼ同じ大きさだが、若干高さがある。

BIOS画面はテキストベース。個人的にはこのほうが分かりやすい。

言うまでもなく、ファンレスのため無音。USBキーボードとHDMIケーブルでディスプレイを接続し、問題なく動くことを確認したら、次はVoyage MPDをインストールする。

part2へ


スポンサーリンク