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

tml3nr

Moderator
À không vội gì mà ! Cứ nghe thử vừa tai là quất ngay! Đừng quan tâm những cái rẻ nữa bác à ! Hoặc là không mua gì hết!
Không hiểu sao em rất thích những đồ bé bé xinh xinh :D

Em mua cái E30 là để tìm hiểu về alsa, sample rate chứ không nhắm tới âm thanh ạ. Hơi bất ngờ là khi test nó với mấy cái loa nhí em rất thích. Khi ghép E30 với pi4 / nirvana / Bose Soundlink mini II nó cho ra âm thanh rất dễ chịu. Em nghĩ là đủ để happy nếu nghe với phòng ngủ khoảng 20m2.

Em đang có ý định tìm hiểu sâu hơn về đường đi của file nhạc. Có vẻ như những xác lập liên quan tới TCP packet có ảnh hưởng đến việc làm cho noise tác động đến âm thanh nhiều hơn. Việc này chỉ mới nằm trong nghi vấn chứ chưa rõ nét, nên em chưa dám đưa lên thảo luận.
 
Chỉnh sửa lần cuối:

tinnnnnnn

Member
Em mới test lại Tidal OpenHome với app Lumin, Linn Kazoo Android, và Linn Kazoo trên PC. Tidal rất ngon ạ.

aplayer9-tidal.jpg


aplayer7-tidal.png


aplayer8-tidal.png

Em xin liệt kê ra các bước chính như sau:

1. Setup aprenderer:

Mã:
wget http://albumplayer.ru/linux/aprenderer-arm32.tar.gz
tar -xzvf aprenderer-arm32.tar.gz
sudo mv -v ./aprenderer /usr
sudo cp -v /usr/aprenderer/aprenderer.service /etc/systemd/system
sudo systemctl start aprenderer
sudo systemctl enable aprenderer

Vào pi chạy lệnh sau để xem DAC đang là card 0 hay card 1. Thí dụ như cái bên dưới là card 1:

pi@pi4:~ $ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 1: E30 [E30], device 0: USB Audio [USB Audio]
Subdevices: 0/1
Subdevice #0: subdevice #0

Sau đó vào web browser chạy:

http://your_pi_ip:7779/

Ở thẻ Card, nhập số 1 vào rồi bấm Apply.

Ở thẻ General, chọn Direct Input. Và bỏ chọn Enable Volume Control.

Vậy là xong phần upnp renderer ạ.

aplayer3-renderer.png

2. Setup minidlna:

Anh xem bài này ạ. Em đã viết rất kỹ:

http://www.hdvietnam.org/posts/10508561/

Sau 2 bước trên. Mình đã có được upnp server và upnp renderer.

aplayer11-tidal.jpg

Muốn play được Tidal online. Mình cần phải setup thêm Java và bubbleupnpserver.

3. Setup Oracle Java:

Mã:
wget https://javadl.oracle.com/webapps/download/GetFile/1.8.0_281-b09/89d678f2be164786b292527658ca1605/linux-i586/jdk-8u281-linux-arm32-vfp-hflt.tar.gz

sudo mkdir -p -v /opt/java
tar -xzvf jdk-8u281-linux-arm32-vfp-hflt.tar.gz

sudo mv -v ./jdk1.8.0_281  /opt/java
rm ./jdk-8u281-linux-arm32-vfp-hflt.tar.gz

sudo update-alternatives --install "/usr/bin/java" "java" "/opt/java/jdk1.8.0_281/bin/java" 1
sudo update-alternatives --set java /opt/java/jdk1.8.0_281/bin/java

Check Java:

Mã:
pi@pi4:~ $ java -version
java version "1.8.0_281"
Java(TM) SE Runtime Environment (build 1.8.0_281-b09)
Java HotSpot(TM) Server VM (build 25.281-b09, mixed mode)

4. Setup bubbleupnpserver:

Mã:
wget https://launchpad.net/~bubbleguuum/+archive/bubbleupnpserver/+files/bubbleupnpserver_0.9-5_all.deb
sudo dpkg -i bubbleupnpserver_0.9-5_all.deb

Vào web browser chạy:

http://your_pi_ip:58050/

Ở thẻ Media Renderers. Chọn Create an OpenHome renderer cho APlayer Media Renderer.

aplayer10-tidal.png

Vậy là xong ạ. Sau đó mình dùng app Lumin trên Android, hay Linn Kazoo trên PC, Mac OS. Nhập acc Tidal và pass vào là phát Tidal online được.

Lúc này app chỉ làm control point. Nhạc sẽ được bubbleupnpserver lấy về rồi đẩy sang APlayer Media Renderer OpenHome. APlayer Media Renderer OpenHome bridge sang APlayer Media Renderer để phát ra DAC.
Cám ơn nhiều
 

tml3nr

Moderator
Theo mình thì bác để dành từ từ rồi làm em khoảng 30tr như bác @linh0983 hoặc dac gia huy khỏi lăn tăn nữa !
Nói về đồ diy. Em nghĩ là đồ diy và đồ hãng như nhau. Ngoại trừ 2 chuyện: Số case test và lộ trình sản phẩm.

Số case test trước khi chốt thành phẩm rất quan trọng. Nó như một cái calibrate để quyết định sản phẩm sẽ như thế nào.

Việc thứ 2 là lộ trình sản phẩm. Hay nói cách khác là tần xuất thay đổi mẫu.

Nếu số case test đủ nhiều. Diyer sẽ kiểm soát được kết quả và lộ trình sản phẩm sẽ tốt hơn. Không phải thay đổi liên tục.

Những năm gần đây, do ảnh hưởng của marketing. Người dùng có xu hướng mong đợi sản phẩm mới. Hãng nào ít thay đổi thường bị xem là thiếu năng động hoặc kém phát triển.

Nhưng nếu sản phẩm thay đổi quá nhanh. Người dùng sẽ bị lúng túng. Người mua cảm thấy hoang mang, hụt hẫng vì món đồ của mình lạc hậu nhanh quá.

Khổ một nỗi. Đồ diy nào làm tốt được 2 việc này thì thành đồ hãng mất rồi o_O
 
Chỉnh sửa lần cuối:

linh0983

Well-Known Member
@vinhgc2005 chuỗi âm thanh bác hiện có . (setup như sau) : :rolleyes:

Front end : Pi4 cài smpd 1.0.7 xong up lên 1.0.10 kế tiếp cài AoE :

<smpd v1.0.x用 AoEモジュール β16>
wget https://www.symphonic-mpd.com/release/aoe/aoe.b16.tar.gz
tar xf aoe.b16.tar.gz
rm -f aoe_modules
ln -s aoe.b16 aoe_modules
cd aoe_modules/front
./setup.sh install
reboot

Back end :
Pi4 download β16.2 về giải nén chép vào thẻ định dạng fat32

smpdplayer β16.2
http://www.symphonic-mpd.com/release/aoe/rpi4-smpdplayer-aoe-b16.2.zip


Vào cmdline set IP cùng lớp mạng đang dùng . :p

VB1.jpg

Vào config set boss dac như hình . ( ko add vào 2 dòng mình ghi chú nhé ) . :eek:

VB2.jpg



Vào mpd.conf bỏ dấu # trước dòng " allowed_formats "*:32:*" "

XV043dd339a7e7d3c5f.jpg


Phát nhạc check 2 dòng lệnh : ( nó ra như hình dưới là ngon hihi ) . :rolleyes:

lsaoe
aoestat

VX1.jpg


Mặc định aoe.drep=64 , aoe.recv=64 bác set cả 2 về 1 hoặc 16 rồi so sánh nhé ! :D
 

linh0983

Well-Known Member
Nếu trên con frontend lắp thêm cổng usb - ethernet được không? để dùng cổng LAN nối 2 con pi AoE point -to- point luôn.
Cám ơn anh rất nhiều.
Kiểu này là dùng cộng cáp mạng nối thẳng 2 cổng RJ45 (FE) và (BE) . (FE) dùng adater usb - ethernet nối vào mạng nhà được bác a . ( kiếm cục usb - ethernet tương thích bác ơi ) . :rolleyes:
https://www.symphonic-mpd.com/forum/topic/145/arch-linux-aoe
 
@vinhgc2005 chuỗi âm thanh bác hiện có . (setup như sau) : :rolleyes:

Front end : Pi4 cài smpd 1.0.7 xong up lên 1.0.10 kế tiếp cài AoE :

<smpd v1.0.x用 AoEモジュール β16>
wget https://www.symphonic-mpd.com/release/aoe/aoe.b16.tar.gz
tar xf aoe.b16.tar.gz
rm -f aoe_modules
ln -s aoe.b16 aoe_modules
cd aoe_modules/front
./setup.sh install
reboot

Back end :
Pi4 download β16.2 về giải nén chép vào thẻ định dạng fat32

smpdplayer β16.2
http://www.symphonic-mpd.com/release/aoe/rpi4-smpdplayer-aoe-b16.2.zip


Vào cmdline set IP cùng lớp mạng đang dùng . :p

VB1.jpg

Vào config set boss dac như hình . ( ko add vào 2 dòng mình ghi chú nhé ) . :eek:

VB2.jpg



Vào mpd.conf bỏ dấu # trước dòng " allowed_formats "*:32:*" "

XV043dd339a7e7d3c5f.jpg


Phát nhạc check 2 dòng lệnh : ( nó ra như hình dưới là ngon hihi ) . :rolleyes:

lsaoe
aoestat

VX1.jpg


Mặc định aoe.drep=64 , aoe.recv=64 bác set cả 2 về 1 hoặc 16 rồi so sánh nhé ! :D

Cám ơn anh đã hướng dẫn, tuy nhiên mình vần không thấy kết nối được.

root [ ~ ]# lsaoe
TARGET [dc:a6:32:b8:60:9d] <--- đúng MAC addr của Back End.
AoE STATUS : CLOSED
AoE SESSION: 0
AoE VSOUND : OPEN(0) (timeout:0 eof:0 intr:0)
PCM PARAM : S8 0 0 chunk_bytes:0 period_us:0
AoE STATS : aoe.dreq=64 aoe.recv=64 (count:0 timeout:0 recover:0)

Đứng từ Front End có thể tắt (aoepoweroff), khởi động (aoereboot) Back End được.

status vsound

root [ / ]# status vsound
● vsound.service - Audio over Ether Virtual Sound Card
Loaded: loaded (/lib/systemd/system/vsound.service; enabled; vendor preset>
Active: active (running) since Sun 2021-02-28 21:53:43 JST; 12min ago
Main PID: 177 (aoe)
Tasks: 1 (limit: 2293)
Memory: 412.0K
CPU: 527ms
CGroup: /system.slice/vsound.service
└─177 /usr/bin/aoe

Không biết còn sai chổ nào hay thiếu bước nào không :(

Cám ơn
 

linh0983

Well-Known Member
Cám ơn anh đã hướng dẫn, tuy nhiên mình vần không thấy kết nối được.

root [ ~ ]# lsaoe
TARGET [dc:a6:32:b8:60:9d] <--- đúng MAC addr của Back End.
AoE STATUS : CLOSED
AoE SESSION: 0
AoE VSOUND : OPEN(0) (timeout:0 eof:0 intr:0)
PCM PARAM : S8 0 0 chunk_bytes:0 period_us:0
AoE STATS : aoe.dreq=64 aoe.recv=64 (count:0 timeout:0 recover:0)

Đứng từ Front End có thể tắt (aoepoweroff), khởi động (aoereboot) Back End được.

status vsound

root [ / ]# status vsound
● vsound.service - Audio over Ether Virtual Sound Card
Loaded: loaded (/lib/systemd/system/vsound.service; enabled; vendor preset>
Active: active (running) since Sun 2021-02-28 21:53:43 JST; 12min ago
Main PID: 177 (aoe)
Tasks: 1 (limit: 2293)
Memory: 412.0K
CPU: 527ms
CGroup: /system.slice/vsound.service
└─177 /usr/bin/aoe

Không biết còn sai chổ nào hay thiếu bước nào không :(

Cám ơn
http://honddpy.ddns.net:8000/
Bác test nguồn này vào ADD STREAM . ( mình cũng check bằng nguồn này ) . :rolleyes:

VX4.jpg


Nếu bác set đúng nó hiện vòng vàng a . :rolleyes:

VX3.jpg


Nếu vòng vàng ko hiện bác xem boss dac set đúng chưa , dấu # bỏ chưa ? :rolleyes:
Bác nhập alsamixer nó có như vầy ko ? :(

VX5.jpg
 
http://honddpy.ddns.net:8000/
Bác test nguồn này vào ADD STREAM . ( mình cũng check bằng nguồn này ) . :rolleyes:

VX4.jpg


Nếu bác set đúng nó hiện vòng vàng a . :rolleyes:

VX3.jpg


Nếu vòng vàng ko hiện bác xem boss dac set đúng chưa , dấu # bỏ chưa ? :rolleyes:
Bác nhập alsamixer nó có như vầy ko ? :(

VX5.jpg
cám ơn anh nhiều. Mình add source anh đưa thì chạy được rồi, có lẽ khi có tín hiệu truyền thì mới kết nối.
Đa tạ anh.
 

tml3nr

Moderator
Cám ơn nhiều
Nói tiếp về aprenderer. Các anh thử thay đổi "Process Priority" trong khoảng 50-81. Và / hoặc "Process Nice" -10 cho đến -18. Âm thanh khác biệt nhiều. Tiếng attack hơn.

Thay đổi này nên phối hợp với setting xung clock CPU ở file config.txt. Nên test ở các trường hợp sau:

- CPU không set xung cố định (Default).
- CPU set fix ở min.
- CPU set fix ở max.
- CPU set fix ở 800MHz hay 2/3 xung max.

# Set CPU frequency:
# Recommend for rpi2: 600 / 800 / 900MHz
# Recommend for rpi3: 600 / 900 / 1200MHz
# Recommend for rpi3 B+: 600 / 1200 / 1400MHz
# Recommend for rpi4: 600 / 800 / 1200 / 1500MHz

Thí dụ như để set fix 800MHz:

force_turbo=1
boot_delay=1
arm_freq=800

aplayer16-priority.png

Em chưa tìm được cách để cho aprenderer liên kết với volume của alsa. Vì vậy mình phải vào alsamixer set volume ở khoảng 86 hoặc 100:

aplayer14-alsamixer.png


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

tml3nr

Moderator
Có một option YoctoAP nữa để các bác chọn, từ nước Nga xa xôi.

Album Player + UPnP Renderer + Console Player + Roon/LMS Bridge + GUI
- Mount Nas bằng giao diện web
- Roon Bridge /LMS Bridge
- chọn DAC bằng giao diện web


Đủ cho các Pi, download bung ra thẻ là xài:
https://www.dastereo.ru/t/distribut...erer-console-player-roon-lms-bridge-gui/52553

2021-02-24-14_26_34-AP-Menu.png


PS: Chắc là mình post bài này trùng với các bác post trước rồi.
Mình tính cài Java và BubleUpNP Server vào bản YoctoAP này nhưng không cài được.
Em thích cái aprenderer này quá anh ạ. Có nó là em giải quyết được việc kết hợp Tidal online và nhạc offline trên cùng 1 pi mà năm ngoái build bản xenomaipi làm chưa đạt.

Em thử so 1 bản nhạc offline với moode 7.0.1. Dù chỉ mới chạy aprenderer và minidlna trên raspbian stock tiếng đã hay hơn moode nhiều.

Em thử đưa mô hình này lên bản xenomai 3.0.8 làm theo tút của dev thanhtam-h thì âm thanh rất hay. Ngoại trừ aprenderer bị lỗi 501.

Em đang mò tiếp. Nếu liên kết được aprenderer với volume alsa là hết tuồng luôn.
 
Chỉnh sửa lần cuối:

TuanQuynhAudio

Well-Known Member
Em thích cái aprenderer này quá anh ạ. Có nó là em giải quyết được việc kết hợp Tidal online và nhạc offline trên cùng 1 pi mà năm ngoái build bản xenomaipi làm chưa đạt.

Em thử so 1 bản nhạc offline với moode 7.0.1. Dù chỉ mới chạy aprenderer và minidlna trên raspbian stock tiếng đã hay hơn moode nhiều.

Em thử đưa mô hình này lên bản xenomai 3.0.8 làm theo tút của dev thanhtam-h thì âm thanh rất hay. Ngoại trừ aprenderer bị lỗi 501.

Em đang mò tiếp. Nếu liên kết được aprenderer với volume alsa là hết tuồng luôn.

Anh chọn Enable volume control, anh kiểm tra xem aprenderer có kéo được volume alsa hay không?
aplayer3-renderer.png
 

tml3nr

Moderator
Chỉnh sửa lần cuối:
Bên trên