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

zeze

Well-Known Member
Mình tính chơi Dual Pi (1 làm transport, 1 làm music server). Con Pi làm music server có 2 cách gắn ổ cứng. Các bác cho hỏi cách nào dùng ít bị nhiễu, nghe được tốt hơn ạ:
1. Gắn box ổ cứng 2.5'', lấy nguổn nuôi trực tiếp của Pi.
2. Gắn ổ cứng 3.5'', có nguồn riêng (giống như gắn NAS).
 

tml3nr

Moderator
Hấp dẫn bác ơi!
Về MPD mình cho là không làm phần giao diện hiện cover, album... vì chính việc render nhiều hình ảnh, truy xuất nhiều trong database db ra web Ui làm nặng gánh OS, mà render MPD add ít album vào thì không có ý nghĩa, bỏ qua MPD UI là hay nhất, để phần render đó cho thiết bị remote lo.
Cá nhân em cho là bỏ luôn phần webui của mpd cũng không có vấn đề gì, vì mình dùng hoàn toàn trên mpd client vẫn tốt.

Nhưng em nghĩ nhiều người chắc vẫn thích có webui để hiển thị cover trên pc, next bài, kéo volume... và mympd chạy rất nhẹ nên cho vào chắc cũng được. Nhưng webui là việc mình sẽ làm sau cùng, tính sau.

Việc khó nhất là chọn hướng optimize sao cho hợp lý nhất với màu âm tự nhiên của OS và của phiên bản MPD.

Chuyện này phải nhờ anh @mtminh ra tay rồi :cool:

Nếu anh @mtminh không rãnh để làm hoàn thiện OS. Anh chỉ cần ra toa config rồi bọn em triển khai ạ :rolleyes:
 

quatmo

Well-Known Member
Anh @mtminh, @linh0983, @quatmo, @TuanQuynhAudio, @Thanhvo31 ... và cả nhà.

Em test sơ qua thấy bản raspbian_stretch9_xenomai3.0.8 này cực kỳ hấp dẫn. Latency thấp hơn bản smpd 0.9.6 và audio-linux rất nhiều.

Từ khi em dùng nó chạy upnp server âm thanh hay hơn nghe tidal online Chromecast. Âm thanh nhẹ nhàng và rất tinh tế .

Em nghĩ là bản này rất thích hợp để làm một OS all-in-one. Nó gốc raspbian nên mình dễ thêm thắt các thứ.

Giao diện web thì mình bám theo mympd là tốt đời đẹp đạo. Nếu cần thì thêm một tab cho các settings. Cái này anh @quatmo lo dư sức :rolleyes:

Check sau khi dọn dẹp sơ bộ OS và tắt bớt một số services:

xenomai-sysinfo.png

Check service status:

xenomai-sstatus.png

htop mod:

htop-mod.png

Latency test:

Mã:
pi@raspberrypi:~ $ sudo cyclictest  -l 10000 -m -Sp98 -i100 -d0
# /dev/cpu_dma_latency set to 0us
policy: fifo: loadavg: 0.08 0.03 0.01 2/124 649

T: 0 (  645) P:98 I:100 C:  9788 Min:  23 Act:  49 Avg:  53 Max:  421
T: 1 (  646) P:98 I:100 C:  10000 Min:  24 Act:  41 Avg:  49 Max:  294
T: 2 (  647) P:98 I:100 C:  9778 Min:  34 Act:  42 Avg:  41 Max:  172
T: 3 (  648) P:98 I:100 C:  8920 Min:  22 Act:  49 Avg:  52 Max:  267

Em dựa trên ý tưởng của anh @mtminh, và cóp nhặt thêm một số script trên web để làm ra vài cái file để check thông số. Em xin up lên cho các anh góp ý và sử dụng.

Mình chỉ cần tạo file trong /usr/bin/ rồi set 755 là chạy được.

/urs/bin/sysinfo

Mã:
#!/bin/bash
# cpustatus
#
# Prints the current state of the CPU like temperature, voltage and speed.
# The temperature is reported in degrees Celsius (C) while
# the CPU speed is calculated in megahertz (MHz).

function convert_to_MHz {
  let value=$1/1000
  echo "$value"
}

function calculate_overvolts {
  # We can safely ignore the integer
  # part of the decimal argument
  # since it's not realistic to run the Pi
  # at voltages higher than 1.99 V
  let overvolts=${1#*.}-20
  echo "$overvolts"
}

temp=$(/opt/vc/bin/vcgencmd measure_temp)
temp=${temp:5:4}

volts=$(/opt/vc/bin/vcgencmd measure_volts)
volts=${volts:5:4}

if [ $volts != "1.20" ]; then
  overvolts=$(calculate_overvolts $volts)
fi

freq=$(vcgencmd measure_clock arm)
freq=${freq:14:6}
freq=$(convert_to_MHz $freq)

tv=$(/opt/vc/bin/tvservice -s)
tv=${tv:16:9}

#governor=$(cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor)

echo "-- System info --"
system=$(uname -snrm)
printf "$system\n"

model=$(tr -d '\0' < /proc/device-tree/model)
printf "$model\n"
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
    printf "IP: %s\n" "$_IP"
fi

echo ""
echo "-- CPU info --"
echo "Temperature:  $temp C"
echo -n "Voltage:  $volts V"
[ $overvolts ] && echo " (+0.$overvolts overvolt)" || echo -e "\r"
echo "Current CPU:  $freq MHz"
#echo "Governor:  $governor"
echo ""
echo "-- More info --"
echo "HDMI Status:  $tv"
echo ""
/opt/vc/bin/vcgencmd get_mem gpu
/opt/vc/bin/vcgencmd get_mem arm
/opt/vc/bin/vcgencmd get_config int | grep -E "(sdram_freq)"
echo ""
for id in sdram_c sdram_i sdram_p ; do echo -e "$id: $(/opt/vc/bin/vcgencmd measure_volts $id)" ; done
echo ""
for id in core h264 isp v3d ; do echo -e "$id:\t$(/opt/vc/bin/vcgencmd measure_clock $id)" ; done
echo ""
for id in uart pwm emmc pixel vec hdmi dpi ; do echo -e "$id:\t$(/opt/vc/bin/vcgencmd measure_clock $id)" ; done
echo ""
echo "-- System Latency --"
cat /sys/block/mmcblk0/queue/scheduler; cat /proc/sys/vm/swappiness; cat /proc/sys/kernel/sched_latency_ns; cat /proc/sys/kernel/sched_rt_period_us; cat /proc/sys/kernel/sched_rt_runtime_us; cat /proc/sys/kernel/sched_autogroup_enabled; cat /proc/sys/kernel/sched_rr_timeslice_ms; cat /proc/sys/kernel/sched_min_granularity_ns; cat /proc/sys/kernel/sched_wakeup_granularity_ns
echo ""
echo "-- Network Buffers Size --"
for mem in rmem_max wmem_max ; do echo -e "$mem:\t$(cat /proc/sys/net/core/$mem)" ; done

exit 0

/urs/bin/sstatus

Mã:
#!/bin/bash
echo ""
echo "-- Services Enabled --"
echo ""
systemctl list-unit-files --state=enabled
echo ""
echo "-- Services Running --"
echo ""
systemctl list-units --all --state=running
echo ""
exit
Nếu được bác test giùm SMPD cho Pi 4, mình rất thắc mắc tại sao họ chuyển đổi nền tảng Linux, và chỉ tập trung làm cho Pi 4, lò mò đọc các blog audio Nhật lại thấy họ khen bản Pi 4 hay hơn Pi 3.
 

quatmo

Well-Known Member
Mình tính chơi Dual Pi (1 làm transport, 1 làm music server). Con Pi làm music server có 2 cách gắn ổ cứng. Các bác cho hỏi cách nào dùng ít bị nhiễu, nghe được tốt hơn ạ:
1. Gắn box ổ cứng 2.5'', lấy nguổn nuôi trực tiếp của Pi.
2. Gắn ổ cứng 3.5'', có nguồn riêng (giống như gắn NAS).
Theo mình bác nên dùng minipc 3 cổng lan giga trở lên loại không dùng quạt như của bác Phước, cấp nguồn linear 12v, chạy box ổ cứng 3.0, cài MinimServer hoặc AssetServer... đi dây Lan từ minipc thẳng vào Pi. Tối ưu hơn.
Mình không nghĩ là gắn ổ cứng cho Pi sẽ ngon hơn minipc và đi như vậy tín hiệu Minimserver transcoding chuyển thẳng đến Pi không qua trung gian router nữa, tránh đi qua con clock router.
 

zeze

Well-Known Member
Theo mình bác nên dùng minipc 3 cổng lan giga trở lên loại không dùng quạt như của bác Phước, cấp nguồn linear 12v, chạy box ổ cứng 3.0, cài MinimServer hoặc AssetServer... đi dây Lan từ minipc thẳng vào Pi. Tối ưu hơn.
Mình không nghĩ là gắn ổ cứng cho Pi sẽ ngon hơn minipc và đi như vậy tín hiệu Minimserver transcoding chuyển thẳng đến Pi không qua trung gian router nữa, tránh đi qua con clock router.
Cái minipc này giá tầm bao nhiêu vây bác?
 

tml3nr

Moderator
Nếu được bác test giùm SMPD cho Pi 4, mình rất thắc mắc tại sao họ chuyển đổi nền tảng Linux, và chỉ tập trung làm cho Pi 4, lò mò đọc các blog audio Nhật lại thấy họ khen bản Pi 4 hay hơn Pi 3.
Em chưa có pi4 anh ạ. Em mua tới pi3 B+ thì thấy rõ là nó càng mạnh càng noise nhiều nên dù rất muốn test nhưng ngại nên chưa mua.

Được này mất kia. Pi mạnh dùng cũng có cái sướng của nó. Vấn đề noise thật ra cũng tương đối vì tùy theo OS, thiết bị và gu nghe mà người dùng thích hay không.

Nghe anh nói vậy em lại tò mò. Chắc em lấy một cái về test cho trọn cuộc tình. Mua trễ quá sợ hết hàng UK.

Dung lượng ram có ảnh hưởng đến âm thanh không anh nhỉ? Em muốn mua bản 2GB nhưng không biết có gì bất lợi không?

https://hshop.vn/products/may-tinh-raspberry-pi-4-model-b-made-in-uk

pi4-compare.jpg
 
Chỉnh sửa lần cuối:

Thanhvo31

Well-Known Member
Em chưa có pi4 anh ạ. Em mua tới pi3 B+ thì thấy rõ là nó càng mạnh càng noise nhiều nên dù rất muốn test nhưng ngại nên chưa mua.

Được này mất kia. Pi mạnh dùng cũng có cái sướng của nó. Vấn đề noise thật ra cũng tương đối vì tùy theo OS, thiết bị và gu nghe mà người dùng thích hay không.

Nghe anh nói vậy em lại tò mò. Chắc em lấy một cái về test cho trọn cuộc tình. Mua trễ quá sợ hết hàng UK.

Dung lượng ram có ảnh hưởng đến âm thanh không anh nhỉ? Em muốn mua bản 2GB nhưng không biết có gì bất lợi không?

https://hshop.vn/products/may-tinh-raspberry-pi-4-model-b-made-in-uk

pi4-compare.jpg
Bác nên có Pi 4 để test
Mình có đọc qua bài này
https://www.symphonic-mpd.com/forum/topic/45/raspberry-pi-4-model-b/83
Họ phát triển smpd rất bài bản
Trong đó chú trọng tới latency, realtime kernel và họ đánh giá phần cứng Pi 4 vượt trội trong việc giảm latency.
Vụ 'noise' mình chưa hiểu bác định lượng bằng metric nào mà bác nói là pi 2 nó ít noise hơn pi 3,4?
Tuy vậy mình có trải nghiệm là vấn đề tâm lý nó có vài trò rất lớn trong việc thưởng thức.
Ví dụ có quan niệm nước ngọt đóng trong chai thủy tinh uống ngon hơn chai nhựa hay lon nhôm.
Về nghe nhạc từ Pi, mình nhớ rát rõ là hôm đầu tiên sau hơn 2 tháng làm được pi cấp nguồn 3x, đóng điện vào nghe nó "phê" quá đi. Sau đó thì hưng phấn nó giảm dần, lại tìm kiếm cái mới.
Hôm rày, con Digione của mình tưởng đã ngỏm, định bỏ đi, nhưng gắn vào Pi 4 , cài SMPD 1.0.3 vào, nghe Spotify thôi mà thấy hay hết hồn.
 
Chỉnh sửa lần cuối:

Thanhvo31

Well-Known Member
RoPieeeXL Pi 4 - ropi4.local
https://drive.google.com/file/d/1RSAWN4Jc4r4zk0o90UD8lhUlYccqBGMb/view?usp=sharing
- Tích hợp MinimServer
- Tích hợp mount 28k track (Cloud)
- Tích hơp Linux-Audio-Adjustments

----MinimServer đã scan-----------
Folder: /mnt/MUSIC/SELECTED
Cài MinimWatch vào Windows/MAC để add thêm các folder chứa nhạc sau, các bác add hết scan liên tục tầm 18h, add ít scan cho nhanh.
Chỉ muốn scan NAS local thì không cần add vô MinimWatch.
Lưu ý: add thêm folder vào, MinimWatch bấm ReStart để update, không bấm Rescan.

--- chưa scan--------------------
/mnt/MUSIC/DEEZER1
/mnt/MUSIC/DEEZER2
/mnt/MUSIC/DEEZER3
/mnt/MUSIC/TIDAL1
/mnt/MUSIC/TIDAL2
/mnt/MUSIC/TIDAL3

MinimServer lấy nhạc từ Cloud truyền đến RoPi, 2 trong 1 thiết bị, phone dùng BubbleUPnP điều khiển play, tắt wifi phone nó vẫn play hết list tiếp. Chạy nhẹ nhàng, CPU là 46 độ.


RoPieeeXL Pi 3 - ropi.local

https://drive.google.com/file/d/1W_Rt5EXUtM----MsctV9odiR5Bo4Bqku/view?usp=sharing

- MinimServer đã scan mớ folder trên
- Mình không nhớ scan xong chưa, nếu chưa xong thì icon MinimWatch sẽ hiện màu vàng, khi nào chuyển sang xanh các thiết bị khác mới nhìn thấy/play được.

Mất hơn ngày quét xong play được 2 bài thì báo bị "track modified or deleted" bác ạ. Đang scan lại folder nhỏ xem sao.
 

tml3nr

Moderator
Bác nên có Pi 4 để test
Mình có đọc qua bài này
https://www.symphonic-mpd.com/forum/topic/45/raspberry-pi-4-model-b/83
Họ phát triển smpd rất bài bản

Trong đó chú trọng tới latency, realtime kernel và họ đánh giá phần cứng Pi 4 vượt trội trong việc giảm latency.

Vụ 'noise' mình chưa hiểu bác định lượng bằng metric nào mà bác nói là pi 2 nó ít noise hơn pi 3,4?

Tuy vậy mình có trải nghiệm là vấn đề tâm lý nó có vài trò rất lớn trong việc thưởng thức.
Ví dụ có quan niệm nước ngọt đóng trong chai thủy tinh uống ngon hơn chai nhựa hay lon nhôm.

Về nghe nhạc từ Pi, mình nhớ rát rõ là hôm đầu tiên sau hơn 2 tháng làm được pi cấp nguồn 3x, đóng điện vào nghe nó "phê" quá đi. Sau đó thì hưng phấn nó giảm dần, lại tìm kiếm cái mới.

Hôm rày, con Digione của mình tưởng đã ngỏm, định bỏ đi, nhưng gắn vào Pi 4 , cài SMPD 1.0.3 vào, nghe Spotify thôi mà thấy hay hết hồn.
Chắc là em phải test luôn pi4 cho nó hết tuồng :rolleyes:

Em cho là pi2 ít noise hơn các pi khác là dùng tai để nghe anh ạ. Em đâu có gì để đo :D

Em chấp nhận chủ quan trong âm thanh vì có quá nhiều thứ không thể đo được.

Với mỗi kết quả setup. Sau khi nghe khoảng hơn 1 tháng nếu cảm giác vẫn còn như lúc đầu em mới yên tâm là nó OK (Để loại trừ yếu tố tâm lý hào hứng lúc mới setup xong).

Âm thanh của Spotify chi tiết tốt nhưng do đặc trưng của codec vorbis / ogg nên tiếng nó hơi mềm và mờ. Nếu mình setup cho Spotify nghe vừa tai thì khi nghe lossless tiếng sẽ hơi sáng và cứng.

Nói cách khác là một setup nghe lossless vừa tai khi nghe Spotify tiếng sẽ hơi mềm và mờ.
 
Chỉnh sửa lần cuối:

Thanhvo31

Well-Known Member
Bác nào thừa Pi3B (ko phải Pi3B+) để lại cho tôi nhé. Pi2 cài cắm này nọ vào chạy chậm quá.
Bác dùng Pi 2 thuần làm renderer thôi, tách server ra.

Bác hỏi thử bạn @Mlab

https://pivietnam.com.vn/raspberry-pi-3-model-b-uk-japan-pivietnam-com-vn.html

https://raspberrypi.vn/shop/mach-raspberry-pi/raspberry-pi-3-made-uk-tich-hop-wifi-va-bluetooth

Đều 950K

Nhưng bác thử con Pi 4 xem, nó khác biệt đó.
 
Chỉnh sửa lần cuối:

quatmo

Well-Known Member
Mất hơn ngày quét xong play được 2 bài thì báo bị "track modified or deleted" bác ạ. Đang scan lại folder nhỏ xem sao.

Lạ nhỉ, mình vẫn nghe bình thường trên Ropi và Volumio, bản build 28k track chung source nhau.
Tài khoản Gdrive ấy lâu nay không thể ghi/xóa hay upload được. Chỉ có truy xuất đọc file (ngay cả mình là chính chủ).

PS: Sorry mình nhầm, chỉ là không ghi/upload vào thêm được, Lâu này mình không xóa hay di chuyển sợ vì ảnh hưởng đến đường dẫn source đã build.
 
Chỉnh sửa lần cuối:

do_long_khach

Well-Known Member
Bác dùng Pi 2 thuần làm renderer thôi, tách server ra.

Bác hỏi thử bạn @Mlab

https://pivietnam.com.vn/raspberry-pi-3-model-b-uk-japan-pivietnam-com-vn.html

https://raspberrypi.vn/shop/mach-raspberry-pi/raspberry-pi-3-made-uk-tich-hop-wifi-va-bluetooth

Đều 950K

Nhưng bác thử con Pi 4 xem, nó khác biệt đó.
Kiếm được pi3 rồi bác. Con pi2 ko hiểu sao flash smpd vào, bật pi lên ko thấy IP đâu cả, thay vài thẻ rồi,máy thẻ đấy chạy volumio hay moode tốt. Bác có lời khuyên nào ko?
 

Thanhvo31

Well-Known Member
Kiếm được pi3 rồi bác. Con pi2 ko hiểu sao flash smpd vào, bật pi lên ko thấy IP đâu cả, thay vài thẻ rồi,máy thẻ đấy chạy volumio hay moode tốt. Bác có lời khuyên nào ko?

Smpd trên site hiện chỉ có 2 bản cho Pi 3 và Pi 4 riêng biệt thôi. Bác kiếm bản Pi2 ở đâu, nếu là cho 0.9.6 thì nó không boot trên Pi2 đâu.

Volumio mình dùng vài bản, chính chủ + mod của bác quạt mo thấy nó không ổn định.

Pi 2 theo mình nên cài RopieeeXL làm thuần renderer thôi chứ nó yếu xìu, LAN share USB làm server thì nó nghẽn.
 

do_long_khach

Well-Known Member
Smpd trên site hiện chỉ có 2 bản cho Pi 3 và Pi 4 riêng biệt thôi. Bác kiếm bản Pi2 ở đâu, nếu là cho 0.9.6 thì nó không boot trên Pi2 đâu.

Volumio mình dùng vài bản, chính chủ + mod của bác quạt mo thấy nó không ổn định.

Pi 2 theo mình nên cài RopieeeXL làm thuần renderer thôi chứ nó yếu xìu, LAN share USB làm server thì nó nghẽn.
Tôi hiện vẫn dùng bản Volumio mod mới nhất của bác quatmo thấy ok bác ạ. Dùng bộ loa màng gỗ Victor A300 tiếng sắc nên volumio + optimize của Dynobot (thiên về ấm, trầm) vẫn hợp hơn RopieeXL. Để tôi xem lại phiên bản của smpd. Cảm ơn bác.
 

tml3nr

Moderator
Smpd trên site hiện chỉ có 2 bản cho Pi 3 và Pi 4 riêng biệt thôi. Bác kiếm bản Pi2 ở đâu, nếu là cho 0.9.6 thì nó không boot trên Pi2 đâu.

Volumio mình dùng vài bản, chính chủ + mod của bác quạt mo thấy nó không ổn định.

Pi 2 theo mình nên cài RopieeeXL làm thuần renderer thôi chứ nó yếu xìu, LAN share USB làm server thì nó nghẽn.
smpd 0.9.6 em test chạy được trên pi2 ạ.

Các anh nhớ edit config.txt như bài này trước khi boot:

http://www.hdvietnam.com/posts/10354850/
 
Chỉnh sửa lần cuối:

quatmo

Well-Known Member
Cái minipc này giá tầm bao nhiêu vây bác?
Giá bản 4Gb Ram, 64Gb lưu trữ là 109 đồng, mua hàng thì bác copy link sau pate vào phần đặt hàng của nhaphang247.com, tạo đơn hàng mua thông qua họ. Mình mua lâu nay vài chục món thông qua họ đều Ok cả.

Chú mini pc này chạy Intel 3160 công nghệ mới hơn J1900. Sang tuần mình đặt hàng mua nó đây bác.

https://m.intl.taobao.com/detail/detail.html?spm=a21wu.10013511.0.0&id=580818536422
 

zeze

Well-Known Member
Giá bản 4Gb Ram, 64Gb lưu trữ là 109 đồng, mua hàng thì bác copy link sau pate vào phần đặt hàng của nhaphang247.com, tạo đơn hàng mua thông qua họ. Mình mua lâu nay vài chục món thông qua họ đều Ok cả.

Chú mini pc này chạy Intel 3160 công nghệ mới hơn J1900. Sang tuần mình đặt hàng mua nó đây bác.

https://m.intl.taobao.com/detail/detail.html?spm=a21wu.10013511.0.0&id=580818536422
Mini J3160 chạy box ổ cứng 3.0, cài MinimServer hoặc AssetServer: ổ cứng nhét trong cục này, được mấy ổ?
Mình nối Mini J3160 bằng cọng LAN với Pi, chứ không phải vào Router?
J3160.png
 
Bên trên