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

linh0983

Well-Known Member
Chờ bác Dũng cho mượn thêm chú Pi4 mình nối thẳng 2 chú Pi4 bằng cục trắng này a . :rolleyes:

HBG.jpg
 

chautranthanh

Well-Known Member
Tiếng ngoại quốc mình dốt đặc chỉ vọc phá thực tiễn bác xem google dịch nó làm một hơi a . :rolleyes:

" 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 giữ 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. Các DDC nhận S / PDIF và USB, và các máy tính đơn lẻ xuất trực tiếp I2S vẫn là nguồn nhiễu điều khiển vi máy tính / FPGA / CPU ở tốc độ cao và 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ờ chúng ta 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ớ, lượng tiếng ồn do chính hệ thống xử lý kỹ thuật số phát ra có thể được giảm bớt. Ngay cả khi nguồn nhiễu và hệ thống xử lý D / A ở gần nhau và rất khó để thực hiện các biện pháp đối phó EMC như bảng HAT, có vẻ như một cách tiếp cận như vậy có thể được đưa vào thực tế. Có thể giảm tải bao nhiêu cho hệ thống xử lý 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 Raspberry Pi 4 SoC (Hệ thống trên chip) BCM2711 đượ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. Hướng dẫn chuyển DMA từ bộ đệm DMA sang bộ nối tiếp. 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. Đối với các lệnh truyền DMA, cần chuẩn bị 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ó trong 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ừ front end tới back end 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ư nó vốn có, thì tất cả quá trình xử lý cần thiết để phát lại sẽ được hoàn tất và đây có vẻ là hoạt động đơn giản nhất. Tuy nhiên, việc xử lý mạng thông thường cần nhiều bước trước khi dữ liệu qua mạng LAN đến ứng dụng. Trước hết, khi giao diện mạng (có nghĩa là, cổng LAN) nhận dữ liệu, nó sẽ thông báo cho hạt nhân bởi một ngắt phần cứng để hàng đợi trên phần cứng không đầy. 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. Sau đó, việc triển khai mạng của 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. 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. Tại thời điểm này, phần mềm phát lại có thể đọc dữ liệu trên 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 mà chúng tôi muố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, hãy kiểm soát các bước sau 2) để 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ó đạt được 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. văn bản thay thế https://www.symphonic-mpd.com/release/aoe/aoe.svg Chú thích [1] Nói một cách chính xác, tải liên quan đến khối điều khiển xảy ra ngay cả khi phát lại. Điều này là do trình điều khiển ALSA bao gồm một quy trình quét khối điều khiển để kiểm tra định kỳ tiến trình chuyển DMA. Kích thước bộ đệm càng lớn thì quá trình quét này càng lâu. Ngay cả khi kích thước bộ đệm tối thiểu (= 2) được sử dụng, nó mất hàng trăm nano giây và khi kích thước bộ đệm lớn, mất vài micro giây, điều này gây ra sự thay đổi trong thời gian xử lý. "
Mình hiểu chậm, symphonic MPD là giao thức truyền tải tín hiệu mới sử dụng nhiều pi mục đích giảm thiểu nhiễu phải không các bác? Thực tế dùng thì bác cảm nhận ntn so với những cách khác ah ?
 

quatmo

Well-Known Member
Có bác PM hỏi mình, xài cái nào ngon, nhiều kết nối. Mình trả lời chung ở đây

Muốn ổn mà nhiều kết nối nhất hãy dùng hệ sau:
Daphile (bung IMG ra USB cắm vào PC)
PiCorePlayer (bung thẻ nhớ cắm vào Pi)


- Youtube play ngon, luôn ổn định

- Tidal (add accout) xài trực tiếp không cần truyền từ phone sang

- Qobuz (add accout) xài trực tiếp không cần truyền từ phone sang

- Spotify (add accout) xài trực tiếp không cần truyền từ phone sang

- Deezer (add accout) xài trực tiếp không cần truyền từ phone sang

- NAS, USB đều ngon

- Fix lỗi, update thường xuyên, cộng đồng phát triển plugin lớn.

- Có app remote control trên phone lẫn PC

Âm thanh không tệ đâu
 

VugiaA9

Active Member
Có bác PM hỏi mình, xài cái nào ngon, nhiều kết nối. Mình trả lời chung ở đây

Muốn ổn mà nhiều kết nối nhất hãy dùng hệ sau:
Daphile (bung IMG ra USB cắm vào PC)
PiCorePlayer (bung thẻ nhớ cắm vào Pi)


- Youtube play ngon, luôn ổn định

- Tidal (add accout) xài trực tiếp không cần truyền từ phone sang

- Qobuz (add accout) xài trực tiếp không cần truyền từ phone sang

- Spotify (add accout) xài trực tiếp không cần truyền từ phone sang

- Deezer (add accout) xài trực tiếp không cần truyền từ phone sang

- NAS, USB đều ngon

- Fix lỗi, update thường xuyên, cộng đồng phát triển plugin lớn.

- Có app remote control trên phone lẫn PC

Âm thanh không tệ đâu

Cái này em đồng ý với bác.
Các Os này dựa trên nền tảng LMS đã phát triển từ rất lâu, phải cỡ gần 20 năm nay (từ những năm 2000s) và giờ vẫn vẫn được cập nhật, cộng đồng khá lớn, hỗ trợ rất nhiều dịch vụ stream trực tuyến và radio online.
Cài đặt và confiig cũng khá đơn giản.
Cái em thích nhất là daphile hỗ trợ bit-perfect audio output. Xuất âm ra là full volume luôn.
Âm thanh khá là chi tiết, mạch lạc. Nhiều bác chê daphile với Picore tiếng khô, lạnh, nghe mệt nhưng em thấy âm thanh phụ thuộc nhiều vào con DAC hơn, có con USB dac ngon cắm vào hay ngay.
 

VugiaA9

Active Member

tml3nr

Moderator
Chỉnh sửa lần cuối:

Thanhvo31

Well-Known Member
Mấy bác Nhật nghĩ ra nhiều trò Audio hay ghê bác a . :rolleyes:

Chưa set được vụ AoE bác ạ

Chỗ
AoE backend
smpdplayer β10
http://www.symphonic-mpd.com/release/aoe/rpi4-smpdplayer-aoe-b10.zip
Unzip the zip and copy all the files to the formatted SD card .
  1. Specify the driver in dtoverlay in config.txt.
  2. Set a fixed IP address in cmdline.txt.
    Formatting
     ip=アドレス:ネットマスク:ゲートウェイ
    example
     ip=192.168.1.100:255.255.255.0:192.168.1.1
IP mình set theo mạng mình hay phải theo của nó hả bác?

AoE front (Arch Linux (64bit) for RPi4 / RPi3)
SD image download (795MB)
We have prepared an SD image of Arch Linux that can be used as an AoE front.

Truy cập điều khiển WEBUI từ FRONT ?
set IP = 192.168.11.114:255.255.255.0:192.168.11.1 trên Back END
Đã setup như hình, sửa file /lib/systemd/system/vsound.service
Start service vsound ngon từ Front (192.168.11.196)
ExecStart=/usr/bin/aoe -i enp1s0u1u1 -d DC:A6:32:xx:xx:xx
Ping Back end (192.168.11.114)

Mà play spotify chưa kêu được.

ACtC-3e1SleEZECjxAN0mCuMQTGvl2hfgFyNeEJDKvYmGUk7hP9_q36m4-tjkXNLx_-gcmQNpnX09a0eoYNR3oatMcwZqbV4lrabuz75FwuoxXM51wpMGHUfaW32oAZlvE_nfEeMbWbfv3xzSMf8_qLPLUaAPQ=w2434-h1579-no
 
Chỉnh sửa lần cuối:

TuanQuynhAudio

Well-Known Member
Chưa set được vụ AoE bác ạ

Chỗ
AoE backend
smpdplayer β10
http://www.symphonic-mpd.com/release/aoe/rpi4-smpdplayer-aoe-b10.zip
Unzip the zip and copy all the files to the formatted SD card .
  1. Specify the driver in dtoverlay in config.txt.
  2. Set a fixed IP address in cmdline.txt.
    Formatting
     ip=アドレス:ネットマスク:ゲートウェイ
    example
     ip=192.168.1.100:255.255.255.0:192.168.1.1
IP mình set theo mạng mình hay phải theo của nó hả bác?

AoE front (Arch Linux (64bit) for RPi4 / RPi3)
SD image download (795MB)
We have prepared an SD image of Arch Linux that can be used as an AoE front.

Truy cập điều khiển WEBUI từ FRONT ?
Set IP theo mạng nhà mình anh à.
 

Thanhvo31

Well-Known Member
Set IP theo mạng nhà mình anh à.
Bạn đã chạy ngon chưa?

Mình đã set như sau

IP = 192.168.11.114:255.255.255.0:192.168.11.1 trên Back END

Đã setup như hình, sửa file /lib/systemd/system/vsound.service
Start service vsound ngon từ Front (192.168.11.196)
ExecStart=/usr/bin/aoe -i enp1s0u1u1 -d DC:A6:32:xx:xx:xx
Ping Back end (192.168.11.114)

Mà play spotify chưa kêu được.
 

linh0983

Well-Known Member
Chưa set được vụ AoE bác ạ

Chỗ
AoE backend
smpdplayer β10
http://www.symphonic-mpd.com/release/aoe/rpi4-smpdplayer-aoe-b10.zip
Unzip the zip and copy all the files to the formatted SD card .
  1. Specify the driver in dtoverlay in config.txt.
  2. Set a fixed IP address in cmdline.txt.
    Formatting
     ip=アドレス:ネットマスク:ゲートウェイ
    example
     ip=192.168.1.100:255.255.255.0:192.168.1.1
IP mình set theo mạng mình hay phải theo của nó hả bác?

AoE front (Arch Linux (64bit) for RPi4 / RPi3)
SD image download (795MB)
We have prepared an SD image of Arch Linux that can be used as an AoE front.

Truy cập điều khiển WEBUI từ FRONT ?
set IP = 192.168.11.114:255.255.255.0:192.168.11.1 trên Back END
Đã setup như hình, sửa file /lib/systemd/system/vsound.service
Start service vsound ngon từ Front (192.168.11.196)
ExecStart=/usr/bin/aoe -i enp1s0u1u1 -d DC:A6:32:xx:xx:xx
Ping Back end (192.168.11.114)

Mà play spotify chưa kêu được.

ACtC-3e1SleEZECjxAN0mCuMQTGvl2hfgFyNeEJDKvYmGUk7hP9_q36m4-tjkXNLx_-gcmQNpnX09a0eoYNR3oatMcwZqbV4lrabuz75FwuoxXM51wpMGHUfaW32oAZlvE_nfEeMbWbfv3xzSMf8_qLPLUaAPQ=w2434-h1579-no
Bác nói ko sai chỗ nào chỉ là ko biết có nhầm chấm phẩy gì ko a . Bác cho FE(Pi3) lên B10 giống BE(Pi4) a . :rolleyes:

D1.jpg


wget https://www.symphonic-mpd.com/release/aoe/aoe.b10.tar.gz
tar xf aoe.b10.tar.gz
systemctl stop vsound
cp /root/aoe.b10/front/aoe /usr/bin
cp /root/aoe.b10/front/aoe_profile.sh /etc/profile.d
reboot

D2.jpg


stat /etc/profile.d/aoe_profile.sh
reboot

D3.jpg


status vsound
 
Bên trên