JBL Pebbles と Orange Pi Zero でステレオコンポ
Orange Pi Zero は ケース に入れても超小型ですが、家庭内では Web サーバ かファイルサーバぐらいの用途しか思いつきませんでした。
すでに私の家では Web サーバ もファイルサーバもいくつも稼働しています。 Orange Pi Zero を何に使うか考えに考えた結果、ステレオコンポの代わりに音楽をリビングの片隅で流しておくことができれば、家族の冷たい視線も減る可能性があります(笑)。 したがって、今回の目標は 「家族でも簡単に操作できるステレオコンポ」です。 今回は armbian のインストールから、下の写真 のように、USB接続のゲームパッドで操作できる音楽サーバを作成するまでの詳細を紹介します。(長いです。笑)
音楽関連では Raspberry Pi などを専用の音楽プレイヤーにする Volumio が良く紹介されていますが、Orange Pi Zero 用のOSイメージは (まだ?) ありません。 Volumio の演奏部分の実体は MPD (Music Player Daemon) なので、MPD をインストールして家族でも簡単に操作できるような音楽プレイヤーを構築する過程を詳しく記録していこうと思います。
さて、コンピュータからちゃんとした音を出すには、デジタル (Digital) 信号をアナログ (Aalog) 信号に変換 (Conversion) してスピーカから音を出す必要があります。WAV や MP3 といったファイルに格納されたデジタル信号を、AV機器のアンプに入力できるアナログ信号に変換 (Conversion) するのが D/Aコンバータ (DAC) というものです。
例えば下の写真は、USBからアナログ信号に変換するの基板 (USB-DAC) ですが、輸入すると送料込でも500円以下で入手できました。
Orange Pi Zero も USB-DAC も小さいので、USBケーブルやアンプにつなぐケーブルが非常にジャマになって、「おしゃれ」じゃないです。 そこで USB-DAC + アンプ + スピーカ の機能を持つ、安価で評判の良い「 JBL Pebbles 」を使って、Orange Pi Zero を音楽サーバにすることにしました。USBのバスパワー で十分な音質と音量が得られます。
写真ではケーブルの結線が分かり難いですが、次の図のように単純です。ネットワークの代わりにゲームパッドでコントロールできるようにすることが、この記事の目標となります。
OrangePi Zero に Armbian をインストール
今回も Orange Pi 公式のOS ではなく、 コミュニティベースの OS である armbian を使います。 Orange Pi Zero 用の Armbian (Armbian_5.25_Orangepizero_Ubuntu_xenial_default_3.4.113.7z) をダウンロードしました。
7z 形式の展開には Mac用で RAR, 7z, Lzma, xz, Zip, Tar, Gzip, Bzip2, ISO, EXE, CAB, PAX というファイル形式が回答できる Keka を使いました。展開後のフォルダ内の Armbian_5.25_Orangepizero_Ubuntu_xenial_default_3.4.113.img がSDカードへ書き込むディスクイメージです。
SDカードへのイメージの書き込み
前回は dd コマンドを使って、SDカードにディスクイメージを書き込みましたが、 今回は Linux、Windows、MacOSX に対応した Etcher を使います。 Linux や MacOSX ではコンソールから dd、Windows では Win32 Disk Imager と環境によって書き込みソフトが異なりましたが、 Etcher ならばどの環境でも用意されていて、下のスクリーンショットのように使いやすくなっています。
Etcher は、ファイルイメージをSDカードやUSBメモリなどのメディアに書き込むオープンソースのツールで 2017/05/12 に バージョン 1.0.0 になりました。 Etcher は Electron で作成されています。 Electron は Node.js と Chrome (Chromium) を組み合わせたデスクトップアプリケーションの開発環境で、簡単にLinux、Windows、MacOSX に対応できるため最近よく使われています。ブラウザのすべての機能を含むアプリになるので配布するサイズが大きく (50MB〜) なるのが唯一の欠点です。
MacOS X 版を起動すると次の画面が表示されます。使い方は、ファイルを選択、書き込み先を指定、書き込みと順番にクリックするだけと簡単です。
Windows版を Windows10 で起動した画面です。
Linux版の画面も同じです。
イメージを書き込んだ後に、元のファイルと書き込まれたイメージを比較する検証 (validation) も自動的に実行されます。
終了すると、続けて同じイメージを書き込むか、別のイメージを使うかを聞かれます。 ここではメニューから「終了」するか、メニューから [x] して終了します。
SDカードで起動
Armbian のイメージを 最初の起動時には「ユーザ: root」、「パスワード: 1234」を使って ssh で接続しますが、 すぐにパスワードを変更するように求められます。その後、ユーザアカウントを作成します。
Last login: Thu May 11 12:14:30 2017 from 172.18.21.14
Changing password for root.
(current) UNIX password:
Enter new UNIX password:
Retype new UNIX password:
Thank you for choosing Armbian! Support: www.armbian.com
Creating a new user account. Press
<Ctrl-C> to abort
Please provide a username (eg. your forename): jun
Trying to add user jun
Adding user `jun' ...
Adding new group `jun' (1000) ...
Adding new user `jun' (1000) with group `jun' ...
Creating home directory `/home/jun' ...
Copying files from `/etc/skel' ...
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for jun
Enter the new value, or press ENTER for the default
Full Name []:
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n]
Dear jun, your account jun has been created and is sudo enabled.
Please use this account for your daily work from now on.
root@orangepizero:~#
この時点ではSDカードは書き込んだイメージのサイスになっています。
root@orangepizero:~# df Filesystem 1K-blocks Used Available Use% Mounted on udev 185192 0 185192 0% /dev tmpfs 50684 1776 48908 4% /run /dev/mmcblk0p1 1410044 1175960 205436 86% / tmpfs 253408 0 253408 0% /dev/shm tmpfs 5120 4 5116 1% /run/lock tmpfs 253408 0 253408 0% /sys/fs/cgroup tmpfs 253408 0 253408 0% /tmp log2ram 51200 808 50392 2% /var/log tmpfs 50684 0 50684 0% /run/user/0
再起動
再起動すると「OrangePi Zero」のロゴが表示されます。 今回は 16GB のSDカードを使いましたが、 ファイルシステムのサイズは 15GB まで自動で拡張されています。
JunnoMacBook-Pro:~ jun$ ssh -l jun 172.18.21.26 [email protected]'s password: ___ ____ _ _____ / _ \ _ __ __ _ _ __ __ _ ___ | _ \(_) |__ /___ _ __ ___ | | | | '__/ _` | '_ \ / _` |/ _ \ | |_) | | / // _ \ '__/ _ \ | |_| | | | (_| | | | | (_| | __/ | __/| | / /| __/ | | (_) | \___/|_| \__,_|_| |_|\__, |\___| |_| |_| /____\___|_| \___/ |___/ Welcome to ARMBIAN 5.25 stable Ubuntu 16.04.1 LTS 3.4.113-sun8i System load: 0.00 Up time: 14 min Memory usage: 6 % of 494Mb IP: 172.18.21.26 CPU temp: 49°C Usage of /: 8% of 15G [ 5 updates to install: apt-get upgrade ] To run a command as administrator (user "root"), use "sudo <command>". See "man sudo_root" for details. jun@orangepizero:~$ df Filesystem 1K-blocks Used Available Use% Mounted on udev 185192 0 185192 0% /dev tmpfs 50684 1148 49536 3% /run /dev/mmcblk0p1 15092516 1177380 13747612 8% / tmpfs 253408 0 253408 0% /dev/shm tmpfs 5120 4 5116 1% /run/lock tmpfs 253408 0 253408 0% /sys/fs/cgroup tmpfs 253408 0 253408 0% /tmp log2ram 51200 976 50224 2% /var/log tmpfs 50684 0 50684 0% /run/user/1000
mpd、mpc、samba、apache2 をインストール
音楽を OrangePi Zero に接続した USBスピーカ (JBL Pebbles) に流すためのサーバプログラムとして「mpd」、mpd をコマンドラインから操作するためのコマンドとして「mpc」、音楽ファイルを PC から OrangePi Zero に転送するために「samba」、iPhone や Android、iPad などのブラウザから操作するために「apache2」をインストールします。
jun@orangepizero:~$ sudo apt-get install samba mpd mpc apache2 [sudo] password for jun: Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will installed: apache2-bin apache2-data apache2-utils fontconfig-config fonts-dejavu-core libadplug-2.2.1-0v5 libao-common libao4 libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libasyncns0 libaudiofile1 libavahi-client3 libavahi-common-data libavahi-common3 libavcodec-ffmpeg56 libavformat-ffmpeg56 libavutil-ffmpeg54 libbinio1v5 libbluray1 libcdio-cdda1 libcdio-paranoia1 libcdio13 libcups2 libfaad2 libfile-copy-recursive-perl libflac8 libfluidsynth1 libfontconfig1 libfreetype6 libgme0 libgsm1 libid3tag0 libiso9660-8 libldb1 liblua5.1-0 libmad0 libmikmod3 libmms0 libmodplug1 libmp3lame0 libmpcdec6 libmpdclient2 libmpg123-0 libnfs8 libogg0 libopenal-data libopenal1 libopenjpeg5 libopus0 liborc-0.4-0 libpulse0 libpython2.7 libresid-builder0c2a libroar2 libschroedinger-1.0-0 libsdl1.2debian libshine3 libshout3 libsidplay2v5 libsidutils0 libsmbclient libsnappy1v5 libsndfile1 libsoxr0 libspeex1 libspeexdsp1 libssh-gcrypt-4 libswresample-ffmpeg1 libtalloc2 libtdb1 libtevent0 libtheora0 libtwolame0 libupnp6 libva1 libvorbis0a libvorbisenc2 libvorbisfile3 libvpx3 libwavpack1 libwbclient0 libwebp5 libwildmidi-config libwildmidi1 libx11-6 libx11-data libx264-148 libx265-79 libxau6 libxcb1 libxdmcp6 libxext6 libxvidcore4 libyajl2 libzvbi-common libzvbi0 libzzip-0-13 python-crypto python-dnspython python-ldb python-samba python-talloc python-tdb samba-common samba-common-bin samba-libs tdb-tools update-inetd Suggested packages: www-browser apache2-doc apache2-suexec-pristine | apache2-suexec-custom ufw adplug-utils libaudio2 libesd0 | libesd-alsa0 libbluray-bdj cups-common opus-tools pulseaudio libroar-plugins-universal roaraudio-server pinentry libmuroar0 slpd socat speex avahi-daemon icecast2 python-crypto-dbg python-crypto-doc bind9 bind9utils ctdb ldb-tools smbldap-tools winbind heimdal-clients Recommended packages: ssl-cert libaacs0 va-driver-all | va-driver freepats attr samba-dsdb-modules samba-vfs-modules The following NEW packages will be installed: apache2 apache2-bin apache2-data apache2-utils fontconfig-config fonts-dejavu-core libadplug-2.2.1-0v5 libao-common libao4 libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap libasyncns0 libaudiofile1 libavahi-client3 libavahi-common-data libavahi-common3 libavcodec-ffmpeg56 libavformat-ffmpeg56 libavutil-ffmpeg54 libbinio1v5 libbluray1 libcdio-cdda1 libcdio-paranoia1 libcdio13 libcups2 libfaad2 libfile-copy-recursive-perl libflac8 libfluidsynth1 libfontconfig1 libfreetype6 libgme0 libgsm1 libid3tag0 libiso9660-8 libldb1 liblua5.1-0 libmad0 libmikmod3 libmms0 libmodplug1 libmp3lame0 libmpcdec6 libmpdclient2 libmpg123-0 libnfs8 libogg0 libopenal-data libopenal1 libopenjpeg5 libopus0 liborc-0.4-0 libpulse0 libpython2.7 libresid-builder0c2a libroar2 libschroedinger-1.0-0 libsdl1.2debian libshine3 libshout3 libsidplay2v5 libsidutils0 libsmbclient libsnappy1v5 libsndfile1 libsoxr0 libspeex1 libspeexdsp1 libssh-gcrypt-4 libswresample-ffmpeg1 libtalloc2 libtdb1 libtevent0 libtheora0 libtwolame0 libupnp6 libva1 libvorbis0a libvorbisenc2 libvorbisfile3 libvpx3 libwavpack1 libwbclient0 libwebp5 libwildmidi-config libwildmidi1 libx11-6 libx11-data libx264-148 libx265-79 libxau6 libxcb1 libxdmcp6 libxext6 libxvidcore4 libyajl2 libzvbi-common libzvbi0 libzzip-0-13 mpc mpd python-crypto python-dnspython python-ldb python-samba python-talloc python-tdb samba samba-common samba-common-bin samba-libs tdb-tools update-inetd 0 upgraded, 115 newly installed, 0 to remove and 0 not upgraded. Need to get 24.1 MB of archives. After this operation, 82.6 MB of additional disk space will be used. Do you want to continue? [Y/n] y
samba の設定
OrangePi Zeroをファイルサーバとして、音楽ファイルを PC から転送するために「samba」を使います。
設定ファイルの編集
/etc/samba/smb.conf を編集して、OrangePi Zero のホームディレクトリをPCからアクセスできるようにします。
jun@orangepizero:~$ sudo vi /etc/samba/smb.conf
samba の設定ファイルの修正した部分を示します。 青字は行番号で、赤い字が行頭の「#」を削除して修正舌部分です。
188 #======================= Share Definitions ======================= 189 190 # Un-comment the following (and tweak the other settings below to suit) 191 # to enable the default home directory shares. This will share each 192 # user's home directory as \\server\username 193 [homes] 194 comment = Home Directories 195 browseable = no 196 197 # By default, the home directories are exported read-only. Change the 198 # next parameter to 'no' if you want to be able to write to them. 199 read only = no 200 201 # File creation mask is set to 0700 for security reasons. If you want to 202 # create files with group=rw permissions, set next parameter to 0775. 203 create mask = 0775 204 205 # Directory creation mask is set to 0700 for security reasons. If you want t o 206 # create dirs. with group=rw permissions, set next parameter to 0775. 207 directory mask = 0775 208 209 # By default, \\server\username shares can be connected to by anyone 210 # with access to the samba server. 211 # Un-comment the following parameter to make sure that only "username" 212 # can connect to \\server\username 213 # This might need tweaking when using external authentication schemes 214 valid users = %S
samba用のパスワードの設定
samba用のユーザを追加し、パスワードを設定します。PCからアクセスする場合のユーザ ID とパスワードになります。
jun@orangepizero:~$ sudo smbpasswd -a ユーザ名 New SMB password: パスワード Retype new SMB password: パスワード Added user jun.
samba の再起動
samba をリスタートして設定を有効にします。
jun@orangepizero:~$ sudo service smbd restart jun@orangepizero:~$ sudo service nmbd restart
alsa の設定
Linux のサウンド関連のコンポーネントである alsa (Advanced Linux Sound Architecture) で JBL Pebbles をサウンドの出力先に指定します。
Pebbles をデフォルトに設定するため、/usr/share/alsa/alsa.conf の 68 行目と69行目の「0」を「Pebbles」に変更します。
defaults.ctl.card Pebbles defaults.pcm.card Pebbles
mpd の設定と mpc の使い方
音楽ファイルとプレイリスト用のディレクトリを作成します。 samba 経由でPCからファイルを転送できるようにユーザのホームディレクトリ以下に mpdというディレクトリを作成し、その下に music と playlists というディレクトリを作ります。 mpd デーモンが読み書きするため、mpd 以下のディレクトリのパーミッションは 777 としておきます。
jun@orangepizero:~$ mkdir mpd jun@orangepizero:~$ cd mpd jun@orangepizero:~/mpd$ mkdir music jun@orangepizero:~/mpd$ mkdir playlists jun@orangepizero:~/mpd$ cd jun@orangepizero:~$ chmod -R 777 mpd
mpd の設定ファイルである /etc/mpd.conf をコピーしてオリジナルを保存しておきます。
jun@orangepizero:~$ sudo cp /etc/mpd.conf /etc/mpd.conf.orig
元の mpd.conf は500行ほどのサイズですが、コメントを除いて修正した以下の内容としました。最初の 2 行は私のホームディレクトリ ( /home/jun ) 以下のディレクトリを指定しているので、ユーザアカウントに合わせて修正して下さい。
music_directory "/home/jun/mpd/music" playlist_directory "/home/jun/mpd/playlists" db_file "/var/lib/mpd/tag_cache" log_file "/var/log/mpd/mpd.log" pid_file "/run/mpd/pid" state_file "/var/lib/mpd/state" sticker_file "/var/lib/mpd/sticker.sql" user "mpd" bind_to_address "0.0.0.0" port "6600" auto_update "yes" input { plugin "curl" } audio_output { type "alsa" name "My ALSA Device" } filesystem_charset "UTF-8" id3v1_encoding "UTF-8"
mpc による演奏テスト
mpd はクライアントプログラムとして、 mpc コマンドを実行することでコマンドラインからコントロールできます。 音楽ファイルを $HOME/mpd/music 以下に置いて、「mpc update」 を実行して 音楽ファイルをmpd に登録します。
jun@orangepizero:~$ mpc update Updating DB (#1) ... volume: n/a repeat: off random: off single: off consume: off
テストとして、すべてのファイルをプレイリスト(キュー)に登録します。 「mpc ls」で音楽ファイルの一覧を取得して、それを「mpc add」に与えてプレイリストにします。
jun@orangepizero:~$ mpc ls |mpc add
演奏開始
プレイリスト(キュー)に登録されている曲を演奏。
jun@orangepizero:~$ mpc play
一時停止と再開
pause は曲の途中で一時停止。
jun@orangepizero:~$ mpc pause jun@orangepizero:~$ mpc play
演奏終了
演奏を終了する。
jun@orangepizero:~$ mpc stop
演奏順をランダムに
jun@orangepizero:~$ mpc random on
音量を変更
jun@orangepizero:~$ mpc volume +10 jun@orangepizero:~$ mpc volume -10
プレイリストを消去
演奏中のプレイリスト(キュー)を消去します。
jun@orangepizero:~$ mpc clear
プレイリストを作成して保存
指定ディレクトリ以下 (ここの例は jazz/vocal 以下) のファイルをプレイリストに登録し、A.m3uというプレイリストに保存。 まずキューを消去して、mpc ls jazz/vocal |mpc add でキューに曲を追加、mpc save A で A.m3u というプレイリストを保存します。
jun@orangepizero:~$ mpc clear jun@orangepizero:~$ mpc ls jazz/vocal |mpc add jun@orangepizero:~$ mpc save A
保存済みのプレイリストをキューに追加
jun@orangepizero:~$ mpc load A
ゲームパッドでコントロール
USBで接続するゲームパッドを使って Raspberry Pi でコマンドを実行する話題を 2年前 と 先月 に記事にしました。 Orange Pi Zero ではディスプレイを接続できないので、USBゲームパッドで mpd を制御するためのコマンドを実行できると便利です。 Raspberry Pi でゲームパッドを使うプログラムをちょっと改造して mpc を使って、演奏の開始と停止、音量の調整、プレイリストの選択、Orange Pi Zero のシャットダウンを行うプログラムを作成します。 2年前 と 先月 の記事で使っている言語は Luajit ですが、Orange Pi Zero でも簡単にインストールできます。
luajit のインストール
Luajit は Lua という言語を高速に実行できる JIT(Just In Time) コンパイラです。 Raspbianには最初から使えるようになっていますが、Armbian ではデフォルトでインストールされていないので、インストールする必要があります。「sudo apt-get install luajit」を実行するだけなので簡単です。 私は文法的な雰囲気から JavaScript が C ならば、Lua は Pascal に相当すると思っています。
jun@orangepizero:~$ sudo apt-get install luajit
[sudo] password for jun:
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
libluajit-5.1-common
The following NEW packages will be installed:
libluajit-5.1-common luajit
0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Need to get 209 kB of archives.
After this operation, 455 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
luajit のバージョンの確認
jun@orangepizero:~$ luajit -v LuaJIT 2.0.4 -- Copyright (C) 2005-2015 Mike Pall. https://luajit.org/
ゲームパッド用プログラムのインストール
jsmpd.tar.gz (3KB) をダウンロードして解凍、「cd jsmpd ; sudo ./install.sh」を実行するだけです。
jun@orangepizero:~$ tar ztvvf jsmpd.tar.gz drwxr-xr-x jun/jun 0 2017-05-16 08:51 jsmpd/ -rw-r--r-- jun/jun 102 2017-04-03 03:25 jsmpd/70-jscom.rules -rw-r--r-- jun/jun 258 2017-04-03 03:26 jsmpd/jscom.service -rwxr-xr-x jun/jun 9836 2017-05-16 08:51 jsmpd/jsCommand.lua -rwxr-xr-x jun/jun 157 2017-05-14 05:56 jsmpd/install.sh
jun@orangepizero:~$ tar ztvvf jsmpd.tar.gz jun@orangepizero:~$ cd jsmpd/ jun@orangepizero:~/jsmpd$ sudo ./install.sh
ゲームパッドを接続して、dmesg で認識されているか確認。
$ dmesg
[ 5683.173939] ehci_irq: highspeed device connect
[ 5683.320436] ehci_irq: highspeed device disconnect
[ 5683.320474] ohci_irq: fullspeed or lowspeed device connect
[ 5683.740169] usb 6-1: new low-speed USB device number 2 using sunxi-ohci
[ 5683.988790] generic-usb 0003:0583:2060.0002: input,hidraw1: USB HID v1.10 Joystick [USB,2-axis 8-button gamepad ] on usb-sunxi-ohci-1/input0
$ ps ax
3561 ? Ss 0:00 /usr/bin/luajit /usr/local/bin/jsCommand.lua -c &
jsCommand.lua の変更部分
前回の記事 を mpc コマンドを使うように修正しています。ボタンを押す順序と対応するコマンドを登録している部分の変更だけです。
-- A, B, X, Y, L, R, Start, sElect, up, down, left, right addCommand("ESESESES", "quit") addCommand("lrlrBA", "/sbin/shutdown -h now") addCommand("lrlrES", "/sbin/reboot") addCommand("EA", "/usr/bin/mpc load A") addCommand("EB", "/usr/bin/mpc load B") addCommand("EX", "/usr/bin/mpc load X") addCommand("EY", "/usr/bin/mpc load Y") addCommand("ER", "/usr/bin/mpc load R") addCommand("EL", "/usr/bin/mpc load L") addCommand("Eu", "/usr/bin/mpc load U") addCommand("Ed", "/usr/bin/mpc load D") addCommand("Er", "/usr/bin/mpc load R2") addCommand("El", "/usr/bin/mpc load L2") addCommand("EE", "/usr/bin/mpc clear") addCommand("SS", "/usr/bin/mpc play") addCommand("SA", "/usr/bin/mpc pause") addCommand("SB", "/usr/bin/mpc stop") addCommand("uu", "/usr/bin/mpc volume +5") addCommand("dd", "/usr/bin/mpc volume -5") addCommand("Su", "/usr/bin/mpc volume 40") addCommand("Sd", "/usr/bin/mpc volume 10") addCommand("SE", "/usr/bin/mpc shuffle") addCommand("ll", "/usr/bin/mpc prev") addCommand("rr", "/usr/bin/mpc next") addCommand("ABYX", "/usr/bin/aplay /usr/share/sounds/alsa/Front_Center.wav")
ゲームパッドの操作方法
以上の修正で使えるようになるコマンドは次のようになります。方向キー (上下右左) と (A)、(B)、(X)、(Y)、(L)、(R) ボタンと [select]、[start] ボタンを押す順序の組み合わせで、mpd のいろいろな機能を使うようにしています。普通のステレオ・コンポで使う機能は実現できていると思います。 ボタンを押した履歴は、1秒間ボタンを押さないとリセットされます。ボタンを押した順序が不安な場合には 1秒待てば最初から始められます。
ゲームパッドだけでプレイリストを選択するために、A、B、X、Y、R、L、U、D、R2、L2という10種類の固定した名前のプレイリストファイル (m3u) を使います。 [select] [ボタン] でプレイリストをロードして演奏中のキューに追加できます。 プレイリストを切り替えるには [select] [select] で演奏中のキューをクリアして、[select] [ボタン] でロードします。
ボタン順 | 機能 |
---|---|
[select] (A) | プレイリスト A (A.m3u) をキューに追加 |
[select] (B) | プレイリスト B (B.m3u) をキューに追加 |
[select] (X) | プレイリスト X (X.m3u) をキューに追加 |
[select] (Y) | プレイリスト Y (Y.m3u) をキューに追加 |
[select] (R) | プレイリスト R (R.m3u) をキューに追加 |
[select] (L) | プレイリスト L (L.m3u) をキューに追加 |
[select] 上 | プレイリスト U (U.m3u) をキューに追加 |
[select] 下 | プレイリスト D (D.m3u) をキューに追加 |
[select] 右 | プレイリスト R2 (R2.m3u) をキューに追加 |
[select] 左 | プレイリスト L2 (L2.m3u) をキューに追加 |
[select] [select] | 演奏中のキューのクリア |
[start] [start] | 演奏開始 |
[start] (A) | 演奏一時停止 |
[start] (B) | 演奏停止 |
上上 | 音量アップ 5% |
下下 | 音量ダウン 5% |
[start] 上 | 音量設定 40% |
[start] 下 | 音量設定 10% |
[start] [select] | キューの曲順をシャッフル |
左 左 | 前の曲に移動 |
右 右 | 次の曲に移動 |
(A) (B) (Y) (X) | スピーカのテスト「フロントセンター」と音声出力 |
左右左右(B) (A) | システムのシャットダウン |
左右左右[select] [start] | システムのリブート |
この写真の構成で10時間ほど モバイルバッテリー で使っていましたが、まだ 2/3 ぐらい残っている感じです。十分にアウトドアな使い方ができますね。CDラジカセで単2のアルカリ電池を6本を使い切る感じでしょうか。 USB電流電圧テスターでは5.2V、0.4A ぐらいの消費電力 (2W+) です。 Bluetoothでない無線2.4GHzのゲームパッド なら、ペアリングを気にすること無くさらに便利になりそうです (まだ買ってませんが)。