2014年3月30日日曜日

COWON D2:EXTケーブルを自作してみた。

EXT端子はLineOut端子になるか?

COWON D2にはLineOut端子が無い。
ググってみると動画をTV出力用にEXT端子がある。
EXT端子から専用ケーブルでTVのビデオ端子に接続するものだ。
もしかしたら、この音声出力がLineOutとして使えるのではないか?
で、早速チャレンジ!

参考にしたサイト
DIY RCA out and Line-In cable
Cowon D2 EXT plug pinout

購入した部材
USBケーブル(ミニUSB8ピン平型⇔USB Aタイプ)
【AP3.5-251GG-ST-5.0】3.5φステレオプラグ(金メッキ・スリムタイプ)

1.USBケーブルの分解
 ケーブルのUSB Aタイプ側は使用しないので、
 切り取ってピン配置とケーブルの色を確認する。
テスターで当たった結果
 1:赤、2:白、3:緑、4:黒、ケース:シールド
 になっていた。

2.配線の確認
 端子、USBケーブル、コード色、RCA端子との関係を纏めると
 次のようになる。

3.RCAピンの接続
 8ピン側から適当な長さでケーブルを切断してRCAピンを接続する。
 使用するコードは赤、白、緑です。
 RCAピン側は上からL、R、Gなので対応させてハンダ付けした。
2014.4.5変更

写真ではよくわからないですね(^_^;)

4.音出し確認
 EXT端子、ケーブル、ポタアンを接続してスイッチオン!
 バッチリです。


5.結果
 LineOut端子であればボリュームを絞っても音量は変わらないはず。
 しか~~~し、本体ボリュームを絞ると途中からグンと下がり始め、
 絞り切ると出なくなりました。
 ありゃりゃ~、ボリューム回路をジャンプできてないじゃん!!
 ガッカリ(T_T)

 折角作ったのだから使ってみます。。。

2014.4.5:定位がハッキリしました。いい感じです。
2014.4.21:音がちょっと不自然な感じがします。

2014年3月18日火曜日

piCorePlayer:標準的なインストールを試みる

Webインタフェースを使ったインストール

前回はコンソールメニューを使ってインストールした。
しかし、最近のアップデートを見るとWebUIを強化しているようだ。
ということで、WebUIを使って標準的なインストールをしてみた。

piCorePlayerを起動するところまでは同じ。
1.SDカードに「Win32Diskimager」で書き込みブートする。
2.DHCPサーバの状況を確認しIPアドレスを確認する。

ここからが、今回の試みです。
3.WebブラウザからWebUIに接続する。
http://192.168.1.112:8077
※ポート番号8077が重要です。


4.「Squeezelite settings」メニューから各設定を行う。
4.1.アウトプットの設定
USB DACを使用するので「USB audio」を選択して、「Submit」する。
再度表示すると先頭の赤文字の行が「Analog out」から「USB out」に変更されている。

4.2.ALSAデバイスを確認する。
「List avaiable ALSA devices」をクリックする。
認識しているALSAデバイスが一覧表示される。
選択している行が今回指定するデバイスです。
この行の左側の内容をコピーします。

4.3.Squeezeliteを設定する。
初期値は次のようになっています。
Output settingsは4.2項でコピーした内容をペーストします。
ALSA settingsはf sample formatを追加指定しました。
Max sample rateはUSB DACのマックス値を指定しました。
Upsample settingsは調整中です。
MAX addressは認識されているものが赤字で表示されているのでそのまま指定します。
以上を指定して、「Submit」します。
設定内容が再表示されるので、確認して「Restart」します。
設定内容のバックアップも取得されています。
再起動結果が表示されます。

5.設定内容の確認
「About」ページを表示すると、piCoreplayerのバージョンやSqueezeliteの設定が確認できます。

6.再起動して運用開始
「Main Page」から「Reboot」を選択して再起動します。
再起動後に、クライアントから接続して再生できることを確認して下さい。

以上のプロセスで無事再生できました。
標準インストール成功(^O^)v

2014年2月23日日曜日

piCorePlayer:「sample format」の「24」と「24_3」の違いについて

「24」と「24_3」の違い

インストールするとき、
「24」では音が出なかったので「24_3」にしたが、
その違いは何かが気になってググってみた。

1.何を示しているか
「24」:4バイト長の24ビットデータ(S24_LE)
「24_3」:3バイト長の24ビットデータ (S24_3LE)

2.どちらを指定するか
ハードウェアがどちらに対応しているかによる。

3.確認方法
ALSA周りの情報で判別できるようです。
tc@piCorePlayer:/proc/asound$ ls -l
total 0
lrwxrwxrwx    1 root     root             5 Feb 22 11:53 ALSA -> card0/
lrwxrwxrwx    1 root     root             5 Feb 22 11:53 DA90 -> card1/
dr-xr-xr-x    3 root     root             0 Feb 22 11:53 card0/
dr-xr-xr-x    5 root     root             0 Feb 22 11:53 card1/
dr-xr-xr-x    3 root     root             0 Feb 22 11:53 card2/
-r--r--r--    1 root     root             0 Feb 22 11:53 cards
-r--r--r--    1 root     root             0 Feb 22 11:53 devices
-r--r--r--    1 root     root             0 Feb 22 11:53 hwdep
-r--r--r--    1 root     root             0 Feb 22 11:53 modules
dr-xr-xr-x    2 root     root             0 Feb 22 11:53 oss/
-r--r--r--    1 root     root             0 Feb 22 11:53 pcm
dr-xr-xr-x    2 root     root             0 Feb 22 11:53 seq/
lrwxrwxrwx    1 root     root             5 Feb 22 11:53 sndrpihifiberry -> card2/
-r--r--r--    1 root     root             0 Feb 22 11:53 timers
-r--r--r--    1 root     root             0 Feb 22 11:53 version

DA90に対応するのがcard1と分かります。

tc@piCorePlayer:/proc/asound/card1$ ls
id        pcm0p/    stream0   usbbus    usbmixer
pcm0c/    pcm1p/    stream1   usbid

この中の「stream0」に情報があります。

tc@piCorePlayer:/proc/asound/card1$ cat stream0
DKL Audio DKL Audio USB DAC DA-90 at usb-bcm2708_usb-1.2, full speed : USB Audio

Playback:
  Status: Running
    Interface = 3
    Altset = 1
    Packet Size = 243
    Momentary freq = 48000 Hz (0x30.0000)
  Interface 3
    Altset 1
    Format: S16_LE
    Channels: 2
    Endpoint: 3 OUT (ADAPTIVE)
    Rates: 8000, 16000, 32000, 44100, 48000, 96000
  Interface 3
    Altset 2
    Format: S24_3LE
    Channels: 2
    Endpoint: 3 OUT (ADAPTIVE)
    Rates: 8000, 16000, 32000, 44100, 48000, 96000

Capture:
  Status: Stop
  Interface 2
    Altset 1
    Format: S16_LE
    Channels: 2
    Endpoint: 2 IN (ADAPTIVE)
    Rates: 8000, 16000, 32000, 44100, 48000, 96000
  Interface 2
    Altset 2
    Format: S24_3LE
    Channels: 2
    Endpoint: 2 IN (ADAPTIVE)
    Rates: 8000, 16000, 32000, 44100, 48000, 96000

「Format」と「Rates」から
Format:S16_LE(16),S24_3LE(24_3)
Rates:8000, 16000, 32000, 44100, 48000, 96000
に対応していることが分かります。
ありゃりゃ~、88.2kHzには対応してない。。。(T_T)

2014年2月16日日曜日

piCorePlayer:IPアドレスを固定する

サーバのIPアドレスは固定したい

piCorePlayerはDHCPでIPアドレスを取得している。

<変更前の状況>
tc@piCorePlayer:~$ ifconfig
eth0      Link encap:Ethernet  HWaddr B8:27:EB:A0:C2:79
          inet addr:192.168.1.111  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:225 errors:0 dropped:0 overruns:0 frame:0
          TX packets:169 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:18806 (18.3 KiB)  TX bytes:27535 (26.8 KiB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:96 errors:0 dropped:0 overruns:0 frame:0
          TX packets:96 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:8424 (8.2 KiB)  TX bytes:8424 (8.2 KiB)

サーバのアドレスが変わると気持ちよくないので固定したい。
Debian系のLinuxであれば「/etc/network/interfaces」で設定するが、
ここで使われているLinuxはTiny Core Linuxというモノでちょっと勝手が違うようだ。

色々調べて、どうにかできたので纏めておきます。
(参考にしたサイトはここここです。ありがとうございます。)

1.初期設定環境の確認
piCorePlayerを初期設定するスクリプトは/optに置かれているようです。

tc@piCorePlayer:~$ cd /opt
tc@piCorePlayer:/opt$ ls -a
./              .filetool.lst   bootlocal.sh    shutdown.sh
../             .xfiletool.lst  bootsync.sh     tcemirror

bootsync.sh:ブート時に起動されるスクリプトが記述されている
.filetool.lst:SDカードに記憶させるファイルが記述されている

2.IPアドレスを設定するスクリプトを作成
固定アドレスを設定するための「eth0.sh」なるスクリプトを作成する。

tc@piCorePlayer:/opt$ vi eth0.sh

#!/bin/sh
pkill udhcpc
ifconfig eth0 192.168.1.41 netmask 255.255.255.0 broadcast 192.168.1.255 up
route add default gw 192.168.1.1
echo nameserver 192.168.1.1 > /etc/resolv.conf

3.実行権限の付与
「eth0.sh」のモードを変更する。

tc@piCorePlayer:/opt$ chmod +x eth0.sh

tc@piCorePlayer:/opt$ ls -l
total 20
-rwxrwxr-x    1 tc       staff          530 Feb 15 03:31 bootlocal.sh
-rwxr-xr-x    1 root     staff          281 Feb  4 18:51 bootsync.sh
-rwxr-xr-x    1 tc       staff          179 Feb 15 04:31 eth0.sh
-rwxrwxr-x    1 root     staff          613 Jan 20 07:24 shutdown.sh
-rw-rw-r--    1 root     staff           31 Jan 20 07:24 tcemirror

4.ブート時に実行されるようにする
「bootsync.sh」に「eth0.sh」を設定する。

tc@piCorePlayer:/opt$ sudo vi bootsync.sh

#!/bin/sh
# put other system startup commands here, the boot process will wait until they complete.
# Use bootlocal.sh for system startup commands that can run in the background
# and therefore not slow down the boot process.
/usr/bin/sethostname piCorePlayer
/opt/bootlocal.sh &
/opt/eth0.sh &

5.SDカードに保存されるようにする
「.filetool.lst」に「etho.sh」を設定する。

tc@piCorePlayer:/opt$ vi .filetool.lst

opt
home
 ・・・
usr/local/sbin/updates_sql.sh
usr/local/sbin/upsample.sh
usr/local/sbin/wifi_picoreplayer.sh
opt/eth0.sh

6.SDカードに書き戻す
「filetool.sh」を実行する。

tc@piCorePlayer:/opt$ sudo filetool.sh -b
Backing up files to /mnt/mmcblk0p2/tce/mydata.tgz

7.リブート
リブートして確認します。

tc@piCorePlayer:~$ sudo reboot

<変更後の状況>
tc@piCorePlayer:~$ 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:117 errors:0 dropped:0 overruns:0 frame:0
          TX packets:84 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:9832 (9.6 KiB)  TX bytes:10066 (9.8 KiB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  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)

tc@piCorePlayer:~$ cat /etc/resolv.conf
nameserver 192.168.1.1

以上、バッチリできました。

2022/02/08:追記
今現在はBetaタブのメニューから簡単に設定できるようになっている(^^)v

2014年2月15日土曜日

piCorePlayer:インストール

電源ブッチン切りでも大丈夫!

つい先日Volumioにしたが、どうも調子が悪い。
ということで、piCorePlayerに移行しちゃった^^;

これは、mpdではなくSqueezeliteがプレーヤーです。
また、ブート後はSDカードにはアクセスせず
全てRAMで実行され、SDカードを壊すことはありません。
そのため、電源ブッチン切りの運用にピッタリです。

インストールは「How-to」に従って進めます。

1.SDカードにpiCorePlayerをセットする
imgをダウンロードして「Win32DiskImager」でコピーするだけ。

2.piCorePlayerを起動する
SDカードを突っ込んで電源ON!だけ。

3.SHH接続
piCorePlayerはDHCPでブートするので、
IPアドレスはルーターのDHCP設定画面で調べました。
ユーザID、パスワードは「How-to」に記載されています。
無事、ログインできました。

4.セットアップメニューの起動
各種設定はセットアップメニューの「picoreplayer」から行います。

4-1)HDMIを無効にする
HDMIは使用しないので無効にします。

4
Disable HDMI output - (a reboot is needed)
now trying to mount it
Backing up files to /mnt/mmcblk0p2/tce/mydata.tgz1)  Download and update Squeezelite Player

4-2)USB-DACのALSAデバイスの確認
音声出力デバイスのUSB-DACがALSAがどのように認識しているかを確認します。

5
Press ENTER to get a list of available ALSA device, please insert USB-DAc first if you want to use it
Output devices:
  null                           - Discard all samples (playback) or generate zero samples (capture)
  sysdefault:CARD=ALSA           - bcm2835 ALSA, bcm2835 ALSA - Default Audio Device
  sysdefault:CARD=DA90           - DKL Audio USB DAC DA-90, USB Audio - Default Audio Device
  front:CARD=DA90,DEV=0          - DKL Audio USB DAC DA-90, USB Audio - Front speakers
  surround40:CARD=DA90,DEV=0     - DKL Audio USB DAC DA-90, USB Audio - 4.0 Surround output to Front and Rear speakers
  surround41:CARD=DA90,DEV=0     - DKL Audio USB DAC DA-90, USB Audio - 4.1 Surround output to Front, Rear and Subwoofer speakers
  surround50:CARD=DA90,DEV=0     - DKL Audio USB DAC DA-90, USB Audio - 5.0 Surround output to Front, Center and Rear speakers
  surround51:CARD=DA90,DEV=0     - DKL Audio USB DAC DA-90, USB Audio - 5.1 Surround output to Front, Center, Rear and Subwoofer speakers
  surround71:CARD=DA90,DEV=0     - DKL Audio USB DAC DA-90, USB Audio - 7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
  iec958:CARD=DA90,DEV=0         - DKL Audio USB DAC DA-90, USB Audio - IEC958 (S/PDIF) Digital Audio Output
  sysdefault:CARD=sndrpihifiberry - snd_rpi_hifiberry_dac,  - Default Audio Device

※次の設定に使用するので、SHH画面からテキストで保存しておくのが良い。

4-3)Squeezeliteのコマンドラインの編集
Squeezeliteのコマンドラインをサブメニューから指定します。

6
Change the settings for Squeezelite like name etc.
If using HDMI or analog be please keep the alsa settings
Change Squeezelite Settings

1)  Change Player name (Current name is: piCorePlayer)
2)  Change Output setting (Current setting is: )
3)  Change ALSA setting (Current setting is: 80:4::)
4)  Change MAC adress (Current adress is: )
5)  Change Max sample rate (Current setting is: )

6)  Change Buffer Size (Current setting is: )
7)  Change Codec (Current Codec restriction is: )
8)  Change Server (Current Server is: )
9)  Change Priority level (Current Priority level is: )
11) Change Upsample settings (Current Upsample setting is: )

12) Make a backup of your Changes
13) Return to MAIN menu

4-3-1)ALSAの出力デバイスの指定
2)項で確認したデバイスを指定します。

2
OUTPUT
Change Output settings (Current setting is: )
- to keep current press ENTER.
- to remove all Output settings, write x and ENTER
- to change settings write the new here (without '-o'):sysdefault:CARD=DA90
Output settings is now: "sysdefault:CARD=DA90"

※当初、「front:CARD=DA90,DEV=0」を選択して、プチプチノイズが発生して悩みました。

4-3-2)ALSAのバッファ等の指定
0.1sのバッファを4つと24ビットのサンプリングを指定しました。

3
ALSA
Change ALSA settings (Current setting is: 80:4::)
- to keep current press ENTER:
- to remove all ALSA settings, write x and ENTER
- to change settings write the new here (without '-a'): 100:4:24_3
ALSA setting is now: "100:4:24_3"

※当初、「24」を指定したのですが、音が出ませんでした。
 指定しなければ入力された情報に合わせて出力されるのでそれでも良いのですが、
 DACが24ビット対応なので。。。^^;

4-3-3)MACアドレスの指定
LMSサーバがクライアントを認識するために必要な情報でしょう。

4
MAC
Your physical MAC adress is:
B8:27:EB:A0:C2:79

Change MAC adress? (Current used MAC adress is: )
- to keep current press ENTER.
- to remove all MAC settings, write x and ENTER
- to change settings write the new here (without '-m'):b8:27:eb:a0:c2:79
MAC adress is now: "b8:27:eb:a0:c2:79"

4-3-4)MAXビットレートの指定
DACのMAXビットレートが96kHzなので指定しておきます。

5
MAX RATE
Change Max sample rate (Current Max rate is: )
- to keep current press ENTER.
- to remove all Alsa settings, write x and ENTER
- to change max sample rate write the new level here (without '-r'):96000
Max sample rate is now set to: "96000"

4-3-5)設定の保存、終了
設定を保存して、メインメニューに戻ります。

12
Saving your changes
Backing up files to /mnt/mmcblk0p2/tce/mydata.tgz1)  Change Player name (Current name is: piCorePlayer)

13
1)  Download and update Squeezelite Player
2)  Use Audio from 3.5 jack, with default settings
3)  Enable HDMI audio output (a reboot is needed)
4)  Disable HDMI audio output (a reboot is needed)
5)  Get a get a list of available ALSA device. If you will use a USB-DAC please insert first
6)  Change Squeezelite settings - like name and other settings

7)  Restart Squeezelite with the new settings

8)  Setup wifi
9)  Reboot - If you need to
10) Make a backup of your changes
11) Disable Web-server (for Web-Gui)
12) Enable Web-server (Enabled by default for easy Web-Gui configuration - use IP-address:8077 (ie 192.128.1.12:8077)
13) Exit menu program

5.設定の保存
以上で設定完了です。リブートする前に設定を保存します。

10
make a backup to save additional changes
Backing up files to /mnt/mmcblk0p2/tce/mydata.tgz

6.リブート
一通り設定が終わったらリブートします。

9
Reboot
Do you wish to reboot? y/ny

7.クライアントから接続確認
android端末のSqueezeboxを起動して確認です。
ちゃんと、認識しました。
再生もできることが確認できました。

8.Web-UIの確認
Webブラウザ経由の設定画面も提供されているようです。
IPアドレス:8077に接続します。
※リソースがもったいないので、「picoreplayer」メニューで停止しました。

11
Disable automatic start of Web-Server
Backing up files to /mnt/mmcblk0p2/tce/mydata.tgz

9.纏め
最後にポイントを纏めておきましょう。

1)「squeezelite」の設定
1)  Change Player name (Current name is: piCorePlayer)
2)  Change Output setting (Current setting is: sysdefault:CARD=DA90)
3)  Change ALSA setting (Current setting is: 100:4:24_3)
4)  Change MAC adress (Current adress is: b8:27:eb:a0:c2:79)
5)  Change Max sample rate (Current setting is: 96000)

6)  Change Buffer Size (Current setting is: )
7)  Change Codec (Current Codec restriction is: )
8)  Change Server (Current Server is: )
9)  Change Priority level (Current Priority level is: )
11) Change Upsample settings (Current Upsample setting is: )

12) Make a backup of your Changes
13) Return to MAIN menu

2)起動状態
tc@piCorePlayer:~$ ps ax | grep squeeze
 1754 root     /mnt/mmcblk0p2/tce/squeezelite-armv6hf -n piCorePlayer -o sysdefault:CARD=DA90 -a 100 4 24_3 -r 96000 -m b8 27 eb a0 c2 79
 2001 tc       grep squeeze

以上、初期インストール完了(^^)v