Giải pháp tách âm thanh nền và giọng nói MVSEP-MDX23: So sánh với Spleeter

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-MDX23Spleeter
Độ chính xác92.3%87.5%
Tốc độ xử lý1.2x realtime3.5x realtime
Yêu cầu phần cứngGPU 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.

Thẻ: python audio processing Machine Learning deep learning source separation

Đăng vào ngày 10 tháng 9 lúc 23:10