/ 雑記帳

[ カテゴリー » Raspberry Pi4 Model B ]

Raspberry Pi 5 が発表された...

Raspberry Pi 5 が発表された...
一番楽しみなのはPCIeがコネクターで引き出されているところだ。
もしPi5でもsmpdが使用可能になれば
Pink Faun I2S Bridgeカードと接続して音出しが出来たりするかも

RaspberryPi5



— posted by くま at 08:04 pm  

改めてRaspberryPi4について考えると

RaspberryPi4の最大のメリットは何だろうか?と考えると
昔は安くてハイコストパフォーマンスだったが
現状の販売されている価格だともう安くは無い(笑)

否定的な言い方をするなら
携帯電話生産で余ったCPUを使った学習教材がスタートのSOCである。
それが競合製品が現れ当初予定されていない性能を盛り込み現在に至っていると解釈している。

自分の再生システムはRaspberryPi4とPink Faun I2S Bridgeカードの2系統であるが
誤解を恐れず書けば何時もこの2系統はいい勝負をしている。
再生音源によって勝敗が分かれる時もあった。
ただそれはRaspberryPi4がそのGPIOからI2Sを出力する場合に限っていた。
USB-DDCを使用した場合は優等生的音はするのだが何か足りなく感じていた。
それが何なのか突き止める日が来るのか...
今回新版のsmpdを通じて前に進めるかもとかそんな予感がしている。

追記
発作的に注文したCDが5枚明日に到着するらしい...
余りにマイナーで中古品しか買えなかったが大丈夫だと良いなぁ
再生装置が一定基準に到達すると無性に新しい音源ソフトが欲しくなる(笑)

追記
自分の再生装置や好きな音源とか世間の流れの中でどんな位置にあるのかとか
(優劣という意味では無い。)
他の人のセンスを感じて見たいというか音が聴きたいと何時も思う。
他の方々のセンスを感じて取り込んで(良いとこ取り)更に良い音で感動したいとか思っている。
(ズルいヤツ^^;)

— posted by くま at 10:49 am  

SMAコネクターを何種類か発注した

先延ばしに....その時が来たかもという事で
SMAコネクターを何種類か発注した。
前述のCLK5340基板が一応完成したので
いよいよRaspberryPi4と組み合わせて実験して見ようかなと(笑)
NFD基板との組み合わせの他に試したい組み合わせがあるので
脱着が容易に行える構造にするための発注である。
可能?ならRaspberryPiの悪名高きPLL回路部分に挿入出来ないかな?とか
I2S横取り基板のPLL回路の置き換えとか...
妄想が膨らむ(笑)

蛇足...
むかーーーし 
ケーブルTV等の高周波測定ジグを見た事がありその構造を真似してSMAコネクターを使って見たいと
思っていたが当時は特別な商社を通して且つ高価だったので個人使用という発想がなかったのである。

— posted by くま at 09:28 am  

RaspberryPi を使った音源再生環境 (1)

昨日は久しぶりに某JAZZ喫茶へ...
そこで現状RaspberryPiにvolumioをインストールして音源再生をしているが
現在までRaspberryPiの話が出来る人と会った事が無いという方と知り合う事が出来て色々なお話をした。
まぁ自分も県内でRaspberryPiを使って音源再生をしている方は他に一人しか知らないので
超マイナーな世界だとは思う(笑)

自分はラズパイ2から始まって現在はラズパイ4を3台使ってそれぞれ違うHAT基板やOSで
日々どの方式が良いのか?テストを重ねているというか迷走している状態だったが
最近は lightmpd/upnpgw に可能性が見えたので
その環境での音質向上のため
色々なパラメーター変更しながらベターを探している。

ラズパイについては 
もう何年も取り組んでいるのだが
最新ラズパイ本体値段が高騰して「安くて高音質」ではもう無くなっている様に思う。
それでもラズパイに拘っているのは
市販されているハードで特別な改造もせずにI2S信号を出力出来るから
これはI2S信号を直接DACへ入力して音を聴いた経験がある方でなければ理解出来ない事だと思う。

それでも本気でラズパイで考えられる最高の音質を得ようとすると
本体価格の何倍もお金がかかってしまう。
致命的なのはMCLK信号が単体では出力出来ない事である。
接続するDAC_IC自身で解決するか?あるいはリクロック基板追加で生成してやるか?
現状市販されているDAC_ICはほとんどがスレイブモードで且つMCLK信号を必要とするので
その弱点を補い高性能を求めると結構な金額となってしまう。
なので「違う方法でも同レベルの音が得られるのでは無いか?」とか思う事が良くある(笑)
それでも止められないのは何故だろうか...

その他並行して通常のサウンドカードからI2S信号を引き出し
それを据え置きDACへ入力する方式もテストしているが改造可能なサウンドカードは大抵
Windowsの基本仕様である192KHzまでのサンプリング周波数となっており
新しいフォーマットであるDSD音源の再生はPCM変換をすることにより
不可能ではないが高音質レベルにはちょっと厳しい。
中々デジタルプレーヤー環境の構築から抜けられ無い(笑)

マスターから宣伝の許可をいただいたのでリンクを貼ります。
自分はリリースされているタイトルはすべて購入して聴いています。
個人的には
最新版の YOSHIMITSU OKADA QUARTET 「SONGS IN MY HEART」
9曲目の生々しさが最高です。
このCDには録音、製作時の拘りが詰まっていると思います。
録音エンジニア方やお店のママさんにそのお話を聞いてなるほど!と....
けれど それをあえて書きません。
何度も書いていますが膨大なテキストを費やしても音の良さは伝わらないから...
まずは聴いて欲しいと思います。
参考リンク JULIAN RECORDS

蛇足...
レーベル犬は実在しています。何とも可愛いいです。
タイミングが合えばお店のピアノ下にいるかも知れません(笑)

— posted by くま at 07:16 am  

RaspberryPi4 No DAC No HAT? (3)

RaspberryPi4にはUSB2.0と3.0が接続可能になっている。
前回紹介した記事に使用したLANポート追加基板は
USB2.0 介して100Baseポートを追加するもので元々はRaspberry Pi Pico用だ。
今回試して見たブツはUSB3.0を介してGigabit接続が可能になる。
lightmpd/upnpgwをカスケード接続を再度試して見ようという...
まぁ呆れてしまう方々多数だろう(笑)
前回の結果が予想以上だったので二匹目のどじょう狙いである(笑)
何度も書くが自分はUSBを通る音声信号は大嫌いである...でもこの基板もLAN-USBという経路で本体に接続する。
まぁちょっとだけ言い訳するとRaspberryPi4からLANとUSBのポートは独立しているので
モデル3よりは影響は少ないと思う^^;
前回と同じチップが搭載されていると思ったがデバイスの認識名が違っている。
 enp1s0u1u3 の様だ。(前回の100Base版は enp1s0u1u4u4)
で!このデバイス名を得るためにはどうしても
最初は室内のローカルネットワークに本体を接続する必要がある?
非常に無駄な作業の様に思うがその他の方法が見つからなかった悔しい。
肝心の音質は...
少し前に試した100Baseに比べて低音域の重心と分解能が上がった!
こっちが断然好みだ!この音の良さがどこから来るか?解析しないと...
思い当たるのはお気楽さんのクロック基板なんだが
それこそ気軽にもう一枚作って検証が出来ない。現在在庫なしの状態である。
あくまで個人的感想だけどマスターモードに拘っていた自分が情けなくなるという
プラシーボ全開かも知れないモードに入っている(苦笑)
何日か聴いてみて...良いと思う。これはオススメだ!
まぁ最初からlightmpdを追いかけていないと何を書いているさえ不明なのかな(苦笑)

参考: mpdをUPnPレンダラーとして使用する場合
[root@alarm ~]# cat /etc/mpd.conf

#
input {
plugin "curl"
###proxy "10.0.0.1:8123"
}

この設定と2本のLANの設定だけで2LAN構成のレンダラー化が可能

[root@alarm ~]# ip a
1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: end0: mtu 1500 qdisc mq state UP group default qlen 1000
link/ether e4:5f:01:a2:74:ed brd ff:ff:ff:ff:ff:ff
inet 10.0.0.2/30 brd 10.0.0.3 scope global end0
valid_lft forever preferred_lft forever
inet6 fe80::e65f:1ff:fea2:74ed/64 scope link
valid_lft forever preferred_lft forever
3: enp1s0u1u3: mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:e0:4c:68:00:c7 brd ff:ff:ff:ff:ff:ff
inet 10.0.1.2/30 brd 10.0.1.3 scope global enp1s0u1u3
valid_lft forever preferred_lft forever
inet6 fe80::2e0:4cff:fe68:c7/64 scope link
valid_lft forever preferred_lft forever

Add-LAn


真ん中のUSBコネクタが接続されているのが分かると思う。
追加基板は所謂ハブ機能でUSB3.0の差し口を増やすモノだと思われる。

2LAN-1



— posted by くま at 04:45 pm  

RaspberryPi3 復活させた...

尖ったOS(笑)ばかり追求していたがたまには普通路線という事で
打ち捨てられた?RaspberryPi3があったので
(以前はsmpdの旧バージョンで運用していたが音源ソースDirのマウントが面倒になって...)
普通のRaspberryPiOSをインストール
mpd upmpdcli をインストールして音楽再生環境を作った。
だがしかし時代は古いものには厳しく特にupmpdcliのインストールは面倒だった!
以前はppaのレポジトリを追加してaptコマンドでインストール可能だったハズ^^;
今回はダメ!?だった。ここで諦めてmpd単体でも音出しは可能だが(笑)
ちょっと粘ったら...半徹夜状態になってしまった(笑)
重要なlib類はほとんどaptではインストール不可でソースをdownloadして来て
ビルドするという もう何だかなぁ
libupnpp-0.22.4 libnpupnp-5.0.1 upmpdcli-1.6.3 等
で!依存関係を無事クリアー!エラーも特に出ない状態でインストール完了したのに
得意のエラーlibupnpp.so.12が無いとか?起動しない!依存関係がぁ!?
エラーが出てないのに?? 
結論としては pupnpのインストールが必要だった。
忘れているのかなぁ自分(苦笑)

蛇足 ソースインストールには常にOS環境破壊(笑)とか元に戻せなくなるとか
   恐ろしいリスクがあるのでは?とういう事で自分はこの様な場合にporgを活用しています。
   porg は自分ビルドのパッケージ管理用ツールで以前は paco だったが現在は porg として開発が継続
   自分ビルドをインストールする際にporgコマンドを使う事でインストール内容を追跡記録してくれます。
   その機能により綺麗にアンインストールが出来るので元に戻して仕切り直しが可能(笑)
   RaspberryPiはそのコストパフォーマンスと手軽さ?がウケて初心者の入門用として語られているのを良く見るけど
   ホントにそうなんだろうか?と何時も思う。思いどうりになんて全然動かない(笑)

— posted by くま at 10:23 am  

最新kernel sourceでrt-kernel環境を構築 ついでにdriver改造

[root@alarm ~]# uname -a
Linux alarm 6.3.0-rc4-rt1-v8 #1 SMP PREEMPT_RT Thu Mar 30 20:12:33 JST 2023 aarch64 GNU/Linux

[root@alarm ~]# alsacap
*** Scanning for playback devices ***
Card 0, ID `sndrpirpidac', name `snd_rpi_rpi_dac'
Device 0, ID `RPi-DAC HiFi pcm1794a-hifi-0', name `RPi-DAC HiFi pcm1794a-hifi-0', 1 subdevices (1 available)
2 channels, sampling rate 8000..768000 Hz
Sample formats: S16_LE, S24_LE, S32_LE
Subdevice 0, name `subdevice #0'

これが実現出来た組合せ(3/30現在)

patch: patch-6.3-rc1-rt1.patch.xz
source: https://github.com/raspberrypi/linux/tree/rpi-6.3.y
VERSION = 6
PATCHLEVEL = 3
SUBLEVEL = 0
EXTRAVERSION = -rc4

現実に戻って冷静になると...
まずrpi-dacドライバーのソース部分をイジって
本来のpcm1794aのハードウェア仕様とはかけ離れた仕様に改造している。
この改造をしても一般的なハードにはメリットがない様に思う。
DSD音源ファイルをDoP、I2S形式で出力する場合にだけメリットがある様に思う。
自分の環境ではAK4137というサンプリングコンバーターICとの組合せで動作を確認している。
RaspberryPiはMCLKを出力出来ないため一般的なスレーブモード動作のDACセットと組み合わせるためには
MCLKを発生させなければならないから
例えばAlloラズパイ用リクロッカー KALI Reclocker基板等と組み合わせる必要がある。
まだ試していないがこの基板使用時に組み合わせるドライバーもrpi-dacドライバーなので
恐らく動作する様に思う。

参考URL:
0028-nikkov-i2s-spdif-2.0.patch
ALSA: pcm: Add support for 705.6KHz and 768KHz sample rate
NanoPi-NEO2 の I2SでMCLK出力 & 384kHz, 768kHz, 1536kHz, 8kHz対応
linux-kernel-projects-rt-6.3
RaspberryPiに最新のRT-Linuxを入れる方法
Raspberry Pi 3とリアルタイムカーネル(1)[RT Preempt導入編]

追記 3/31 intel i9 j8でビルドしてこのぐらいの時間がかかる。

TIME



作業概要
1.kernel sourceにリアルタイムカーネルパッチを当てる。
2.RPi-DACの仕様変更のため下に示した部分のsourceを変更する。
3.クロスコンパイル環境でコンパイルを行う。
4.エラー無くコンパイルが終了したらSDカードの該当部分にコピー、再起動して確認する。

パッチと言うものを作った事が無いのでこれで...
#----sound/soc/codecs/pcm1794a.c----------------------------#
29c29
< .rates = SNDRV_PCM_RATE_8000_768000,
---
> .rates = SNDRV_PCM_RATE_8000_192000,
31,32c31
< SNDRV_PCM_FMTBIT_S24_LE |
< SNDRV_PCM_FMTBIT_S32_LE
---
> SNDRV_PCM_FMTBIT_S24_LE
#----include/sound/pcm.h------------------------------------#
124,126d123
< #define SNDRV_PCM_RATE_705600 (1U<<15) /* 705600Hz */
< #define SNDRV_PCM_RATE_768000 (1U<<16) /* 768000Hz */
<
139,143c136,138
< #define SNDRV_PCM_RATE_8000_384000 (SNDRV_PCM_RATE_8000_192000|SNDRV_PCM_RATE_352800|¥
< SNDRV_PCM_RATE_384000)
< #define SNDRV_PCM_RATE_8000_768000 (SNDRV_PCM_RATE_8000_384000|SNDRV_PCM_RATE_705600|¥
< SNDRV_PCM_RATE_768000)
<
---
> #define SNDRV_PCM_RATE_8000_384000 (SNDRV_PCM_RATE_8000_192000|¥
> SNDRV_PCM_RATE_352800|¥
> SNDRV_PCM_RATE_384000)
#----sound/core/pcm_native.c--------------------------------#
2460c2460
< 48000, 64000, 88200, 96000, 176400, 192000, 352800, 384000, 705600, 768000
---
> 48000, 64000, 88200, 96000, 176400, 192000, 352800, 384000
#----sound/soc/bcm/bcm2835-i2s.c----------------------------#
770c770
< .rate_max = 768000,
---
> .rate_max = 384000,
780c780
< .rate_max = 768000,
---
> .rate_max = 384000,

KERNEL=kernel8 make menuconfig ARCH=arm64 CROSS_COMPILE=/usr/bin/aarch64-linux-gnu-
を実行する時に忘れてはいけない事!
CONFIG_PREEMPT_RT=y
CONFIG_HIGH_RES_TIMERS=y

— posted by くま at 08:30 pm   commentComment [2] 

 

うぉ----- DoP万歳!

[root@alarm ~]# alsacap
*** Scanning for playback devices ***
Card 0, ID `sndrpirpidac', name `snd_rpi_rpi_dac'
Device 0, ID `RPi-DAC HiFi pcm1794a-codec-0', name `RPi-DAC HiFi pcm1794a-codec-0', 1 subdevices (1 available)
2 channels, sampling rate 8000..768000 Hz
Sample formats: S16_LE, S24_LE, S32_LE
Subdevice 0, name `subdevice #0'

pcm1794aハードウエアのサポート範囲を超えた値の設定に成功したと思う(笑)
DSD256音源ファイル再生時のステータスは

access: RW_INTERLEAVED
format: S24_LE
subformat: STD
channels: 2
rate: 705600 (705600/1)
period_size: 16384
buffer_size: 65536

うお-----DoPが大好きだぁ(笑)
これからデバック作業に入るが
上手く行けばDSD256も問題なくDoPで再生出来るハズ!

※パッチの内容について現在 精査中です...

参考URL  DSD再生環境(1) 混乱していますがこれでOK?

— posted by くま at 08:49 am  

ArchlinuxベースでRaspberryPi用のrt-kernel作成

ArchlinuxベースでRaspberryPi用の最新rt-kernel作成につまずいている。
何が問題なのか?
カーネル再構築に必要な最新sourceにrtパッチが綺麗に当たらない。
(腕がないのか??)
少し古いsourceでも上手く当たる組合せを探したが見つからない。
恐ろしいのが arch/arm64/configs/ に
bcm2711_defconfigが存在しないsourceが多く存在している事。
まだまだ勉強が足りないのかなぁ...

参考URL  64bit rt-kernel への道(2)

— posted by くま at 09:33 am  

CLK5340基板接続(3)

今、RaspberryPi4で聴いていますが良いです。(意味不明^^;
以前からラズパイの弱点はクロックだ!と言われていましたが
確かそうだと納得です。
SRC4137基板との組合せでMCLKを付加してDACに入れると結構良いと感じていたが
今回SRC4137基板に入れるクロックをCLK5340基板から供給すると
やはり更に音質が向上する事が判明!(個人的見解です。)
素晴らしい....音のうなりというか余韻というかタメが聴こえる。
デスクトップPCに比較して音の勢い力がちょっと...と思っていたのだが
これが弱っちいと思っていたラズパイの音なのかと(笑)

余計なHAT基板は使わず絶縁ICを介したI2S差動送信基板のみを搭載しています。
こうするとドライバーの制約が少なくなり
無茶?なサンプリング周波数で試す事が可能になります(笑)
紫色のジャンパー線が見えています。
これは10PIN2列のヘッダーから送信基板一次側の電源を供給するために配線しましたが
元々は近くに見えるJSTのXH 2PINのコネクターから電源を供給する様に設計していました。
どんどん電源を独立供給設計にしていたら電源基板が何枚も必要になって
前段の基板からi2s信号と電源を貰う様に追加配線したものです。
苦肉の策なワケです(笑)

RaspberryPi4-11



— posted by くま at 10:17 pm  

<< 2024.11 >>
SMTWTFS
     12
3456789
10111213141516
1718 1920212223
24252627282930
 
























T: Y: ALL: Online:
ThemePanel
Created in 0.1928 sec.