Mô hình và nền tảng AI

HierSpeech++ : Hướng dẫn phân cấp Variational Inference cho Tổng hợp Giọng nói Zero-shot

mm
Thêm Unite.AI vào các nguồn ưu tiên của bạn trên Google

Các phát triển gần đây và tiến bộ trong khả năng của các mô hình ngôn ngữ lớn đã đóng vai trò quan trọng trong việc nâng cao các khungamework dựa trên LLM cho việc tạo audio và tổng hợp giọng nói, đặc biệt là trong thiết lập zero-shot. Các khungamework tổng hợp giọng nói truyền thống đã chứng kiến những tiến bộ đáng kể do việc tích hợp các tính năng bổ sung như codec audio neural cho audio và đơn vị giọng nói rời rạc. Mặc dù các khungamework tổng hợp giọng nói và audio này mang lại kết quả hài lòng, vẫn còn nhiều dư địa để cải thiện vì các khungamework audio dựa trên LLM hiện tại có ba hạn chế chính

  1. Họ có xu hướng tự động tạo ra đầu ra audio cuối cùng gây ra sự thiếu độ bền và tốc độ can thiệp chậm, dẫn đến phát âm sai, bỏ qua hoặc lặp lại.
  2. Họ có xu hướng phụ thuộc quá nhiều vào các đơn vị giọng nói rời rạc hoặc codec audio neural được đào tạo trước.
  3. Họ thường yêu cầu một lượng lớn dữ liệu đào tạo.

Để giải quyết các vấn đề trên và cải thiện khả năng của các mô hình tổng hợp giọng nói và audio dựa trên LLM, các nhà phát triển đã tạo ra HierSpeech++, một bộ tổng hợp giọng nói zero-shot mạnh mẽ và hiệu quả cho việc chuyển đổi giọng nói và văn bản sang giọng nói hoặc TTS. Khungamework HierSpeech++ xây dựng trên những hiểu biết của các khungamework tổng hợp giọng nói phân cấp, không chỉ tăng cường độ bền mà còn bổ sung sự biểu đạt của giọng nói tổng hợp trong khi tăng cường sự tự nhiên và tương đồng giọng nói của giọng nói được tạo ra một cách nhân tạo, ngay cả trong thiết lập zero-shot.

Trong bài viết này, chúng ta sẽ thảo luận về khungamework HierSpeech++ chi tiết và xem xét kiến trúc, hoạt động và kết quả của mô hình khi so sánh với các mô hình tạo văn bản và audio hiện tại. Vì vậy, hãy bắt đầu.

HierSpeech++ : Hướng dẫn phân cấp Variational Inference cho Tổng hợp Giọng nói Zero-shot

HierSpeech++ là một khungamework tổng hợp giọng nói zero-shot nhanh chóng, mạnh mẽ và hiệu quả, sử dụng một đường ống tổng hợp giọng nói phân cấp và bằng cách áp dụng khungamework tổng hợp giọng nói từ đầu đến cuối này, mô hình HierSpeech++ có thể tối đa hóa tiềm năng của việc tạo waveform chất lượng cao để bắc cầu phân cấp giữa các biểu diễn ngữ nghĩa và âm thanh bằng cách áp dụng một biểu diễn giọng nói tự giám sát như một biểu diễn giọng nói ngữ nghĩa và do đó cố gắng giải quyết các hạn chế hiện tại của việc thích nghi phong cách. Khungamework tổng hợp giọng nói từ đầu đến cuối được giới thiệu lần đầu tiên bởi mô hình VITS và nó áp dụng một VAE hoặc Variational Auto-Encoder được tăng cường với đào tạo đối kháng và luồng chuẩn hóa. Hơn nữa, các khungamework dựa trên VAE với một đường ống đào tạo từ đầu đến cuối có khả năng tạo ra audio waveform chất lượng cao với chất lượng tổng hợp giọng nói nhận thức được cải thiện đáng kể so với các khungamework tổng hợp giọng nói khác.

Chất lượng xây dựng lại audio của các khungamework này có thể được cải thiện hơn nữa bằng cách sử dụng một Variational AutoEncoder có điều kiện phân cấp như được sử dụng trong khungamework HierSpeech. Mặc dù chúng có tiềm năng, các mô hình dựa trên đường ống đào tạo từ đầu đến cuối có một số hạn chế, đặc biệt là trong thiết lập zero-shot vì ngay cả khi chúng có thể tổng hợp các mẫu giọng nói với chất lượng audio cao, sự tương đồng giọng nói trong các nhiệm vụ nhân bản giọng nói zero-shot vẫn còn bị ảnh hưởng bởi độ phức tạp tính toán cao. Mặt khác, các mô hình tổng hợp giọng nói dựa trên khuếch tán hoạt động tốt về mặt thích nghi giọng nói nhưng chúng vẫn còn xa so với hoàn hảo vì chúng sử dụng một quá trình tạointeractive mà làm chậm tốc độ suy luận, chúng thường dễ bị ảnh hưởng bởi dữ liệu nhiễu và do sự không phù hợp giữa đào tạo và suy luận của quá trình tạo hai giai đoạn giữa Mel-spectrogram và audio thực tế, chất lượng audio không đạt yêu cầu.

Để giải quyết các vấn đề mà các tiền nhiệm của nó gặp phải, mô hình HierSpeech++ sử dụng một tổng hợp giọng nói phân cấp, một siêu phân giải giọng nói và một thành phần văn bản sang vec, và giới thiệu một tổng hợp giọng nói phân cấp cải tiến được xây dựng trên Variational AutoEncoder có điều kiện phân cấp. Trong một nỗ lực để nâng cao chất lượng audio vượt quá chất lượng nhận thức, khungamework HierSpeech++ áp dụng một dual-audio để tăng cường hậu vị âm thanh và tăng cường tổng quát hóa ngoài phân phối bằng cách sử dụng một bộ tạo phân cấp thích ứng được trang bị cả tạo có điều kiện và không điều kiện. Hơn nữa, để tách các thành phần giọng nói và tăng cường thông tin ngữ nghĩa liên quan đến giọng nói và không liên quan đến giọng nói, khungamework HierSpeech++ cũng áp dụng một bộ mã hóa ngữ nghĩa đa đường dựa trên lý thuyết nguồn-lọc. Kết quả là việc sử dụng Variational AutoEncoder, mô hình HierSpeech++ có thể kết nối và học các biểu diễn phân cấp và thích nghi dần với phong cách giọng nói mục tiêu để suy luận audio waveform. Ngoài ra, khungamework HierSpeech++ cũng triển khai một mạng lưới chuyển đổi bình thường hóa song hướng để tăng cường thích nghi và giảm sự không phù hợp giữa đào tạo và suy luận.

Tổng thể, mô hình HierSpeech++ là một khungamework tổng hợp giọng nói phân cấp song song, mới và mạnh mẽ nhằm tổng hợp các mẫu giọng nói trong thiết lập zero-shot và cố gắng thực hiện các đóng góp sau

  • Sử dụng một khungamework tổng hợp giọng nói phân cấp để kiểm soát và chuyển giao phong cách giọng nói và ngữ điệu.
  • Cho phép khả năng mở rộng dữ liệu và tổng hợp giọng nói độ phân giải cao bằng cách lấy mẫu lại audio waveform từ 16 đến 48 kHz.
  • Đạt được khả năng ở mức con người trên các nhiệm vụ chuyển đổi giọng nói zero-shot và văn bản sang giọng nói.

HierSpeech++ : Thành phần Mô hình và Kiến trúc

Như đã thảo luận, HierSpeech++ là một mô hình tổng hợp giọng nói zero-shot cố gắng đạt được độ chính xác ở mức con người về sự tương đồng giọng nói và tính tự nhiên của giọng nói.

Mô hình HierSpeech++ bao gồm các thành phần khác nhau bao gồm một tổng hợp giọng nói phân cấp, một siêu phân giải giọng nói và văn bản sang vec để TTV, tất cả đều hoạt động cùng nhau để tạo điều kiện cho việc đào tạo từng mô hình có thể tận dụng một lượng lớn dữ liệu giọng nói độ phân giải thấp cho việc nhân bản giọng nói. Hãy chia nhỏ khungamework và thảo luận về từng thành phần.

Biểu diễn Giọng nói

Vì dải tần số của con người dưới 4 kHz, đối với tổng hợp giọng nói, khungamework HierSpeech++ lấy mẫu audio ở 16 kHz. Hơn nữa, để xây dựng lại tín hiệu giọng nói, điều quan trọng là phải sử dụng ít nhất gấp đôi tần số thành phần cao nhất của giọng nói cộng với việc lấy mẫu audio. Để đạt được chất lượng nhận thức được cải thiện, khungamework HierSpeech++ sử dụng một thành phần siêu phân giải giọng nói hoặc SpeechSR để lấy mẫu lại mẫu audio từ 16 đến 48 kHz và sử dụng các biểu diễn độ phân giải thấp cho biểu diễn ngữ nghĩa và âm thanh.

Đối với biểu diễn âm thanh, một khungamework văn bản sang giọng nói hoặc TTS truyền thống sử dụng một Mel-spectrogram như một tính năng âm thanh trung gian được chuyển đổi từ waveform với sự giúp đỡ của một STFT hoặc Short-Time Fourier Transform. Tuy nhiên, điều đáng chú ý là vì các tính năng âm thanh là các biểu diễn giàu tính năng bao gồm các thuộc tính khác nhau như nội dung và phát âm, thông tin giọng nói và nhiều hơn, điều này làm cho khungamework khó khăn để suy luận các biểu diễn này, một tình huống thường dẫn đến phát âm sai, thiếu sự tương đồng hoặc làm mịn quá mức giọng nói.

Tiếp tục, để trích xuất một biểu diễn ngữ nghĩa liên tục từ một waveform, khungamework HierSpeech++ sử dụng một khungamework Wav2Vec trái với cách tiếp cận biểu diễn giọng nói tự giám sát phổ biến cho biểu diễn ngữ nghĩa. Mặc dù cách tiếp cận này tạo ra một sự thay thế tốt cho một mô hình đơn ngữ giàu tính năng, nó ảnh hưởng đến khả năng nhân bản giọng nói zero-shot của mô hình về cả độ bền và biểu đạt, đặc biệt là trong các nhiệm vụ tổng hợp giọng nói đa ngôn ngữ.

Tổng hợp Giọng nói Phân cấp

Thành phần Tổng hợp Giọng nói Phân cấp là nền tảng của khungamework HierSpeech++ vì nó cho phép đào tạo mô-đun mà không cần sử dụng bất kỳ nhãn nào như bản ghi văn bản hoặc id giọng nói và chỉ dựa vào dữ liệu giọng nói. Để tăng khả năng âm thanh, các mô hình tổng hợp giọng nói hiện tại của nhà nước đã thay thế Mel-spectrogram bằng một spectrogram tuyến tính, tuy nhiên, cách tiếp cận này làm giảm thiểu điểm số KL divergence về tính chu kỳ âm cao, PESQ, điểm số âm và không âm và thậm chí cả khoảng cách spectrogram. Tổng hợp Giọng nói Phân cấp sử dụng một Bộ mã hóa Âm thanh Dual-audio để giải quyết các thách thức được trình bày bởi việc sử dụng một spectrogram tuyến tính được thiết kế để bắt các biểu diễn âm thanh phong phú và toàn diện hơn. Khungamework cũng sử dụng một bộ mã hóa waveform để chắt lọc thông tin từ một audio waveform thô và nối nó với biểu diễn spectrogram tuyến tính và cuối cùng là biểu diễn âm thanh như một biểu diễn nối.

Hơn nữa, để giải quyết các biểu diễn ngữ nghĩa liên quan đến giọng nói và không liên quan đến giọng nói, khungamework HierSpeech++ sử dụng một biểu diễn giọng nói tự giám sát đa đường mà mỗi biểu diễn riêng lẻ được sử dụng cho việc thích nghi phong cách phân cấp với các biểu diễn ngữ nghĩa được trích xuất để thu được thông tin ngôn ngữ từ lớp giữa của MMS. Khungamework cũng sử dụng một tần số cơ bản để tăng cường việc tách giọng nói, cho phép kiểm soát đường cong âm cao thủ công. Khungamework cũng sử dụng một biểu diễn ngôn ngữ như thông tin có điều kiện để tạo ra audio waveform phân cấp và sử dụng một biểu diễn ngôn ngữ được cải thiện của biểu diễn tự giám sát. Điều đáng chú ý là các biểu diễn âm thanh được trích xuất trong quá trình đào tạo bằng cách sử dụng một waveform và spectrogram tuyến tính được sử dụng để xây dựng lại audio waveform thô và một suy luận biến phân cấp được sử dụng để liên kết các biểu diễn âm thanh với các biểu diễn ngôn ngữ đa đường. Khungamework cũng sử dụng một bộ tạo phân cấp thích ứng (HAG) để tạo ra các mẫu ngữ nghĩa-sang-waveform và các biểu diễn được tạo ra bao gồm một biểu diễn phong cách và một biểu diễn âm thanh được cung cấp cho các bộ tạo nguồn và waveform.

Văn bản sang Vec

Đối với tổng hợp giọng nói từ văn bản, khungamework HierSpeech++ sử dụng một mô hình văn bản sang vec hoặc TTV tạo ra một tần số cơ bản và một biểu diễn ngữ nghĩa từ một chuỗi văn bản và sử dụng một tìm kiếm sắp xếp đơn điệu kết hợp với một Variational Autoencoder để sắp xếp giọng nói và văn bản nội bộ. Khungamework HierSpeech++ sau đó thay thế spectrogram tuyến tính bằng một biểu diễn tuyến tính tự giám sát và xây dựng lại biểu diễn này để phục vụ như đầu ra cho TTV.

Ngoài ra, khungamework HierSpeech++ dự đoán tần số cơ bản với độ phân giải lớn hơn bốn lần so với biểu diễn giọng nói tự giám sát và sử dụng một biểu diễn văn bản có điều kiện như thông tin trước. Kết quả là thông tin ngữ nghĩa của biểu diễn giọng nói tự giám sát, khungamework có thể chuyển giao phong cách ngữ điệu trong mô hình văn bản sang vec và cung cấp một biểu diễn ẩn cho bộ mã hóa âm tiết để tăng cường khả năng ngôn ngữ của biểu diễn.

Siêu Phân giải Giọng nói hoặc Siêu Phân giải Giọng nói

Khungamework HierSpeech++ được đào tạo trên một tập dữ liệu độ phân giải tương đối thấp về hiệu quả dữ liệu và tính sẵn có và lấy mẫu lại một waveform giọng nói độ phân giải thấp thành một waveform giọng nói độ phân giải cao từ 16 đến 48 kHz. Khungamework cũng thay thế một convolution chuyển đổi bằng một bộ lấy mẫu gần nhất đã được biết đến là giảm thiểu các hiện tượng do convolution chuyển đổi.

Kiến trúc

Bộ mã hóa nội dung của mô hình văn bản sang vec bao gồm 16 lớp WaveNet không có tính casuality với kích thước hạt nhân là 5 và kích thước ẩn là 256, trong khi bộ giải mã nội dung bao gồm 8 lớp WaveNet không có tính casuality với kích thước hạt nhân là 5 và kích thước ẩn là 512. Thành phần mã hóa văn bản bao gồm ba mạng Transformer có điều kiện về ngữ điệu và ba mạng Transformer không có điều kiện với kích thước hạt nhân là 9, kích thước bộ lọc là 1024 và kích thước ẩn là 256 với tỷ lệ dropout là 0,2. Để mã hóa thông tin lân cận và tăng cường thích nghi phong cách, khungamework áp dụng một CNN với kích thước hạt nhân là 5 trong các khối Transformer. SpeechSR bao gồm một khối AMP đơn với 32 kênh ban đầu mà không có sự hiện diện của một lớp lấy mẫu lại. Khungamework sử dụng một bộ lấy mẫu gần nhất để lấy mẫu lại các biểu diễn ẩn và sử dụng một MPD làm bộ phân biệt với sáu kích thước cửa sổ khác nhau và bốn bộ phân biệt phân chia.

Hình ảnh trên minh họa đường ống suy luận của khungamework HierSpeech++ bắt đầu bằng việc trích xuất các biểu diễn ngữ nghĩa từ audio ở tần số 16 kHz và ở tần số cơ bản bằng cách sử dụng thuật toán YAPPT. Trước khi tần số cơ bản có thể được cung cấp cho Tổng hợp Giọng nói Phân cấp, nó được chuẩn hóa bằng cách sử dụng độ lệch chuẩn và trung bình của audio nguồn và tần số cơ bản được chuẩn hóa sau đó được chuẩn hóa lại bằng cách sử dụng độ lệch chuẩn và trung bình của audio mục tiêu. Đối với việc trích xuất văn bản sang giọng nói, khungamework HierSpeech++ trích xuất các biểu diễn văn bản thay vì biểu diễn giọng nói và sử dụng mô hình văn bản sang vec để tạo ra một biểu diễn ngữ nghĩa từ lời nhắc ngữ điệu.

Thử nghiệm và Kết quả

Khungamework sử dụng tập dữ liệu LibriTTS công khai để đào tạo thành phần tổng hợp giọng nói phân cấp với bước đầu tiên là đào tạo mô hình với các tập con trainclean của tập dữ liệu và sử dụng dữ liệu còn lại để cho phép chuyển giao phong cách giọng nói được tăng cường. Ngoài ra, để cải thiện sự đa dạng và độ bền, khungamework tăng tỷ lệ tập dữ liệu lên 1 kHz như được minh họa trong hình dưới đây.

Xây dựng lại, Tổng hợp lại, Nhiệm vụ và Chuyển đổi Giọng nói

Để đánh giá hiệu suất của khungamework HierSpeech++ trên các nhiệm vụ xây dựng lại và tổng hợp lại, các nhà phát triển đã thực hiện bảy phép đo khách quan và kết quả được minh họa trong các hình dưới đây cho các nhiệm vụ xây dựng lại và tổng hợp lại.

Đối với các nhiệm vụ Chuyển đổi Giọng nói, khungamework sử dụng hai phép đo chủ quan để đánh giá: điểm số giọng nói MOS hoặc sMOS và điểm số tự nhiên MOS của nMOS với ba phép đo khách quan về tính tự nhiên và hai phép đo khách quan về sự tương đồng.

Tiếp tục, mục tiêu chính của khungamework HierSpeech++ là cho phép tổng hợp giọng nói zero-shot và để đánh giá hiệu suất của nó trong zero-shot, nó được so sánh với các mô hình cơ bản khác như AutoVC, VoiceMixer, các mô hình dựa trên khuếch tán và nhiều hơn nữa với kết quả được minh họa trong hình dưới đây.

Các hình dưới đây minh họa kết quả văn bản sang giọng nói zero-shot với lời nhắc nhiễu và rất nhiễu.

Suy nghĩ Cuối cùng

Trong bài viết này, chúng ta đã thảo luận về mô hình HierSpeech++, một cách tiếp cận mới để cho phép tổng hợp giọng nói mạnh mẽ và hiệu quả trong thiết lập zero-shot và vượt qua các hạn chế mà các khungamework tổng hợp giọng nói hiện tại gặp phải, bao gồm sự phụ thuộc quá nhiều vào lượng lớn dữ liệu đào tạo, sự phụ thuộc vào các đơn vị giọng nói rời rạc hoặc codec audio neural được đào tạo trước và xu hướng tự động tạo ra đầu ra audio cuối cùng gây ra sự thiếu độ bền và tốc độ can thiệp chậm, dẫn đến phát âm sai, bỏ qua hoặc lặp lại. Mô hình HierSpeech++ là một khungamework tổng hợp giọng nói phân cấp song song, mới và mạnh mẽ nhằm tổng hợp các mẫu giọng nói trong thiết lập zero-shot và cố gắng thực hiện các đóng góp sau

  • Sử dụng một khungamework tổng hợp giọng nói phân cấp để kiểm soát và chuyển giao phong cách giọng nói và ngữ điệu.
  • Cho phép khả năng mở rộng dữ liệu và tổng hợp giọng nói độ phân giải cao bằng cách lấy mẫu lại audio waveform từ 16 đến 48 kHz.
  • Đạt được khả năng ở mức con người trên các nhiệm vụ chuyển đổi giọng nói zero-shot và văn bản sang giọng nói.

"Một kỹ sư theo nghề nghiệp, một nhà văn theo trái tim". Kunal là một nhà văn kỹ thuật với tình yêu và hiểu biết sâu sắc về AI và ML, dành để đơn giản hóa các khái niệm phức tạp trong các lĩnh vực này thông qua tài liệu hấp dẫn và thông tin của mình.