Tổng hợp tiếng nói về bản chất là quá trình tạo tín hiệu tiếng nói từ văn bản. Trong nhiều năm trở lại đây, người ta cố gắng tạo ra một hệ thống tổng hợp sao cho có độ tự nhiên cao nhất (Naturaless) và đọc dễ hiểu nhất (Intelligibility) Gần đây những nghiên cứu về mạng nơ ron học sâu được dẫn đầu bởi Google, Microsoft đã cho thấy những bước tiến nổi bật khi áp dụng vào tổng hợp tiếng nói, chất lượng đã đạt đến độ rất cao và khó có thể phân biệt là người hay máy nói
20C11057_PHAN MINH TOAN TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM KHOA CÔNG NGHỆ THÔNG TIN SAU ĐẠI HỌC – K30 MƠN XỬ LÝ TIẾNG NĨI TÊN ĐỀ TÀI XÂY DỰNG DỤNG CHUYỂN ĐỔI VĂN BẢN SANG GIỌNG NÓI CHO NGÔN NGỮ TIẾNG VIỆT VÀ TIẾNG ANH Giảng viên: PGS TS Đinh Điền TS Nguyễn Đức Hoàng Hạ TS Châu Thành Đức Sinh viên thực hiện: 20C11057 – Phan Minh Toàn TP.HCM, ngày 16 tháng 10 năm 2021 20C11057_PHAN MINH TOAN Mục lục I GIỚI THIỆU VỀ TÔNG HỢP TIẾNG NÓI II MÔ TẢ ỨNG DỤNG TỔNG HỢP TIẾNG NÓI END – TO – END III THƯ VIỆN VÀ CÁC FRAMEWORK SỬ DỤNG IV KIẾN TRÚC MƠ HÌNH TACOTRON (Towards End-to-End Speech Synthesis) A Tacotron CBHG Module B Tacotron Encoder C Tacotron Decoder D Tacotron Post-Processing Network V KIẾN TRÚC MƠ HÌNH TTS WITH TRANSFORMERS VI KIẾN TRÚC MÔ HÌNH FASTSPEECH VII KIẾN TRÚC MƠ HÌNH FASTSPEECH 11 VIII ỨNG DỤNG TỔNG HỢP TIẾNG NÓI CHO VĂN BẢN TIẾNG ANH VÀ TIẾNG VIỆT SỬ DỤNG MƠ HÌNH TACOTRON VÀ FASTSPEECH 12 IX TÀI LIỆU THAM KHẢO 19 20C11057_PHAN MINH TOAN I GIỚI THIỆU VỀ TƠNG HỢP TIẾNG NĨI Tổng hợp tiếng nói chất q trình tạo tín hiệu tiếng nói từ văn Trong nhiều năm trở lại đây, người ta cố gắng tạo hệ thống tổng hợp cho có độ tự nhiên cao (Naturaless) đọc dễ hiểu (Intelligibility) Gần nghiên cứu mạng nơ ron học sâu dẫn đầu Google, Microsoft cho thấy bước tiến bật áp dụng vào tổng hợp tiếng nói, chất lượng đạt đến độ cao khó phân biệt người hay máy nói II MƠ TẢ ỨNG DỤNG TỔNG HỢP TIẾNG NÓI END – TO – END Tổng hợp End to end phương pháp phát triển năm gần Mục tiêu phương pháp tạo hệ thống tổng hợp có chất lượng cao mà không cần dùng đến kiến thức chuyên gia dựa mạng nơ ron học sâu Một kiến trúc bật phương pháp kể đến Tacotron Google hay FastSpeech Microsoft Kiến trúc chung hay sử dụng hệ thống End to End gồm có hai phần là: o Phần tạo Mel spectrogram từ chuỗi ký tự đầu vào phần chuyển hóa Mel spectrogram thành tín hiệu tiếng nói phần tạo Mel spectrogram gồm hai mơ đun Embedder để chuyển hóa chuỗi ký tự thành chuỗi véc tơ biểu diễn, sau mơ đun Sequence to Sequence ước lượng Mel spectrogram từ chuỗi véc tơ o Cuối từ Mel spectrogram chuyển hóa thành tín hiệu tiếng nói nhờ Neural Vocoder Hình 1: Mơ tả kiến trúc hệ thống tổng hợp End to End 20C11057_PHAN MINH TOAN Hình 2: Mô tả kiến trúc ứng dụng chuyển đổi văn thành giọng nói cho ngơ ngữ tiếng việt tiếng anh III THƯ VIỆN VÀ CÁC FRAMEWORK SỬ DỤNG Python (Ngơn ngữ lập trình) Pytorch (Deep learning framework) Jax/Tensorflow (Deep learning framework) Scikit-learn (Machine learning framework) Streamlit (Framework create app UI for data science) FastAPI (Web framework for building APIs ) 20C11057_PHAN MINH TOAN IV KIẾN TRÚC MƠ HÌNH TACOTRON (Towards End-to-End Speech Synthesis) • Đây mơ hình end-to-end TTS Google Giúp giảm bớt trình feature engineering Cho phép điều chỉnh thuộc tính khác • Kiến trúc mơ hình Kiến trúc mạng dựa mơ hình sequence-to-sequence with attention paradigm • Red Encoder • Blue Decoder • Green Post-processing net Hình 3: Mơ tả kiến trúc mơ hình Towards End-to-End Speech Synthesis A Tacotron CBHG Module 1D Convolutional Bank + highway network + bidirectional GRU (CBHG) o Module cho phép trích xuất thơng tin biểu diễn từ chuỗi sequences 20C11057_PHAN MINH TOAN o Lấy cảm hứng từ toán “Fully Character-Level Neural Machine Translation without Explicit Segmentation” Architecture (Kiến trúc) o Bank of 1D convolutional filters o Highway networks (layers of FC-128-ReLU) o Gating unit giúp học cách điều chỉnh luồng thông tin thơng qua network o Bidirectional GRU RNN Hình 4: Mơ tả kiến trúc Tacotron CBHG Module 20C11057_PHAN MINH TOAN B Tacotron Encoder Trích xuất thơng tin biểu diễn chi tiết cách từ văn Kiến trúc o Input: one-hot vector ký tự thể thành chuỗi liên tục o Pre-Net, gồm tập hợp phép biến đổi phi tuyến tính o CBHG module Hình 5: Mơ tả kiến trúc Tacotron Encoder C Tacotron Decoder Mục tiêu biểu đồ phổ mel-scale 80 dải khơng phải dạng raw waveform Waveform chứa thông tin biễu diễn dư thừa nhiều Kiến trúc o Attention RNN: lớp 256 GRU cells o Decoder RNN: lớp residual 256 GRU cells o Fully connected output layer 20C11057_PHAN MINH TOAN Hình 6: Mơ tả kiến trúc Tacotron Decoder D Tacotron Post-Processing Network CBHG: 1-D convolutional filters + highway network + bidirectional gated recurrent unit (BiGRU) Thuật toán Griffin-Lim o Ước lượng waveform từ spectrogram o Sử dụng thuật toán lặp lại để giảm MSE o Thuật tốn chọn để sử dụng đơn giản Hình 7: Mơ tả kiến trúc Tacotron Post-Processing Network 20C11057_PHAN MINH TOAN V KIẾN TRÚC MÔ HÌNH TTS WITH TRANSFORMERS Transformers thống trị lĩnh vực ngơn ngữ tự nhiên thời gian, mơ hình áp dung lĩnh vực TTS Transformers-based models tập trung giải hai vấn đề: o Hiệu thấp trình huấn luyện(training) suy luận (inference) o Khó khăn đối việc xây dựng mơ hình cần tính tính phụ thuộc dài hạn RNN Kiến trúc dựa transformers-based giới thiệu vào năm 2018 thay RNN chế ý (multi-head attention mechanisms ) huấn luyện song song Neural Speech Synthesis with Transformer Network A Text-to-Phoneme Converter: chuyển đổi văn thành âm vị Scaled positional encoding: sử dụng dạng hình sin để nắm bắt thơng tin vị trí âm vị An Encoder Pre-Net: a 3-layer CNN: dùng để học âm vị embedding A Decoder Pre-Net: sử dụng thông tin mel spectogram chiếu vào không gian tương tự embedding âm vị The Encoder: Bi-directional RNN thay thành Transformer Encoder với chế multi-head attention The Decoder: RNN lớp với tính ý theo location-sensitive thay Transformer decoder với chế multi-head self-attention Mel Liner and Stop Linear: Hai phép chiếu tuyến tính khác sử dụng để dự đoán quang phổ (mel spectrogram) stop token tương ứng 20C11057_PHAN MINH TOAN Hình 8: Mô tả kiến trúc ural Speech Synthesis with Transformer Network VI KIẾN TRÚC MƠ HÌNH FASTSPEECH Cách tiếp cận FastSpeech dựa mơ hình Transformer trước FastSpeech cải tiến kiến trúc mơ hình giúp tăng tốc tới 38 lần với điểm yếu sau: o Tạo quang phổ cách song song (Parallel mel-specogram generation) o Sử dụng soft attention để điều chỉnh liên kết phonemes (âm vị) melspectograms (quang phổ) thay cách điều cách cứng nhắt(hard alignment) mơ hình trước 20C11057_PHAN MINH TOAN o Length regulator giúp điều chỉnh tốc độ giọng nói rút ngắn hay kéo dài duration âm vị (phoneme) để xác định độ dài quang phổ tạo (generated mel spectrograms) Hình 9: Mơ tả kiến trúc Fastspeech Cung cấp thêm thông tin làm đầu vào: - Duration từ mơ hình teacher Đơn giản hóa việc phân phối liệu đầu - Chắt lọc kiến thức (Knowledge distiliation) Nhược điểm FastSpeech • Duration trích xuất từ teacher model - Duration trích xuất từ attention map khơng đủ xác • Teacher-student distillation - Khá phức tạp tốn thời gian - Dẫn đến thông tin dư liệu bị đơn giản hoá nhiều 10 20C11057_PHAN MINH TOAN VII KIẾN TRÚC MƠ HÌNH FASTSPEECH FastSpeech2 mơ hình chuyển văn thành giọng nói nhằm mục đích cải thiện FastSpeech cách giải tốt vấn đề ánh xạ một-nhiều TTS Pitch (CWT), duration xác so mơ hình FastSpeech Đối với việc mát thơng tin mơ hình FastSpeech: FastSpeech đề xuất training mơ hình trực tiếp với mục tiêu ground-truth thay đầu simplified output từ mơ hình teacher Giới thiệu thêm thơng tin variation giọng nói (ví dụ: cao độ(pitch), lượng(energy) thời lượng(duration) xác hơn) sử dụng dạng đặc trưng dạng đầu vào có điều kiện Trích xuất đặc trưng duration, pitch and energy từ dạng sóng (wave form) giọng nói trực tiếp sử dụng đặc trưng có làm đầu vào input có điều kiện việc training sử dụng giá trị dự đốn (prediction) suy luận(bước inference) Hình 10: Mô tả kiến trúc Fastspeech 11 20C11057_PHAN MINH TOAN Variance Adaptor • Phoneme duration: thời lượng(duration) giọng nói phát • Pitch: tính (key feature) để truyền tải cảm xúc ảnh hưởng lớn đến cảm xúc tiếng nói • Energy: cường độ mức khung hình(frame level) quang phổ(mel-spectrograms) ảnh hưởng trực tiếp đến âm lượng độ phát âm(prosody) giọng nói Hình 11: Mơ tả kiến trúc Variance apdaptor VIII ỨNG DỤNG TỔNG HỢP TIẾNG NÓI CHO VĂN BẢN TIẾNG ANH VÀ TIẾNG VIỆT SỬ DỤNG MÔ HÌNH TACOTRON VÀ FASTSPEECH Ứng dụng develop tích hợp hai model Tacotron Fastspeech 2, deploy triển khai serving môi trường Streamlit Cloud 12 20C11057_PHAN MINH TOAN Link Production ứng dụng: https://share.streamlit.io/toanphanminh/tts/mutil_language/app.py Vì giới hạn phần cứng miễn cloud nên ứng hoạt động tốt văn có kích thước ngắn nhỏ bị resource mơi trường cloud giới hạn terminate process chạy, nhiên Local ứng dụng hoạt bình thường với văn có kích thước vừa dài Ứng dụng cho phép chọn ngôn ngữ để chuyển đổi sử dụng mơ hình cho ngơn ngữ tiếng việt tiếng anh Mơ hình sử dụng để tổng hợp tiếng nói cho ngơn ngữ Tiếng Việt Tacontron Mơ hình sử dụng để tổng hợp tiếng nói cho ngơn ngữ Tiếng Anh Fastspeech 13 20C11057_PHAN MINH TOAN Riêng ngơn ngữ Tiếng Việt chọn giới tính giọng tổng hợp giọng nam hay giọng nữ o Mơ hình FastSpeech cho ngơn ngữ Tiếng Anh pretrain liệu LJSpeech o Mơ hình Tacontron cho ngôn ngữ Tiếng Việt pretrain liệu InfoRe Technology 14 20C11057_PHAN MINH TOAN Ứng dụng phát triển theo hai hướng: o Tích hợp trực tiếp với WEB UI thông component hỗ xây dựng UI Framework Streamlit 15 20C11057_PHAN MINH TOAN o Tích hợp dạng rest-api cho phép gửi request post thông qua endpoint api url Framework FastAPI Input json là: { "text":"Xin chào, tơi tên Minh Tồn, chào mừng bạn đến với ứng dụng chuyển văn thành giọng nó", "language": "vietnamese", "speaker_gender": "male" } 16 20C11057_PHAN MINH TOAN Output response json { "status": "success", "err_msg": "", "wav_file_path": "result/audio.wav", "wav_file_base64": "UklGRiQMAwBXQVZFZm10IBAA " } 17 20C11057_PHAN MINH TOAN Kết json trả từ server có thuộc tính “wave_file_base64” chuỗi base64 waveform chuyển đổi liệu văn bản, chuỗi base64 dễ dàng có thẻ encode để phía client web hay mobile app để integrate sử dụng 18 20C11057_PHAN MINH TOAN IX TÀI LIỆU THAM KHẢO [1] Yi Ren, Chenxu Hu, Xu Tan, Tao Qin, Sheng Zhao, Zhou Zhao, Tie-Yan Liu - FastSpeech 2: Fast and High-Quality End-to-End Text to Speech - ICLR 2021 [2] Yi Ren, Yangjun Ruan, Xu Tan, Tao Qin, Sheng Zhao, Zhou Zhao, Tie-Yan Liu FastSpeech: Fast, Robust and Controllable Text to Speech NeurIPS2019 [3] Yuxuan Wang, RJ Skerry-Ryan, Daisy Stanton, Yonghui Wu, Ron J Weiss, Navdeep Jaitly, Zongheng Yang, Ying Xiao, Zhifeng Chen, Samy Bengio, Quoc Le, Yannis Agiomyrgiannakis, Rob Clark, Rif A Saurous - Tacotron: Towards End-to-End Speech Synthesis [4] Naihan Li, Shujie Liu, Yanqing Liu, Sheng Zhao, Ming Liu, Ming Zhou - Neural Speech Synthesis with Transformer Network [5] Speech synthesis: A review of the best text to speech architectures with Deep Learning https://theaisummer.com/text-to-speech [6] Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N Gomez, Lukasz Kaiser, Illia Polosukhin - Attention Is All You Need [7] FastSpeech - PyTorch Implementation - https://github.com/ming024/FastSpeech2 [8] Tacotron-pytorch - PyTorch Implementation - https://github.com/soobinseo/Tacotron-pytorch [9] Real-Time State-of-the-art Speech Synthesis for Tensorflow https://github.com/TensorSpeech/TensorFlowTTS [10] A Vietnamese TTS - https://github.com/NTT123/vietTTS [11] Streamlit Cloud https://docs.streamlit.io/streamlit-cloud [12] InfoRe Technology dataset: https://files.huylenguyen.com/25hours.zip [13] LJ Speech dataset: https://www.kaggle.com/mathurinache/the-lj-speech-dataset 19