Trong lĩnh vực xử lý âm thanh, việc tách riêng các thành phần âm thanh từ file audio đã trộn lẫn luôn là một thách thức kỹ thuật lớn. Tính chất vật lý của sóng âm khiến quá trình phân tách trở nên phức tạp khi không có file gốc.
Spleeter, giải pháp do Deezer phát triển, là thư viện mã nguồn mở sử dụng thuật toán deep learning để tách nguồn âm nhạc. Với các mô hình đã được huấn luyện sẵn, Spleeter cho phép người dùng sử dụng ngay lập tức mà không cần kiến thức chuyên sâu về machine learning.
MVSEP-MDX23 thuộc thế hệ công cụ tách âm mới nhất từ Facebook Research, kế thừa và cải tiến từ các phiên bản Demucs. Phiên bản 4 hiện là mô hình tách nhạc đơn mạnh nhất trong lĩnh vực, vượt trội về chất lượng khôi phục âm thanh.
Cài đặt và sử dụng MVSEP-MDX23 cục bộ
Bắt đầu bằng việc clone repository:
git clone https://github.com/jarredou/MVSEP-MDX23-Colab_v2.git
Cài đặt môi trường:
cd MVSEP-MDX23-Colab_v2
pip3 install -r requirements.txt
Thực hiện tách âm:
python3 inference.py --input_audio test.wav --output_folder ./results/
Các tùy chọn tối ưu:
- --single_onnx: Tăng tốc độ xử lý (giảm chất lượng)
- --large_gpu: Tối ưu cho GPU 12GB+
- --cpu: Sử dụng CPU (không khuyến khích)
Giao diện đồ họa PyQt cải tiến
Đoạn code sau triển khai giao diện người dùng với các chức năng kéo thả file, điều chỉnh tham số và theo dõi tiến trình:
class XuLySong(QObject):
finished = pyqtSignal()
progress = pyqtSignal(int)
def __init__(self, options):
super().__init__()
self.options = options
def run(self):
# Logic xử lý chính
predict_with_model(self.options)
self.finished.emit()
class CaiDat(QDialog):
def setupUi(self):
# Thiết lập giao diện tùy chọn
self.checkbox_cpu = QCheckBox("Sử dụng CPU", Dialog)
self.checkbox_single_onnx = QCheckBox("Chế độ ONNX đơn", Dialog)
class GiaoDienChinh(QWidget):
def initUI(self):
# Thiết lập các thành phần giao diện
self.button_start = QPushButton('Bắt đầu', self)
self.button_finish = QPushButton('Dừng', self)
self.progress_bar = QProgressBar(self)
Triển khai trên Google Colab
Cài đặt môi trường đám mây:
%cd /content
!git clone https://github.com/jarredou/MVSEP-MDX23-Colab_v2.git
%cd /content/MVSEP-MDX23-Colab_v2
!pip install -r requirements.txt
Cấu hình tham số xử lý:
input = '/content/drive/MyDrive'
output_folder = '/content/drive/MyDrive/output'
BigShifts = 7
overlap_demucs = 0.6
output_format = 'PCM_16'
So sánh hiệu năng
| Thông số | MVSEP-MDX23 | Spleeter |
| Độ chính xác | 92.3% | 87.5% |
| Tốc độ xử lý | 1.2x realtime | 3.5x realtime |
| Yêu cầu phần cứng | GPU 12GB+ | CPU 8 lõi |
MVSEP-MDX23 phù hợp với chuyên gia âm nhạc cần độ chính xác cao nhờ kiến trúc Demucs4 và MDX. Spleeter lại ưu việt ở tính linh hoạt và dễ tích hợp vào các ứng dụng nhờ API phong phú. Lựa chọn công cụ phụ thuộc vào nhu cầu cụ thể và điều kiện phần cứng của người dùng.