Raspberry Pi + Rune Audio ::: Một trải nghiệm nghe nhạc mới

toi511

Well-Known Member
Bấm set như hình, driver đang dùng là số mấy thì set vào số đó, sau khi apply nó tự refesh lại sau đó vài giây. Sẽ tự ghi thông tin chọn Card vào file /etc/asound.conf

2021-04-18-02_17_46-APlayer-Media-Renderer-2.08.png
Một phát ăn luôn. Cảm ơn anh
 

toi511

Well-Known Member
Nhận xét. Bản smpd chạy AP layer chayh qua Fifo Pi v 1. Âm thanh có chiều sâu, bass chắc gọn, giải trên lên vừa phải không chói. Túm lại âm thanh hay hay. Anh Hải cho mấy cái tip and trip chỉnh chọt nữa so sánh dem như thế nào.:D:D:D:D:D
 

quatmo

Well-Known Member
Nhận xét. Bản smpd chạy AP layer chayh qua Fifo Pi v 1. Âm thanh có chiều sâu, bass chắc gọn, giải trên lên vừa phải không chói. Túm lại âm thanh hay hay. Anh Hải cho mấy cái tip and trip chỉnh chọt nữa so sánh dem như thế nào.:D:D:D:D:D


Em chạy 4 dòng này để cấp quyền, sau đó cứ dùng WinSCP chuột phải - edit/save cho tiện (khỏi nano).

Mã:
sudo chown pi:pi /etc/systemd/system/asset.service
sudo chown pi:pi /etc/systemd/system/aprenderer.service
sudo chown pi:pi /lib/systemd/system/ifi-streamer-tidal-connect.service
sudo chown pi:pi /lib/systemd/system/umountw.service

Hiện tại trong 4 Service trên anh đang set realtime, anh copy từ mpd.service sang.
Mã:
CPUAffinity=3
LimitRTPRIO=99
LimitRTTIME=infinity
LimitMEMLOCK=infinity
# none, realtime, best-effort, idle
IOSchedulingClass=realtime
# 0(highest) - 7(lowest)
IOSchedulingPriority=0

Em thử thay đổi giá trị trong 2 service này thử xem có khác gì không
asset.service
IOSchedulingPriority=3

umountw.service
CPUAffinity=3 (2 sang 3)
IOSchedulingPriority=4

Mã:
sudo systemctl daemon-reload
sudo systemctl restart umountw.service
sudo systemctl restart asset.service
 

toi511

Well-Known Member
Em chạy 4 dòng này để cấp quyền, sau đó cứ dùng WinSCP chuột phải - edit/save cho tiện (khỏi nano).

Mã:
sudo chown pi:pi /etc/systemd/system/asset.service
sudo chown pi:pi /etc/systemd/system/aprenderer.service
sudo chown pi:pi /lib/systemd/system/ifi-streamer-tidal-connect.service
sudo chown pi:pi /lib/systemd/system/umountw.service

Hiện tại trong 4 Service trên anh đang set realtime, anh copy từ mpd.service sang.
Mã:
CPUAffinity=3
LimitRTPRIO=99
LimitRTTIME=infinity
LimitMEMLOCK=infinity
# none, realtime, best-effort, idle
IOSchedulingClass=realtime
# 0(highest) - 7(lowest)
IOSchedulingPriority=0

Em thử thay đổi giá trị trong 2 service này thử xem có khác gì không
asset.service
IOSchedulingPriority=3

umountw.service
CPUAffinity=3 (2 sang 3)
IOSchedulingPriority=4

Mã:
sudo systemctl daemon-reload
sudo systemctl restart umountw.service
sudo systemctl restart asset.service
Asset em quét ra album nhưng play không chạy anh. Chắc do mạng yếu hay sao ấy. Em play từ nas nhà em
 

tml3nr

Moderator
Dạ anh và các bác thực hiện như sau để get event TC: Kết nối, Play, Pause, Stop kết nối.
May mắn TC có cung cấp Trace: Chạy chế độ Trace để xem TC log

Mã:
sudo systemctl stop tc.service

Trace
Mã:
/usr/ifi/ifi-tidal-release/bin/tidal_connect_application --tc-certificate-path /usr/ifi/ifi-tidal-release/id_certificate/IfiAudio_ZenStream.dat -f symphonic-mpd --model-name Streamer --disable-app-security false --disable-web-security false --enable-mqa-passthrough false --enable-websocket-log 3 --log-level 4


Ghi nhận kết nối
useDaemon : 0
autoStart : 1
serviceName : Streamer-7ee83fd9c8c6a974d163c4dc23090a44
serviceType : _tidalconnect._tcp
modelName : Streamer
capability : 0
port : 2019
deviceId : 7ee83fd9c8c6a974d163c4dc23090a44
friendlyName: symphonic-mpd
...
Play/pause
"playerState": "PLAYING"
"playerState": "PAUSED"

Disconnect (Ngưng kết nối TC)
[0] (79) [1] {"command": "notifySessionEnded", "sessionId": "758902921", "suspended": false}
[2021-04-18 18:11:35] [disconnect] Disconnect close local:[1000, ] remote:[1000, ]


Như vậy mình có thể dùng câu lệnh ghi nhận sự kiện quá trình chạy TC để làm điều kiện. Các bác nghiên cứu tiếp.

Xem thêm:
/usr/ifi/ifi-tidal-release/bin/tidal_connect_application -h
Cảm ơn anh Quạt nhiều. Cái này hay, mình có thể sed log của TC để biết trạng thái của nó.

Nhưng mình vẫn cần phải chạy script trước chứ nó không có tự rình event như Onevent của Spotifyd.

Em sẽ thử mò theo hướng alsa. Mỗi khi alsa có activity là script sẽ chạy.
 

tml3nr

Moderator
anh @quatmo@tml3nr cho em hỏi 2 mode này là sao nhỉ
Untitled4eb030a0fde6208f.jpg
Em chưa coi tới mmap với rw anh ạ. Thấy mmap có dùng trong libao, mpd đời cũ (Trước 0.19) và shairport-sync.

Nhìn theo giao diện. Có vẻ như nếu mình không dùng soft volt thì coi như bỏ qua các options trong ô vuông đó?

Giao diện trong hình của anh là aprenderer 2.07. Bản 2.08 dev Igor đã cho chọn volume hardware rồi. Rất ngon.

Ông dev Igor rất nhiệt tình và tốt bụng. Trước khi ổng ra bản 0.28. Em có nhờ ổng build dùm bản có harware volume cho boss dac và Topping E30. Ổng mod và fix lỗi cho em đến lần thứ 5 thì perfect. Ổng có nói là sẽ đưa việc này vào bản 0.28 sắp phát hành nên em không khoe với cả nhà.

aprenderer 2.08:

aprenderer-208.png
 
Chỉnh sửa lần cuối:

tml3nr

Moderator
Nhận xét. Bản smpd chạy AP layer chayh qua Fifo Pi v 1. Âm thanh có chiều sâu, bass chắc gọn, giải trên lên vừa phải không chói. Túm lại âm thanh hay hay. Anh Hải cho mấy cái tip and trip chỉnh chọt nữa so sánh dem như thế nào.:D:D:D:D:D
Hiện tại với các bản mod. Em thiên về cách chạy một script để optimize âm thanh hơn là set theo service. Em thấy dễ kiểm soát hơn.

Em sẽ soạn lại rồi viết ra cho nó dễ xem. Anh chờ em tí nhé.

Em mới thử build từ đầu bản Buster 5.10.17 stock. Càng về sau tiếng của bản raspian stock càng hay các anh ạ. Em stop hết tất cả các service không dùng là âm thanh vọt lên dữ lắm. Chỉ cần set một vài tuồng optimize cơ bản là âm thanh rất ấn tượng.

Build trên raspian stock có cái sướng là làm gì cũng được, mọi thứ rất dễ dàng chứ không vật vã như mod những bản đã độ của các dev.

Em sẽ làm một bản build từ raspbian stock cho các anh test thử. Tiện dụng cũng có cái hay của nó :D
 
Chỉnh sửa lần cuối:

quatmo

Well-Known Member
Hiện tại với các bản mod. Em thiên về cách chạy một script để optimize âm thanh hơn là set theo service. Em thấy sẽ dễ kiểm soát hơn.

Em sẽ soạn lại rồi viết ra cho nó dễ xem. Anh chờ em tí nhé.

Em mới thử build từ đầu bản Buster 5.10.17 stock. Càng về sau tiếng của bản raspian stock càng hay các anh ạ. Em stop hết tất cả các service không dùng là âm thanh vọt lên dữ lắm. Chỉ cần set một vài tuồng optimize cơ bản là âm thanh rất ấn tượng.

Build trên raspian stock có cái sướng là làm gì cũng được, mọi thứ rất dễ dàng chứ không vật vã như mod những bản đã độ của các dev.

Em sẽ làm một bản build từ raspbian stock cho các anh test thử. Tiện dụng cũng có cái hay của nó :D
Moode 7.1 / Volumio Buster 3.x đều là Buster 5.x, MPD 0.21x/0.22/23x nhiều Tây đánh giá nghe hay hơn thế hệ trước. Nếu có thời gian anh so sánh nghe thử xem giữa cái anh đang build và bản Butser xem sự khác biệt những gì không? Moode 7.1 có thể set cách ly CPU, cả 2 đều có set chạy reatime trong MPD thì phải.
 

quatmo

Well-Known Member
Em báo cáo sơ bộ tình hình wifi usb trên pi.

Hiện tại em test với raspbian buster 5.10.17 hầu hết các wifi usb chạy rất ngon. Nếu như wifi nào không có driver sẵn mình dùng script install-wifi của dev MrEngman setup rất nhanh và chạy OK chứ không lag lag như những năm trước.

Có mấy cái wifi em mua 2016 đến giờ chạy mới ngọt.

Những chipset dev MrEngman đang support là: rtl8188eu, rtl8188fu, rtl8192eu, rtl8812au, rtl8821cu, 8822bu, mt7610 và mt7612.

Chỉ cần chạy lệnh sau:

Mã:
sudo wget http://downloads.fars-robotics.net/wifi-drivers/install-wifi -O /usr/bin/install-wifi
sudo chmod +x /usr/bin/install-wifi
sudo /usr/bin/install-wifi

Thí dụ như bên dưới, em install Edimax EW-7811UTC RTL8812AU chạy OK con gà đen luôn:

Mã:
pi@raspberrypi:~ $ sudo /usr/bin/install-wifi

*** Raspberry Pi wifi driver installer by MrEngman.
*** Performing self-update
*** Relaunching after update

*** Raspberry Pi wifi driver installer by MrEngman.

Your current kernel revision = 5.10.17-v7+
Your current kernel build  = #1403

Checking for a wifi module to determine the driver to install.

Your wifi module is Bus 001 Device 004: ID 7392:a812 Edimax Technology Co., Ltd

And it uses the 8812au driver.

Your Pi revision number is 2a01041
You have a Pi 2B v1.1
Checking for a 8812au wifi driver module for your current kernel.
There is a driver module available for this kernel revision.
Downloading the 8812au driver, 8812au-5.10.17-v7-1403.tar.gz.
Installing the 8812au driver.

Installing driver config file 8812au.conf.
mv 8812au.conf /etc/modprobe.d/.
Installing driver module 8812au.ko.
install -p -m 644 8812au.ko /lib/modules/5.10.17-v7+/kernel/drivers/net/wireless
Loading and running the 8812au driver, 8812au.ko.

More info:

http://downloads.fars-robotics.net/

wifi-usb-all.jpg
Em đang bó tay bó chân với USB Wifi cho Ropieee
Mặc dù đã cài đúng driver 8192eu.ko (8192eu-5.4.83-v7l-1379.tar.gz) cho Linux ropi2 5.4.83-5-SPCKFSH-v7+ armv7l.

Báo cáo cả nhà usb wifi đã về 1 nạm
Tối về em tính ra hết bao nhiêu em post sau nhé
Các bác gởi giúp em địa chỉ giao hàng ah
4843D8D3-3529-485D-B59E-4DF93336AFDF.jpg
Quá ngon!
Hy vọng nó work với Ropieee.
 

rndce

Well-Known Member
Em chưa coi tới mmap với rw anh ạ. Thấy mmap có dùng trong libao, mpd đời cũ (Trước 0.19) và shairport-sync.

Nhìn theo giao diện. Có vẻ như nếu mình không dùng soft volt thì coi như bỏ qua các options trong ô vuông đó?

Giao diện trong hình của anh là aprenderer 2.07. Bản 2.08 dev Igor đã cho chọn volume hardware rồi. Rất ngon.

Ông dev Igor rất nhiệt tình và tốt bụng. Trước khi ổng ra bản 0.28. Em có nhờ ổng build dùm bản có harware volume cho boss dac và Topping E30. Ổng mod và fix lỗi cho em đến lần thứ 5 thì perfect. Ổng có nói là sẽ đưa việc này vào bản 0.28 sắp phát hành nên em không khoe với cả nhà.

aprenderer 2.08:

aprenderer-208.png
Để update lên bản Aprender 2.08 này mình down về rồi chép vào /root -> rồi tar
Mã:
tar -xf /root/aprenderer.tar.gz --overwrite -C /opt/
chép đè vô thư mục /opt/aprenderer/ rồi restart lại file service pk bác.
Mã:
systemctl daemon-reload
systemctl restart aprenderer.service
systemctl status aprenderer.service
systemctl enable aprenderer.service
 
Chỉnh sửa lần cuối:

quatmo

Well-Known Member
Để update lên bản Aprender 2.08 này mình down về rồi chép vào /root -> rồi tar
Mã:
tar -xf /root/aprenderer.tar.gz --overwrite /opt/renderer/
chép đè vô thư mục /opt/aprenderer/ rồi restart lại file service pk bác.
Mã:
systemctl daemon-reload
systemctl restart aprenderer.service
systemctl status aprenderer.service
systemctl enable aprenderer.service

Trên SMPD mod bác update Aprenderer như sau, tuy nhiên tùy theo DAC có hiện thêm ô HW hay không.
Mã:
sudo systemctl stop aprenderer.service
sudo rm -rf /usr/aprenderer
cd /tmp
wget http://albumplayer.ru/linux/aprenderer-arm32.tar.gz
sudo tar -xf /tmp/aprenderer-arm32.tar.gz -C /usr/
sudo systemctl restart aprenderer.service
 

quatmo

Well-Known Member
Để phát nhạc offline từ Asset UPnP server dùng các app sau: Linn Kazoo / Bubbleupnp / BubbleDS / AK Connect / MusicLife / fidata / mconnect... Các anh lưu ý là khi dùng những app này phát Tidal online, app sẽ làm proxy streaming lấy nhạc từ internet về rồi đẩy sang pi chứ pi không lấy nhạc trực tiếp từ internet như khi dùng 4 app bên trên.

Play tidal trên PC bằng Linn Kazoo (Windows 10):

App fidata này dùng remote này ngon quá @toi511 @tml3nr. fidata mượt và dễ dùng, không bị vấp.


2021-04-19-16_26_51-processed.jpeg--40.5-RGB_8.png

BubbleUPNP control Asset bị vấp không ra tiếng, bấm next vài lần mới Ok.
 

chautranthanh

Well-Known Member
App fidata này dùng remote này ngon quá @toi511 @tml3nr. fidata mượt và dễ dùng, không bị vấp.


2021-04-19-16_26_51-processed.jpeg--40.5-RGB_8.png

BubbleUPNP control Asset bị vấp không ra tiếng, bấm next vài lần mới Ok.
Ngoài lề tí , không biết pi có app foobar ? chơi offline trên IPhone thì các app mconnect,fidata,musiclife...đều chậm so với foobar ! Foobar lấy nhạc từ Nas rất nhanh và mượt
 

quatmo

Well-Known Member
Ngoài lề tí , không biết pi có app foobar ? chơi offline trên IPhone thì các app mconnect,fidata,musiclife...đều chậm so với foobar ! Foobar lấy nhạc từ Nas rất nhanh và mượt

Không có foobar trên Pi bác.

Mình dùng App remote control duyệt 88.640 track (5.967album) trong AssetServer trên Pi. Nhanh theo thứ tự sau:
1. Lumin
2. fidata
3. BubbleUPNP
4. AK Connect

Loading Cover liên tục không bị delay.

Mình dùng remote control, không lấy nhạc về phone. Nghĩa là App get link tất cả track trong album, send mớ link đó đến Pi render.
 
Chỉnh sửa lần cuối:

tml3nr

Moderator
App fidata này dùng remote này ngon quá @toi511 @tml3nr. fidata mượt và dễ dùng, không bị vấp.


2021-04-19-16_26_51-processed.jpeg--40.5-RGB_8.png

BubbleUPNP control Asset bị vấp không ra tiếng, bấm next vài lần mới Ok.
fidata hôm trước em nghe có anh Đồ Long Khách nói, dùng thử vài hôm nhưng em vẫn thích bubbleupnp hơn. Nó search đúng như em muốn.

Về việc upnp server bị vấp, theo em thường do các lý do sau:

- File nhạc encode hơi bị kén.
- Priority của upnp server hơi thấp, hoặc đang bị một process khác lấn.
- Priority của cifsd thấp.
- cpu ioslate quá hẹp, hoặc app phân bổ cpu chưa hợp lý.
- option disable load balancing của smpd cũng có thể góp phần vào việc hẹp process.
- Tham số của fstab?

Em hay dùng htop. Rồi thay đổi priority lúc nghe test. Rất dễ nhận ra kết quả khi mình thay đổi.
 
Bên trên