Connect with us

Trí tuệ nhân tạo

HierSpeech++ : Hierarchical Variational Inference for Zero-shot Speech Synthesis

mm

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 khung khổ dựa trên LLM cho các nhiệm vụ tạo âm thanh và tổng hợp giọng nói, đặc biệt là trong thiết lập zero-shot. Các khung khổ tổng hợp giọng nói truyền thống đã chứng kiến những tiến bộ đáng kể do tích hợp các tính năng bổ sung như codec âm thanh thần kinh cho âm thanh và đơn vị giọng nói rời rạc. Mặc dù các khung khổ tổng hợp giọng nói và âm thanh này mang lại kết quả hài lòng, nhưng vẫn còn phòng cho cải tiến vì các khung khổ âm thanh dựa trên LLM hiện tại có ba hạn chế chính sau

  1. Họ có xu hướng tự động tạo ra đầu ra âm thanh 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 âm thanh thần kinh đã đượ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à âm thanh dựa trên LLM, các nhà phát triển đã đưa ra HierSpeech++, một trình tổng hợp giọng nói zero-shot mạnh mẽ và hiệu quả cho các chuyển đổi giọng nói và văn bản sang giọng nói hoặc TTS. Khung khổ HierSpeech++ xây dựng trên các kiến thức của các khung khổ tổng hợp giọng nói phân cấp, không chỉ tăng cường độ bền, mà còn thêm vào sự biểu cảm của đầu ra giọng nói tổng hợp, đồng thời tăng cường sự tự nhiên và sự tương đồng của giọng nói được tạo ra một cách nhân tạo, ngay cả trong một thiết lập zero-shot. 

Trong bài viết này, chúng tôi sẽ thảo luận về khung khổ 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à âm thanh hiện tại. Vậy hãy bắt đầu. 

HierSpeech++ : Hierarchical Variational Inference for Zero-shot Speech Synthesis

HierSpeech++ là một khung khổ 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 khung khổ 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 sóng hình 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 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. Khung khổ 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 nghịch và dòng chảy chuẩn hóa. Hơn nữa, các khung khổ 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 âm thanh sóng hình 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 khung khổ tổng hợp giọng nói khác. 

Chất lượng xây dựng lại âm thanh của các khung khổ này có thể được cải thiện thêm bằng cách sử dụng một VAE điều kiện phân cấp như được sử dụng trong khung khổ HierSpeech. Mặc dù 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 một 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 âm thanh chất lượng cao, sự tương đồng của 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 sự khuếch tán thực hiện 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ạo ra tương tác 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 ra hai giai đoạn giữa Mel-spectrogram và âm thanh được tạo ra, chất lượng âm thanh không đạt tiêu chuẩn. 

Để 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++ áp dụng một trình 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 trình tổng hợp giọng nói phân cấp cải tiến được xây dựng trên VAE điều kiện phân cấp hoặc Variational AutoEncoder. Trong một nỗ lực để cải thiện chất lượng âm thanh vượt quá chất lượng nhận thức, khung khổ 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 áp dụng một trình tạo phân cấp thích nghi được trang bị cả tạo điều kiện và không điều kiện. Hơn nữa, để tách rời 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, khung khổ 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ả của việc áp dụng VAE, mô hình HierSpeech++ có thể kết nối và họ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 âm thanh sóng hình. Ngoài ra, khung khổ HierSpeech++ cũng triển khai một mạng lưới chuyển đổi dòng chảy chuẩn hóa hai chiều trong một nỗ lực để tăng cường thích nghi, và cũng 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 khung khổ tổng hợp giọng nói phân cấp song song hoàn toàn, mới và mạnh mẽ, nhằm tổng hợp các mẫu giọng nói trong một 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 khung khổ 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 âm thanh sóng hình từ 16 đến 48 kHz. 
  • Đạt được khả năng của 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++ : Các 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 của con người về mặt tương đồng giọng nói và 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 trình 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, làm việc cùng nhau để tạo điều kiện đào tạo cho mỗi mô hình có thể sử dụng hiệu quả 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ỏ khung khổ 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, khung khổ HierSpeech++ lấy mẫu âm thanh ở 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 thành phần tần số cao nhất của tần số giọng nói, ngoài việc lấy mẫu âm thanh. Để đạt được chất lượng nhận thức được cải thiện, khung khổ HierSpeech++ sử dụng một siêu phân giải giọng nói hoặc SpeechSR để lấy mẫu lại âm thanh 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 khung khổ tổng hợp giọng nói truyền thống sử dụng một Mel-spectrogram như tính năng âm thanh trung gian, sau đó được chuyển đổi từ sóng hình 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à biểu diễn phong富, bao gồm các thuộc tính 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 khung khổ 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 của giọng nói. 

Tiếp theo, để trích xuất một biểu diễn ngữ nghĩa liên tục từ một sóng hình, khung khổ HierSpeech++ sử dụng một khung khổ Wav2Vec, trái ngược 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 làm cho một sự thay thế tốt cho một mô hình đơn ngữ giàu có, 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à sự biểu cảm, đặc biệt là trên các nhiệm vụ tổng hợp giọng nói đa ngôn ngữ. 

Trình tổng hợp giọng nói phân cấp

Thành phần Trình tổng hợp giọng nói phân cấp là nền tảng của khung khổ 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 âm hoặc mã định danh người 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 giảm thiểu điểm phân kỳ KL về tính chất kỳ của âm thanh, PESQ, điểm đánh giá giọng nói và không giọng nói, và thậm chí là khoảng cách spectrogram. Trình tổng hợp giọng nói phân cấp sử dụng một 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. Khung khổ cũng sử dụng một mã hóa sóng hình để chắt lọc thông tin từ một sóng hình âm thanh thô, và nối nó với biểu diễn spectrogram tuyến tính, và cuối cùng chiếu 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 người nói và không liên quan đến người nói, khung khổ HierSpeech++ sử dụng một biểu diễn giọng nói tự giám sát đa đường, nơi mỗi biểu diễn riêng lẻ được sử dụng cho 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. Khung khổ cũng sử dụng một tần số cơ bản để tăng cường tách rời giọng nói, cho phép kiểm soát đường nét âm thanh thủ công. Khung khổ cũng sử dụng một biểu diễn ngôn ngữ như thông tin điều kiện để tạo ra sóng hình âm thanh phân cấp, và sử dụng một biểu diễn ngôn ngữ được tăng cường 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 sóng hình và spectrogram tuyến tính được sử dụng để xây dựng lại sóng hình âm thanh 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. Khung khổ cũng sử dụng một trình tạo phân cấp thích nghi (HAG) để tạo ra các mẫu ngữ nghĩa-sóng hình, 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 máy tạo nguồn và sóng hình. 

Văn bản sang vec

Đối với tổng hợp giọng nói từ văn bản, khung khổ 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 VAE để sắp xếp giọng nói và văn bản bên trong. Khung khổ 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, khung khổ 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ả của thông tin ngữ nghĩa của biểu diễn giọng nói tự giám sát, khung khổ có khả năng 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 mã hóa âm thanh để tăng cường khả năng ngôn ngữ của biểu diễn. 

SpeechSR hoặc Siêu phân giải giọng nói

Khung khổ 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à sẵn có, và lấy mẫu lại một sóng hình giọng nói độ phân giải thấp thành một sóng hình giọng nói độ phân giải cao từ 16 đến 48 kHz. Khung khổ cũng thay thế một phép chuyển đổi convolution 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 phép chuyển đổi convolution. 

Kiến trúc

Máy 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 casual với kích thước hạt nhân 5 và kích thước ẩn 256, trong khi máy giải mã nội dung bao gồm 8 lớp WaveNet không casual với kích thước hạt nhân 5 và kích thước ẩn 512. Thành phần mã hóa văn bản bao gồm ba mạng nơ-ron truyền tải điều kiện và ba mạng nơ-ron truyền tải không điều kiện với kích thước hạt nhân 9, kích thước bộ lọc 1024 và kích thước ẩn 256 với tốc độ bỏ qua 0,2. Để mã hóa thông tin lân cận và tăng cường thích nghi phong cách ngữ điệu, khung khổ áp dụng một CNN với kích thước hạt nhân 5 trong các khối truyền tải. Siêu phân giải giọng nói bao gồm một khối AMP 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, 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 sub-band. 

Hình ảnh trên minh họa đường ống suy luận của khung khổ HierSpeech++ bắt đầu bằng việc trích xuất các biểu diễn ngữ nghĩa từ âm thanh ở 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 Trình 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 âm thanh nguồn, và tần số cơ bản được chuẩn hóa sau đó được chuẩn hóa bằng cách sử dụng độ lệch chuẩn và trung bình của âm thanh mục tiêu. Đối với trích xuất giọng nói từ văn bản, khung khổ HierSpeech++ trích xuất 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ả

Khung khổ 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 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, khung khổ tăng tỷ lệ tập dữ liệu lên 1 kHz như được minh họa trong hình sau. 

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

Để đánh giá hiệu suất của khung khổ 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 sau cho các nhiệm vụ xây dựng lại và tổng hợp lại. 

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

Tiếp theo, mục tiêu chính của khung khổ 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 sự khuếch tán, và nhiều hơn với kết quả được minh họa trong hình sau. 

Các hình sau minh họa kết quả tổng hợp giọng nói zero-shot với lời nhắc nhiễu và rất nhiễu. 

Thoughts Cuối cùng

Trong bài viết này, chúng tôi đã 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 một thiết lập zero-shot, và vượt qua các hạn chế mà các khung khổ 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 đơn vị giọng nói rời rạc hoặc codec âm thanh thần kinh đã được đào tạo trước, và xu hướng tự động tạo ra đầu ra âm thanh 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 khung khổ tổng hợp giọng nói phân cấp song song hoàn toàn, mới và mạnh mẽ, nhằm tổng hợp các mẫu giọng nói trong một 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 khung khổ 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 âm thanh sóng hình từ 16 đến 48 kHz. 
  • Đạt được khả năng của 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.