ラベル Squeezelite の投稿を表示しています。 すべての投稿を表示
ラベル Squeezelite の投稿を表示しています。 すべての投稿を表示

2016年11月15日火曜日

piCorePlayer:HiFiBerry Digi+の出力レベルの調整ができないことへの対策

LMSの設定で回避したよ。

alsamixerでDigi+の出力調整ができないので、
Google先生に色々聞いてみたがどうもどうしようもないようだ。。。
ソフト側で調整するしかないかな。

LMSの「プレーヤー」設定の中に「VolumeLock player settings」がある。
今までは、ここで100%のボリュームで固定していた。
LMSの設定は「今のボリュームで固定」になっている
クライアントはこんな感じで100%から動かせない

この設定を一度フリーにして調整する。
LMSの設定を「全域のボリューム調整可能」に変更する
聞いてみて88%位が良い感じでした

再度ボリュームを固定にしする
また固定するよ

これでとりあえずレベル調整できました。
音質的にはどうなんでしょうか?
あまり変な感じはないようですが。。。^^;





2016年11月6日日曜日

piCorePlayer:DDCをHiFiBerry Digi+に変更

USB-DDCのDA-90からHiFiBerry Digi+に変更したよ。

まず、HiFiBerryの組込です。
GIPOのピンをソケットに突っ込み、付属のスペーサーで固定するだけ。
とっても簡単でした♪
GPIO側
出力コネクタ側

HAT(Hardware Attached on Top)仕様なので一体型になってとってもいいね。

次はケースの改造です。
2段になってケースに収まらなくなりました^^;
なので、1ブロック分高さを増しました。LEGOなので簡単!!

早速、システムへ組込みました。
USB‐DACのDA-90を取り出し、
同軸ケーブルと電源ケーブルをDigi+に差し替えるだけです。
スッキリ!

そして、piCorePlayerの設定変更です。
1.Audio output
 「I2S audio:HiFiBerry Digi+」が用意されているので選択するだけです。
2.Output setting
 「hw:CAD=sndrpihifiberry」が表示されるのでそのまま使いました。
3.ALSA setting
 buffer timeは100msにしました。(いつもの設定)
 period countは4にしました。(いつもの設定)
 sample formatは省略しました。DA-90の時は「24_3」をサポートしていましたが、
 Digi+は24,24_3,32のいずれも音が出ませんでした(T_T)
 入力のビット数を変更することはできないな。。。

接続図はこんな感じになりました。
DA-90がもったいない。。。

システム全体の写真です。
パッと見ただけでは変わらない^^;

さて、元気良く鳴っているが何か変わっただろうか?
よくわからないなぁ~^^;

2016年5月26日木曜日

piCorePlayer:DEQ2496のサンプリングレートが48kHzになってるぞ。。。???

piCorePlayerでサンプリングレートが変わってる???

先日導入したDEQ2496機能が豊富で使い方がよく分からない。
でも、一点だけ???な点を見つけた。
「I/Oメニュー」で表示されるサンプリングレートが「48.0kHz」になっているのだ。

接続は
NAS[LAN] → piCorePlayer[USB] → DDC(DA-90)[同軸] → DEQ2496
になっていてソースは「44.1kHz」のFLACを再生している。
なのでDEQ2496では「44.1kHz」と表示される予定である。

DA-90は、今までDACとして使用していたが同軸側は並行して出力されるので、
DDCとして使用するには、接続をRCAから同軸に変更するだけなので、
きっとpiCorePlayer側の設定ミスと思われる。
ということで、piCorePlayerのsqueezeliteの設定を見直してみる。

設定と言っても、影響がありそうで指定しているのは
Output settings:[sysdefault:CARD=DA90]
ALSA settings:[100:4:24_3]
の2ケ所だけ。
ただ、ALSA settingsはバッファサイズと量子化ビット数を指定しているだけなので、
関係ないだろう。

<Output settingsを考える>

有効な出力デバイスはpiCorePlayerがリストアップしてくれるので、
その中から選択してコピペするだけ。
リストアップされた内容は
おや~?、一番最後に気になる行がある。
[iec958:CARD=DA90,DEV=0]

「iec958」をgoogle先生に聞いてみると「S/PDIF」のことのようだ。
今までDACとして使用してきたから[sysdefault:CARD=DA90]だったけど、
DDCとして使用するには「iec958:CARD=DA90,DEV=0」を指定ないとならないのかも。
で、これを指定して再起動してみた。
やったね~、「44.1kHz」で認識された!!

DDCとして使うには出力デバイスを変更する必要があったんだ。

ついでにアップサンプリングも試してみた。
Max sample rate:[96000]
Upsample setting:[vLX]
バッチリ「96.0kHz」と表示された。

問題解決!あ~~スッキリした(^^)v



2016年1月23日土曜日

piCorePlayer:バージョン 2.00にメジャーバージョンアップ!

2016/1/14 piCorePlayerがversion 2.00にメジャーバージョンアップしたよ

ちょっと気になることがあってホームページを見てみると、
メジャーバージョンアップの記事が掲載されてました。
主なポイントとして、
・1つのpiCorePlayerのバージョンで全てのraspberry piに対応した。
・Shairport-syncなる機能がサポートされた。
・JiveliteのpiCorePlayerメニューアプレットが提供された。
ということらしい。
何はともあれ、1.21gから2.00へバージョンしてみよう!

1.メインメニューからバージョンアップする
「Update pCP」を選択する

バージョンを指定する

指定したバージョンの更新準備が実行される

バージョンアップの実行
あちゃ~、エラーになってしまった。。。

1.21gにした時は何も問題なかったのに、何でぇ~???
リブートしてみたら大丈夫だったりしてと思ったが。。。
そのまま、ブートしませんでした(T_T)
仕方ない、ダウンロードしてSDに焼いてアップデートしよっと。

2.ダウンロードしてセットアップする
そうと決まれば簡単。
Downloadページから2.00のアーカイブをダウンロードして、
Win32Diskimagerを使ってSDに書き込む。

この時、エラーの原因が分かったよ。
8GBのSDカードを使っているのですが、
1.21gでは19.9MBのエリアしか確保されていませんでした。

2.00では24.9MBのエリアが確保されていました。

結局、領域不足だったみたいですね。。。

ブートしたらIPアドレスを確認してWebUIに接続して設定します。
ばっちり、バージョン2.00でブートしました~。

「Squeezelite Settings」のページでサクサクと設定します。
この辺は何回も同じ設定しているので問題なしです。
今回は「Upsample setting」をカットしました。
※これをしようとホームページを見てて2.00を発見したのです。

メインページからリブートして完了です。

3.エリア拡張もできるよ
「Beta」ページを見てたら「Resize FS」なるボタンを発見!
今後のバージョンアップのために早速試してみる。

現状のエリア情報が表示される
「Auto」と「Manual」が選択できる。。。

ここは「Auto」でやってみんべ。「auto」をポッチとね。
先頭行に「Backing up files to ・・・ Done.」って出るだけ。

リブートしてみると
おっ!、「Available」が6.8GBに増え、「Use%」がゼロに(^^)v
これで、次回のバージョンアップは大丈夫でしょう。

とりあえずここまで。
「Shairport-sync」と「JiveliteのpiCorePlayerメニュー」はまた今度。

2013年6月12日水曜日

Raspberry Pi:ラジオはSqueezeliteでバッチリです♪

Squeezeliteの導入も苦労しました。。。(^_^;)

SqueezeSlaveが60sで停止してしまうのは、既知のエラーとしてFAQもあったが、
頭が足らずどうしても対処できなかった。
==FAQ・トラブルなど==

色々調べると同じようなソフトでSqueezeliteがあることが分かった。
ダメ元で、試してみたが別な現象(途切れ途切れ)でまともに動かなかった。
更に、浮気をしてpiCorePlayerに乗り換えてみたが。。。
またしても、60sで停止してしまうトラブルにハマッてしまった(T_T)

そこで、Squeezeliteに戻って再チャレンジ!
色々回り道をしてきた結果が実り、バッチリ動作するようになりました(^O^)v
以下、その道程です。

1.SqueezeSlaveの停止
pi@raspberrypi ~/work/sqlite $ ps ax | grep squeeze
 2100 ?        Ssl    0:22 /usr/bin/squeezeslave -R -M/var/log/squeezeslave.log -o0 -m00:00:00:00:00:01 192.168.1.23
28404 pts/1    S+     0:00 grep --color=auto squeeze
pi@raspberrypi ~/work/sqlite $ sudo /etc/init.d/squeezeslave stop

2.自動起動から削除
自動起動スクリプトのコメントに削除手順があるので従う。
# Uninstall Instructions
#
#       update-rc.d squeezeslave remove

pi@raspberrypi ~/work/sqlite $ sudo update-rc.d squeezeslave remove
update-rc.d: using dependency based boot sequencing

ここまでで、SqueezeSlaveとお別れです。残念。

Squeezelite up and running on Raspian Wheezy Hard Float
を参照しながら、インストール開始!

3.まず、環境を綺麗に整理
pi@raspberrypi ~/work/sqlite $ sudo apt-get update
pi@raspberrypi ~/work/sqlite $ sudo apt-get upgrade
pi@raspberrypi ~/work/sqlite $ sudo reboot

4.作業領域を確保
pi@raspberrypi ~ $ cd work
pi@raspberrypi ~/work $ mkdir sqlite
pi@raspberrypi ~/work $ cd sqlite/
pi@raspberrypi ~ $ cd work/sqlite/

5.実行に必要な3つのソフトを導入
5.1.libflac-dev
pi@raspberrypi ~/work/sqlite $ sudo apt-get install libflac-dev
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下の特別パッケージがインストールされます:
  libogg-dev
以下のパッケージが新たにインストールされます:
  libflac-dev libogg-dev
アップグレード: 0 個、新規インストール: 2 個、削除: 0 個、保留: 8 個。
308 kB のアーカイブを取得する必要があります。
この操作後に追加で 1,054 kB のディスク容量が消費されます。
続行しますか [Y/n]?
取得:1 http://mirrordirector.raspbian.org/raspbian/ wheezy/main libogg-dev armhf 1.3.0-4 [92.2 kB]
取得:2 http://mirrordirector.raspbian.org/raspbian/ wheezy/main libflac-dev armhf 1.2.1-6 [216 kB]
308 kB を 1秒 で取得しました (197 kB/s)
以前に未選択のパッケージ libogg-dev:armhf を選択しています。
(データベースを読み込んでいます ... 現在 63012 個のファイルとディレクトリがイン ストールされています。)
(.../libogg-dev_1.3.0-4_armhf.deb から) libogg-dev:armhf を展開しています...
以前に未選択のパッケージ libflac-dev:armhf を選択しています。
(.../libflac-dev_1.2.1-6_armhf.deb から) libflac-dev:armhf を展開しています...
libogg-dev:armhf (1.3.0-4) を設定しています ...
libflac-dev:armhf (1.2.1-6) を設定しています ...

5.2.libfaad2
pi@raspberrypi ~/work/sqlite $ sudo apt-get install libfaad2
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
libfaad2 はすでに最新バージョンです。
libfaad2 は手動でインストールしたと設定されました。
アップグレード: 0 個、新規インストール: 0 個、削除: 0 個、保留: 8 個。

5.3.libmad0
pi@raspberrypi ~/work/sqlite $ sudo apt-get install libmad0
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
libmad0 はすでに最新バージョンです。
libmad0 は手動でインストールしたと設定されました。
アップグレード: 0 個、新規インストール: 0 個、削除: 0 個、保留: 8 個。

6.Squeezeliteをダウンロード
pi@raspberrypi ~/work/sqlite $ wget http://squeezelite.googlecode.com/files/squeezelite-armv6hf
--2013-06-01 09:05:29--  http://squeezelite.googlecode.com/files/squeezelite-armv6hf
squeezelite.googlecode.com (squeezelite.googlecode.com) をDNSに問いあわせていま す... 74.125.31.82
squeezelite.googlecode.com (squeezelite.googlecode.com)|74.125.31.82|:80 に接続 しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 97137 (95K) [application/octet-stream]
`squeezelite-armv6hf' に保存中

100%[======================================>] 97,137       231K/s 時間 0.4s

2013-06-01 09:05:30 (231 KB/s) - `squeezelite-armv6hf' へ保存完了 [97137/97137]

pi@raspberrypi ~/work/sqlite $ ls -l
合計 96
-rw-r--r-- 1 pi pi 97137  4月 13 06:42 squeezelite-armv6hf

7.実行環境に移動し、実行権限を付与する
pi@raspberrypi ~/work/sqlite $ sudo mv squeezelite-armv6hf /usr/bin
pi@raspberrypi ~/work/sqlite $ cd /usr/bin/
pi@raspberrypi /usr/bin $ sudo chmod u+x squeezelite-armv6hf
pi@raspberrypi /usr/bin $ ls -l squeeze*
-rwxr--r-- 1 pi   pi    97137  4月 13 06:42 squeezelite-armv6hf

8.出力デバイスを確認する
pi@raspberrypi /usr/bin $ squeezelite-armv6hf -l
Output devices:
  default                        - Playback/recording through the PulseAudio sound server
  sysdefault:CARD=ALSA           - bcm2835 ALSA, bcm2835 ALSA - Default Audio Device

9.コマンドを入力して稼動テスト
pi@raspberrypi /usr/bin $ squeezelite-armv6hf -o sysdefault:CARD=ALSA 192.168.1.23

→60sを超えてちゃんと動作している(^O^)v
(この時点では音を出してなく、ちゃんと出ていると思い込んでいた。。。)

10.自動起動スクリプトの入手
pi@raspberrypi ~ $ cd work/sqlite/
pi@raspberrypi ~/work/sqlite $ wget http://www.gerrelt.nl/RaspberryPi/squeezelitehf.sh
--2013-06-01 09:28:23--  http://www.gerrelt.nl/RaspberryPi/squeezelitehf.sh
www.gerrelt.nl (www.gerrelt.nl) をDNSに問いあわせています... 81.169.145.72
www.gerrelt.nl (www.gerrelt.nl)|81.169.145.72|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 4544 (4.4K) [application/x-sh]
`squeezelitehf.sh' に保存中

100%[======================================>] 4,544       14.7K/s 時間 0.3s

2013-06-01 09:28:24 (14.7 KB/s) - `squeezelitehf.sh' へ保存完了 [4544/4544]

pi@raspberrypi ~/work/sqlite $ ls -l
合計 8
-rw-r--r-- 1 pi pi 4544 11月 19  2012 squeezelitehf.sh

11.スクリプトのコメント欄を見て導入手順を確認する
pi@raspberrypi ~/work/sqlite $ cat squeezelitehf.sh
#! /bin/sh
### BEGIN INIT INFO
# Provides:          squeezelite
# Required-Start:
# Required-Stop:
# Should-Start:
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Squeezeslitee
# Description:       Light weight streaming audio player for Logitech's Squeezebox audio server
### END INIT INFO
# Author: Me
#
# Install Instructions
#
#       Copy file to /etc/init.d/squeezeslite
#       chmod 755 /etc/init.d/squeezeslite
#       update-rc.d squeezeslitee defaults
#
#       Create /etc/default/squeezeslite to override any default
#               variables defined here.  No not edit this file.
#
# Uninstall Instructions
#
#       update-rc.d squeezeslite remove
#

12.手順通りに実行環境に移動し、実行権限を付与する
pi@raspberrypi ~/work/sqlite $ sudo mv squeezelitehf.sh /etc/init.d/squeezelite
pi@raspberrypi ~/work/sqlite $ cd /etc/init.d/
pi@raspberrypi /etc/init.d $ sudo chmod 755 squeezelite
pi@raspberrypi /etc/init.d $ ls -l squeeze*
-rwxr--r-- 1 pi   pi   4544 11月 19  2012 squeezelite
-rwxr-xr-x 1 root root 4657  5月 28 16:54 squeezeslave

13.デフォルト設定のカスタマイズ(マックアドレスと実行パラメタ)
pi@raspberrypi /etc/default $ sudo vi squeezelite
pi@raspberrypi /etc/default $ cat squeezelite

スクリプト内のデフォルト設定値
SLMAC="00:00:00:00:00:01"
SLOPTIONS="-o sysdefault:CARD=Set -n Framboos"

カスタマイズした設定値
LMAC="00:00:00:00:00:02"
LOPTIONS="-o sysdefault:CARD=ALSA -n Squeezelite"

14.自動起動に登録
pi@raspberrypi /etc/default $ cd /etc/init.d/
pi@raspberrypi /etc/init.d $ sudo update-rc.d squeezelite defaults
update-rc.d: using dependency based boot sequencing

15.起動テスト
pi@raspberrypi /etc/init.d $ sudo /etc/init.d/squeezelite start

pi@raspberrypi /etc/init.d $ ps ax | grep squeeze
15440 pts/1    S+     0:00 grep --color=auto squeeze
あちゃー失敗。。。(T_T)

16.スクリプトを確認するとスクリプトファイル名と同じでなければならない部分があった。
pi@raspberrypi /etc/init.d $ sudo mv squeezelite squeezelite-armv6hf
pi@raspberrypi /etc/init.d $ ls -l squeeze*
-rwxr-xr-x 1 pi   pi   4544 11月 19  2012 squeezelite-armv6hf

pi@raspberrypi /etc/init.d $ cd ../default/
pi@raspberrypi /etc/default $ sudo mv squeezelite squeezelite-armv6hf
pi@raspberrypi /etc/default $ ls -l squeeze*
-rw-r--r-- 1 root root 97  6月  1 09:52 squeezelite-armv6hf

pi@raspberrypi /etc/init.d $ sudo update-rc.d squeezelite-armv6hf defaults
update-rc.d: using dependency based boot sequencing

17.起動テスト2回目
pi@raspberrypi /etc/init.d $ sudo /etc/init.d/squeezelite-armv6hf start
pi@raspberrypi /etc/init.d $ ps ax | grep squeeze
26349 pts/1    S+     0:00 grep --color=auto squeeze
またしても失敗。。。

18.デフォルト設定のパラメタ名が間違っていることを発見!
   ついでに、マックアドレスも設定した。
pi@raspberrypi /etc/init.d $ sudo vi /etc/default/squeezelite-armv6hf
pi@raspberrypi /etc/init.d $ cat /etc/default/squeezelite-armv6hf
SLMAC="b8:27:eb:a0:c2:79"
SLOPTIONS="-o sysdefault:CARD=ALSA -n Squeezelite 192.168.1.23"

19.起動テスト3回目
pi@raspberrypi /etc/init.d $ sudo ./squeezelite-armv6hf start
pi@raspberrypi /etc/init.d $ ps ax | grep squeeze
 7701 ?        SLl    0:00 /usr/bin/squeezelite-armv6hf -o sysdefault:CARD=ALSA -n Squeezelite 192.168.1.23 -m b8:27:eb:a0:c2:79
 7782 pts/1    S+     0:00 grep --color=auto squeeze

やったね、無事起動しました!
音出しのために、ステレオのスイッチを入れ期待しながらボリュームを上げる。
最低!!音が途切れ途切れだ。。。(T_T)

ここから泥沼が始まり、piCorePlayerまでインストールしたりした。。ここは省略(^_^;)

20.piCorePlayerのデフォルト設定を参考にしてパラメタを切ってみた。
pi@raspberrypi /etc/init.d $ cat /etc/default/squeezelite-armv6hf
SLMAC="b8:27:eb:a0:c2:79"
SLOPTIONS="-o default:CARD=ALSA -n Squeezelite -a 100:4 192.168.1.23 -z"
pi@raspberrypi /etc/init.d $ sudo ./squeezelite-armv6hf start
pi@raspberrypi /etc/init.d $ ps ax | grep squeeze
11746 ?        SLl    0:00 /usr/bin/squeezelite-armv6hf -o default:CARD=ALSA -n Squeezelite -a 100 4 192.168.1.23 -z -m b8:27:eb:a0:c2:79
11888 pts/1    S+     0:00 grep --color=auto squeeze
おお!ちゃんと出た!!

増やしたのは
-a 100:4
-z
修正したのは
sysdefault:CARD=ALSA → default:CARD=ALSA

21.ということで、原因の特定を行なってみた。
21.1.パラメタ -zをカット
pi@raspberrypi /etc/init.d $ ps ax | grep squeeze
14353 ?        SLl    0:00 /usr/bin/squeezelite-armv6hf -o default:CARD=ALSA -n Squeezelite -a 100 4 192.168.1.23 -m b8:27:eb:a0:c2:79
14394 pts/1    S+     0:00 grep --color=auto squeeze
ちゃんと出てる。コレではない

21.2.パラメタ -a 100:4をカット
pi@raspberrypi /etc/init.d $ ps ax | grep squeeze
15194 ?        SLl    0:00 /usr/bin/squeezelite-armv6hf -o default:CARD=ALSA -n Squeezelite 192.168.1.23 -m b8:27:eb:a0:c2:79
15233 pts/1    S+     0:00 grep --color=auto squeeze
途切れ途切れだ!原因はコレだ

22.ということで、設定を決めた
pi@raspberrypi /etc/init.d $ cat /etc/default/squeezelite-armv6hf
SLMAC="b8:27:eb:a0:c2:79"
SLOPTIONS="-o default:CARD=ALSA -n Squeezelite -a 100:4 192.168.1.23"

23.再起動して確認
pi@raspberrypi /etc/init.d $ ps ax | grep squeeze
16191 ?        SLl    0:00 /usr/bin/squeezelite-armv6hf -o default:CARD=ALSA -n Squeezelite -a 100 4 192.168.1.23 -m b8:27:eb:a0:c2:79
16255 pts/1    S+     0:00 grep --color=auto squeeze
pi@raspberrypi /etc/init.d $
ちゃんと音が出て、60s超えても切れることは無い!
できた~(^O^)/

<補足>
「-a 100:4」とは、なんだろう??
マニュアルには
 -a <b>:<c>:<f>:<m>    Specify ALSA params to open output device, b = buffer time in ms, c = period count, f sample format (16|24|24_3|32), m = use mmap (0|1)
と記載してある。
ALSAモジュールに対して、0.1sのバッファサイズと4つの区間を指定している。
→どうやら、バッファが無いため処理している間、途切れてたようだ。

回り道をした甲斐があった(^^)