PHẦN MỀM
Music Player Daemon (MPD)
Logitech Media Server & Squeezelite (LMS)
Roon Server
Roon Bridge
HQPlayer
HQPlayer NAA
upmpdcli
minimserver
Spotify Connect
Họ hàng nhà MPD
Volumio -
https://volumio.org/
Rune Audio -
https://www.runeaudio.com/
Moode Audio -
https://moodeaudio.org/
Họ Logitech Media
Slimserver -
https://github.com/Logitech/slimserver
Daphile -
https://www.daphile.com/
Roon Server - Core - Bridge - Control -
https://roonlabs.com/
HQPlayer/NAA -
https://www.signalyst.com/
Streaming App
Giải ngố tý phần mềm chơi nhạc trên Pi.
Thử giải phẫu một vài PM chơi nhạc thông dụng:
- Phần 1 là OS: thông dụng nhất là các distro của Linux như dòng Debian, Raspbian lite, Dietpi, (Volumio, Moode); Archlinux ( RuneAudio), Tinycore, (piCoreplayer),...Phần này các bác sẽ vọc HĐH Linux: setup, update, cài thêm App, khởi chạy, tắt bật, gỡ bỏ, up kernel,...
- Hình minh họa các HĐH cài được trên Pi
HĐH Linux nói chung
HĐH server hay sử dụng trên các PM chơi nhạc
- Phần 2 là trình ứng dụng chơi nhạc chạy phía server được cài trên HĐH, ứng dụng chạy nền (DAEMON). Nổi bật nhất là MPD. Thường cài lên Pi. Thêm nữa như Logitech Media Server, (LMS) cài trên Pi hoặc nơi khác như NAS, PC. Volumio, Moode, Rune đều dùng Mpd cả. piCoreplayer có thể cài LMS. Mà thậm chí LMS cũng cài được trên Volumio hay Moode hay Rune.
- Phần 3 là trình ứng dụng chơi nhạc phía máy khách, thông dụng như
Về Linux Distro.
Linux Distro = Nhân Linux (Kernel) + Hệ thống quản lý gói tin (Package Management System)
Phần nhân, nói chung là giống nhau.
Để thao tác quản lý chung, cần nắm được một số lệnh Linux cơ bản, chung cho tất cả, không phụ thuộc vào gói nào.
Theo trang (
http://www.dummies.com/computers/operating-systems/linux/common-linux-commands/)
Mã:
Command Description
cat [filename] Display file’s contents to the standard output device
(usually your monitor).
cd /directorypath Change to directory.
chmod [options] mode filename Change a file’s permissions.
chown [options] filename Change who owns a file.
clear Clear a command line screen/window for a fresh start.
cp [options] source destination Copy files and directories.
date [options] Display or set the system date and time.
df [options] Display used and available disk space.
du [options] Show how much space each file takes up.
file [options] filename Determine what type of data is within a file.
find [pathname] [expression] Search for files matching a provided pattern.
grep [options] pattern [filesname] Search files or output for a particular pattern.
kill [options] pid Stop a process. If the process refuses to stop, use kill -9 pid.
less [options] [filename] View the contents of a file one page at a time.
ln [options] source [destination] Create a shortcut.
locate filename Search a copy of your filesystem for the specified
filename.
lpr [options] Send a print job.
ls [options] List directory contents.
man [command] Display the help information for the specified command.
mkdir [options] directory Create a new directory.
mv [options] source destination Rename or move file(s) or directories.
passwd [name [password]] Change the password or allow (for the system administrator) to
change any password.
ps [options] Display a snapshot of the currently running processes.
pwd Display the pathname for the current directory.
rm [options] directory Remove (delete) file(s) and/or directories.
rmdir [options] directory Delete empty directories.
ssh [options] user@machine Remotely log in to another Linux machine, over the network.
Leave an ssh session by typing exit.
su [options] [user [arguments]] Switch to another user account.
tail [options] [filename] Display the last n lines of a file (the default is
10).
tar [options] filename Store and extract files from a tarfile (.tar) or tarball (.tar.gz or .tgz).
top Displays the resources being used on your system. Press q to
exit.
touch filename Create an empty file with the specified name.
who [options] Display who is logged on.
Hệ thống quản lý gói tin : theo wiki thì là trình quản lý gói hoặc hệ thống quản lý gói là tập hợp các công cụ phần mềm tự động hóa quá trình cài đặt, nâng cấp, định cấu hình và loại bỏ các chương trình máy tính cho hệ điều hành của máy tính một cách nhất quán.VD, để cài PM, trong Debian gõ `apt install`, trong Archlinux thì gõ `pacman -S`
Trang
https://wiki.archlinux.org/index.php/Pacman/Rosetta cung cấp khá đầy đủ các lệnh quản lý chương trình với các Distro phổ biến nhất.
Từ "cái thuở ban đầu lưu luyến ấy" với một con PC 586, cài Winamp, nghe nhạc MP3 128kps phát triển lên Streamer, Music Server, Spotify, Tidal, Roon,..Nay coi lại để hiểu được xem cái việc nghe nhạc số nó tiến hoá ra sao.
Mô hình sơ khai:
Nguồn nhạc: MP3 file trong HDD 40GB gắn trong, hay USB.
Computer: PC 586 không nối mạng, có thể có Internet quay số vnn1269.
HĐH: Windows XP
App: Winamp
Giao diện: tương tác trực tiếp trên màn hình PC. Nếu có ĐK từ xa thông thường là qua bộ thu phát hồng ngoại.
DAC: tích hợp trong PC, xuất qua cổng 3.5mm.
Chất lượng: kêu tốt trong tầm tiền...
Tiếp theo, có vẻ như sẽ là thêm con DAC rời, gắn qua cổng USB.
Tiếp theo là App foobar2000, nhạc là File wav, khi HDD nâng lên trên 100GB, file FLAC.
Tháng 2 năm 2012, anh Tây Eben Upton công bố và bán ra 1 con PC có giá 35$.
(Khoảng hơn năm sau em có được con Pi B không phải là đầu tiên nhưng chắc thuộc hàng top10 ở VN, hồi ấy mua qua Electrocomponents PLC ở Singapore)
Hồi đầu cài bản desktop chán òm. Boot lên vài lần rồi bỏ xó.
Trước nay, nói đến máy chủ server là nghĩ tới những con máy vài chục củ trở lên của IBM, HP, Dell x86, 64 chạy headless, trong hệ sinh thái Windows.
Trong Linux, ranh giới server và desktop mờ hơn. Distro nào cài thêm gói desktop UI thì lên thành bản Desktop thôi. Còn các bản Lite coi như server.
Khi Pi ra đời cùng với độ chín của HĐH Linux, Pi chạy bản server trở nên thông dụng.
500 anh em audiophile, tận dụng cái máy tính ngon bổ rẻ gọn, ăn ít điện, không ồn để tạo ra mấy cái máy nghe nhạc thần thánh mà mình hay kêu Music Server.
Bây giờ ta coi cái Máy phát nhạc hiện nay nó ra sao.
Nguồn nhạc: lưu trong các thiết bị lưu trữ trong mạng LAN, từ hàng chục GB tới TB.
Computer: SBC thông dụng nhất là RPi nối mạng Internet cáp quang, mạng LAN chạy khắp nhà qua Wi-fi hoặc có dây.
HĐH: phổ biến là mấy Linux Distro như kể bên dưới vốn dễ dàng port qua phần cứng là armv6, v7, v8...
App: cùng với công nghệ web, mô hình máy chủ - máy khách phổ biến hơn. Lưu ý là server và client có thể cài trên cùng một máy, không nhất thiết phải tách biệt nhau.
MPD là 1 app phía server chức năng là nghe lệnh điều khiển, tìm xem file ở đâu, lấy lên bộ đệm, chặt nhỏ ra từng khúc, đẩy cặp tín hiệu số / thời gian sang driver tương tác với DAC, ra tín hiệu điện.
Ví dụ như:
Volumio HĐH là Debian, App phía server là MPD.
Moode HĐH là Raspbian lite, App phía server là MPD.
RuneAudio HĐH là Archlinux , App phía server là MPD.
Giao diện điều khiển: trước là desktop App, bây giờ dùng công nghệ Web.
Khi nói tới website, thường gắn với web server. Để chạy được web server thường có bộ phần mềm đóng gói đi kèm kêu là server stack.
Một stack phổ biến là LAMP STACK
Hiện nay đã có những công nghệ web mới so với bộ LAMP bên trên.
Volumio có trang Github mô tả rõ ràng các thành phần cấu thành nên PM của họ
https://github.com/volumio/Volumio2/wiki
Technologies Used
- Node.js as the serverside application framework
- Socket.io for websocket communication
- Express as the HTTP webserver for the Volumio WebUI
- Angular as the WebUI framework
- LevelDB as the persistent database system
- Kew to run the promise-based asynchronous execution of code (click here to learn what a promise is)
Tiếp phần giao diện điều khiển
Vì phần server chỉ đợi lệnh. Phần bảng điều khiển được vẽ trên trang web hosting luôn trên Computer nên cứ có phần mềm duyệt web nào hiện đại, biết được địa chi trang web của player là chạy thôi.