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

tml3nr

Moderator
Em mê bộ tam sên Tidal Connect, aprendererminidlna quá nên mò mẫm build thử xem thế nào. Đến hôm nay tạm ổn. Em xin phép share với cả nhà dùng thử.

Em đặt tên là hitidepi, dựa theo tên project của dev shawaj.

Âm thanh của TC và aprenderer rất hay. Thoát tốt và tự nhiên. 3 em này trong 1 OS theo em là rất lý tưởng cho Tidal và nhạc offline.

Em có build thử trên xenomai 3.0.8 thì âm thanh không như mong đợi. Nên em quay về Raspbian. Sau khi test qua một vài version em phát hiện ra là bản Raspbian 4.19.118 rất ngon. Chạy nhanh nhẹn, tiếng thanh thoát. Đây là bản cuối cùng của v4.x. Nó là Debian 10 nên chạy được từ pi2 đến pi4 luôn.

Em có làm cái menu để chuyển đổi setting thay đổi latency kernel. Profile em mượn theo các OS đã có trước đây.

Chỉ cần chạy "sudo config" rồi chọn trong menu.

http://hitidepi:8200/ | Dùng để xem status minidlna.

http://hitidepi:7779/ | Dùng để setup aprenderer.

Mời cả nhà dùng thử ạ!

Em xin cảm ơn tất cả các dev đã viết các module, package dùng trong OS này. Xin cảm ơn tất cả các anh em trên diễn đàn đã chia sẻ, mở mang kiến thức cho em.

Ở bản sau, có thể em sẽ đưa vào shellinabox để chạy được SSH và kéo volume trên giao diện web.

Download:

https://www.mediafire.com/?qphd57qxs05b0bo

hitidepi-1-4-1.png


hitidepi-1-4-2.png


hitidepi-1-4-3.png


hitidepi-1-4-4.png


hitidepi-1-4-5.png


hitidepi-1-4-6.png
 
Chỉnh sửa lần cuối:

pana800

Active Member
Cám ơn bạn nhiều. Mình thử trên pi4 va Allo Boss thì chỉ mới chạy được HiTide từ app tidal điện thoại. Con Bubble UPNP nó báo lỗi 501. À cho mình hỏi Cái HiTide chỉ hỗ trợ stream từ smart phone thôi? Trên PC không thấy renderer này.
 

VugiaA9

Active Member
Hôm nay mới mò được mấy con Pi 2 nhà em. Toàn V1.1 2014 hết chứ ko có v1.2.
Nhưng con made in P.R.C nhìn mạch hoàn thiện có vẻ kém hơn chút. Em tai trâu nghe thấy ko khác gì nhau :D
yiruAC
yiruAC
 

tml3nr

Moderator
Cám ơn bạn nhiều. Mình thử trên pi4 va Allo Boss thì chỉ mới chạy được HiTide từ app tidal điện thoại. Con Bubble UPNP nó báo lỗi 501. À cho mình hỏi Cái HiTide chỉ hỗ trợ stream từ smart phone thôi? Trên PC không thấy renderer này.
Trên PC, Tidal thấy TC hơi chậm. Anh chờ khoảng 30 giây. PC theo em nghĩ phải cài bonjour service mới thấy được TC.

Anh xem bài dưới này về cách chuyển đổi giữa TC và aprenderer ạ:

Ah hay quá các anh ơi. Giải quyết được TC và aprenderer chạy chung rồi.

Rất đơn giản ạ:

- pi start cả 2 services TC và aprenderer

- Sau khi play TC. Chỉ cần đổi sang output khác là alsa release.

- Sau khi play aprenderer. Chỉ cần xóa hết nhạc trong playlist (queue) cùa bubbleupnp là alsa release.

Vậy là giải quyết được cái OS 3 trong 1 TC, aprenderer và minidlna rồi :D
 
Chỉnh sửa lần cuối:

tml3nr

Moderator
@tml3nr bác share nguồn lên github đi, có gì anh em còn mod mét thêm.
Dạ nó đơn giản lắm o_O

- Em chọn 4.19.118 vì test thấy tiếng nó hay.

- Setup TC theo tuồng của dev shawaj:

https://github.com/shawaj/HiTide

- Setup minidlna theo bài này:

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

- Setup aprenderer theo tuồng của anh với anh Phước. Em dùng bản 32:

http://www.hdvietnam.com/posts/10511268/

Về phần optimize em tune như sau:

Tạo file soundset.service để chạy script "soundset" khi startup:

Mã:
[Unit]
Description=Kernel Optimizations
After=network.target sound.target

[Service]
ExecStartPre=/bin/sleep 4
ExecStart=/usr/bin/soundset
Type=simple

[Install]
WantedBy=multi-user.target

Script "soundset" này sẽ được thay đổi tương ứng với profile mình chọn trong "sudo config".

sudo config chạy file menu.sh nội dung như sau:

Mã:
#!/bin/bash

echo "-- Select Sound Signature v1.4 --"
echo "  1. Set default Raspbian (Relax)"
echo "  2. Set profile RuneAudio (Fluid)"
echo "  3. Set profile Dynobot (Strongly)"
echo "  4. Set profile Archphile (Delicate)"
echo "  5. Show current setting"
echo "  6. System information"
echo "  7. Restart HiTidePi"
echo "  8. Shutdown HiTidePi"
echo "  9. Exit menu"

read n
case $n in
  1) sudo /opt/scripts/set_default.sh && sudo cp /opt/scripts/set_default.sh /usr/bin/soundset && echo "Reset default Raspbian done!";;
  2) sudo /opt/scripts/set_rune.sh && sudo cp /opt/scripts/set_rune.sh /usr/bin/soundset && echo "Set profile RuneAudio done!";;
  3) sudo /opt/scripts/set_dynobot.sh && sudo cp /opt/scripts/set_dynobot.sh /usr/bin/soundset && echo "Set profile Dynobot done!";;
  4) sudo /opt/scripts/set_archphile.sh && sudo cp /opt/scripts/set_archphile.sh /usr/bin/soundset && echo "Set profile Archphile done!";;
  5) sudo /opt/scripts/set_show.sh;;
  6) sudo /opt/scripts/sysinfo.sh;;
  7) echo "See you again!" && sudo reboot;;
  8) echo "Goodbye!" && sudo poweroff;;
  9) exit;;
  *) echo "invalid option";;
esac

File "soundset" sẽ có nội dung tương tự như sau (Tùy theo profile nào mình chọn trong menu):

Mã:
#!/bin/bash

# Profile Archphile

tvservice -o > /dev/null 2>&1

echo 0 > /proc/sys/vm/swappiness
echo 1500000 > /proc/sys/kernel/sched_latency_ns
echo 1000000 > /proc/sys/kernel/sched_rt_period_us
echo 950000 > /proc/sys/kernel/sched_rt_runtime_us
echo 1 > /proc/sys/kernel/sched_autogroup_enabled
echo 10 > /proc/sys/kernel/sched_rr_timeslice_ms
echo 750000 > /proc/sys/kernel/sched_min_granularity_ns
echo 1000000 > /proc/sys/kernel/sched_wakeup_granularity_ns

echo 524288 | tee /proc/sys/net/core/rmem_max > /dev/null 2>&1
echo 524288 | tee /proc/sys/net/core/wmem_max > /dev/null 2>&1

chrt -f -p 50 $(pidof tidal_connect_application)

exit

Thô sơ lắm anh ạ. Em dốt nên chỉ làm được tới đây :confused:
 
Chỉnh sửa lần cuối:

pana800

Active Member
Trên PC, Tidal thấy TC hơi chậm. Anh chờ khoảng 1 phút. PC theo em nghĩ phải cài bonjour service mới thấy được TC.

Anh xem bài dưới này về cách chuyển đổi giữa TC và aprenderer ạ:
Cho mình hỏi chọn alsa release trong TC bằng cách nào với. Sorry mình còn gà mấy món này.
Công nhận vụ TC này tiện và hay lắm bạn.
 

tml3nr

Moderator
Cho mình hỏi chọn alsa release trong TC bằng cách nào với. Sorry mình còn gà mấy món này.
Công nhận vụ TC này tiện và hay lắm bạn.
Cái TC này cực ngon anh ạ. Dùng ghiền luôn :D

Release alsa có nghĩa là làm cho service sau khi phát nhạc không giữ / ngậm / hold alsa. Để cho service khác có thể xuất âm thanh được.

- Sau khi play TC. Chỉ cần đổi sang output khác là alsa release.

- Sau khi play aprenderer. Chỉ cần xóa hết nhạc trong playlist (queue) cùa bubbleupnp là alsa release.
 

Thanhvo31

Well-Known Member
Chỉnh sửa lần cuối:

rndce

Well-Known Member
Em mê bộ tam sên Tidal Connect, aprendererminidlna quá nên mò mẫm build thử xem thế nào. Đến hôm nay tạm ổn. Em xin phép share với cả nhà dùng thử.

Em đặt tên là hitidepi, dựa theo tên project của dev shawaj.

Âm thanh của TC và aprenderer rất hay. Thoát tốt và tự nhiên. 3 em này trong 1 OS theo em là rất lý tưởng cho Tidal và nhạc offline.

Em có build thử trên xenomai 3.0.8 thì âm thanh không như mong đợi. Nên em quay về Raspbian. Sau khi test qua một vài version em phát hiện ra là bản Raspbian 4.19.118 rất ngon. Chạy nhanh nhẹn, tiếng thanh thoát. Đây là bản cuối cùng của v4.x. Nó là Debian 10 nên chạy được từ pi2 đến pi4 luôn.

Em có làm cái menu để chuyển đổi setting thay đổi latency kernel. Profile em mượn theo các OS đã có trước đây.

Chỉ cần chạy "sudo config" rồi chọn trong menu.

http://hitidepi:8200/ | Dùng để xem status minidlna.

http://hitidepi:7779/ | Dùng để setup aprenderer.

Mời cả nhà dùng thử ạ!

Em xin cảm ơn tất cả các dev đã viết các module, package dùng trong OS này. Xin cảm ơn tất cả các anh em trên diễn đàn đã chia sẻ, mở mang kiến thức cho em.

Ở bản sau, có thể em sẽ đưa vào shellinabox để chạy được SSH và kéo volume trên giao diện web.

Bác có thể cho thêm "Set profile Smpd" nữa ko ah. Mình nghe Smpd 0.96 trong trẻo nhẹ nhàng nên có vẻ bị ghiền rồi .
 

tml3nr

Moderator
@tml3nr
Kính bác về vụ tỉ mỉ, kỹ lưỡng trong việc thử nghiệm, rị mọ với từng version của Pi
Trước giờ, trong Audio OS, mình thấy phe archlinux có vẻ áp đảo so với phe debian/
Rune, Dastereo, Euphony, Ropieee>>> <<< Volumio, Moode.

Bác có thử với
https://sourceforge.net/projects/archlinux-rpi2/
https://sourceforge.net/projects/archlinux-pi4/
Nhìn chung, nếu so sánh giữa 2 bản stock archlinux và raspbian. Mình sẽ thấy âm thanh của archlinux "tốt" hơn raspbian. Tiếng chặt và attack hơn. Có vẻ như latency của archlinux thấp hơn, hoặc kernel có gì hay hơn.

Nhưng để làm cho một bản archlinux nghe hay không dễ. Em có thử nhiều kiểu: Setup mpd từ ropieee, từ archlinux stock, mod archphile...

Ghê nhất là em đã thử clone bản Rune 0.5 của ông janui luôn. Nhưng âm thanh vẫn chỉ được 80%.

Có gì đó mà em chưa hiểu được. Có thể là cách setup lúc build kernel từ đầu (menuconfig)?

Moode audio và Volumio là 2 OS tuyệt vời về webui. Nhưng họ tune âm thanh đơn giản. Mình rất dễ làm được một OS hay hơn 2 em này bằng cách setup y như vậy trên một phiên bản OS ngon hơn.

Mệt nhất với Archlinux là làm gì cũng khó chịu. Nó kiêng cữ nhiều quá :D

Từ Raspbian 4.14 trở đi, em thấy âm thanh bắt đầu tốt hơn. Trước mắt em theo nó vì dễ xoay trở.

Cái khó nhất của âm thanh trên pi là làm sao cho tiếng trong trẻo và ngân nga.

Bác có thể cho thêm "Set profile Smpd" nữa ko ah. Mình nghe Smpd 0.96 trong trẻo nhẹ nhàng nên có vẻ bị ghiền rồi .
Âm thanh của SMPD là kết quả của những setup rất cầu kỳ và tinh vi anh ạ. Em muốn copy nó từ lâu nhưng chưa làm nổi :confused:
 
Chỉnh sửa lần cuối:

do_long_khach

Well-Known Member
Tương tự như MinimServer, AssetUPNP, BubleUPNP hay DLNA Server...
Nó là Subsonic Server, mình cài tích hợp vào chung. Chọn nó vì bản thân nó hỗ trợ truyền link nhạc trực tiếp sang MPD (Plugin Volusonic Volumio) mà không đi qua bộ UPNP transcoding như các phần mềm kể trên.

Có 2 vấn đề:
1/. Mình cho là tín hiệu đi qua bộ UPNP transcoding ít nhiều âm thanh cũng tone lại theo phần mềm, nên xuất hiện vấn đề hợp dàn máy thì nghe hay, không hợp dàn nghe tệ hơn.

2./ Mình cho là để RAW (nguyên dạng) như DLNA Server, chỉ truyền link đến máy phát MPD và để tối ưu hơn DLNA không ra router lại mà đi thẳng đến đến MPD Volumio. Mình gọi nó là Music Server localhost (may mắn trong config support localhost).

- Subsonic Server đóng vai trò quản lý database nhạc truyền link nhạc/cover trực tiếp đến MPD để play.
- MPD lúc này chỉ đóng file trò nhận link và chơi nhạc, không còn phải cỏng theo gánh nặng database (input/output).
- File nhạc -> Music server localhost ->MPD play => tín hiệu đi ngắn gọn trong một Pi.
Bây giờ mới có Pi để cài món này của bác, nhưng...
1/Cài Subsonic server xong, vào settings của nó để nhập ttin, bấm Save and test connection thì thấy báo Connection failed, check password and username

2/ Youtube ko search được, search các từ khóa đều báo No result. Ko rõ có cần cài đặt gì ko?

3/ Tidal Connect sau khi cài đặt và cài thêm 4 dòng lệnh như bác Linh0983 hướng dẫn, ko thấy hiện lên trong menu, khởi động lại rồi cũng ko thấy?

Phiền bác chỉ giùm, topic đi xa quá rồi. Cảm ơn bác nhiều.
 

quatmo

Well-Known Member
Bây giờ mới có Pi để cài món này của bác, nhưng...
1/Cài Subsonic server xong, vào settings của nó để nhập ttin, bấm Save and test connection thì thấy báo Connection failed, check password and username

2/ Youtube ko search được, search các từ khóa đều báo No result. Ko rõ có cần cài đặt gì ko?

3/ Tidal Connect sau khi cài đặt và cài thêm 4 dòng lệnh như bác Linh0983 hướng dẫn, ko thấy hiện lên trong menu, khởi động lại rồi cũng ko thấy?

Phiền bác chỉ giùm, topic đi xa quá rồi. Cảm ơn bác nhiều.

Bác dùng Pi mấy?

1. Subsonic Server không support Wav và DSD, nếu muốn nó hoạt động chính xác nên đặt IP tĩnh cho Volumio và gắn IP tĩnh đó vào phần setting của plugin Subsonic.

2. Youtube Plugin có update mới mấy ngày trước, cần update lên.

3. Hướng dẫn của bác Phước không áp dụng được với Volumio vì khó cài các thành phần phụ thuộc.
 

pana800

Active Member
Cái TC này cực ngon anh ạ. Dùng ghiền luôn :D

Release alsa có nghĩa là làm cho service sau khi phát nhạc không giữ / ngậm / hold alsa. Để cho service khác có thể xuất âm thanh được.

- Sau khi play TC. Chỉ cần đổi sang output khác là alsa release.

- Sau khi play aprenderer. Chỉ cần xóa hết nhạc trong playlist (queue) cùa bubbleupnp là alsa release.
Hihi, cám ơn bạn. Đọc kỉ mới hiểu là chỉ cần đổi output trên app tidal hoặc xóa queue list. :).
Mình có con Topping D10, không biết nghe có khá hơn Allo Boss không. Cần thay đổi setting ở đâu để chuyển sang D10 vậy bạn?
 

quatmo

Well-Known Member
Mình đang tìm hiểu vụ này, bác thấy dùng bluetooth aptx hd so với có dây được bn phần trăm và âm thanh trebb mid bass ntn à ?

Trebb Mid Bass không có vấn đề gì bác, setup đúng cặp cho âm thanh trong hơn và ngân nga rất nhạc tính.

- USB phát bluetooth Aptx HD gắn vào Andoid mờ hơn gắn trên PC/Pi (cái này do thiếu codec).
- Tốt nhất vẫn là nguồn phát phone có bluetooth Aptx HD, lẽ dễ hiểu vì có sẵn bộ codec chính hãng.
- Độ ngân nga âm vọng của giọng hát thể hiện đầy đủ. (VD đoạn mở đầu: Trong nỗi nhớ muộn màng - Ý Lan)

Bác lưu ý: Bắt buộc nguồn phát bluetooth Aptx HD, thu cũng bluetooth Aptx HD để không bị hệ điều hành lấy mẫu lại làm sai đi.
 

do_long_khach

Well-Known Member
Bác dùng Pi mấy?

1. Subsonic Server không support Wav và DSD, nếu muốn nó hoạt động chính xác nên đặt IP tĩnh cho Volumio và gắn IP tĩnh đó vào phần setting của plugin Subsonic.

2. Youtube Plugin có update mới mấy ngày trước, cần update lên.

3. Hướng dẫn của bác Phước không áp dụng được với Volumio vì khó cài các thành phần phụ thuộc.
Cảm ơn bác, tôi dùng Usbridge Sig, nghĩa là Pi3+.

Nhận tiện show hàng đồ vừa chế xong.....
ikvabGud_mCT0DfwoA-QGcstu4NRK7p8Fb-NXuaJIDU7AQYjrcJmMiUL8nR2FRQH9SupzhHtduo3HXs4diBiGupJXExw-wwJDICaREEB486jKS5E0vqziYYJLAm-CTYUY3tHc1eKwo3Ic6sKYNoVvgwl48CBHM5lCZRkuW48jcIEk_T4FG1w5vSVGBCq5Xxx_AA7QwEHGdxH7bAwG1FbOpTK5PPcng-ygTrl_5EMqPhxhglWfQKJI-S8d8vE92A6IUrH4H6yu_9rXjSBk7GpxFtpxtvwsVIJC3h5DALZy7-Eokpi7G1uXahN1qg68IyHgbztbqbTUq58xf3nhijrYD0t8LYZhbjeqUb_NpInlmiqy_lF9cRDpZMjSn0cT04LgmERBxdcnbYy168hr4VHdQcoYPltmAitSwR-ADKEuZM9k_U3anhVOub_-Cp3KqsW2wpObC88A_tidAa_Ofx9qe2tzZFT-Lqw1yKSdpwwpcDnjdVqA1flPBWjsnemP7B6uVVcWMJWCyECAPK8WaHZmTHPpDQgDXusYOl9Z_bl7_3sjbEkYJhYbw70KR46oZ6_CObQLqlLe0Va_PsuIhjkUeLTYQEbPkP1nRf88g3bGYuhMeyBrf2IQZ3I7nOw15RPpnx47AEc_gydZqChKR8fLLKdIkAZqdtmoJ6Kc8q_qaswCWKFtiqq65HZcwcsXsr478s7YCPsP78US_HC_R254HH9Dg=w1229-h921-no
 
Chỉnh sửa lần cuối:

chautranthanh

Well-Known Member
Trebb Mid Bass không có vấn đề gì bác, setup đúng cặp cho âm thanh trong hơn và ngân nga rất nhạc tính.

- USB phát bluetooth Aptx HD gắn vào Andoid mờ hơn gắn trên PC/Pi (cái này do thiếu codec).
- Tốt nhất vẫn là nguồn phát phone có bluetooth Aptx HD, lẽ dễ hiểu vì có sẵn bộ codec chính hãng.
- Độ ngân nga âm vọng của giọng hát thể hiện đầy đủ. (VD đoạn mở đầu: Trong nỗi nhớ muộn màng - Ý Lan)

Bác lưu ý: Bắt buộc nguồn phát bluetooth Aptx HD, thu cũng bluetooth Aptx HD để không bị hệ điều hành lấy mẫu lại làm sai đi.
Bác cho mình xin link mua bộ aptx hd nhé , thanks
 

tml3nr

Moderator
Hihi, cám ơn bạn. Đọc kỉ mới hiểu là chỉ cần đổi output trên app tidal hoặc xóa queue list. :).
Mình có con Topping D10, không biết nghe có khá hơn Allo Boss không. Cần thay đổi setting ở đâu để chuyển sang D10 vậy bạn?
Bản đó em làm trên pi2 và Topping E30. Có nghĩa là anh để nguyên file img như vậy nó sẽ chạy được trên dac USB.

Nếu anh đã chạy với boss dac, vậy mình sẽ thêm # vào file config.txt chổ boss dac là xong ạ:

#dtoverlay=allo-boss-dac-pcm512x-audio
 

quatmo

Well-Known Member
Bác cho mình xin link mua bộ aptx hd nhé , thanks
DAC:
Loại dùng Muse 02 (Mình đang xài): https://item.taobao.com/item.htm?sp...14330b0kqV2v7&id=532945750566&_u=t2dmg8j26111
Bác có thể không cần xài nguồn xung kèm theo, mà mua nguồn linear 5v 3A trở lên khác.

Về sau họ ra thêm bản khác: https://item.taobao.com/item.htm?sp...14330b0kqV2v7&id=532945750566&_u=t2dmg8j26111

Đầu phát:
Nếu không dùng phone có Aptx HD thì bác tìm mua cục USB/Type C Dongle Bluetooth dùng chip CSR8675.

Như loại này hoặc khác cũng được https://vi.aliexpress.com/item/33027004409.html?spm=a2g0s.9042311.0.0.27424c4dCsKVcD
Mình dùng loại đầu phát này OK với PC/Pi/Phone và dùng bộ phone + tai nghe Aptx HD (cùng hãng): OnePlus 6T.
 
Chỉnh sửa lần cuối:
Bên trên