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

quatmo

Well-Known Member
Anh Phước @linh0983 và các bác nào rành về cấp nguồn Pin cho em hỏi.

Em dùng 4 cell Pin LiFePO4 32650/ 6700mAh ra 6.2v cấp nguồn vào cho bo LT3042 2A, điện đo ra là 5.1v OK
Nhưng khi cắm tải là Pi (có DAC và không DAC) thì bị sụt xuống ngay chỉ còn 4.1v. Kiểm tra máy vẫn chạy, âm thanh vẫn hát bình thường, CPU không tăng.
  • Cấp nguồn Pin Lithium 18650 7.4v vào cũng bị tình trạng tương tự.
  • Cấp Pin LiFePO4 cho bo LT1764 3A cũng bị tình trạng tương tự sụt còn 4.6v.
  • Cấp nguồn biến áp thì bình thường.

Vậy vì sao điện bị sụt, có cách nào chỉ em khắc phục với.


processed.jpg
 

zeze

Well-Known Member
Mình muốn down file nhạc loại 24Bit-96-192KHz. Cho hỏi trong group mình có biết địa chỉ, link nào để có thể down về được không? Xin cảm ơn trước ạ.
 

binna

Well-Known Member
Mình muốn down file nhạc loại 24Bit-96-192KHz. Cho hỏi trong group mình có biết địa chỉ, link nào để có thể down về được không? Xin cảm ơn trước ạ.
trên 4r mình có nhiều mà bác, bác search phần chia sẻ nhạc là có
 

rndce

Well-Known Member
Anh Phước @linh0983 và các bác nào rành về cấp nguồn Pin cho em hỏi.

Em dùng 4 cell Pin LiFePO4 32650/ 6700mAh ra 6.2v cấp nguồn vào cho bo LT3042 2A, điện đo ra là 5.1v OK
Nhưng khi cắm tải là Pi (có DAC và không DAC) thì bị sụt xuống ngay chỉ còn 4.1v. Kiểm tra máy vẫn chạy, âm thanh vẫn hát bình thường, CPU không tăng.
  • Cấp nguồn Pin Lithium 18650 7.4v vào cũng bị tình trạng tương tự.
  • Cấp Pin LiFePO4 cho bo LT1764 3A cũng bị tình trạng tương tự sụt còn 4.6v.
  • Cấp nguồn biến áp thì bình thường.

Vậy vì sao điện bị sụt, có cách nào chỉ em khắc phục với.


processed.jpg
Mình dùng cục biến thế nhiều đầu 6V AC, 9VAC, 12VAC ... để cấp nguồn cho bo LT1083 chỉnh out 5.2 V DC để cấp nguồn cho Pi3 + BossDAC dòng max chỉ là ~ 0.6A.
- Nếu dùng 6VAC cấp cho board LT 1083 thì bị hiện tượng Pi chạy khoảng 15' thì sụt áp còn khoảng 4.2 V rồi tịt. (vì theo mình hiểu thì qua 4 con diod chỉnh lưu thì Input cho LT1083 nó tăng lên thành 1.4x6 VDC)
- Sau đó mình chuyển qua cấp nguồn 9VAC cho board LT1083, thì điện áp out cấp cho Pi ổn định ở 5.2V DC
và không còn bị tịt nữa.
 

linh0983

Well-Known Member
Anh Phước @linh0983 và các bác nào rành về cấp nguồn Pin cho em hỏi.

Em dùng 4 cell Pin LiFePO4 32650/ 6700mAh ra 6.2v cấp nguồn vào cho bo LT3042 2A, điện đo ra là 5.1v OK
Nhưng khi cắm tải là Pi (có DAC và không DAC) thì bị sụt xuống ngay chỉ còn 4.1v. Kiểm tra máy vẫn chạy, âm thanh vẫn hát bình thường, CPU không tăng.
  • Cấp nguồn Pin Lithium 18650 7.4v vào cũng bị tình trạng tương tự.
  • Cấp Pin LiFePO4 cho bo LT1764 3A cũng bị tình trạng tương tự sụt còn 4.6v.
  • Cấp nguồn biến áp thì bình thường.

Vậy vì sao điện bị sụt, có cách nào chỉ em khắc phục với.


processed.jpg
Bác Lâm cho mình xem board LT3042 2A a . :p
 

linhvk

Active Member
bác thử cấp nguồn Pin tầm 9v vào LT3042 xem sao ạ, em cho rằng chênh áp In-OUT thấp quá nên gây sụt áp (loại trừ hiện tượng sụt áp của pin khi pin không còn đầy, hoặc chất lượng pin kém)
 

linhvk

Active Member
Mình dùng cục biến thế nhiều đầu 6V AC, 9VAC, 12VAC ... để cấp nguồn cho bo LT1083 chỉnh out 5.2 V DC để cấp nguồn cho Pi3 + BossDAC dòng max chỉ là ~ 0.6A.
- Nếu dùng 6VAC cấp cho board LT 1083 thì bị hiện tượng Pi chạy khoảng 15' thì sụt áp còn khoảng 4.2 V rồi tịt. (vì theo mình hiểu thì qua 4 con diod chỉnh lưu thì Input cho LT1083 nó tăng lên thành 1.4x6 VDC)
- Sau đó mình chuyển qua cấp nguồn 9VAC cho board LT1083, thì điện áp out cấp cho Pi ổn định ở 5.2V DC
và không còn bị tịt nữa.
6v*1,4=8,4v -5v out cần cho Pi = 3,4v >>> sụt áp qua các linh kiện Diod, LT1803, tụ, trở không đủ nên 9VAC mới ổn định
 

linh0983

Well-Known Member
Mình dùng cục biến thế nhiều đầu 6V AC, 9VAC, 12VAC ... để cấp nguồn cho bo LT1083 chỉnh out 5.2 V DC để cấp nguồn cho Pi3 + BossDAC dòng max chỉ là ~ 0.6A.
- Nếu dùng 6VAC cấp cho board LT 1083 thì bị hiện tượng Pi chạy khoảng 15' thì sụt áp còn khoảng 4.2 V rồi tịt. (vì theo mình hiểu thì qua 4 con diod chỉnh lưu thì Input cho LT1083 nó tăng lên thành 1.4x6 VDC)
- Sau đó mình chuyển qua cấp nguồn 9VAC cho board LT1083, thì điện áp out cấp cho Pi ổn định ở 5.2V DC
và không còn bị tịt nữa.
6v*1,4=8,4v -5v out cần cho Pi = 3,4v >>> sụt áp qua các linh kiện Diod, LT1803, tụ, trở không đủ nên 9VAC mới ổn định
Đúng vậy a . Như mình board này output 5v hoặc 3.3v DC . Nguồn vào AC = 6v hoặc DC = 7-9v . :rolleyes:

LinearPiSolo.jpg


Mình chỉ có đầu ra AC 9v vào board(1) ra DC 7v vào tiếp board(2) còn 3.3v DC . :D

FG1.jpg


https://github.com/iancanada/DocumentDownload/blob/master/LinearPi/LinearPiUsersManual.pdf


Bác Lâm dùng Pin mình xem board của bác có bỏ mạch chỉnh lưu được ko a ? :D
 

quatmo

Well-Known Member
Mình dùng cục biến thế nhiều đầu 6V AC, 9VAC, 12VAC ... để cấp nguồn cho bo LT1083 chỉnh out 5.2 V DC để cấp nguồn cho Pi3 + BossDAC dòng max chỉ là ~ 0.6A.
- Nếu dùng 6VAC cấp cho board LT 1083 thì bị hiện tượng Pi chạy khoảng 15' thì sụt áp còn khoảng 4.2 V rồi tịt. (vì theo mình hiểu thì qua 4 con diod chỉnh lưu thì Input cho LT1083 nó tăng lên thành 1.4x6 VDC)
- Sau đó mình chuyển qua cấp nguồn 9VAC cho board LT1083, thì điện áp out cấp cho Pi ổn định ở 5.2V DC
và không còn bị tịt nữa.
bác thử cấp nguồn Pin tầm 9v vào LT3042 xem sao ạ, em cho rằng chênh áp In-OUT thấp quá nên gây sụt áp (loại trừ hiện tượng sụt áp của pin khi pin không còn đầy, hoặc chất lượng pin kém)
6v*1,4=8,4v -5v out cần cho Pi = 3,4v >>> sụt áp qua các linh kiện Diod, LT1803, tụ, trở không đủ nên 9VAC mới ổn định
Đúng vậy a . Như mình board này output 5v hoặc 3.3v DC . Nguồn vào AC = 6v hoặc DC = 7-9v . :rolleyes:

LinearPiSolo.jpg


Mình chỉ có đầu ra AC 9v vào board(1) ra DC 7v vào tiếp board(2) còn 3.3v DC . :D

FG1.jpg


https://github.com/iancanada/DocumentDownload/blob/master/LinearPi/LinearPiUsersManual.pdf



Bác Lâm dùng Pin mình xem board của bác có bỏ mạch chỉnh lưu được ko a ? :D

Để em cấp thử DC 9v, kiểm tra lại xem sao. Cũng lấy nguồn không chỉnh lưu check lại xem sao.
Cảm ơn các bác rất nhiều!
 

TuanQuynhAudio

Well-Known Member
Nhờ bác @tml3nr có cookbook cài TC lên SMPD v0.9.6?

Cứu cánh đây chăng, bác @quatmo

We have prepared a modified file for setting from SMPD v0.9.6 image writing .

(1) Write & start SMPD v0.9.6 image to microSD

(2) File download

cd /home/pi
wget "https://drive.google.com/uc?export=download&id=1R5DdmAbJ00PBRviZaH0O6felPE9TdV3T" -O front_set_v096.tar.gz


Confirmation

ls -l front_set_v096.tar.gz

Check result

-rw-r--r-- 1 pi pi 60036 Aug 14 17:23 front_set_v096.tar.gz

(3) Extraction & backup & modified file copy

sudo tar xfp front_set_v096.tar.gz
cd front_set_v096
./backup.sh
./set.sh


(4) Individual settings
 Change the following 2 files by referring to the steps (1) and (2) at the top of the page.

  • / home / pi / configs / environment
  • /boot/config.txt
(5) Reboot

sudo reboot

Chưa kêu từ FE 0.96 được bác ạ
Cái này dành cho FrontEnd. Còn BackEnd mình dùng cái gì? Phải có BackEnd tương ứng mới được. Anh tìm hiểu xem họ dùng BackEnd bằng cái nào để chạy với FrontEnd này.
 

Thanhvo31

Well-Known Member
Cái này dành cho FrontEnd. Còn BackEnd mình dùng cái gì? Phải có BackEnd tương ứng mới được. Anh tìm hiểu xem họ dùng BackEnd bằng cái nào để chạy với FrontEnd này.
Đây là ý tưởng thiết kế của tay DEV @paparious, dịch tiếng Nhật qua tiếng Việt bằng GG Translate

Theo đuổi tải trọng thấp
I2S thường dễ bị nhiễu và người ta nói rằng khoảng cách tối đa có thể được định tuyến là khoảng 10 cm. Để tránh ảnh hưởng của nhiễu, nên làm cho đường truyền của tín hiệu I2S càng ngắn càng tốt.

Mặt khác, thiết bị là nguồn của tín hiệu I2S cũng là nguồn nhiễu. Cho dù đó là một DDC nhận S / PDIF hoặc USB, hay một máy tính đơn lẻ trực tiếp xuất ra I2S, nó vẫn là nguồn nhiễu khiến máy vi tính / FPGA / CPU ở tốc độ cao phát ra tiếng ồn. Nên thực hiện các biện pháp EMC như cách điện đường dẫn và che chắn nguồn bằng tấm kim loại để giảm thiểu ảnh hưởng đến đường truyền tín hiệu, chip DAC và xung nhịp.

Bây giờ hãy xem xét một cách tiếp cận khác. Bằng cách giảm tải cho CPU và bộ nhớ, có thể giảm lượng nhiễu do hệ thống xử lý kỹ thuật số phát ra. Ngay cả khi nguồn nhiễu và hệ thống xử lý D / A ở gần nhau và các biện pháp đối phó EMC gặp khó khăn, chẳng hạn như trên bảng HAT, thì cách tiếp cận này dường như là thực tế.

Có thể giảm tải bao nhiêu cho hệ thống xử lý kỹ thuật số? Có thể cải thiện chất lượng âm thanh sau khi giảm tải không?
Nhiệm vụ để xem đó là điểm khởi đầu cho Âm thanh trên Ether.

Truy cập bộ nhớ trực tiếp từ xa
BCM2711 là SoC (Hệ thống trên chip) của Raspberry Pi 4 được trang bị chức năng đầu ra I2S (bộ nối tiếp).
Quá trình xử lý tối thiểu cần thiết để xuất ra tín hiệu I2S từ bộ nối tiếp này chỉ là hai bước sau.

  1. Hướng dẫn chuyển DMA từ bộ đệm DMA sang bộ nối tiếp.
  2. Ghi dữ liệu PCM vào bộ đệm DMA.
Bộ đệm DMA ở đây đề cập đến cái gọi là bộ đệm ALSA .

Để hướng dẫn truyền DMA, cần chuẩn bị một cấu trúc dữ liệu được gọi là khối điều khiển và tải nó vào bộ điều khiển DMA.
Khối điều khiển này giữ địa chỉ bộ nhớ của bộ đệm DMA và địa chỉ của khối điều khiển sẽ được xử lý tiếp theo, và bộ điều khiển DMA thực hiện truyền DMA trong khi đọc khối điều khiển này lần lượt.
Lệnh truyền DMA chỉ cần được đưa ra một lần trước khi bắt đầu phát lại và tỷ lệ của nó với tải phát lại là rất nhỏ. [1]

Bây giờ, chúng ta hãy phân phối giải mã tệp âm thanh và phát lại PCM cho hai máy để giảm tải. Ở đây, vai trò giải mã được gọi là kết thúc phía trước, và vai trò phát lại được gọi là kết thúc phía sau.
Trong cấu hình phân phối tải như vậy, dữ liệu PCM được truyền từ đầu cuối đến đầu sau thông qua mạng.

Nếu dữ liệu PCM nhận được bởi chương trình phụ trợ có thể được ghi vào bộ đệm DMA như hiện tại, thì tất cả quá trình xử lý cần thiết để phát lại sẽ được hoàn thành và đây có vẻ là hoạt động đơn giản nhất.

Tuy nhiên, quá trình xử lý mạng thông thường đòi hỏi nhiều bước trước khi dữ liệu có thể đến được ứng dụng qua mạng LAN.

  1. Trước hết, khi giao diện mạng (nghĩa là, cổng LAN) nhận dữ liệu, nó sẽ thông báo cho kernel bằng ngắt phần cứng để hàng đợi trên phần cứng không đầy.
  2. Hạt nhân được gọi sao chép dữ liệu từ hàng đợi và ghi nó vào bộ đệm trên hạt nhân.
  3. Sau đó, việc triển khai mạng hạt nhân (ngăn xếp TCP / IP) thực hiện kiểm soát thứ tự, kiểm tra lỗi và kiểm soát truyền lại, và chuẩn bị cho việc chuyển tới ứng dụng.
  4. Khi quá trình chuẩn bị hoàn tất, ứng dụng (ví dụ, phần mềm phát nhạc) nhận được thông báo từ hạt nhân, sao chép dữ liệu từ bộ đệm hạt nhân và ghi dữ liệu đó vào bộ đệm do ứng dụng chuẩn bị. Nó nhiều hơn một chút.
  5. Tại thời điểm này, phần mềm phát lại có thể đọc dữ liệu trong bộ đệm và phân tích nội dung. Nếu bạn cắt phần dữ liệu PCM và sao chép nó vào bộ đệm ALSA, quá trình phát lại thành công.
Ý tưởng cần thực hiện để giảm tải là chỉ chọn dữ liệu PCM trong giai đoạn 2) và ghi trực tiếp vào bộ đệm ALSA.
Chỉ sao chép dữ liệu vào bộ nhớ vật lý một lần. Điều này được chuyển trực tiếp DMA đến bộ nối tiếp. Nếu có thể đạt được điều này, không cần sao chép thêm dữ liệu, không yêu cầu lệnh gọi hệ thống đọc / ghi, không cần chuyển đổi ngữ cảnh và bộ nhớ đệm CPU không bị ô nhiễm bởi lượng lớn dữ liệu. Tất cả đều tốt về mặt giảm tải. Bạn sẽ có thể giảm thiểu hoạt động của CPU / bộ nhớ.
Để thuận tiện, đối với các gói không phải PCM, điều khiển được thực hiện để các bước sau 2) được thực hiện như bình thường. Thật bất tiện khi bạn không thể kết nối với ssh.

Việc triển khai Âm thanh qua Ether như vậy có thể tìm thấy điểm tương đồng với ý tưởng Truy cập Bộ nhớ Trực tiếp Từ xa (RDMA), truyền dữ liệu trực tiếp đến các ứng dụng trên các máy từ xa.
Đó là bởi vì nó nhận ra mục đích của RDMA, không sao chép .
Âm thanh qua Ether có thể được mô tả giống như RDMA, chuyên dùng để phát lại nhạc .

aoe.png
 

Thanhvo31

Well-Known Member
Mình chia sẻ cách cài FE-BE của mình với mô hình Audio Over Ether (aka AoE), cần

BACK END: 1 chiếc Pi4, thẻ nhớ > 10MB,
Phần mềm, mình gọi là B0, link AoE backend b19
https://drive.google.com/file/d/1zBhDpVr5kOZBIJv1gTRQBLF2njnswT2w/view?usp=sharing
giải nén và chép sang thẻ bình thường, không dùng Etcher, Rufus,...
sau đó sửa và khai báo 2 file
  • config.txt
# I2S DAC - khai đúng DAC HAT của mình, vd
dtoverlay=hifiberry-dacplus
  • cmdline.txt, khai đúng cấu hình mạng cua mình, gồm ip=[IP của backend]:255.255.255.0:[IP của Router]
ip=192.168.1.100:255.255.255.0:192.168.1.1

Lấy địa chỉ MAC của BACK END (ví dụ bằng cách chạy volumio trước đó, vào trang quản trị của router nhà mình lấy địa chỉ MAC của pi4 BACK END, ghi lại)

Mình thường lưu lại 2 file này trên PC, sau khi nâng cấp thì chép đè qua.

FRONT END có nhiều lựa chọn hơn, 3 bản :
Gọi là F1.1 dùng máy tính PC x86 (từ Atom tới i9 đều xài được) dùng IMAGE này Arch Linux AoE cho x86_64 (tới 03/04/21) https://drive.google.com/file/d/14-Fn47eqgr8YS3jCjXQviwAXTfLbjVDK/view?usp=sharing

máy SBC Pi3, Pi3B+, Pi4 dùng IMAGE này
Gọi là F2.1 - Arch Linux (64bit) cho RPi4 / RPi3 (update 03/04/21) https://drive.google.com/file/d/1SriDoyHMep6bIEwG-35Bhv-DgTFb7T4x/view?usp=sharing
symphonic-mpd RPi4 Edition (64bit) - sau đó upgrade gói AoE đè lên bản này
Gọi là F2.2

Front End có 3 bản:
  1. Arch Linux AoE cho x86_64 (https://drive.google.com/file/d/14-Fn47eqgr8YS3jCjXQviwAXTfLbjVDK/view?usp=sharing)
  2. Arch Linux (64bit) cho RPi4 / RPi3 (https://drive.google.com/file/d/1SriDoyHMep6bIEwG-35Bhv-DgTFb7T4x/view?usp=sharing)
  3. symphonic-mpd RPi4 Edition (64bit) - sau đó upgrade gói AoE đè lên bản này.


Dùng Etcher hay rufus để ghi ra thẻ hay USB, cắm thẻ /USB vào Front End, cấu hình để boot từ thẻ/USB này.
Nếu muốn cài vào PCx86 thì dùng cách DD vào HDD/SSD.

Cài xong FE thì cần cấu hình FE để nhận ra BE.

SSH vào FE với root/raspberry

Dừng vosund bằng lệnh systemctl stop vsound

Sửa file /lib/systemd/system/vsound.service

ExecStart=/usr/bin/aoe -i eth0 -d [địa chỉ MAC của BE]

Khởi động lại vsound

systemctl start vsound

Hay reboot FE lại cho chắc ăn.
 
Chỉnh sửa lần cuối:

TuanQuynhAudio

Well-Known Member
@Thanhvo31
Thank anh.
- FrontEnd cài archlinux64, Arch Linux AoE (post #21447) và rpi4-smpdplayer-aoe-b19. Vậy FrontEnd (symphonic-mpd 0.96) cài front_set_v096 như hướng dẫn của anh thì BackEnd cài rpi4-smpdplayer-aoe-b19c có được không? Nếu không thì BackEnd cài cái nào ạ?
- Nếu có source code kernel/xenomai của
rpi4-smpdplayer-aoe-b19 thì có thể rebuild cho Pi 2/3. Hix mấy ông Nhật giữ kín quá.
 
Chỉnh sửa lần cuối:
Bên trên