Tinker Board のI2S信号の出し方と現状報告
今年の2月に登場したあのTinker Board ですが、現状はまだソフトウェアの開発途上ということもあって、情報が少なく、どのように使って良いか迷っている人が多いのではないでしょうか。
とりあえず、I2S出力させる方法と、その性能について紹介しようと思います。
現状、I2Sを出せるOSはOfficialのTinkerOS version v2.0.1だけです。
Debian stretch based. 2017/08/21
以下にOS 一覧があります。
https://tinkerboarding.co.uk/forum/thread-69.html
では、早速セットアップしていきましょう。
RaspberryPiと同じようにSDカードにimgデータ を書き込みます。
起動は少し遅いです。 1分半くらい経ったら、IPアドレスを調べてsshで接続します。
avahiがインストールされていないので、****.localという名前では検索できません。
「NetEnum」か「Fing」あたりを使うと良いでしょう。 ルーターの管理画面で調べるという手もあります。 私が購入した基板はmacアドレス 2C4D****がTinkerBoardでした。
user:linaro
pass:linaro
sudo apt-get update
sudo apt-get install avahi-daemon
sudo apt-get install mpd mpc nano
これらのコマンドだけでもネットワークがRPiに比べてべらぼうに速いのが体感できます。
期待が膨らみますね。
avahiがインストールされると、次回以降は下記でsshログインできるようになります。(PCにはiTunesもしくはBonjourを入れておく)
host:linaro-alip.local
user:linaro
pass:linaro
ここで、オーディオデバイス一覧を見てみましょう。
linaro@linaro-alip:~$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Audio [USB Audio], device 0: USB Audio [USB Audio]
Subdevices: 0/1
Subdevice #0: subdevice #0
card 0: Audio [USB Audio], device 1: USB Audio [USB Audio #1]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: Audio [USB Audio], device 2: USB Audio [USB Audio #2]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: rockchipminiarm [rockchip,miniarm-codec], device 0: ff890000.i2s-i2s-hifi i2s-hifi-0 []
Subdevices: 1/1
Subdevice #0: subdevice #0
と表示がでます。
Tinker Boardのオンボードの3.5mmジャックのデバイスはUSB接続されたオーディオデバイスなのがわかります。 ハイレゾにも対応しています。
オンボードの音声出力
USB接続のデバイスが3つありますね。
Card:0 Device:0 不明
Card:0 Device:1 SPDIF?
Card:0 Device:2 3.5mmジャック出力
SPDIFも近いうちにテストしてみたいです。
/etc/mpd.conf を編集して、
audio_output {
type "alsa"
name "My ALSA Device"
device "hw:0,2" # optional
mixer_type "software" # optional
# mixer_device "default" # optional
mixer_control "Headphone,1" # optional
mixer_index "0" # optional
}
とするとmpdで3.5mmジャックへ音声を出す事ができます。
alsamixerを開くとこんな具合です。
これでいいじゃん。 と思うくらいまともな音が出ます。
私がいうのもなんですが、I2S基板を買うまえにTinkerBoardのオンボードを試してみたほうが良いです。
細かいことを書くと、低域の明瞭度が足りないとか、ボーカルの色っぽさが出ないなどあるのですが、小形Linux基板でオーディオを楽しむのに、I2S基板やUSB-DACを増設するというのはTinkerBoardでは考え直す必要がありそうです。
オーディオマニアでなければ、この音で満足してしまう人が多いかもしれません。
I2Sへ出力する方法
alsaデバイスの Card 1 Device 0 (rockchipminiarm)が I2S です。
TinkerOS v2.0.1では、RPiでいうところの Hifiberry-dac相当のドライバが既にインストールされていました。
さっそく I2Sへ信号を出してみましょう。
/etc/mpd.conf を編集して、
audio_output {
type "alsa"
name "My ALSA Device"
device "hw:1,0" # optional
# mixer_type "hardware" # optional
# mixer_device "default" # optional
# mixer_control "PCM" # optional
# mixer_index "0" # optional
}
としておくと、Card番号1、デバイス番号0に出力することが出来ます。
ただし、この状態ではソフトウェアボリュームが効きません。
上の写真のようにsabreberryDAC ZEROを接続しているので音量調整ができないとヘッドホンでは爆音になってしまいます。
asound.conf を編集してSoftwareVolumeを使う
sudo nano /etc/asound.conf で新規ファイルを作って下記のようにします。
pcm.sabreberry {
type softvol
slave.pcm "plughw:1"
control.name "Master"
control.card 1
}
pcm.!default {
type plug
slave.pcm "sabreberry"
}
ファイルを保存して閉じます。 次に、
sudo nano /etc/mpd.conf で編集してソフトウェアボリュームを使うように設定します。
audio_output {
type "alsa"
name "My ALSA Device"
device "sabreberry"
# device "hw:1,0" # optional
mixer_type "software" # optional
# mixer_type "hardware" # optional
# mixer_device "default" # optional
# mixer_control "PCM" # optional
# mixer_index "0" # optional
}
という具合です。
audio_output_format "*:24:*"
ファイルを保存して閉じたら、sudo reboot します。
winSCPでデータを転送できるように
mpd.conf には楽曲ディレクトリが下記のようになっています。(変更することも可能)
--------略---------
music_directory "/var/lib/mpd/music"
--------略---------
sudo chmod 777 /var/lib/mpd/music
このコマンドで、フルアクセス権をユーザに与えます。 ユーザー linaro でログインしてもwinSCPからデータを転送できるようになります。
コマンドライン型のmpdクライアントを使う
mpdクライアントソフトとしてmpcを使って再生してみます。
簡単なコマンド一覧は下記です。
mpc ステータス表示
mpc play 再生開始
mpc next 次曲
mpc prev 前曲
mpc pause 一時停止
mpc stop 停止
mpc update 楽曲データベース構築
mpc ls | mpc add プレイリストに全曲追加
順番としては、楽曲データベースを構築して、全曲プレリストに追加。 そしてplayです。
音量調整は、
mpc volume 30 というように直接数値を入れても良いし、
mpc volume +2 と相対数値を入れてもOKです。
とりあえず、これでmpdから再生させることができました。
I2S信号をみてみよう
音が出たので、I2S信号をみてみました。
普通に出ているようには見えます。 上から順にDATA、LRCK、BCKです。
ただ、BCKを拡大してみてみると。。。
このようにかなり信号がブレてます。
このブレかたはRPiよりもかなりひどいです。 そのせいかES9023PのI2S受信では、ときおりロックが外れて「プチ」とノイズ(音飛び)が聞えています。
RPiだと、トリガーポイントを数100usほど遠くにセットしないとブレは見えてきません。TinkerBoardは、トリガーをセンターにセットしていてもブレブレです。
ソフトウェアのバージョンアップで改善できるのか、ハードウェアの制約で、これ以上を望めないのかは今のところ不明です。
とりあえずの現状報告でした。
===================
以下、情報のありか。 メモ。
にほんブログ村
ブログランキングに参加中です。 めざせ1位!
もしよろしければ「ぽちっと」お願いします。
« 共立電子のSabreberryDAC ZERO用ケース | トップページ | One Board Audio ConsortiumのCASE 01にSabreberry32を組み込みました。 »
「Tinker Board」カテゴリの記事
- Tinker Board S版のVolumio 2.519用Sabreberry32 ドライバ リリース(2018.12.29)
- Tinker Board S版のVolumio 2.502用Sabreberry32 ドライバ リリース(2018.11.16)
- ASUS TinkerBoard User Meetingに参加してきました。(2018.03.31)
- Tinker Board S 版のVolumio 2.387 でSabreberry32 Master Mode動作(2018.03.25)
- Tinker Board S でSabreberry32をマスターにする方法(2018.03.23)
コメント
« 共立電子のSabreberryDAC ZERO用ケース | トップページ | One Board Audio ConsortiumのCASE 01にSabreberry32を組み込みました。 »
BCKの精度がいまいちということであれば、その次に出てくるのはSabreberry32みたいなマスターモードというわけですが、TinkerBoardが対応しているのやら・・・。
投稿: takoyaki | 2017年10月29日 (日) 10時16分
https:/github.com/TinkerBoard/debian_kernel
このカーネルソースを使って、volumioのconfig.gzによりビルドしてvolumioでもi2s、なんてうまくいくはずないですよね。
私はこういう遊びが好きなんでよくやるんですが、この遊びのためにTinkerBoard買うのもなあ。笑
投稿: takobozu | 2017年10月29日 (日) 12時29分
たかじんさん
たかじんさんもTinkerBoardを導入されたのですね。
私も「アレキサンダー電流帰還アンプ × MUSES02」のスレでも報告させて頂いた様に、TinkerBoardにJMCを導入してmedia serverにしております。
実は、JMCは単独でi2sのplayerにもなります。
TinkerBoard(JMC) → sabreberry+ → ALX-03 から、なかなか良い音が出ております。JMCはバージョン23になって音質が向上した様に思われます。
投稿: とんぼのめがね | 2017年10月29日 (日) 18時43分
takoyakiさん
Tinker自体をi2sスレーブにする方法がまだ不明です。 なにせ情報が少ないんですよね。 公式のDebianも更新がそんなに頻繁というわけでもないようですし。
Tinker用のVolumio2のカーネルを公式Debianの最新カーネルに差し替えるという手は通用するかもしれません。 色々いじる楽しみはあるかと思います。
とんぼのめがねさん
JRiverは、一定数の人が使っているようですね。
有料ということもあってなかなか手が出ませんが、調べてみると(winやmac、Linux上の)GUIプレイヤーソフトのようですね。 ただ、メディアサーバー(DLNAでいうところのDMS?)機能もあってと、実態がいまひとつ掴めません。
そういえば、Moode Audioが無料(寄付)にもどったようです。 GPL違反で指摘を受けたとか。そういう話だったようで。。。
TinkerBoardは、イーサネットが速いので、メディアサーバー(楽曲データの提供元)として使うには良い可能性があるかと思います。 NASもどきを自前で構築するには適していますね。
投稿: たかじん | 2017年10月29日 (日) 22時50分
たかじんさん
>これでいいじゃん。 と思うくらいまともな音が出ます。
2.0.1は、未だベータの扱いですよね。入手可能なVolumioのイメージだと、codecからのアナログ出力は、ハイレゾという割にはショボかった印象があるのですが、如何でしょうか。また、USBと並んで、SPDIFと3.5mmアナログ出力もオーディオデバイスに表示されていた記憶があるのですが、音質に関係する所も変わった可能性はないでしょうか。
TinkerOSのオーディオはpulse audioなので、pulse経由で聞いてiいる方もおられ、mpdとも印象が違うかもしれません。(->以前のコメントに続きます)
自分は、pulseとX関係を消しまくり、大分負荷が減りました。
投稿: AYOR | 2017年10月30日 (月) 02時35分
たかじんさん
TinkerBoardのi2sでたかじんさんがご指摘されたロック外れのプチノイズが確認されました。私の場合は不定期に30分位に1〜2回程度ですがハッキリと分かりました。やはり、TinkerBoardのi2sにはハード的に問題があるのかも知れません。TinkerBoardでi2s出力を考えておられる方はもう少し様子を見られた方が宜しいかも知れません。
Rock64でもi2sを試しましたが、こちらの方は今のところプチノイズは発生しておりません。取り急ぎ、ご参考まで、
投稿: とんぼのめがね | 2017年10月31日 (火) 00時06分
AYORさん
お詳しいですね。 おっしゃる通りPulseAudioもXも入ってますね。
私の持っているディスプレイだとHDMI問題の為か、画面がブラックアウトして映りませんが、Xは消したほうが良さそうです。
PulseAudioに関しても、MPDはalsaへダイレクトに出すことができますが悪さをしていないとも限らないので、こちらも止めた方が良いと思います。
オンボードの音質は、どのくらいの音を求めているのかというレベルに依存しますね。 3000~5000円くらいのUSB-DACの音で高音質に感じる人にとっては、Tinkerのオンボードでも耐えられるのではないかと思いました。
少なくとも私のPCのオンボード出力よりずっとバランスがとれています。
ハイレゾ化を意識しずぎて無理に高域を伸ばそうとした嫌味な聴き疲れもなく、BGMとして使っても支障ないレベルと感じました。
私の方でも、XやPulseを止めて実験してみようかと思います。
とんぼのめがねさん
その程度のプチノイズならまだ許せるかもしれませんね。 私のところでは10秒に一度くらい聞こえてます。 個体差もあるのかもしれません。
ただ、なぜか音の雰囲気はどっしりとしていて良い面もあるんですよね。。。
RPiでは不具合の多いUSB-DACや、NAS化(メディアサーバー化)では、Tinkerの方が優れている可能性が高くて、今後、期待できるかもしれません。
投稿: たかじん | 2017年10月31日 (火) 18時24分
たかじんさん
>ただ、メディアサーバー(DLNAでいうところのDMS?)機能もあってと、実態がいまひとつ掴めません。
仰る通りです。JMCはJPlayを目の敵にして(JPlay側は相手にしていませんが、有名な話だそうです。)、openhome非対応、JPlay Driverの使用拒否等、PCオーディオ界でもガラパゴス的なところが有ります。しかし、機能てんこ盛り、バージョンアップも精力的に行っており、1部のPCユーザには受け入れられている感じがします。
また、JMCはGUIプレイヤーですが私はVNCを入れてmedia serverとしてヘッドレス運用をしています。
>有料ということもあってなかなか手が出ません
以前に、PCオーディオでも聞いてみようかと安易に導入しました。WIN版を購入するつもりが誤ってMaster版(WIN,MAC,Linuxライセンス)をポチってしまって、折角だからとLinuxでメディアサーバー運用しております。
機能制限なしで1か月間試用出来ますし導入も簡単なので、また興味がございましたらLinux版でもお試しください。
>私のところでは10秒に一度くらい聞こえてます。 個体差もあるのかもしれません。
先日、パパリウスさんから私のPai3は「当たりです。」と言われましたが、「私、くじ運そんなに良くないし。」と思っております。
今回、TinkerBoardにLinux4.4.92 Low-Latency500を入れ、JMCのメモリ再生機能を使用してI2Sの音出しを行いました。ながらで試聴しておりましたので、プチノイズを聞き逃しておりましたが、そこまでではありません。Low-Latency1000にしたら、プチノイズ撲滅できるでしょうか?
一方、Rock64はLinux4.4.77 Low-Latency300にupmpdcli,polipo,mpdを安直にapt-get installで導入してDLNAレンダラーとしてI2Sでの音出しを行いました。
今は、久々にES9028DACを引っぱり出して来て Rock64 → ES9028DAC → ALX-03で聞いていますが、ES9028DACがこんなに音が良かったかな?と思っております。最近、何を聞いても良く聞こえるのはALX-03が良いからでしょうか?
投稿: とんぼのめがね | 2017年10月31日 (火) 22時56分
とんぼのめがねさん、こんにちは。
私も、Rock64+I2S DACで聞いています。と言うか、最近は、いろいろなSBCで試している状況になっています。これも、MCKが出ていれば、もっと良かったのですが。
ところで、以前よりJMCも気になっていたのですが、普段、ヘッドレスでネットラジオを聞いていることが多いので、使わない機能が多いことや有料なことで、引いていました:) Jackに移行しようかと思っておりました。
JMCは、CLIだけでの設定は簡単なのでしょうか。また、JMCもalsaを使っているのですか?
投稿: AYOR | 2017年11月 1日 (水) 09時59分
AYORさん
はじめまして。
>私も、Rock64+I2S DACで聞いています。
Rock64は、発売開始前からI2S対応を掲げ、オプションに対応DACを用意する等メーカーの気合は入っていましたね。
基板自体は、TinkerBoardに較べると貧相ですが、価格を考えれば致し方ないでしょうか。
>MCKが出ていれば、もっと良かったのですが
そうですよね。他との差別化の意味でも搭載して欲しい機能ですよね。クロック精度は高音質化への肝ですので、たかじんさんがPi等のminiボードに外部クロックを注入する様な基板を開発して頂けるとうれしいのですが。
>JMCは、CLIだけでの設定は簡単なのでしょうか。
インストール設定等については、私が説明するよりも下記のサイトを見て頂くと良いかもしれません。
注意点として、Xserverが稼働していることが必要です。
https://yabb.jriver.com/interact/index.php?topic=111505.0
>JMCもalsaを使っているのですか?
使用しています。
投稿: とんぼのめがね | 2017年11月 1日 (水) 19時07分
とんぼのめがねさん、
有難うございました。JMCが、Linuxで全く独自のオーディオドライバを提供するのではなく、alsaが必要、かつ、alsaからオーディオデバイスが見えなければダメなのですね。
自分は、X関連はあっても消してしまうのですが、Tinker Boardのようなマルチメディア機能が売り?のものはXを含め、JMC等でそれらを使うことが意図されている使い方なのかと思いました。
投稿: AYOR | 2017年11月 1日 (水) 19時49分
AYORさん
LinuxでAudio再生するにはALSAが必須ですよ。古くはOSS。
Winならカーネルミキサ、ASIO、WASAPI。 macならCoreAudio。
これらが無いと、デバイスドライバとMPDなどのプレイヤーアプリを繋げるひとがいなくなります。
ちなみに、JACKやpulse AudioはALSAの上の階層に乗っかるラッパーのような存在でALSAの機能を拡張する役目をはたします。
まあ、ガチでドライバをとばしたいなら、ベアメタルでプレイヤーアプリ自作してシリアル出力へとダイレクトに出すって方法もなくはないでしょうけども。。。 そんなこと誰もやりたがらないですね。
投稿: たかじん | 2017年11月 1日 (水) 22時28分
たかじんさん、
自分もそう思っていたのですが、とんぼのめがねさんの
>実は、JMCは単独でi2sのplayerにもなります。
の意味を取り違えていたようです。もしや、alsaをすっ飛ばして、JRiverがやってくれたのかと :) 現実は違いましたが。
投稿: AYOR | 2017年11月 2日 (木) 02時00分
AYORさん
確かにJMCは多機能。。。と書いているサイトは見かけるけど、その実態をちゃんと書いているひとが殆どいないので、分からない部分って多いですね。
JPLAYと比べて劣るなんて書いている人もいるのですが、結局個人の好みの話なので、実際に使っている人が良い音(好きな音)で再生できているなら、それが正しいのだと思います。
そう言えばRaspberryPiでもMCKを出している人いましたね。 ほーりーさん。
とんぼのめがねさん
Rock64も調べてみるとrockchipのSocなんですね。 I2Sの品質はどうなのでしょうか。同じメーカーのSoCなので、あまり変わらないような気もしないでもないです。
ALX-03は、原音再生よりも少し色を付けるようなチューニングにしてあるので、よりライブ感が強くでているのかもしれません。 気に入って頂けてるようで良かったです。
投稿: たかじん | 2017年11月 2日 (木) 08時19分
たかじんさん
Moode Audioが、4.0になったのでダウンロードしてみると、
SDカードのイメージファイルではなく、Linuxのツリーになっておりました。
提供が、ソースコードとBuiltの手順になったようです。
「Source」を押すと、Builtの手順もでてきて、
[STEP 1 - Download Raspbian Stretch Lite 2017-09-07]
から、STEP14までって。
わからなければ、掲示版で尋ねるらしい。
すごいことになってしまった。
投稿: toto | 2017年11月 2日 (木) 15時34分
totoさん
ついにMoode 4.0ですね。
ちらっと見てみました。 公開されたレシピは、逆に設定情報の宝庫とも言える素晴らしいものだと思います。
Sabreberry32用のドライバを組み込んでイメージファイルで提供できれば良いなって思ってますが、そういう方法をとって良いのかTimさんに聞かなければいけないですね。
投稿: たかじん | 2017年11月 2日 (木) 18時18分
AYORさん
確かに、紛らわしい表現でした。誤解を招き申し訳ありませんでした。
たかじんさん
フォローありがとうございました。
>Rock64も調べてみるとrockchipのSocなんですね。 I2Sの品質はどうなのでしょうか。
>同じメーカーのSoCなので、あまり変わらないような気もしないでもないです。
TinkerBoardとRock64のI2Sをガチンコ比較せよと言うご指令と思い、たった今、両ボードを同じUPNPレンダラー環境にして比較しました。
結果は、まだ十分聞きこんでいませんが、100対0でTinkerBoardです。かなり良いと感じました。
また、プチノイズ撲滅しちゃいました!!?(撲滅されていた。?)
音場空間は、symphonic-mpdに近いです。
取り敢えず、一報まで。
投稿: とんぼのめがね | 2017年11月 2日 (木) 21時14分
とんぼのめがね さん、こんにちは。
DLNAはやっていないのですが、音質にはいろいろな要素が関係するので、何とも言えないですが、個人的にはRock64に期待していたので驚きました。(気が付かなかった)Tinker Boardも2.01βになって、内部がいろいろ変わったのでしょうか。
自分は、ハードウェアでリクロックや、サンプルレートを変換していることが多いのですが、たかじんさんの言われるボードのBCKの周波数安定度を直接測定比較してみたいです。他に出番を待っているボードもありますので:)
もう少し、比較環境を詳しく教えて頂けませんか。また、Piとの3者の聴き比べをされたことはありますか。
投稿: AYOR | 2017年11月 3日 (金) 12時11分
AYORさん
返答が遅くなり申し訳ありません。
昨日、一報を投稿した後に風呂に入って、試聴を再開していたら、のどが痛くなり熱も出てきて、そのまま寝込んでしまいました。
今日も予定をキャンセルして寝ておりまして、やっと起きたところです。連休が台無しです。
>個人的にはRock64に期待していたので驚きました。
ですよね。私も同じSocのRock64とTinkerBoardのI2Sはほぼ同じで、ノイズが発生していないRock64の方が、今のところ優位と思っておりました。
>比較環境を詳しく教えて頂けませんか。
その前に、AYORさんはsymphonic-mpdを既に聴かれておりますか。私は、symphonic-mpdを一聴して気に入りまして、最近はずっと下記の構成でライブラリーを聴いていました。
JMCMediaServer(TinkerBoard+USBHDD)→コントロールポイント(iPhone+JRemote)→Upnpgw(Rock64+upmpdcli+polipo+DC-Arrow)→symphonic-mpd-UpnpPlayer(raspi3+sabre32+DC-Arrow)→ALX-03改MUSES02版
この構成をアルミケースに収めようと、ケースを調達して穴あけまで行って、ケースに収めるだけと言うタイミングで、たかじんさんがTinkerBoardのI2Sの記事を発表され、「そう言えば、まだ両ボードのI2Sを聴いていなかった」と思いTinkerBoardはそのままDACを載せて、JMCのメニューから出力先をDACに変更すればI2Sで出力されるはず。Rock64はmpdをインストールすればDLNAレンダラーになるから、こちらもI2S-DACを接続すればI2Sが聴けるはず。
と言うことで、前々回までの投稿になります。
今回の比較環境システムは、
TinkerBoard:linux 4.4.95 Low-Latency 300 + upmpdcli + polipo + mpd
Rock64:linux 4.4.77 Low-Latency 300 + upmpdcli + polipo + mpd
DACはsabreberry+でアンプはALX-03になります。
音質評価については、全くの個人的趣向になりますが、
音程:Rock64はやや高い。
音質:Rock64は線が細い。TinkerBoardは線が太くどっしりとしている。(たかじんさんと同じ様に感じられました。)
音場:左右の音の広がりに差はないが、Rock64は奥行きが無い。一方、TinkerBoardは奥行きが有り、音が前面に出ている。
の様に感じました。これは再生環境が変わってもこの差は縮むことはあっても逆転することはないと思っています。
ただ、余りにも差があるので、この結果はRock64のシステム設定に問題があったか、システムがまだ不安定なのかと思いました。
Rock64は夏場に出て日も浅いので、これからシステムが良くなる可能性があると思っています。
個人的に納得できたところで、両ボードは初期の役割に戻してsymphonic-mpdをゆっくりと聞きたいと思います。
最後に、TinkerBoardのプチノイズですが前述のシステム(Low-Latency 300)にしてから全く発生しておりません。因みに、Low-Latency 1000にしたところ、プチノイズの発生はたかじんさんと同じ位に悪化しました。
投稿: とんぼのめがね | 2017年11月 3日 (金) 18時53分
たかじんさん
たかじんさんのジッターのブレを見ても、余りにもTinkerBoardの音が良いので、Rock64はupnpgwに戻したもののTinkerboardはみみず工房さんのalsalib等の最適化を施してmpdだけを入れたupnpplayerとしてRock64と連携させて聴いています。
(肝心なflacのmakeが通りませんが)
線の太さはそのままで、音質は艶を帯びた様です。音の定位がしっかりしていてsymphonic-mpdと一味違った勝負が出来るかも。(1ラウンドでアッサリKO負けでしょうが)
投稿: とんぼのめがね | 2017年11月 3日 (金) 23時08分
とんぼのめがねさん
なるほど。 かなり突詰めた設定をされていらっしゃるようですね。
> Tinkerboardはみみず工房さんのalsalib等の最適化を施して
Alsaまでチューニングですか。 すごいマニアの世界ですね。
プチノイズが出なければ、TinkerBoardの音を気に入る人がいても、なんらおかしくありません。
音の方の安定感は抜群でジャズやピアノが楽しく聴けます。 I2Sの揺れはRaspberryPi とはPLLのMASHの掛け方(アルゴリズム)が違うだけなのかもしれませんね。
投稿: たかじん | 2017年11月 3日 (金) 23時43分
とんぼのめがねさん、
お風邪を召されたようで、お大事にされて下さい。
symphonic-mpdについては知っておりますが、未だ、音を聞いたことはありません。きっと、いい音がしそうですね。私の方は、そこまで凝っておらず、Piをオーディオ専用にしていない、wifiを使っている、Pi以外のボードにも応用が効くように等、自作ハードウェアを中心に遊んでいます。
今回、各機種の試聴条件はどうなのか、BCKだけでは説明できないと思いますが、Piを間に挟んで聴き比べたらとどうなのかと思い質問させて頂きました。現状では、理由は不明であるものの、TinkerBoardのRock64に対する優位性は決定的のようですね。また、symphonic-mpdのPiが一番気に入られていることもわかりました。
投稿: AYOR | 2017年11月 3日 (金) 23時55分
たかじんさん
たかじんさん
新規なボードのbuildはarmbianのbuildシステムを使用すると簡単で便利です。
apt-get -y -qq install git
git clone --depth 1 https://github.com/armbian/build
cd build
./compile.sh
これだけです。ご存知であれば失礼ですが。
https://docs.armbian.com/Developer-Guide_Build-Preparation/
投稿: とんぼのめがね | 2017年11月 4日 (土) 00時19分
AYORさん
先のスレで返答が飛んでしまった様ですが、最近、volumioのRock64 版が出ました。私は試していませんが宜しかったらどうぞ。Rockのフォーラムから引っ張れると思います。
投稿: とんぼのめがね | 2017年11月 4日 (土) 00時25分
とんぼのめがねさん、
有難うございます。向こうで作られた方がおられるのですね。早速、試してみます。
投稿: AYOR | 2017年11月 5日 (日) 02時57分
とんぼのめがねさん
armbianはまだ試したことないです。
buildrootだと、ちょっと設定を変えるたびにカーネルソースのダウンロードから始まってしまうので、ネット回線が遅くて度々切れてしまうウチの環境だとちょっと無理でした。
ダウンロードに時間かかって途中でとまっているのか、ビルドが開始されないという状態。カーネルソースのダウンロードに成功していれば、それを使ってビルドさせて欲しいですね。 3日間(5,6回)やって、一度もビルド完了まで到達できませんでした。
armbianはsdカードイメージが用意されているようなので、大丈夫かな。。。
投稿: たかじん | 2017年11月 5日 (日) 09時27分
おはようございます、オーシャンです
たかじんさん、buildrootにトライされている様で、期待してます
以前に紹介したtakobouzuさんの解説に、関連していると思われる箇所がありましたので、引用します
>4つの呪文、覚えてますか?その中に make distcleanというのがありましたよね。
あれを唱えるとbuildrootは落として来て展開したときの状態に戻るというお話をしました。
そうすると、以前お話した、output dlといったディレクトリは全部消去されます。
dlって何が集まってるディレクトリでしたか?buildrootがネットからとってきたソース
が入れられる場所です。もったいないと思いませんか。buildrootはdlが消えてしまって
いたら、またソースをネットからダウンロードします。これはビルド時間の遅延を招き
ます。だからmake distcleanをする前にdlをbuildrootディレクトリの外へ退避します。
例えば、/home/inthedark/dlといった場所に。それから make distclean します。
そのあと
$ cd ~/buildroot
$ ln -s ../dl
こうしてシンボリックリンクを作っておきます。これでbuildrootは、dlにあるものは
もうダウンロードをしないで、dlにあるソースを展開、ビルドすることから始めて
くれます。
引用終わり
関係なかったら、申し訳ありません。
P.S. またtakobouzuさんに叱られるなあ〜
投稿: オーシャン | 2017年11月 5日 (日) 10時52分
とんぼのめがねさん、
スレが入り乱れているようですが、件のRock64のVolumioで試聴しました。
使用したDACはお気楽さんのDAC9018K2M 基板+アドオンクロック(Volumioの192kまでのリサンプリング)なので、これはESSの音だな位しか思いませんでしたが、Tinker Board + sabreberry+とやっぱり違うのでしょうね。
投稿: AYOR | 2017年11月 5日 (日) 13時40分
たかじんさん
今回は、たかじんさんの「Tinker Board のI2S信号の出し方と現状報告:」の投稿を読んで、自分でもやってみようと軽い気持ちでTinkerBoardのI2Sの音出しに挑戦しました。
しかし、Rock64の話まで出してしまい、AYORさんまで巻き込んでの「I2S狂騒曲」になり、話を混乱させ申し訳ありませんでした。
一度、TinkerBoardのI2Sに限って今回私が実施したことと「I2Sのノイズ」についてまとめてみますと
①linux 4.4.92 Low-Latency 500 + JMC → 稀にノイズが発生(1~2回/30分)
②linux 4.4.92 Low-Latency 1000 + JMC → 頻繁にノイズが発生(1~2回/30秒)
③linux 4.4.95 Low-Latency 300 + MPD → ノイズは発生しない
と言う結果となります。最初はLow-Latencyの影響を疑っておりましたが、linux 4.4.92からlinux 4.4.95にアップして何らかの対策が取られノイズの発生が無くなったのが正解ではないでしょうか。
この直後に、たかじんさんが「Raspberry Pi と Tinker Board の I2Sジッター比較 」で「それとは別にdietpiというライトウエイトOSで再挑戦中です。」と投稿され「dietpiで何に挑戦するのかな」と、Tinker Boardのノイズの件であれば、方向が違うのかな思い、釈迦に説法とは思いましたが、私がbuildで使用したArmbian Buildに関して投稿させて頂きました。
ArmbianのDownロードサイトでは、安定版はlinux 4.4.92だったと思います。自分でbuildしないとlinux 4.4.95は得られないと思います。armbianでは常時20種類以上のボードのOS開発をおこなっておりますので、ここでの開発情報は意外と重要だと思っています。
また、ArmbianのBuildには「裏メニュー」があります。
./compile.sh EXPERT=yes
とすると、まだベータバージョンであるRock64等のBuildがメニューに出てくる仕組みになっております。
私は常に
./compile.sh KERNEL_ONLY=no KERNEL_CONFIGURE=yes EXPERT=yes
として、エキスパートメニューで毎回SDカードイメージを生成しています。また、今回TinkerBoardのBuildのconfメニューでは既にI2S関連は設定されていますので、KernerのLow-Latencyの項目だけを変更してbuildしました。私の遅いノートパソコンで2.5時間位でした。
Sabreberry32のTinkerBoard対応には期待しておりますので、今後も宜しくお願い致します。
投稿: とんぼのめがね | 2017年11月 5日 (日) 16時12分
AYORさん
Rock64でVolumioが動いたのですね。私もホットしました。
状況報告ありがとうございました。
投稿: とんぼのめがね | 2017年11月 5日 (日) 16時16分
とんぼのめがねさん
apt-get -y -qq install git
git clone --depth 1 https://github.com/armbian/build
cd build
./compile.sh
ここまで打って、5時間経つけど、まだtool類のダウンロードが終わらない。。。
> 私は常に
> ./compile.sh KERNEL_ONLY=no KERNEL_CONFIGURE=yes EXPERT=yes
あっ やり直しが必要???
オーシャンさん
なるほど、うまく行く環境であればカーネルソースはダウンロードされたものが使えるんですね。
セルフビルドより速いという話で、3日間試して、なにも出来上がらず挫折しました。
セルフなら90分でできる。 buildrootは3日やっても完了しない。 という具合でした。
armbian ビルドはどうなることやら。。。
コマンド一発でシステム化されたものに、外部ソースのドライバを入れ込む方法などご存知でしたら伝授していただけると助かります。
投稿: たかじん | 2017年11月 5日 (日) 22時16分
たかじんさん
コメントを拝見して絶句です。ネット環境がひど..........すぎませんか。
逆にarmbianなどと余計な事を申し上げてしまいました。今、buildを途中で止めると確か全てが破棄される仕様だったと思います。まだ、ツール類のダウンロード中と言うことは、時間的に1/3位いや1/4位だと思います。
因みに、 KERNEL_ONLY=yesとするとカーネルだけがコンパイルされます。
後、先の投稿で①②(desktop)と③(server)と決定的に違う相違点を忘れておりました。ビデオ関連にノイズの原因があるかもしれません。
armbinのダウンロードサイトからdesktopではなくdefultイメージをダウンロードしてmpdをインストールするとノイズがでないかもしれません。ノイズが出なければ、このイメージからconfファイルを取り出してbuildrootに持っていけるのでしょうか?
>コマンド一発でシステム化されたものに、外部ソースのドライバを入れ込む方法などご存知でしたら伝授していただけると助かります。
私も知りたいです。
今更ですが、申し訳ございません。私も今からダウンロードして確認致します。
投稿: とんぼのめがね | 2017年11月 5日 (日) 23時02分
カーネルコンフィグのLow-Latencyとは、カーネルスレッドの起動サイクルを指定するもので100Hz〜1000Hzで設定可能です。
カーネルスレッドが頻繁にタスクスイッチを行うほどLow-Latencyであるという主張ですが、カーネルスレッドによるタスクスイッチはそれ自体が遅延の原因となるので、シングルボードコンピュータのように非力なCPUでリアルタイム処理を行う場合は注意が必要だなと思っています。
実際に100Hz〜1000Hzで聴き比べていただくと分かるのですが、1000Hzが必ずしも高音質とはならないと思います。
とんぼのめがねさんが「もしや」と思われたとおり、この設定がTinkerでの音飛びの一因になっている可能性は十分あると思います。
投稿: パパリウス | 2017年11月 5日 (日) 23時17分
とんぼのめがねさん
7時間たってやっと画面がでました。 でもサポートボードが1枚も無い状態でした。 ダウンロード中になにかエラーで飛ばされたのかもしれません。
ネット環境、フレッツ光をいれて以前よりずっとよくなったんですけどね。 それでもカーネルソースなど大きなファイルのときはiriaなど途中から再開できるツールを使った方が確実です。
PCは、RPiのカーネルのクロスコンパイルなら10分ちょっとで終わるので遅くはないと思っているんですが。。。
私も、Tinkerの音飛びはどこか不具合が発生していると思います。 カーネルバージョンの違いで出るならソースのdiffをとると見えてくるかもしれません。
パパリウスさん
おっしゃる通りですね。 Moode 4.0用にビルドしたものは100Hzにしました。 DSD2PCMなど重い処理をさせてCPU負荷を見ると、500Hzは100Hzとくらべて負荷が高くなってしまうことがわかります。 1000Hz設定は、Pi3の標準クロックだと384kHz再生で音飛びしまくってました。
音飛びしない44.1kHzの音源でも余裕のないキツ目な音で、私の好みじゃなかったと記憶してます。 音の鮮度が高いと評価している人もいらっしゃいますので、好みの問題かもしれません。 個人的にはRPiなら300Hz以下の設定かな~と思いました。
投稿: たかじん | 2017年11月 6日 (月) 00時11分
たかじんさん
今、設定が終わり、良い音でI2Sを聴いています。
予想通り、linux 4.4.92 normal server環境ではノイズはありません。
パパリウスさん
ありがとうございます。ご指摘の通り、Low-Latencyの設定は注意しないといけないですね。
ふう、疲れた。(たかじんさんの程ではないですけど)
大変申し訳ございませんでした。
投稿: とんぼのめがね | 2017年11月 6日 (月) 00時12分
とんぼのめがねさん
いろいろと情報ありがとうございます。
昨夜、もう一度
./compile.sh KERNEL_ONLY=no KERNEL_CONFIGURE=yes EXPERT=yes
した後、寝たら、今朝にはメニューが開いていました。 今回は5時間以内にダウンロードが完了したっぽいです。
この時点で、カーネルバージョンがいくつのソースを持ってきているのか見えない不安さがありますね。 別のボードのカーネルソースも落ちているなら無駄も多い。
> 私も知りたいです。
この手のビルドTOOLは、クロスビルドTOOL、カーネルソース等を個別にダウンロードできて、好きにビルドできる方が融通ききますね。 スクリプトが組まれててコマンド一発の手軽さがあるものの、デメリットも共存すると感じました。
敷かれたレールがどこに向かっているのかまるで見えない。
とりあえず、今夜、つづきから再開してみます。
buildrootのシステムよりは順調かもしれないです。
投稿: たかじん | 2017年11月 6日 (月) 08時26分
こんにちは
いつぞやHyCAAアンプで、大変 お世話になりました。
私もTinkerBoardを使っています。
一般的なWeb閲覧は、ほぼTinkerBoardになりました。消費電力が少なくエコです。
OSは、TikerOS_Debian V1.8 です。
β版は、まともに動かず、嵌まって仕舞いましたが・・V.1.8が安定していていいです。
再生は、ボード本体のジャックから
問題のあるオーテクの昔のヘッドフォンで聴いていますが、TinkerBoardは、このままで音が良いので満足です。
ハンダがボビンに巻かれて大量にあるので、ハンダ付けしたのですが・・
アンプ作りは、アレ以来していません。
また、作ってみたいですね。
投稿: tonkatu | 2017年11月15日 (水) 09時00分
tonkatu さん
Tinkerboardは低負荷だと600MHzになるようですね。 ステータスを見ると、もっと下がるようなことが示されているのですが、下げ方が分かりません。
おっしゃるとおり、オンボードのDACもなかなかの音を出します。 電源を気をつければさらに音が良くなる可能性もありますね。
投稿: たかじん | 2017年11月15日 (水) 20時30分