Nhạc của bạn, trên chính điện thoại của bạn

Không cần mạng, không cần tài khoản, không bị làm phiền. CX's Music là trình phát nhạc cục bộ cho Android — miễn phí và mã nguồn mở.

  • Hoàn toàn ngoại tuyến
  • Không cần tài khoản
  • Không quảng cáo
  • Mã nguồn mở
Màn hình phát của CX's Music: ảnh bìa vuông ở trên, bên dưới lần lượt là tên bài, nghệ sĩ, ba dòng lời (dòng đang hát in đậm màu trắng), thanh tiến trình 0:56 / 2:38, và năm nút: lặp, bài trước, tạm dừng, bài sau và thêm
Đang phát

Vì sao nên dùng

Ngoại tuyến thật sự

Không cần mạng, không cần tài khoản, không tải bất cứ thứ gì lên. Tệp nhạc của bạn nằm trên chính thiết bị của bạn, còn trình phát chỉ lo việc phát.

Chất âm và hiệu ứng không xuê xoa

Bộ cân bằng 10 dải và âm thanh không gian của hệ thống, và mỗi thư mục hoặc danh sách phát có thể dùng một thiết lập riêng.

Lời bài hát làm tới nơi

Đồng bộ theo từng dòng, làm nổi kiểu karaoke, lời song ngữ đổi được thứ tự trên dưới. Đọc được cả lời nhúng lẫn tệp LRC rời, và bạn có thể tự chỉnh mốc thời gian.

So sánh tính năng

Mô tả bản đang phát hành của mỗi ứng dụng. Các thay đổi trước đó nằm trong nhật ký phiên bản.

Tính năngAndroid
Quản lý thư việnTìm kiếm theo tên bài, nghệ sĩ, album, Thư mục
Thư viện lớnMượt trong thử nghiệm một triệu bài
Cân bằng âm10 dải, 11 cài đặt sẵn, có mục tuỳ chỉnh
Hiệu ứng âm thanhTăng trầm, Không gian, Âm thanh không gian (tuỳ thiết bị)
Tốc độ và cao độTốc độ 0,5×–2,0×, cao độ −12 đến +12 nửa cung, hai thứ độc lập
Xuất âm thanhXuất qua hệ thống
Phát DSDKhông hỗ trợ
Lời bài hátTrang lời toàn màn hình, làm nổi kiểu karaoke, dòng dịch, đổi được thứ tự song ngữ
Chỉnh sửa lờiTrình chỉnh sửa tích hợp, dịch chuyển toàn bộ mốc thời gian cùng lúc
Sửa thông tinGhi ngược vào tệp âm thanh
Chuyển đổi định dạngKhông hỗ trợ
PlaylistBiểu tượng tuỳ chỉnh, chế độ phát riêng
Phát ngẫu nhiênTrọng số theo thói quen nghe; mỗi bài trong phạm vi phát đúng một lần, và thứ tự được tiếp tục sau khi mở lại ứng dụng
Giao diệnSáu màu chủ đề + chế độ tối
Ngôn ngữ giao diện15 ngôn ngữ (có tiếng Indonesia và tiếng Việt)
Hẹn giờ tắt15/30/60 phút, tuỳ chọn, hết bài đang phát
Phát nềnPhát nền, điều khiển trên màn hình khoá, phím media Bluetooth/xe hơi

Danh sách ngôn ngữ đầy đủ nằm ở phần chi tiết kỹ thuật bên dưới.

Định dạng hỗ trợ

MP3 · M4A · FLAC · WAV · OGG · Opus

Sáu định dạng này đều nằm trong nhóm mà đặc tả tương thích Android bắt buộc mọi thiết bị phải hỗ trợ, nên sẽ không có chuyện «máy này thiếu thành phần nào đó».

Ảnh chụp màn hình

Đang phát
Màn hình phát của CX's Music: ảnh bìa vuông ở trên, bên dưới lần lượt là tên bài, nghệ sĩ, ba dòng lời (dòng đang hát in đậm màu trắng), thanh tiến trình 0:56 / 2:38, và năm nút: lặp, bài trước, tạm dừng, bài sau và thêm
Lời bài hát
Trang lời: toàn bộ lời bài hát liệt kê theo từng dòng, dòng đang hát in đậm màu xanh nằm giữa màn hình, các dòng càng xa càng mờ dần, trên cùng là tên bài và nghệ sĩ
Cân bằng âm
Trang bộ cân bằng: trên cùng là công tắc tổng và «Cài sẵn: Dân ca», bên dưới là hàng thanh trượt dải tần cuộn được sang trái phải, tiếp đó lần lượt là thanh trượt Tăng trầm và Không gian, một công tắc Âm thanh không gian đang bật kèm ghi chú bên dưới rằng âm thanh không gian của hệ thống đã bị tắt trong cài đặt hệ thống, và cuối cùng là bộ chỉnh cao độ

Tải xuống và cài đặt

Hoàn toàn miễn phí, không quảng cáo, không mua trong ứng dụng. Tệp cài đặt được phục vụ từ CDN của chính chúng tôi và không cần tài khoản nào.

CX's Music for Android

Phiên bản
v1.1.1
Ngày phát hành
Kích thước tệp
5.1 MB
Yêu cầu hệ thống
Android 8.0 trở lên
Tải APK

Tệp cài đặt được phục vụ từ tên miền của chính chúng tôi dl.cxapps.app, lưu trên Cloudflare R2; khi bạn tải về, chính sách quyền riêng tư của Cloudflare áp dụng cho kết nối đó. Thông báo quyền riêng tư

Mã kiểm tra SHA-256

1c444606490909eabf5b7003fb6e48c9ba20577366122ae11640c5edd2e8236c

Đây là tệp APK, nên việc cài đặt cần thêm một bước

Ứng dụng không phát hành trên Google Play nên APK được cài trực tiếp. Lần cài đầu tiên, Android sẽ hỏi bạn có cho phép cài đặt từ nguồn này hay không — trình duyệt hoặc trình quản lý tệp. Hãy đồng ý.

Sau đó hệ thống hoặc Play Protect có thể báo là không nhận ra nhà phát triển; hãy chọn tiếp tục. Cách dùng từ và số bước khác nhau tuỳ hãng điện thoại, nhưng câu hỏi vẫn là một.

Nếu muốn kiểm tra tệp trước, hãy dùng trình quản lý tệp hoặc công cụ kiểm tra để đối chiếu mã SHA-256 ở trên.

Hệ thống của bạn có thể dùng cách diễn đạt khác cho các nút này; vị trí và chức năng vẫn như vậy.

Tự kiểm tra tệp này

SHA-256 ở trên trả lời một câu hỏi: tệp bạn đang có có đúng là tệp chúng tôi phát hành hay không.

Không khớp nghĩa là tệp bạn đang có không phải tệp chúng tôi phát hành. Đừng cài đặt nó, hãy tải lại. Nếu vẫn không khớp, hãy báo cho chúng tôi qua kênh phản hồi ở chân trang — bên sai cũng có thể là chúng tôi.

Ngược lại, nó không trả lời hai câu hỏi khác: bản chúng tôi phát hành tự nó có đáng tin không, và nó có được dựng từ mã nguồn liệt kê trên trang này không.

Bản dựng này cũng không tái lập được, và khác biệt còn lớn hơn: bản dựng phát hành đi qua bước rút gọn R8, và khoá ký không nằm trong mã nguồn (khoá ký không nên công khai). Vì vậy tệp APK bạn tự dựng chắc chắn khác bản chúng tôi phát hành — không khớp là điều dự kiến. Bạn vẫn có thể tự dựng một bản dùng riêng, nhưng hãy biết trước cái giá: chữ ký của bạn khác của chúng tôi nên không thể cài đè lên bản đã cài. Bạn phải gỡ cài đặt trước, và việc gỡ sẽ xoá sạch mọi dữ liệu ứng dụng này giữ trên máy bạn — kể cả số lần phát, danh sách phát và dấu yêu thích.

Không có cập nhật tự động

Ứng dụng cài từ Google Play tự cập nhật; APK cài trực tiếp thì không. Bạn sẽ không nhận được thông báo khi có phiên bản mới.

Xem lịch sử phiên bản

Mã nguồn

Tải mã nguồn

a73733d.zip

0.5 MB ·

470d71847942209212ea9530a1b7dc5fe07c665df5cece968374f44a0b5d997d

Tên tệp là mã băm rút gọn của commit đó, không phải số phiên bản — mã nguồn và các bản phát hành không nhất thiết đi cùng nhau. Gói nén được tạo bằng git archive từ chính commit đó.

Mã nguồn công khai nghĩa là bạn có thể soát từng dòng xem nó làm gì. Nó không có nghĩa bản tải ở trên nhất thiết được dựng từ mã nguồn đó — chúng tôi chưa làm phép kiểm chứng ấy, và đây là hai việc tách biệt. Tự kiểm tra tệp này

Kho ban đầu

github.com/hnshysglxfsccx-hub/cxmusic-android

Nội dung tại địa chỉ này không thay đổi và không bị mất, nhưng tài khoản đã bị GitHub hạn chế, không ai mở được, và chúng tôi cũng không còn kỳ vọng nó sẽ được khôi phục.

Cũng có bản cho Windows →

Câu hỏi thường gặp

Có miễn phí không? Có mua trong ứng dụng hay quảng cáo không?

Hoàn toàn miễn phí: không quảng cáo, không mua trong ứng dụng, không thuê bao. Mã nguồn được công bố theo giấy phép MIT.

Có cần tạo tài khoản không?

Không. Cả hai ứng dụng đều không có hệ thống tài khoản.

Nhạc hoặc dữ liệu sử dụng của tôi có bị tải lên đâu không?

Không. Ứng dụng không kết nối mạng và không có bất kỳ cơ chế thống kê hay báo cáo nào. Tệp nhạc và lịch sử nghe của bạn chỉ nằm trên thiết bị của chính bạn.

Vì sao khi cài đặt lại hiện cảnh báo bảo mật?

Vì gói cài đặt không được mua chứng chỉ ký mã, và Android cảnh báo với gói có nguồn chưa được xác minh. Hướng dẫn chi tiết ở phần cài đặt phía trên; bạn cũng có thể tự đối chiếu tệp bằng mã SHA-256.

Hỗ trợ những định dạng âm thanh nào?

Danh sách đầy đủ ở mục «Định dạng hỗ trợ» phía trên. Sáu định dạng đó phát được trên mọi thiết bị Android, không lo thiếu thành phần nào.

Có bản cho iPhone không?

Hiện thì chưa. Phát triển ứng dụng iOS cần máy Mac và tài khoản nhà phát triển Apple, tạm thời chưa làm được.

Bản máy tính và bản di động có phải cùng một ứng dụng không?

Không. Đó là hai ứng dụng độc lập, được phát triển riêng. Tính năng có chồng lấn nhưng không giống hệt, và cài đặt lẫn dữ liệu đều không dùng chung.

Báo lỗi hoặc đề xuất tính năng thì làm thế nào?

Khi báo lỗi, kèm theo phiên bản ứng dụng và phiên bản hệ thống sẽ giúp ích rất nhiều.

Mời bạn mở issue trên Codeberg.

Chi tiết kỹ thuật

CX’Music (máy tính)

C# · .NET 8 · WinUI 3 · NAudio · SQLite + FTS5

  • Chuỗi âm thanh là các ISampleProvider tự viết (một chuỗi DSP dựng trên NAudio): giải mã → bộ cân bằng 18 dải → hiệu ứng → đổi tốc độ và cao độ → âm lượng → xuất qua WASAPI
  • Vị trí phát lấy số mẫu mà WASAPI thực sự tiêu thụ làm nguồn thời gian duy nhất, tránh các điểm tua không đáng tin của phần cứng
  • Việc phân tích DSF và chuyển DSD → PCM được viết thuần bằng C#
  • Ảo hoá theo trang và phân trang keyset. Việc cuộn danh sách và tìm kiếm đã được đo trên một thư viện tổng hợp một triệu bài và không thấy hiện tượng giật; thư viện đó không có ảnh bìa và không có tệp lớn, nên thứ đo được là bản thân danh sách và truy vấn.

CX’s Music (di động)

Kotlin · Jetpack Compose · Media3 (ExoPlayer) · Room · Hilt

  • Phát ngẫu nhiên dùng phép lấy mẫu có trọng số không hoàn lại Efraimidis–Spirakis, nên mỗi bài trong phạm vi được phát đúng một lần
  • Thứ tự đã tạo được lưu vào cơ sở dữ liệu, nên vẫn tiếp tục được sau khi hệ thống kết thúc tiến trình
  • Cửa sổ hàng đợi ảo chỉ giữ 50 bài trong trình phát nhưng vẫn gánh được thư viện cỡ một triệu bài
  • Lời bài hát nhúng được đọc từ ID3 SYLT/USLT, Vorbis Comment và MP4 atom

Danh sách đầy đủ ngôn ngữ giao diện

CX’Music (máy tính)
繁體中文 · 简体中文 · English · 日本語 · 한국어 · Español · Français · Deutsch · Português · Русский · Italiano · Nederlands · Ελληνικά · العربية · हिन्दी
CX’s Music (di động)
繁體中文 · 简体中文 · English · 日本語 · 한국어 · Español · Français · Deutsch · Português · Русский · Bahasa Indonesia · Tiếng Việt · Ελληνικά · العربية · हिन्दी

Hai bên khác nhau đúng ở hai chỗ: bản máy tính có tiếng Ý và tiếng Hà Lan, bản di động có tiếng Indonesia và tiếng Việt. Bản thân trang web cung cấp 17 ngôn ngữ — hợp của cả hai.

Giao diện CX’Music chưa có tiếng Việt; ứng dụng sẽ hiển thị bằng tiếng Anh. CX’s Music cho Android thì có tiếng Việt.