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

tml3nr

Moderator
Bác nghe D50s xong tìm nghe thử dac sử dụng chip ESS 9038 pro xem sao, thấy nhiều dân chơi đánh giá cao em này ah
Em vẫn chưa được nghe D50S anh ạ. Em hỏi slab và xuanvu đều báo hết hàng :(

Em vừa ngại chíp ESS, vừa tò mò tiếng treble của nó. Nếu như hôm đó em test được D50S mà nghe tiếng treble hay là có thể em hốt luôn :rolleyes:
 
Chỉnh sửa lần cuối:

chautranthanh

Well-Known Member
Em vẫn chưa được nghe D50S anh ạ. Em hỏi 2 slab và xuanvu đều báo hết hàng :(

Em vừa ngại chíp ESS, vừa tò mò tiếng treble của nó. Nếu như hôm đó em test được D50S mà nghe tiếng treble hay là có thể em hốt luôn :rolleyes:
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 !
 

tml3nr

Moderator
Bạn có thể hướng dẫn chi tiết hơn không, cám ơn
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 rồi bấm Apply.

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.
 
Chỉnh sửa lần cuối:

do_long_khach

Well-Known Member
Em vẫn chưa được nghe D50S anh ạ. Em hỏi 2 slab và xuanvu đều báo hết hàng :(

Em vừa ngại chíp ESS, vừa tò mò tiếng treble của nó. Nếu như hôm đó em test được D50S mà nghe tiếng treble hay là có thể em hốt luôn :rolleyes:
Nghiên cứu Gustard X16 bác ơi, có vẻ đáng tiền nhất hiện nay. Chip Ess 9068 đời mới nhất.
 

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:
Bên trên