Yami Music Player là ứng dụng nghe nhạc & xem video đa nền tảng hiện đại, kết hợp giữa giao diện máy tính CustomTkinter mượt mà và hệ thống Web Remote Control (LAN Stream Server) thiết kế theo phong cách Glassmorphism đẳng cấp.
- Đĩa nhạc xoay (Cover Art Disc): Hiệu ứng xoay đĩa 360° sinh động theo nhạc, tự động trích xuất ảnh bìa chất lượng cao từ ID3 Tag hoặc tìm kiếm online HD qua iTunes API.
- Đồng bộ lời bài hát (Synced Karaoke Lyrics): Tự động tải file
.lrcqua bộ xử lý đa tầng: LRCLIB Direct, NetEase Cloud Music, MxLRC, SyncedLyrics và Genius. Tự lọc rác timestamp[00:00.00]và tách tên bài hát thông minh (ví dụ:05 (Không Phai) - Masew Remix). Hỗ trợ click trực tiếp vào dòng lời để tua nhạc. - Audio Visualizer: Khung sóng nhạc trực quan đồng bộ theo thời gian thực với giai điệu bài hát.
- Phát Video (MP4/MKV): Nhúng trình phát video mượt mà hỗ trợ đầy đủ các định dạng nhờ tích hợp
python-vlc.
- Điều khiển từ xa qua Wi-Fi/LAN: Phát nhạc và điều khiển player từ điện thoại, tablet hoặc bất kỳ thiết bị nào cùng mạng.
- Giao diện Web Glassmorphism: Giao diện kính mờ tuyệt đẹp tích hợp đầy đủ hiệu ứng xoay đĩa, thanh tiến trình (Seekbar) tua nhạc từng giây và danh sách phát realtime.
- Chế độ Karaoke 1 câu: Hiển thị từng dòng lời bài hát đang phát với hiệu ứng Slide-up / Fade-in mượt mà trên trình duyệt.
- On-the-fly Transcoding (FFmpeg): Tự động chuyển đổi các định dạng chất lượng cao (
.flac,.ogg,.opus,.wav,.m4a) sang MP3 192kbps để stream mượt qua Web.
- Core Language: Python 3.14
- GUI Framework:
customtkinter,Pillow(PIL) - Audio/Video Engine:
python-vlc,mutagen - Web & Backend:
FastAPI,Uvicorn,FFmpeg - Lyrics Engines & Tools:
lyricsgenius,syncedlyrics, LRCLIB API, NetEase Cloud Music API,mxlrc - Package Manager:
uv
yami/
├── web/ # Frontend Web Remote (HTML, CSS, JS)
│ ├── index.html
│ ├── style.css
│ └── app.js
├── data/ # Thư mục dữ liệu cấu hình & tài nguyên local
├── lyrics_cache/ # Thư mục lưu trữ cache lời bài hát (.lrc & .txt)
├── cover_art.py # UI Đĩa xoay, Video player & xử lý Tcl/Tkinter Image
├── lyrics_handler.py # Engine tìm kiếm, bóc tách tên bài & parse lời LRC
├── music.py # Core Engine phát nhạc & quản lý trạng thái
├── playlist.py # Giao diện và logic danh sách phát
├── stream_server.py # FastAPI Web Server stream nhạc & API điều khiển
├── visualizer.py # Khung sóng nhạc Audio Visualizer
├── mxlrc.exe # Công cụ CLI hỗ trợ tải lời LRC
├── main.py # Entry-point khởi chạy ứng dụng
├── pyproject.toml # Cấu hình dự án & dependencies (uv)
├── requirements.txt # Gói phụ thuộc Python
└── README.md
Python 3.10+ (Khuyên dùng Python 3.14).
VLC Media Player: Đã cài đặt trên máy để hỗ trợ playback.
FFmpeg: Đã thêm vào System Environment PATH để hỗ trợ Transcoding stream.
Sử dụng uv để cài đặt nhanh chóng:
uv pip install -r requirements.txt
pip install -r requirements.txt
Bash
uv run python main.py
Desktop App: Trình phát nhạc GUI sẽ xuất hiện trên màn hình.
Web Remote Control: Truy cập vào địa chỉ bên dưới từ máy tính hoặc điện thoại trong cùng mạng Wi-Fi:
Trực tiếp trên máy: http://localhost:8080/
Từ điện thoại: http://<IP_MAY_TINH>:8080/
Nếu bạn yêu thích Yami Music Player và muốn tiếp sức cho mình phát triển thêm nhiều tính năng mới, bạn có thể ủng hộ một ly cà phê qua các kênh dưới đây. Sự đóng góp của bạn là động lực rất lớn! ❤️
| 🟣 Ví MoMo | 🟢 Vietcombank (VCB) | 🔵 BIDV |
|---|---|---|
![]() |
![]() |
![]() |
| 0823883028 | 1055835227 | 8896524932 |
| Đặng Lâm Tấn Phát | Đặng Lâm Tấn Phát | Đặng Lâm Tấn Phát |
Developer: Phát Tấn PC (Đặng Lâm Tấn Phát)
Triết lý: "Tối ưu linh hoạt - Tương thích tối đa - Hoạt động ổn định trên mọi môi trường"
Số điện thoại / Zalo: 0823883028
Hỗ trợ kỹ thuật / Facebook: Phát Tấn PC/Đặng Lâm Tấn Phát
Developed with ❤️ and a lot of coffee.


