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

Thanhvo31

Well-Known Member
Với thể loại nhạc vàng, vocal. Bản xenomaipi v1.3 hoàn toàn đáp ứng cho các bác, không cần realtime.

Cảm ơn ý kiến của bác về vụ Realtime, trước cứ nghĩ là Xenomai aka realtime thôi :eek:;)
Hôm nay Gfu chút mới vỡ ra thêm về vụ Linux Realtime, thấy có Cobalt lại có cả Mercury
Mình đã copy mấy file về đọc, tiện share thêm mấy link để mấy anh có thời gian đọc thêm cùng chém về RT cho nó nhừ ạ :p:D:
https://www.opensourceforu.com/2015/10/the-xenomai-project-a-linux-based-rtos/
https://pdfs.semanticscholar.org/9eb5/1dbe38fb23034e80b8664d8281996d2a5ef6.pdf
http://kth.diva-portal.org/smash/get/diva2:1251188/FULLTEXT01.pdf
https://www.icterra.com/real-time-linux-comparison/

Figure-1.jpg
 

Thanhvo31

Well-Known Member
@mtminh , @tml3nr

Vụ 24db tìm ra ở đây giải thích

https://www.raspberrypi.org/forums/viewtopic.php?t=269979

From the overlay readme
Name: allo-boss-dac-pcm512x-audio
Info: Configures the Allo Boss DAC audio cards.
Load: dtoverlay=allo-boss-dac-pcm512x-audio,<param>
Params: 24db_digital_gain Allow gain to be applied via the PCM512x codec
Digital volume control. Enable with "dtoverlay=allo-boss-dac-pcm512x-audio, 24db_digital_gain"

The default behaviour is that the Digital volume control is limited to a maximum of 0dB. ie. it can attenuate but not provide gain. For most users, this will be desired as it will prevent clipping. By appending the 24db_digital_gain parameter, the Digital volume control will allow up to 24dB of gain. If this parameter is enabled, it is the responsibility of the user to ensure that the Digital volume control is set to a value
that does not result in clipping/distortion!
 

mtminh

Well-Known Member
Vâng anh, Trong BOSS-DAC-Tech-Manual-1.2.pdf có nói điều này.

Mình nghĩ đây là bug. Với điều kiện bình thường, nếu tăng +24db, tín hiệu đã bị cắt ngọn (clipping) sinh ra biến dạng, dù để volume mức thấp. Vậy mà, tăng lên đến mức độ 56 mới bị ảnh hưởng.

Có thể phần trước sound card, cung cấp I2S quá thấp. Dưới mức độ mà sound card không decode tốt được. Độ động giảm nhiều lắm.
Kỳ lạ một điều là tăng digital volume max, kêu to mồm nhưng chất lượng âm thanh không khá hơn. Nếu có sơ đồ và hiểu driver, có thể biết 2 loại volume đó tác động vào nơi nào trên sound card hoăc trên OS

Tăng fix +24db, chỉ là test tìm hiểu, không phải cách khắc phục đúng.
Nhờ các anh chuyên gia check lại chính xác phải vậy không.
 
Chỉnh sửa lần cuối:

toi511

Well-Known Member
Em cập nhật tình hình ạ.

Máy của anh @toi511 dùng fifo pi.

dtoverlay=rpi-dac.dtbo

Dac này không có volume nên phải dùng softvol.

Service cần phải thêm delay 30s như sau thì ok ạ:

openhome.service:

Mã:
[Unit]
Description=OpenHome Player
Wants=network-online.target
After=network.target network-online.target

[Service]
User=root
ExecStartPre=/bin/sleep 30
ExecStart=-/usr/bin/openhome-player
Restart=on-failure

[Install]
WantedBy=multi-user.target
Alias=openhomeplayer.service

Sau đó chạy:

Mã:
sudo systemctl daemon-reload

Rồi reboot.

@chipno : Anh dùng digione với softvol. Nếu như openhome không play được sau khi reboot thì anh thêm vào openhome.service như trên nhé.
cảm ơn anh đã nhiệt tình teamview giúp em
 

Thanhvo31

Well-Known Member
Theo chân anh @quatmo, anh @linh0983 mình rclone vô xenomaipi = root, nhưng lúc nó config /scan thì asset không cấp quyền, giờ muốn promote asset lên root như thế nào bác @tml3nr ?

Đặt hàng bác @tml3nr v1.4 thêm phần mount Cloud vô luôn, gọi là bản FULLY CLOUD ạ.
 
Chỉnh sửa lần cuối:

tml3nr

Moderator
Cảm ơn ý kiến của bác về vụ Realtime, trước cứ nghĩ là Xenomai aka realtime thôi :eek:;)
Hôm nay Gfu chút mới vỡ ra thêm về vụ Linux Realtime, thấy có Cobalt lại có cả Mercury
Mình đã copy mấy file về đọc, tiện share thêm mấy link để mấy anh có thời gian đọc thêm cùng chém về RT cho nó nhừ ạ :p:D:
https://www.opensourceforu.com/2015/10/the-xenomai-project-a-linux-based-rtos/
https://pdfs.semanticscholar.org/9eb5/1dbe38fb23034e80b8664d8281996d2a5ef6.pdf
http://kth.diva-portal.org/smash/get/diva2:1251188/FULLTEXT01.pdf
https://www.icterra.com/real-time-linux-comparison/

Figure-1.jpg

@mtminh , @tml3nr

Vụ 24db tìm ra ở đây giải thích

https://www.raspberrypi.org/forums/viewtopic.php?t=269979

From the overlay readme
Name: allo-boss-dac-pcm512x-audio
Info: Configures the Allo Boss DAC audio cards.
Load: dtoverlay=allo-boss-dac-pcm512x-audio,<param>
Params: 24db_digital_gain Allow gain to be applied via the PCM512x codec
Digital volume control. Enable with "dtoverlay=allo-boss-dac-pcm512x-audio, 24db_digital_gain"

The default behaviour is that the Digital volume control is limited to a maximum of 0dB. ie. it can attenuate but not provide gain. For most users, this will be desired as it will prevent clipping. By appending the 24db_digital_gain parameter, the Digital volume control will allow up to 24dB of gain. If this parameter is enabled, it is the responsibility of the user to ensure that the Digital volume control is set to a value
that does not result in clipping/distortion!

Vâng anh, Trong BOSS-DAC-Tech-Manual-1.2.pdf có nói điều này.

Mình nghĩ đây là bug. Với điều kiện bình thường, nếu tăng +24db, tín hiệu đã bị cắt ngọn (clipping) sinh ra biến dạng, dù để volume mức thấp. Vậy mà, tăng lên đến mức độ 56 mới bị ảnh hưởng.

Có thể phần trước sound card, cung cấp I2S quá thấp. Dưới mức độ mà sound card không decode tốt được. Độ động giảm nhiều lắm.
Kỳ lạ một điều là tăng digital volume max, kêu to mồm nhưng chất lượng âm thanh không khá hơn. Nếu có sơ đồ và hiểu driver, có thể biết 2 loại volume đó tác động vào nơi nào trên sound card hoăc trên OS

Tăng fix +24db, chỉ là test tìm hiểu, không phải cách khắc phục đúng.
Nhờ các anh chuyên gia check lại chính xác phải vậy không.

@mtminh Đối với Bos Dac thì volume analog/digital thì là nằm trên con pcm5122 anh à. Anh xem trong specs của pcm5122 ở đây. Anh kiểm tra volum analog thứ 2 của Boss Dac trong hình trên đang ở level 0, anh tăng lên test xem như thế nào ạ.

Hay quá các anh ạ. Mời các anh thảo luận tiếp. Em thấy bắt đầu bật ra nhiều chuyện rất hay. Nó sẽ là kiến thức, là tiền đề cho những bước sau này. Rất có ích cho việc build os hay optimize kernel, sound settings.

Dự án xenomai này em theo đuổi như một concept. Ngoài mục đích nghe online tidal trực tiếp không qua proxy streaming. Còn một thử thách là làm thế nào có được upnp renderer mà không lệ thuộc MPD.

Nếu không có cách nào hay hơn. Mình sẽ quay về máng lợn MPD, nhưng với kiến thức khác và cách nhìn khác.

Em xin cảm ơn tất cả mọi người!
 
Chỉnh sửa lần cuối:

tml3nr

Moderator
Theo chân anh @quatmo, anh @linh0983 mình rclone vô xenomaipi = root, nhưng lúc nó config /scan thì asset không cấp quyền, giờ muốn promote asset lên root như thế nào bác @tml3nr ?

Đặt hàng bác @tml3nr v1.4 thêm phần mount Cloud vô luôn, gọi là bản FULLY CLOUD ạ.
Muốn asset upnp chạy với quyền root. Anh chỉ cần sửa "User=root" trong assetupnp.service ạ.

Khi đó folder config của nó sẽ nằm trong /root/.dBpoweramp

Như vậy assetupnp.service sẽ là:

Mã:
sudo nano /lib/systemd/system/assetupnp.service

Mã:
[Unit]
Description=Launch AssetUPnP
After=network.target

[Service]
User=root
Type=simple
ExecStart=/home/pi/bin/AssetUPnP > /dev/null 2>&1
Restart=always
RestartSec=1min

[Install]
WantedBy=multi-user.target

Vụ rclone trước giờ anh @quatmo khởi xướng. Em chưa có làm qua. Vậy nhờ anh Quạt tóm cho em cái tút, em sẽ đưa vào ở bản sau ạ.
 
Chỉnh sửa lần cuối:

TuanQuynhAudio

Well-Known Member
Em cắm thẻ nhớ qua adapter usb to sdcard vào raspbian toàn bị lỗi dưới. Bác nào biết fix giùm ạ.
Mã:
sd 0:0:0:0: Attached scsi generic sg0 type 0
sd 0:0:0:0: [sda] Attached SCSI removable disk
 

mtminh

Well-Known Member
@mtminh Đối với Bos Dac thì volume analog/digital thì là nằm trên con pcm5122 anh à. Anh xem trong specs của pcm5122 ở đây. Anh kiểm tra volum analog thứ 2 của Boss Dac trong hình trên đang ở level 0, anh tăng lên test xem như thế nào ạ.
Volume2.jpg

Có 3 volume từ trái qua phải: 2 analog và 1 digital.
- Số 1. Lúc còn nghe Boss nhiều, mình không bao giờ cho chồm đến ngưỡng màu đỏ.
Nhiều file nhạc vì lý do gì đó họ tune quá lớn. Volume Max 100%, nghe nhận ra bị bão hòa, có tiếng xé nhẹ kèm theo
- Số 2. Ành hưởng tiếng Bass thôi. Càng không nên kéo lên. Bass sẽ trờ nên mud. Để 0 theo mặc định
- Số 3 tùy thích. Mình chỉ kéo tối đa 87%, Muốn lớn, nhờ volume của amp.

Mình không hiểu cái này nè anh. Giữa volume số 3 và khi thêm +24db vào driver, ảnh hưởng khác nhau.
 

tml3nr

Moderator

TuanQuynhAudio

Well-Known Member
Lúc này em nghĩ là pi nó hiểu y như mình đang cắm usb disk anh ạ.

Vậy mình phải theo bài boot pi from usb.

Thí dụ như:

https://www.raspberrypi.org/documentation/hardware/raspberrypi/bootmodes/msd.md

Nó bị như thế nên em không thể fdisk hay làm gì trên thẻ nhớ (thẻ nhớ cắm vào adpter usb to sdcard rồi cắm vào cổng usb của pi). Muốn flash os vào thẻ nhớ cũng không được. :mad:
Em mò disable cái boot from usb xem sao.
 

tml3nr

Moderator
Nó bị như thế nên em không thể fdisk hay làm gì trên thẻ nhớ (thẻ nhớ cắm vào adpter usb to sdcard rồi cắm vào cổng usb của pi). Muốn flash os vào thẻ nhớ cũng không được. :mad:
À em lộn. Tưởng anh tính boot từ adapter microsd to usb.

Nếu chỉ đọc thì anh thử đổi đầu đọc khác. Mấy cái microsd to usb nó kém lạ lắm.
 

quatmo

Well-Known Member
Vụ rclone trước giờ anh @quatmo khởi xướng. Em chưa có làm qua. Vậy nhờ anh Quạt làm dùm hoặc tóm cho em cái tút, em sẽ đưa vào ở bản sau ạ.

Cài Rclone:
Trên XenomaiPi các bác cần cài thêm thư viện Fuse.

1/. sudo apt-get install fuse
2/. curl https://rclone.org/install.sh | sudo bash (tham khảo https://rclone.org/downloads/)
3./ Tạo Google drive/ Onedrive Api ---> TK cloud của các bác
4./ Tạo config mount, gõ rclone config và điền thông số của mục 5
5/. Hướng dẫn config cho Google drive: https://rclone.org/drive

PS: Mình bị khóa 1 tài khoản Google drive (publish 2000 album trước đây) rồi nên không share các bác được.
 
Chỉnh sửa lần cuối:

tml3nr

Moderator
Cài Rclone:
Trên XenomaiPi các bác cần cài thêm thư viện Fuse.

1/. sudo apt-get install fuse
2/. curl https://rclone.org/install.sh | sudo bash (https://rclone.org/downloads/)
3./ sudo nano /etc/fuse.conf
4./ Bỏ dấu # của dòng: user_allow_other
5./ Tạo Google drive/ Onedrive Api ---> TK cloud của các bác
6./ Tạo config mount, gõ rclone config và điền thông số của mục 5
7/. Hướng dẫn config cho Google drive: https://rclone.org/drive

PS: Mình bị khóa 1 tài khoản Google drive (publish 2000 album trước đây) rồi nên không share các bác được.
Cảm ơn anh rất nhiều. Nó lệ thuộc cái api GG nên hơi khó chịu anh nhỉ.

Ý tưởng dùng nhạc trên cloud của anh rất hay. Em nghĩ là mình có thể thuê host để dùng chung trong một group, hay có thể làm giá trị gia tăng cho một sản phẩm nào đó. Thậm chí có thể cho thuê :D

Mình vẫn sẽ dùng rclone để lấy file qua http hay ftp từ host thuê.

Cách quản lý mình có thể học của Spotify: Hạn chế sessions cho mỗi account. Như vậy ở một thời điểm không thể play cùng lúc trên 2 thiết bị.

Để giải quyết tốc độ scan library mình chỉ cần làm 1 lần mỗi khi có thay đổi nhạc, sau đó update library database xuống các máy khác.

Hoặc là cho library database nằm ở trên internet luôn :D

Cách này chủ yếu là để giải quyết các album không có trên Tidal. Chứ đi một vòng sao giống như mình phát minh lại bánh xe o_O
 
Chỉnh sửa lần cuối:

dongmai

New Member
Bác nói : Nếu muốn nghe nhạc offline thì edit fstab để add nas , e muốn hỏi edit fstab bằng gì notepad hay bằng putty ? Thêm vụ nữa là nếu muốn dùng wireless thay vì dùng LAN thì em phải cofix bằng cách nào ,bác chỉ giúp hộ ,cám ơn bác .
 

tml3nr

Moderator
Bác nói : Nếu muốn nghe nhạc offline thì edit fstab để add nas , e muốn hỏi edit fstab bằng gì notepad hay bằng putty ? Thêm vụ nữa là nếu muốn dùng wireless thay vì dùng LAN thì em phải cofix bằng cách nào ,bác chỉ giúp hộ ,cám ơn bác .

Q1: E muốn hỏi edit fstab bằng gì notepad hay bằng putty?

- Edit fstab bằng putty ạ:

sudo nano /etc/fstab

Rồi thêm thông tin nas của anh vào đoạn:

Mã:
//192.168.x.x/my_share /mnt/NAS cifs _netdev,username=xxx,password=xxx,vers=1.0,uid=1000,gid=1000,sec=ntlm,iocharset=utf8 0 0

Test và mount nó lên:

sudo mount -av

Lưu ý là nếu anh share nhạc từ Windows 10 có thể phải dùng vers=2.0

Q2: Nếu muốn dùng wireless thay vì dùng LAN thì em phải cofix bằng cách nào?

- Để dùng wireless. Có 2 cách:

Cách 1:

Mã:
sudo raspi-config

Rồi thêm vào tên wifi, password ở mục Network Options / Wi-Fi

Cách 2:

Anh dùng putty edit file sau:

Mã:
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Rồi thêm vào thông tin của hotspot:

Mã:
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=US

network={
   ssid="my_wifi"
   psk="123456"
###   scan_ssid=1
}

Rồi reboot, hoặc chạy lệnh sau:

Mã:
sudo wpa_cli -i wlan0 reconfigure
 
Chỉnh sửa lần cuối:

dongmai

New Member
Q1: E muốn hỏi edit fstab bằng gì notepad hay bằng putty?

- Edit fstab bằng putty ạ:

sudo nano /etc/fstab

Rồi thêm thông tin nas của anh vào đoạn:

Mã:
//192.168.x.x/my_share /mnt/NAS cifs _netdev,username=xxx,password=xxx,vers=1.0,uid=1000,gid=1000,sec=ntlm,iocharset=utf8 0 0

Test và mount nó lên:

sudo mount -av

Lưu ý là nếu anh share nhạc từ Windows 10 có thể phải dùng vers=2.0

Q2: Nếu muốn dùng wireless thay vì dùng LAN thì em phải cofix bằng cách nào?

- Để dùng wireless. Có 2 cách:

Cách 1:

Mã:
sudo raspi-config

Rồi thêm vào tên wifi, password ở mục Network Options / Wi-Fi

Cách 2:

Anh dùng putty edit file sau:

Mã:
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Rồi thêm vào thông tin của hotspot:

Mã:
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=US

network={
   ssid="my_wifi"
   psk="123456"
###   scan_ssid=1
}
Cám ơn bác nhiệt tình chỉ dẫn , e dốt IT .Em thử xem sao
 
Bên trên