Plamo Linux 日記

Plamo Linux に関係することだけではなく,最近は一般的なコンピュータやガジェット関係についても記載してます.

Raspberry PI 用 DAC として msBerryDAC を入手してみた (動作確認編)

2018-01-17 20:11:11 | raspberry pi

以前書いた,「Raspberry PI 用 DAC として msBerryDAC を入手してみた」の続き.

ラズパイ2 + msBerryDAC の組み合わせで volumio を使って動作確認してみました.

volumio のイメージを micro SD に書いて,ラズパイをその micro SD でブート.電源は ANKER の USB 用 AC アダプタを使用.LAN は有線接続ね.

で,Mac から http://volumio.local でアクセス.

言語を日本語に設定してから,「設定」>「プレイバックオプション」の I2S DAC を「ON」にしてから DAC Model で「HiFiBerry DAC Plus」を選択.出力デバイスも「HiFiBerry DAC Plus」にして「保存」.

Mac から Air Play デバイスとして Volumio という名前で認識されているので,iTunes の出力先に Volumio を指定.

で,適当な CD 音源を再生してみたところ普通に再生できました.

「HiFiBerry DAC Plus」ではなく,「HiFiBerry Digi+ Pro」にしても再生できましたね.どっちが正解なんだろう?「HiFiBerry DAC Plus」とか「HiFiBerry Digi+ Pro」の回路図とかを見てみないとわかならいなぁ.まぁ,とりあえず音は出てるから良しとするか.「HiFiBerry DAC Plus」の方がなんとなく音質は良さそうな感じがするけど,追々,時間のあるときに調べてみるかな.

とりあえず,BOSE の PC 用スピーカーにつないでみましたが,Mac のアナログ出力を直接つなぐよりは msBerryDAC のアナログ出力をつないだ方が音質は良い感じかな.けど,Mac に Roland の USB DAC をつないで再生したのと比べると...うーん,どうだろう.Roland の USB DAC の方が音質は良いかもなぁ.

Roland の USB DAC はラズパイ2 + msBerryDAC の倍以上の値段がするから,まぁ,ラズパイ + msBerryDAC も音質の割にコスパは良いかもしれないかな.

試しに電源を ANKER の USB 用 AC アダプタからモバイルバッテリーに変えたところ,音質は一皮むけた感じになりました.

電源からのノイズにも結構敏感な感じかもしれないな.

もう少し大きなスピーカーにつないで,長時間鳴らして少しエージングしてみるかなぁ.それで音質は変わるのかなぁ?

でも,少しいじってみて,みなさんが沼って書いてる意味が分かったような気がします.下手に自分で色々といじれてしまうので色々と試したくなるんでしょうね.電源強化とかアナログ系とデジタル系の分離とか.LED の点滅もノイズ源になるから消したくなるし.micro SD じゃなくて USB メモリにシステム入れるとどうなるんだろうとか.ただ,ラズパイ基盤自体には手が出せないのである程度のレベル以上にはならない気はするけどね.

HiFiBerry DAC+ Pro for Raspberry Pi
Modul 9 GmbH
Modul 9 GmbH
カラー図解 最新 Raspberry Piで学ぶ電子工作 作って動かしてしくみがわかる (ブルーバックス)
金丸 隆志
講談社
Raspberry Pi3 Model B ボード&ケースセット 3ple Decker対応 (Element14版, Clear)-Physical Computing Lab
TechShare
TechShare
コメント
この記事をはてなブックマークに追加

Raspberry PI 用 DAC として msBerryDAC を入手してみた

2018-01-15 19:53:11 | raspberry pi

以前,「久々に Raspberry PI 2 で LibreELEC いじり中」でラズパイオーディオは沼にはまりそうだから避けて...とか書いておきながら,Raspberry PI 用 DAC を入手してみました.

USB DAC はいくつか手元に持ってるので避けて,I2S なものを選択.

その中から音がまぁまぁ良さそうな感じで,珍しい物の方が面白いかなと思って msBerryDAC を選んでみました.

http://nabe.blog.abk.nu/dac/msBerryDAC あたりにどういった物かの説明はあります.販売は https://bispa.co.jp/1698 のあたりで行われていますね.

回路図を見てみましたが,I2S から DAC 周りの配線は簡単な感じですね.昔,私自身も I2S な回路のデバッグとか,こういった回路図設計をやっていたこともあったなぁとちょっと懐かしい感じがしました.こういった物は電源設計が一番手間がかかりますね.:-)

まぁ,私の場合は仕事でやってましたが,半導体のデバッグがメインでしたので音質はどうでも良くって,とりあえずそこそこの感じで鳴りさえすれば良かったのでここまで細かい神経は使ってなかったですけどね.はい.

話を戻して...ものはこんな感じ.

基盤の表とか裏はこんな感じ.

基盤の切れ端が切り取られてないのは...なぜなんだろう?工数削減して値段下げるためなのかな?

余計な基盤部分を切り取って,ラズパイ2につけたらこんな感じ.なかなかまとまってますね.ここまでまとまってると,きちんとした金属シャーシに入れて基盤のアースをさらにきちんと取ってあげたくなりますね.

適当な余ってる micro SD が手元になかったので動作はこれから.とりあえず,普通に Volumio で動作確認してみてから,ぼちぼちいじっていくかなって感じ.

割とちゃんとしたオーディオセットは所有してるので,ラジカセ代わりに使えれば良いかなって感じなのでラズパイオーディオにそこまで音質のこだわりはないです.はい.

動作確認等もしてない状態ですけど,とりあえず簡単に商品紹介をしてみました.

Raspberry Pi3 Model B ボード&ケースセット 3ple Decker対応 (Element14版, Clear)-Physical Computing Lab
TechShare
TechShare
コメント
この記事をはてなブックマークに追加

そういえば arm を使った東芝のノート PC ライクなマシンがあったなぁと...そうそう dynabook AZ/05M

2018-01-14 16:44:24 | Linux

ただの雑談です.

手元で Plamo の野良環境の arm 版をいじってるけど,そういえば東芝の arm を使った PC ライクなマシンがあったなぁと.

nec とかにもあって,一時期使ってたけどあんまり使い勝手は良くなかったんだよなぁ.lifetouch note だっけ.

lifetouch note も linux で動かせるみたいだけど,キーボードとかの使い勝手がやっぱりいまいちだったし,もう一度入手するのもなんかなぁって感じなのでスルーかな.

で,東芝のものは調べてみたら dynaboo AZ/05M PNAZ05MNA っていうのか.ふむふむ.

CPU は Tegra 250 ってことなのでコアは Cortex A9 で ARMv7 か.hardfp もついてるね.このあたりは lifetouch note と同じ.

フラッシュが 16G なのでちょっと少ないかな.でも,SD スロットはあるからそこで不足分は補えるかな.

値段は? ...ふむ,中古で 3,000円程度?

キーボード自体の評判は悪くない感じだな.

けど,日本語キーボードがちょっとなぁと思ったけど,ebay.com を探すと 1,500円~くらいで海外モデル (dynabook ac100) 用の us キーボード部品が販売されてるね.交換すれば us キーボードで使えるのかな?この辺りはワールドワイドで販売していたモデルの有利なところかな.

一時期は Ubuntu もサポートしてたし,ほかの linux ディストリビューションでも動作してるみたいだから手元の linux 環境でも動かせそうかもな.slackware も動くみたいだし.

ってことで,いまさらだけど,安価だし,ちょっとおもしろそうなので調達してみようかなと思う今日この頃です.

手元の linux 環境の arm 版をきちんと整備しようとするモチベーションにもなるかなぁとね.

日本電気 LifeTouch NOTE NA75F/1AB ピアノブラック LT-NA75F1AB
NEC
NEC
TOSHIBA dynabook AZ クラウドブック Android2.1搭載 10.1型ワイド PNAZ05MNA
東芝
東芝
コメント
この記事をはてなブックマークに追加

Plamo Linux の野良パッケージ作成(その40): ARM の v6/v7 対応と hardfp 対応

2018-01-14 14:53:47 | Plamo Linux

ぼちぼちと Plamo のソース一式を修正して,野良パッケージ (野良ディストリビューション?) を作成.

いつまで続くのか.

いじってる野良パッケージのビルドスクリプトは https://github.com/t-matsuki/Plamo-mysrc,バイナリは http://circle2.org/pub/ にあります.

最近はずっと ARM 関係をいじってます.

Plamo Linux の野良パッケージの ARM 対応版ですが,これまでは v7 コードで softfp がデフォルトになっていたので,RPi1 や zero 等で動作しません.せっかく zero w を入手したのにそれじゃちょっと悲しいなということで,v6 対応と,ついでに hardfp 対応しようかなと思い立ち.

ラズパイ用にバイナリ配布されているソフトがポチポチありますが,これらが hardfp な glibc を要求する物が多いので,標準配布されている Raspbian 等に合わせてデフォルトは hardfp にしておいた方が便利かなと思っています.

ということで v6 hardfp 対応の作業を.

現在のままでも gcc 自体は v6 コードも hardfp コードも出力できるので,glibc だけ差し替えてリビルドすれば良いのかな.と思って glibc をコンパイルしてみたら,いろんなライブラリとのリンクの時にエラーになりました.VFP 対応の .o と対応していない .o とのリンク時にエラーではじかれる仕様なのね.

でもよくよく考えたら,仮にこれでコンパイルが通ったとしても,出来上がった glibc に入れ換えた瞬間,命令セットも異なるので glibc を参照しているバイナリが全滅になってしまっておそらくダメダメなんでしょうね.

ということで,普通に armv6 および hardfp 対応の gcc と glibc 一式のクロスコンパイル環境を用意.手元のものはネットに転がっていた方法をベースにちょこちょこと修正しながら使っていて,あまり一般的な物ではなくなってるのでここでは省略させてもらいます.今回はとりあえず gcc, glibc, kernel header だけを使ったクロス環境を作成しました.過去にここの blog で「Plamo Linux の arm クロスコンパイル環境」で少し書いたのと似たような環境です.lfs の II. Preparing for the Build と似たようなものを作っています.で,そのクロスコンパイル環境を使って,テンポラリでパッケージ作成を行うためのツール一式を作成.lfs の 5. Constructing a Temporary System あたりのツールです.

その後,chroot してからポチポチコンパイルを始めた...けどかなり大変な作業になってきたな.

と,しばしここで思案.

これなら,armv6 対応と hardfp 対応を同時にやるのではなく,とりあえず armv7 環境で hardvfp 対応だけ先にやって,v7 環境を使える環境に固めてから,ゆっくりと armv6 対応をしていった方が良いかも...と.

ということで,こちらも VFP 絡みで色々と怒られそうなので,とりあえず hardfp に対応したコンパイル環境 (gcc とか glibc とか) を準備.その環境で本番用の glibc のパッケージを作成.おっかなびっくり置き換えてみたら...やっぱり駄目.全滅とまではいかないですけど,結構な数のコマンドが動作しなくなりました.

やっぱり v7 の hardfp 対応するだけでも地道な作業が必要みたいだなぁということで,このコンパイル環境を使って基本となるパッケージのリコンパイルをぼちぼちと実施.

で,現在の状況ですが,armv7 hardfp な環境で新規インストールを行ってなんとか動作するくらいのパッケージ分は用意しました.とりあえず新規インストールして,その環境の上でパッケージ作成ができることは確認したので,今後はクロスコンパイル環境ではなく,新規インストールした環境下で再びきれいな形 (?) にパッケージを作り直していこうかと思っています.はい.

先日まで作成していた v7 softfp な環境はそのうち上記の http サイトの方に置いておきますが,今後はメンテは行わない予定です.割と中途半端な状態のままの放置になってしまいますが,私的にはもう使わないので....

ここで少しだけ補足情報を書いておきます.

もし linux 環境が壊れてしまった場合,別の linux 環境等を立ち上げて,その linux 上から壊れたパッケージを再インストールするなりして復旧させて...とか行うのが普通かなと思いますが,Plamo Linux やこの野良環境の場合,そこまで行わなくても割と簡単に復旧できます.

/sbin/installer 以下に static なコマンド類が入っています.また,bash も static なものが bash-static というコマンド名でインストールされています.これらのコマンドは glibc などのライブラリ類が死んでしまっても問題なく使えるので,これらを使えばあらかじめ root 権限のあるアカウントでログインしたターミナルを一個開いておけばそこから割と簡単に修復することができます.パッケージ自体は tar + xz で固めているだけなので,基本的にそれで上書きしてしまうだけです.

例えば glibc の復旧の場合,問題なく動作していた glibc のパッケージを使って

% cd /
% /sbin/installer/xzcat どっか/libc-2.25-armv7l-P0m2.txz | /sbin/installer/tar xvf -

でファイルを上書きした後に

% export PATH=/sbin/installer/:$PATH
% bash-static /install/doinst.sh

で設定等を戻してあげれば動作していた環境に戻せます.再起動も必要ないですね.

上記で PATH を設定してるのは doinst.sh 中で呼ばれる rm, ln などのコマンドに /sbin/installer 以下の物を使いたいからです.じゃないと,通常の shared lib なコマンド類が呼ばれてエラーになってしまいます.

その他の重要なライブラリが死んでしまっても同様の感じで復旧作業は出来るかなと思います.ただし,壊れる場所によってはこの方法が扱えずに普通に別の linux を立ち上げ...ってする必要もあるかも.

この辺りは他のディストリビューションと違ってパッケージ管理が緩い感じ行われているから出来ることなのかなぁと思います.他のディストリビューションでそこまでひどい壊れ方をしたことはないですけどね.:-)

まぁ,そんな感じでぼちぼちといじってます.はい.

コメント
この記事をはてなブックマークに追加

ついでに Raspberry PI ZERO W で LibreELEC いじり中

2018-01-09 06:50:03 | raspberry pi

先日,RPi2 で LibreELEC をいじった話を書きましたが,ついでに Raspberry PI ZERO W でも LibreELEC を試してみました.

RPi2 と同様に LibreELEC のホームページから RPi1 用のイメージをダウンロードして microSD に書き込み.

zero w に micro USB - USB 変換と mini HDMI - HMI 変換ケーブルを取り付け,HDMI ケーブルと USB イーサーアダプターを接続,私が使っている USB イーサーアダプターは buffalo の LUA3-U2-AGT です.

で,micro SD を刺して,電源,イーサーネットケーブル,HDMI ケーブルを接続して電源オン.

無事動作.

リモコンは接続していないのでテレビのリモコンで操作.

最初,初期設定画面が表示されると思いますので,テレビのリモコンを使って操作.そのメニューで有線 LAN も認識していることを確認.無線 LAN も初期設定の画面から設定はできますが,トラブルを防ぐために私は使ってません.で,ここで ssh を有効にしておきます.

あ,MPEG2 ライセンス購入のために ssh を有効にしていますので,その作業が特に必要なければ無効のままで問題ありません.

初期設定が終われば,とりあえずは使えるようになります.

このままだと MPEG2 再生時に表示がカクカクになるので,ラズパイのストアページで MPEG2 ライセンスを購入します.

外部マシンから ssh で zero w にログイン.IP アドレスは初期設定画面で表示されているのでメモしておくか,「設定」>「システム情報」>「概要」から見ることができます.アカウントは root で,パスワードは libreelec を使います.

ログイン後,

$ cat /proc/cpuinfo

で Serial が表示されますので,そのシリアルを記入して MPEG2 ライセンスを購入してください.詳しい方法は上記のラズパイのストアページに記載があります.で,paypal なりカード決済で購入.

メールでライセンス番号が送られてきたら,zero w に入れてあった micro SD を適当なマシンに刺して fat パーティションにある config.txt を編集します.

decode_MPG2=0x12345678

と追記.0x12345678 のところは当然送らて来たライセンスを記述してください.

で,この micro SD を使って再び zero w をブート.無事,MPEG2 再生もできるようになりました.

少し試した感じでは Full HD の再生なら zero w で十分できそうな感じですね.手持ちの MPEG2 な FHD のファイル再生ではたまに負荷が 100% って表示されることはありますが,再生が破綻することはない感じで,平均すると負荷 80% くらいで推移しているみたいです.あくまで手持ちのファイルの状況ですので,すべてのものが大丈夫かっては言い切れないですけど.

あと,無線 LAN を使えば USB イーサーアダプターも必要ないし,CEC でテレビリモコン経由で操作すればリモコンも必要ないのでかなり安価にメディアプレーヤーを作ることができますね.この状態なら amazon の fire tv stick よりもかなり安く済みのかな?あ,まともなケースに入れたりいろいろと購入するとやっぱり同じくらいの値段になるかもしれないな.

ざっと,zero w で LibreELEC を使う方法を書いてみました.はい.

BUFFALO Giga対応 USB2.0用 LANアダプター LUA3-U2-AGT
バッファロー
バッファロー
Raspberry Pi Zero W Starter Kit
ケイエスワイ
ケイエスワイ
コメント
この記事をはてなブックマークに追加