Facebook xuất bản codec âm thanh EnCodec bằng cách sử dụng máy học

Meta/Facebook (bị cấm ở Liên bang Nga) đã giới thiệu một codec âm thanh mới, EnCodec, sử dụng các phương pháp học máy để tăng tỷ lệ nén mà không làm giảm chất lượng. Codec có thể được sử dụng cho cả việc truyền phát âm thanh trong thời gian thực và mã hóa để lưu vào tệp sau này. Việc triển khai tham chiếu EnCodec được viết bằng Python sử dụng khung PyTorch và được cấp phép theo giấy phép CC BY-NC 4.0 (Creative Commons Attribution-NonCommercial) chỉ cho mục đích sử dụng phi thương mại.

Hai mô hình làm sẵn được cung cấp để tải xuống:

  • Mô hình nhân quả sử dụng tốc độ lấy mẫu 24 kHz, chỉ hỗ trợ âm thanh đơn âm và được huấn luyện trên dữ liệu âm thanh đa dạng (thích hợp cho mã hóa giọng nói). Mô hình này có thể được sử dụng để đóng gói dữ liệu âm thanh để truyền ở tốc độ bit 1.5, 3, 6, 12 và 24 kbps.
  • Mô hình phi nhân quả sử dụng tốc độ lấy mẫu 48 kHz, hỗ trợ âm thanh nổi và chỉ được đào tạo về âm nhạc. Mô hình này hỗ trợ tốc độ bit 3, 6, 12 và 24 kbps.

Đối với mỗi mô hình, một mô hình ngôn ngữ bổ sung đã được chuẩn bị, cho phép bạn đạt được tỷ lệ nén tăng đáng kể (lên đến 40%) mà không làm giảm chất lượng. Không giống như các dự án được phát triển trước đây sử dụng phương pháp học máy để nén âm thanh, EnCodec không chỉ có thể được sử dụng để đóng gói giọng nói mà còn để nén nhạc với tốc độ lấy mẫu là 48 kHz, tương ứng với mức của đĩa CD âm thanh. Theo các nhà phát triển codec mới, khi truyền với tốc độ bit 64 kbps so với định dạng MP3, họ có thể tăng mức độ nén âm thanh lên khoảng mười lần trong khi vẫn duy trì cùng mức chất lượng (ví dụ: khi sử dụng MP3, cần có băng thông 64 kbps, để truyền với cùng chất lượng đó trong EnCodec là đủ 6 kbps).

Kiến trúc codec được xây dựng trên mạng nơ-ron với kiến ​​trúc “máy biến áp” và dựa trên bốn liên kết: bộ mã hóa, bộ lượng tử hóa, bộ giải mã và bộ phân biệt đối xử. Bộ mã hóa trích xuất các tham số của dữ liệu giọng nói và chuyển đổi luồng được đóng gói thành tốc độ khung hình thấp hơn. Bộ lượng tử hóa (RVQ, Bộ lượng tử hóa vectơ dư) chuyển đổi đầu ra luồng của bộ mã hóa thành các bộ gói, nén thông tin dựa trên tốc độ bit đã chọn. Đầu ra của bộ lượng tử hóa là dạng biểu diễn nén của dữ liệu, phù hợp để truyền qua mạng hoặc lưu vào đĩa.

Bộ giải mã giải mã biểu diễn nén của dữ liệu và tái tạo lại sóng âm thanh gốc. Bộ phân biệt cải thiện chất lượng của các mẫu được tạo ra, có tính đến mô hình nhận thức thính giác của con người. Bất kể mức chất lượng và tốc độ bit như thế nào, các mô hình được sử dụng để mã hóa và giải mã được phân biệt bằng các yêu cầu tài nguyên khá khiêm tốn (các phép tính cần thiết cho hoạt động thời gian thực được thực hiện trên một lõi CPU).

Facebook xuất bản codec âm thanh EnCodec bằng cách sử dụng máy học


Nguồn: opennet.ru

Thêm một lời nhận xét