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

tml3nr

Moderator
Của em iphone x xài bản os final hiện tại vẫn thấy bình thường mà bác. Em chọn audio 1.1.6
Dạ không hiểu sao nữa anh ạ. Em là iphone 7 ghẻ, IOS 12.4.1, app tidal 2.18.

Không thấy TC của dastereo. Nhưng TC của hitide thì thấy liền.

Có thể là hai source dùng api khác nhau.

Mình đang test nên mấy cái này không quan trọng lắm. Trước mắt Android thấy là OK rồi. Mình sẽ còn phải thử thêm rất nhiều thứ khác nữa ạ.
 
Chỉnh sửa lần cuối:

dungsin_lqd

Well-Known Member
Thấy các bác bàn tán vụ cài dastereo down về cài trên rpi3 xuất qua dac smsl m200 tiếng mềm mỏng. Em không có tài khoản tidal thì mua như thế nào.
@linh0983 cái vụ này có lấy nhạc từ nas của bác được? Lâu quá em không vào khám phá nas của bác.
 

youngj

Well-Known Member
- mconnect ra loa: mconnect lấy nhạc rổi làm proxy streaming, đẩy ra loa. Âm thanh ảnh hưởng nhiều bởi thiết bị đang chạy mconnect. Thường ios tiếng sẽ hay hơn andoid. ipad tiếng hay hơn iphone.

- pi làm TC: pi lấy nhạc trực tiếp từ internet, rồi đẩy qua dac, hoặc qua loa nếu như loa có dac input usb.

Tóm lại. Cái nào hay hơn phải thử thực tế mới biết được :D
cái này e có tìm hiểu thì là
mconnect sẽ get link tidal track id gen ra link proxy http://xxxxx/tidal/track_id.flac
rồi đẩy link này cho render (e dung moode thì show info track thì đang decode link: http://xxxxx/tidal/track_id.flac)
Khi e lấy link http://xxxxx/tidal/track_id.flac copy trên browser thì nó ra link của tidal http://tidal.com/track_id.flac?xxxxx
=> âm thanh không bị ảnh hưởng bởi os chạy mconnect (e test trên ios => moode).
riêng Bubble Upnp steam tidal mới bị ảnh hưởng e test trên android => moode
 

linh0983

Well-Known Member
cái này e có tìm hiểu thì là
mconnect sẽ get link tidal track id gen ra link proxy http://xxxxx/tidal/track_id.flac
rồi đẩy link này cho render (e dung moode thì show info track thì đang decode link: http://xxxxx/tidal/track_id.flac)
Khi e lấy link http://xxxxx/tidal/track_id.flac copy trên browser thì nó ra link của tidal http://tidal.com/track_id.flac?xxxxx
=> âm thanh không bị ảnh hưởng bởi os chạy mconnect
Bác nói đúng DS-10 nó hoạt động như vậy đó a . :rolleyes:
http://www.conversdigital.com/kor/product/product01.php
 

linh0983

Well-Known Member
Em setup thử TC trên raspbian buster stock, Pi4. Chạy được rồi các anh ạ.

Chỉ 1 dòng lệnh duy nhất:

Mã:
curl -sSL https://raw.githubusercontent.com/shawaj/HiTide/main/install.sh | sudo bash
Mình add vào Moode Audio ver 7.0.1 ok liền bác a . :eek:

Mã:
login as: pi
[email protected]'s password:
RaspiOS 10.6 | 5.4.77-v7+ #1371 | armv7l (32-bit)

____ __ ____
__ _ ___ / __ \___/ /__ /_ /
/ ' \/ _ \/ /_/ / _ / -_) / /
/_/_/_/\___/\____/\_,_/\__/ /_/

moOde audio player
Release 7.0.1 2020-12-23
(C) 2014 Tim Curtis


The programs included with moOde are free software; the
exact distribution terms for each program are described
in the individual files in /usr/share/doc/*/copyright.
Moode comes with absolutely no warranties expressed or
implied, or any other guarantees.



pi@moode:~ $ curl -sSL https://raw.githubusercontent.com/shawaj/HiTide/main/install.sh | sudo bash
Get:1 http://archive.raspberrypi.org/debian buster InRelease [32.8 kB]
Get:2 http://archive.raspberrypi.org/debian buster/main armhf Packages [364 kB]
Get:3 http://raspbian.raspberrypi.org/raspbian buster InRelease [15.0 kB]
Get:4 http://archive.raspbian.org/raspbian stretch InRelease [15.0 kB]
Get:5 http://raspbian.raspberrypi.org/raspbian buster/main armhf Packages [13.0 MB]
Get:6 http://archive.raspbian.org/raspbian stretch/main armhf Packages [11.7 MB]
Get:7 http://raspbian.raspberrypi.org/raspbian buster/non-free armhf Packages [104 kB]
Fetched 25.2 MB in 26s (979 kB/s)
Reading package lists... Done
Building dependency tree
Reading state information... Done
104 packages can be upgraded. Run 'apt list --upgradable' to see them.
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'libportaudio2' for glob 'libportaudio2*'
Note, selecting 'libflac++6v5' for glob 'libflac++6v5*'
alsa-utils is already the newest version (1.1.8-2).
alsa-utils set to manually installed.
git is already the newest version (1:2.20.1-2+deb10u3).
libavahi-client3 is already the newest version (0.7-4+b1).
libavahi-client3 set to manually installed.
libavahi-common3 is already the newest version (0.7-4+b1).
libavahi-common3 set to manually installed.
libportaudio2 is already the newest version (19.6.0-1).
libportaudio2 set to manually installed.
multiarch-support is already the newest version (2.28-10+rpi1).
The following additional packages will be installed:
libavcodec57 libavutil55 libbluray1 libswresample2 libva-drm1 libva-x11-1 libva1 libvpx4 libwebpmux2 libx264-148
libx265-95
Suggested packages:
libbluray-bdj
The following NEW packages will be installed:
libavcodec57 libavformat57 libavutil55 libbluray1 libflac++6v5 libswresample2 libva-drm1 libva-x11-1 libva1 libvpx4
libwebpmux2 libx264-148 libx265-95
0 upgraded, 13 newly installed, 0 to remove and 104 not upgraded.
Need to get 7,381 kB of archives.
After this operation, 21.7 MB of additional disk space will be used.
Get:1 http://archive.raspbian.org/raspbian stretch/main armhf libva1 armhf 1.7.3-2 [46.2 kB]
Get:3 http://archive.raspbian.org/raspbian stretch/main armhf libva-drm1 armhf 1.7.3-2 [14.5 kB]
Get:4 http://archive.raspbian.org/raspbian stretch/main armhf libva-x11-1 armhf 1.7.3-2 [18.0 kB]
Get:5 http://archive.raspbian.org/raspbian stretch/main armhf libavutil55 armhf 7:3.2.15-0+deb9u2 [246 kB]
Get:6 http://archive.raspbian.org/raspbian stretch/main armhf libswresample2 armhf 7:3.2.15-0+deb9u2 [102 kB]
Get:7 http://archive.raspbian.org/raspbian stretch/main armhf libvpx4 armhf 1.6.1-3+deb9u2 [432 kB]
Get:8 http://archive.raspbian.org/raspbian stretch/main armhf libwebpmux2 armhf 0.5.2-1 [80.1 kB]
Get:9 http://archive.raspbian.org/raspbian stretch/main armhf libx264-148 armhf 2:0.148.2748+git97eaef2-1+rpi1 [786 kB]
Get:10 http://archive.raspbian.org/raspbian stretch/main armhf libx265-95 armhf 2.1-2 [447 kB]
Get:11 http://archive.raspbian.org/raspbian stretch/main armhf libavcodec57 armhf 7:3.2.15-0+deb9u2 [4,170 kB]
Get:12 http://archive.raspbian.org/raspbian stretch/main armhf libbluray1 armhf 1:0.9.3-3 [122 kB]
Get:13 http://archive.raspbian.org/raspbian stretch/main armhf libavformat57 armhf 7:3.2.15-0+deb9u2 [882 kB]
Get:2 https://mirror.freedif.org/Raspbian/raspbian buster/main armhf libflac++6v5 armhf 1.3.2-3 [34.7 kB]
Fetched 7,381 kB in 7s (1,080 kB/s)
Selecting previously unselected package libva1:armhf.
(Reading database ... 66928 files and directories currently installed.)
Preparing to unpack .../00-libva1_1.7.3-2_armhf.deb ...
Unpacking libva1:armhf (1.7.3-2) ...
Selecting previously unselected package libva-drm1:armhf.
Preparing to unpack .../01-libva-drm1_1.7.3-2_armhf.deb ...
Unpacking libva-drm1:armhf (1.7.3-2) ...
Selecting previously unselected package libva-x11-1:armhf.
Preparing to unpack .../02-libva-x11-1_1.7.3-2_armhf.deb ...
Unpacking libva-x11-1:armhf (1.7.3-2) ...
Selecting previously unselected package libavutil55:armhf.
Preparing to unpack .../03-libavutil55_7%3a3.2.15-0+deb9u2_armhf.deb ...
Unpacking libavutil55:armhf (7:3.2.15-0+deb9u2) ...
Selecting previously unselected package libswresample2:armhf.
Preparing to unpack .../04-libswresample2_7%3a3.2.15-0+deb9u2_armhf.deb ...
Unpacking libswresample2:armhf (7:3.2.15-0+deb9u2) ...
Selecting previously unselected package libvpx4:armhf.
Preparing to unpack .../05-libvpx4_1.6.1-3+deb9u2_armhf.deb ...
Unpacking libvpx4:armhf (1.6.1-3+deb9u2) ...
Selecting previously unselected package libwebpmux2:armhf.
Preparing to unpack .../06-libwebpmux2_0.5.2-1_armhf.deb ...
Unpacking libwebpmux2:armhf (0.5.2-1) ...
Selecting previously unselected package libx264-148:armhf.
Preparing to unpack .../07-libx264-148_2%3a0.148.2748+git97eaef2-1+rpi1_armhf.deb ...
Unpacking libx264-148:armhf (2:0.148.2748+git97eaef2-1+rpi1) ...
Selecting previously unselected package libx265-95:armhf.
Preparing to unpack .../08-libx265-95_2.1-2_armhf.deb ...
Unpacking libx265-95:armhf (2.1-2) ...
Selecting previously unselected package libavcodec57:armhf.
Preparing to unpack .../09-libavcodec57_7%3a3.2.15-0+deb9u2_armhf.deb ...
Unpacking libavcodec57:armhf (7:3.2.15-0+deb9u2) ...
Selecting previously unselected package libbluray1:armhf.
Preparing to unpack .../10-libbluray1_1%3a0.9.3-3_armhf.deb ...
Unpacking libbluray1:armhf (1:0.9.3-3) ...
Selecting previously unselected package libavformat57:armhf.
Preparing to unpack .../11-libavformat57_7%3a3.2.15-0+deb9u2_armhf.deb ...
Unpacking libavformat57:armhf (7:3.2.15-0+deb9u2) ...
Selecting previously unselected package libflac++6v5:armhf.
Preparing to unpack .../12-libflac++6v5_1.3.2-3_armhf.deb ...
Unpacking libflac++6v5:armhf (1.3.2-3) ...
Setting up libva1:armhf (1.7.3-2) ...
Setting up libx264-148:armhf (2:0.148.2748+git97eaef2-1+rpi1) ...
Setting up libx265-95:armhf (2.1-2) ...
Setting up libva-drm1:armhf (1.7.3-2) ...
Setting up libva-x11-1:armhf (1.7.3-2) ...
Setting up libwebpmux2:armhf (0.5.2-1) ...
Setting up libvpx4:armhf (1.6.1-3+deb9u2) ...
Setting up libflac++6v5:armhf (1.3.2-3) ...
Setting up libbluray1:armhf (1:0.9.3-3) ...
Setting up libavutil55:armhf (7:3.2.15-0+deb9u2) ...
Setting up libswresample2:armhf (7:3.2.15-0+deb9u2) ...
Setting up libavcodec57:armhf (7:3.2.15-0+deb9u2) ...
Setting up libavformat57:armhf (7:3.2.15-0+deb9u2) ...
Processing triggers for libc-bin (2.28-10+rpi1) ...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 850k 100 850k 0 0 751k 0 0:00:01 0:00:01 --:--:-- 751k
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'libssl1.0.0' instead of './libssl1.0.0_1.0.1t-1+deb8u12_armhf.deb'
The following NEW packages will be installed:
libssl1.0.0
0 upgraded, 1 newly installed, 0 to remove and 104 not upgraded.
Need to get 0 B/871 kB of archives.
After this operation, 1,910 kB of additional disk space will be used.
Get:1 /usr/ifi/libssl1.0.0_1.0.1t-1+deb8u12_armhf.deb libssl1.0.0 armhf 1.0.1t-1+deb8u12 [871 kB]
Preconfiguring packages ...
Selecting previously unselected package libssl1.0.0:armhf.
(Reading database ... 67010 files and directories currently installed.)
Preparing to unpack .../libssl1.0.0_1.0.1t-1+deb8u12_armhf.deb ...
Unpacking libssl1.0.0:armhf (1.0.1t-1+deb8u12) ...
Setting up libssl1.0.0:armhf (1.0.1t-1+deb8u12) ...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 231k 100 231k 0 0 259k 0 --:--:-- --:--:-- --:--:-- 259k
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'libcurl3' instead of './libcurl3_7.38.0-4+deb8u16_armhf.deb'
The following packages were automatically installed and are no longer required:
cmake-data librhash0 libuv1
Use 'sudo apt autoremove' to remove them.
The following packages will be REMOVED:
cmake curl libcurl4 rpi-update
The following NEW packages will be installed:
libcurl3
0 upgraded, 1 newly installed, 4 to remove and 104 not upgraded.
Need to get 0 B/237 kB of archives.
After this operation, 14.4 MB disk space will be freed.
Get:1 /usr/ifi/libcurl3_7.38.0-4+deb8u16_armhf.deb libcurl3 armhf 7.38.0-4+deb8u16 [237 kB]
(Reading database ... 67030 files and directories currently installed.)
Removing cmake (3.13.4-1) ...
Removing rpi-update (20200409) ...
Removing curl (7.64.0-4+deb10u1) ...
Removing libcurl4:armhf (7.64.0-4+deb10u1) ...
Selecting previously unselected package libcurl3:armhf.
(Reading database ... 66997 files and directories currently installed.)
Preparing to unpack .../libcurl3_7.38.0-4+deb8u16_armhf.deb ...
Unpacking libcurl3:armhf (7.38.0-4+deb8u16) ...
Setting up libcurl3:armhf (7.38.0-4+deb8u16) ...
Processing triggers for man-db (2.8.5-2) ...
Processing triggers for libc-bin (2.28-10+rpi1) ...
Cloning into 'ifi-tidal-release'...
remote: Enumerating objects: 64, done.
remote: Counting objects: 100% (64/64), done.
remote: Compressing objects: 100% (53/53), done.
remote: Total 64 (delta 15), reused 38 (delta 1), pack-reused 0
Unpacking objects: 100% (64/64), done.
● ifi-streamer-tidal-connect.service - RasPi Streamer Tidal Connect Service
Loaded: loaded (/lib/systemd/system/ifi-streamer-tidal-connect.service; disabled; vendor preset: enabled)
Active: active (running) since Sat 2021-03-06 15:31:35 +07; 59ms ago
Main PID: 1434 (tidal_connect_a)
Tasks: 1 (limit: 2063)
CGroup: /system.slice/ifi-streamer-tidal-connect.service
└─1434 /usr/ifi/ifi-tidal-release/bin/tidal_connect_application --tc-certificate-path /usr/ifi/ifi-tidal-release

Mar 06 15:31:35 moode systemd[1]: Started RasPi Streamer Tidal Connect Service.



JKIUY.jpg
 
Chỉnh sửa lần cuối:

tml3nr

Moderator
cái này e có tìm hiểu thì là
mconnect sẽ get link tidal track id gen ra link proxy http://xxxxx/tidal/track_id.flac
rồi đẩy link này cho render (e dung moode thì show info track thì đang decode link: http://xxxxx/tidal/track_id.flac)
Khi e lấy link http://xxxxx/tidal/track_id.flac copy trên browser thì nó ra link của tidal http://tidal.com/track_id.flac?xxxxx
=> âm thanh không bị ảnh hưởng bởi os chạy mconnect (e test trên ios => moode).
riêng Bubble Upnp steam tidal mới bị ảnh hưởng e test trên android => moode
Ah anh phát hiện ra cái này hay quá. Lúc trước em test cũng thấy là nhạc đi từ app. Nhưng hôm nay test lại với NP5 upnp renderer thì thấy link lấy trực tiếp từ Tidal:

Em test như vầy:

- Dùng JMC ngó vào upnp renderer.

- Dùng mconnect và bubbleupnp (Android) play Tidal xuất sang upnp renderer.

Khi nhạc đang phát. Nhìn vào JMC ta sẽ thấy link đang phát.

Thí dụ như hình bên dưới em phát Tidal từ mconnect sang NP5 và aprenderer:

mconnect Tidal sang NP5 - Nhạc lấy từ internet:

upnp-np5.jpg

mconnect Tidal sang aprenderer - Nhạc lấy từ thiết bị đang chạy app mconnect:

upnp-aprenderer.jpg

Vậy mình phải chịu khó test từng trường hợp mới biết được :eek:
 
Chỉnh sửa lần cuối:

linh0983

Well-Known Member
curl -sSL https://raw.githubusercontent.com/shawaj/HiTide/main/install.sh | sudo bash

Với Moode Audio khi install Tidal Connect dùng rất ngon mượt các bác a . Nhưng khi tắt Pi mở lại biểu tượng Tidal Connect mất tiêu a . Thêm 4 dòng này nữa là êm luôn các bác ơi . :rolleyes:

sudo systemctl daemon-reload
sudo systemctl enable ifi-streamer-tidal-connect.service
sudo systemctl start ifi-streamer-tidal-connect.service
sudo systemctl status ifi-streamer-tidal-connect.service


NMJUYT.jpg


https://www.raspberrypi.org/forums/viewtopic.php?f=38&t=297771
 

tieuphi2006

Well-Known Member
cho em hoi dao nay co anh nao bi install hqplayer desktop mà khong co tieng khong..em lam đủ kieu mà khong co tieng..
 

tml3nr

Moderator
curl -sSL https://raw.githubusercontent.com/shawaj/HiTide/main/install.sh | sudo bash

Với Moode Audio khi install Tidal Connect dùng rất ngon mượt các bác a . Nhưng khi tắt Pi mở lại biểu tượng Tidal Connect mất tiêu a . Thêm 4 dòng này nữa là êm luôn các bác ơi . :rolleyes:

sudo systemctl daemon-reload
sudo systemctl enable ifi-streamer-tidal-connect.service
sudo systemctl start ifi-streamer-tidal-connect.service
sudo systemctl status ifi-streamer-tidal-connect.service


NMJUYT.jpg


https://www.raspberrypi.org/forums/viewtopic.php?f=38&t=297771
Cảm ơn anh Phước đã nhắc. Để em cập nhật lại bài bên trên ạ.

Em xin bổ sung ít thông tin:

- Vì trong quá trình cài đặt nó sẽ detect dac để gán device ID. Cho nên phải bảo đảm là Dac đang bật trước khi cài.

- Sau khi setup xong mình có thể kiểm tra bằng lệnh sau. Nếu thấy có tên dac là ok. Thí dụ như bên dưới là dac Topping E30:

Mã:
pi@rpi4:~ $ cat /usr/ifi/ifi-tidal-release/pa_devs/devices
device#0=E30: USB Audio (hw:1,0)
device#1=default
Number of devices = 2
 
Chỉnh sửa lần cuối:

Thanhvo31

Well-Known Member
curl -sSL https://raw.githubusercontent.com/shawaj/HiTide/main/install.sh | sudo bash

Với Moode Audio khi install Tidal Connect dùng rất ngon mượt các bác a . Nhưng khi tắt Pi mở lại biểu tượng Tidal Connect mất tiêu a . Thêm 4 dòng này nữa là êm luôn các bác ơi . :rolleyes:

sudo systemctl daemon-reload
sudo systemctl enable ifi-streamer-tidal-connect.service
sudo systemctl start ifi-streamer-tidal-connect.service
sudo systemctl status ifi-streamer-tidal-connect.service


NMJUYT.jpg


https://www.raspberrypi.org/forums/viewtopic.php?f=38&t=297771
Đang mò để cài lên AoE x86 Arch mà chưa ra.
 

tml3nr

Moderator
Em setup test thử mô hình 3 trong một: Tidal Connect HiTide, aprenderer và minidlna 3 patch.

Mọi thứ hoạt động hoàn hảo như ý bà cụ. Ngoại trừ vướng một việc hơi khó chịu.

Khi Tidal Connect và aprenderer cùng start. Chỉ có 1 trong 2 play được do service kia đang giữ alsa.

Vậy mình chỉ để startup service nào dùng nhiều hơn. Cái kia start thủ công.

Cách giải quyết hoàn hảo cho việc này. Là tìm được cách nào cho nó tự động stop service còn lại khi play. Tương tự như tính năng "onevent" của spotifyd.

Em không rõ bản dastereo giải quyết việc này như thế nào. Vì em test aprenderer chưa chạy được.

Em nhớ là dev paparius của smpd có mấy cái script về event rất hay. Để em mò thử.

Hoặc mình có thể đưa vào giao diện web nút bật tắt service? Về web em dốt đặc hic.

Cách dễ nhất là tạo script rồi start... bằng cơm:

Để start Tidal Connect:

sudo nano /home/pi/tcstart.sh

Mã:
#!/bin/bash

sudo systemctl stop aprenderer.service
sudo service minidlna stop
sudo systemctl restart ifi-streamer-tidal-connect.service
sleep 1
sudo chrt -f -p 50 $(pidof tidal_connect_application)
exit

sudo chmod +x /home/pi/tcstart.sh

Khi nào dùng TC mình sẽ chạy lệnh:

./tcstart.sh

Để start aprenderer:

sudo nano /home/pi/upnpstart.sh

Mã:
#!/bin/bash

sudo systemctl stop ifi-streamer-tidal-connect.service
sudo service minidlna restart
sudo systemctl restart aprenderer.service
exit

sudo chmod +x /home/pi/upnpstart.sh

Khi nào dùng aprenderer mình sẽ chạy lệnh:

./upnpstart.sh

Mình cũng có thể chạy các scripts này từ PC bằng putty hoặc plink. Có thể tạo shortcut để chạy bằng 1 click.

Em dốt quá nên chỉ mò được tới đây. Nhờ các anh cho ý kiến thêm ạ.

PS: Bản TC HiTide của dev shawaj có vẻ dễ kết nối với Tidal trên PC.

tidal-connect-2.jpg
 
Chỉnh sửa lần cuối:
Bên trên