Em không đồng ý lắm với bác @minh2102 về UPnP trên foobar. UPnP không bao giờ streaming music bit buffer. Khi dính đến UPnP, media renderer sẽ gọi (copy) file nhạc (data) từ media server qua kết nối ethernet sang và hoàn toàn xử lý trên renderer. Đối với Foobar cài UPnP, hay Jriver bật DLNA lên thì về cơ bản foobar/Jriver và nơi chứa nhạc của bác sẽ thành một cái NAS.
Khi bác thực hiện các tác vụ DSP cho một file nhạc (ví dụ FLAC) trên foobar sau đó đấy qua RPi theo giao thức UPnP. Lúc đó sẽ có hai quá trình, file FLAC sẽ được decode lần 1 trên foobar, xử lý qua DSP rồi sau đó lại được đóng gói về định dạng FLAC. File Flac mới này sẽ được renderer (RPi) gọi qua theo giao thức file transfer, ko phải bit streaming và được decode lần 2 ở đây (tách ra PCM/DSD) rồi truyền ra ngoài.
Nếu không xử lý bất kì một tác vụ DSP nào thì đơn thuần file FLAC trên server (Foobar có UPnP hay minimserver) sẽ bị gọi trực tiếp qua Renderer để xử lý, bỏ qua bước decode 1 ở trên. Bác vẫn nhìn thấy foobar chạy, vẫn có thể play/pause/tua được thực chất là do foobar khi đó đảm nhận 2 vai trò server và control point chứ lúc đó foobar ko hề trực tiếp xử lý file nhạc.
Nếu RPi gọi trực tiếp từ NAS qua MPD thì nguyên lý streaming cũng tương tự UPnP (đó là file transfer), được cái là cần ít process hơn UPnP. Với MPD thì control point và renderer (Pi + OS) là nằm trên cùng 1 thiết bị, với UPnP thì control point và renderer tách biệt nên phải thêm process để cho chúng giao tiếp với nhau.
Dạng truyền tín hiệu bit streaming giữa server và renderer theo đường Ethernet không phải là UPnP mà là những kiểu streaming có nguồn gốc từ LMS (logitech music server), hiện nay tiêu biểu là Roon RAAT, HQPlayer NAA hay Jplay Dual PC. Khi đó đúng như bác minh2102 nói, toàn bộ phần xử lý sẽ được làm ở server, sau đó tín hiệu sẽ được đấy qua renderer theo giao thức bit streaming. Renderer sẽ ko xử lý gì, chỉ làm đúng 1 việc nhận tín hiệu, buffer qua RAM hoặc Cache, và xuất ra ngoài thôi.
Khi bác thực hiện các tác vụ DSP cho một file nhạc (ví dụ FLAC) trên foobar sau đó đấy qua RPi theo giao thức UPnP. Lúc đó sẽ có hai quá trình, file FLAC sẽ được decode lần 1 trên foobar, xử lý qua DSP rồi sau đó lại được đóng gói về định dạng FLAC. File Flac mới này sẽ được renderer (RPi) gọi qua theo giao thức file transfer, ko phải bit streaming và được decode lần 2 ở đây (tách ra PCM/DSD) rồi truyền ra ngoài.
Nếu không xử lý bất kì một tác vụ DSP nào thì đơn thuần file FLAC trên server (Foobar có UPnP hay minimserver) sẽ bị gọi trực tiếp qua Renderer để xử lý, bỏ qua bước decode 1 ở trên. Bác vẫn nhìn thấy foobar chạy, vẫn có thể play/pause/tua được thực chất là do foobar khi đó đảm nhận 2 vai trò server và control point chứ lúc đó foobar ko hề trực tiếp xử lý file nhạc.
Nếu RPi gọi trực tiếp từ NAS qua MPD thì nguyên lý streaming cũng tương tự UPnP (đó là file transfer), được cái là cần ít process hơn UPnP. Với MPD thì control point và renderer (Pi + OS) là nằm trên cùng 1 thiết bị, với UPnP thì control point và renderer tách biệt nên phải thêm process để cho chúng giao tiếp với nhau.
Dạng truyền tín hiệu bit streaming giữa server và renderer theo đường Ethernet không phải là UPnP mà là những kiểu streaming có nguồn gốc từ LMS (logitech music server), hiện nay tiêu biểu là Roon RAAT, HQPlayer NAA hay Jplay Dual PC. Khi đó đúng như bác minh2102 nói, toàn bộ phần xử lý sẽ được làm ở server, sau đó tín hiệu sẽ được đấy qua renderer theo giao thức bit streaming. Renderer sẽ ko xử lý gì, chỉ làm đúng 1 việc nhận tín hiệu, buffer qua RAM hoặc Cache, và xuất ra ngoài thôi.