Tải bản đầy đủ (.pdf) (20 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.72 MB, 20 trang )

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
0


20C11057_PHAN MINH TOAN

Mục lục
I.

GIỚI THIỆU VỀ TƠNG HỢP TIẾNG NĨI ........................................................................... 2

II.

MƠ TẢ ỨNG DỤNG TỔNG HỢP TIẾNG NĨI END – TO – END ................................. 2



III.

THƯ VIỆN VÀ CÁC FRAMEWORK SỬ DỤNG............................................................. 3

IV.

KIẾN TRÚC MƠ HÌNH TACOTRON (Towards End-to-End Speech Synthesis) ............. 4

A.

Tacotron CBHG Module .................................................................................................. 4

B.

Tacotron Encoder ............................................................................................................. 6

C.

Tacotron Decoder ............................................................................................................. 6

D.

Tacotron Post-Processing Network .................................................................................. 7

V.

KIẾN TRÚC MƠ HÌNH TTS WITH TRANSFORMERS.................................................. 8

VI.


KIẾN TRÚC MƠ HÌNH FASTSPEECH ............................................................................ 9

VII.

KIẾN TRÚC MƠ HÌNH FASTSPEECH 2 ....................................................................... 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 2 .............................................. 12
IX.

TÀI LIỆU THAM KHẢO ................................................................................................. 19

1


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 về bản chất là q 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


II.

MƠ TẢ ỨNG DỤNG TỔNG HỢP TIẾNG NÓI END – TO – END

Tổng hợp End to end là phương pháp mới được phát triển trong những năm gần đây. Mục tiêu
của phương pháp này là tạo ra hệ thống tổng hợp có chất lượng cao nhất mà không cần dùng đến
các kiến thức chuyên gia dựa trên các mạng nơ ron học sâu.
Một kiến trúc nổi bật của phương pháp này có thể kể đến Tacotron của Google hay FastSpeech
của Microsoft.
Kiến trúc chung hay được sử dụng của một hệ thống End to End gồm có hai phần chính là:
o Phần tạo Mel spectrogram từ chuỗi ký tự đầu vào và phần chuyển hóa Mel spectrogram
thành tín hiệu tiếng nói. trong đó phần tạo Mel spectrogram gồm hai mơ đun là Embedder
để chuyển hóa chuỗi ký tự thành chuỗi các véc tơ biểu diễn, sau đó mô đun Sequence to
Sequence sẽ ước lượng Mel spectrogram từ chuỗi véc tơ này.
o Cuối cùng từ Mel spectrogram được 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 một hệ thống tổng hợp End to End

2


20C11057_PHAN MINH TOAN

Hình 2: Mơ tả kiến trúc ứng dụng chuyển đổi văn bản thành giọng nói cho ngơ ngữ tiếng việt và
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 )

3


20C11057_PHAN MINH TOAN

IV.

KIẾN TRÚC MƠ HÌNH TACOTRON (Towards End-to-End Speech Synthesis)



Đây là mơ hình end-to-end TTS của Google

Giúp giảm bớt q trình feature engineering
Cho phép điều chỉnh các thuộc tính khác nhau


Kiến trúc mơ hình

Kiến trúc mạng dựa trên 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

4



20C11057_PHAN MINH TOAN
o Lấy cảm hứng từ bài 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

5


20C11057_PHAN MINH TOAN
B. Tacotron Encoder
Trích xuất thơng tin biểu diễn chi tiết 1 cách tuần tự từ văn bản
Kiến trúc
o Input: one-hot vector của các ký tự được thể hiện thành chuỗi liên tục
o Pre-Net, gồm tập hợp các 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 là biểu đồ phổ mel-scale là 80 dải chứ không phải là dạng raw waveform
Waveform thì chứa thơng tin biễu diễn dư thừa nhiều
Kiến trúc
o Attention RNN: 1 lớp 256 GRU cells
o Decoder RNN: 2 lớp residual 256 GRU cells

o Fully connected output layer

6


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 một thuật toán lặp lại để giảm MSE
o Thuật tốn được chọn để sử dụng vì sự đơn giản

Hình 7: Mơ tả kiến trúc Tacotron Post-Processing Network

7


20C11057_PHAN MINH TOAN

V.

KIẾN TRÚC MƠ HÌNH TTS WITH TRANSFORMERS
Transformers đang thống trị lĩnh vực ngôn ngữ tự nhiên trong một thời gian, vì vậy mơ hình này
cũng có thể được áp dung trong lĩnh vực TTS.
Transformers-based models tập trung giải quyết hai vấn đề:

o Hiệu quả thấp trong quá trình huấn luyện(training) và suy luận (inference)
o Khó khăn đối trong việc xây dựng mơ hình cần tính tính phụ thuộc dài hạn như
RNN
Kiến trúc dựa trên transformers-based đầu tiên được giới thiệu vào năm 2018 và thay thế RNN
bằng cơ chế chú ý (multi-head attention mechanisms ) có thể được huấn luyện song song.

Neural Speech Synthesis with Transformer Network
A Text-to-Phoneme Converter: chuyển đổi văn bản thành âm vị
Scaled positional encoding: sử dụng dạng hình sin để nắm bắt thơng tin về vị trí của
âm vị
An Encoder Pre-Net: a 3-layer CNN: dùng để học các âm vị embedding
A Decoder Pre-Net: sử dụng thông tin mel spectogram và chiếu vào cùng 1 không
gian con tương tự như các embedding của âm vị
The Encoder: Bi-directional RNN được thay thế thành Transformer Encoder với cơ
chế multi-head attention
The Decoder: RNN 2 lớp với tính năng chú ý theo location-sensitive được thay thế
bằng Transformer decoder với cơ chế multi-head self-attention
Mel Liner and Stop Linear: Hai phép chiếu tuyến tính khác nhau được sử dụng để dự
đốn quang phổ (mel spectrogram) và stop token tương ứng

8


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 của FastSpeech dựa trên mơ hình Transformer trước đó. FastSpeech cải tiến
kiến trúc của mơ hình giúp tăng tốc tới 38 lần với 3 điểm chính yếu sau:
o Tạo ra quang phổ một cách song song (Parallel mel-specogram generation)
o Sử dụng soft attention để điều chỉnh sự liên kết giữa phonemes (âm vị) và melspectograms (quang phổ) thay vì cách điều chính 1 cách cứng nhắt(hard alignment) ở mơ
hình trước đó

9


20C11057_PHAN MINH TOAN
o Length regulator giúp điều chỉnh tốc độ giọng nói bằng rút ngắn hay kéo dài duration của
âm vị (phoneme) để xác định được độ dài của quang phổ được tạo ra (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 dữ liệu trong đầu ra
- Chắt lọc kiến thức (Knowledge distiliation)

Nhược điểm của FastSpeech
• Duration được trích xuất từ teacher model
- Duration được trích xuất từ attention map khơng đủ chính xác
• Teacher-student distillation
- Khá phức tạp và tốn thời gian
- Dẫn đến mất thông tin do dư liệu bị đơn giản hoá đi nhiều

10



20C11057_PHAN MINH TOAN

VII.

KIẾN TRÚC MƠ HÌNH FASTSPEECH 2
FastSpeech2 là mơ hình chuyển văn bản thành giọng nói nhằm mục đích cải thiện
FastSpeech bằng cách giải quyết tốt hơn vấn đề ánh xạ một-nhiều trong TTS
Pitch (CWT), duration chính xác hơn so mới mơ hình FastSpeech
Đối với việc mất mát thơng tin trong mơ hình FastSpeech: FastSpeech 2 đề xuất
training mơ hình trực tiếp với mục tiêu là ground-truth thay vì đầu ra là
simplified output từ mơ hình teacher
Giới thiệu thêm thơng tin variation của giọng nói (ví dụ: cao độ(pitch), năng
lượng(energy) và thời lượng(duration) chính xác hơn) và sử dụng như là dạng
đặc trưng dạng đầu vào có điều kiện.
Trích xuất các đặc trưng duration, pitch and energy từ dạng sóng (wave form)
giọng nói và trực tiếp sử dụng đặc trưng có được này làm đầu vào cũng như là
input có điều kiện trong việc training và sử dụng các giá trị dự đốn (prediction)
trong suy luận(bước inference).

Hình 10: Mơ tả kiến trúc Fastspeech 2

11


20C11057_PHAN MINH TOAN

Variance Adaptor



Phoneme duration: thời lượng(duration) giọng nói phát ra



Pitch: một tính năng chính (key feature) để truyền tải cảm xúc và ảnh hưởng lớn đến cảm
xúc của tiếng nói



Energy: cường độ ở mức khung hình(frame level) của quang phổ(mel-spectrograms) và
nó sẽ ảnh hưởng trực tiếp đến âm lượng và độ phát âm(prosody) của giọng nói.

Hình 11: Mơ tả kiến trúc của 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 2
Ứng dụng được develop và tích hợp hai model Tacotron và Fastspeech 2, được deploy và triển
khai serving trên môi trường Streamlit Cloud

12


20C11057_PHAN MINH TOAN
Link Production của ứng dụng:
/>Vì giới hạn của phần cứng miễn trên cloud nên ứng chỉ có thể hoạt động tốt trên văn có kích
thước ngắn và nhỏ vì bị resource mơi trường cloud giới hạn terminate process đang chạy, tuy
nhiên ở trên Local thì ứng dụng hoạt bình thường với văn bản có kích thước vừa và dài


Ứng dụng cho phép chọn ngôn ngữ để chuyển đổi sử dụng giữa 2 mơ hình cho ngơn ngữ tiếng
việt và 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 là Tacontron
Mơ hình sử dụng để tổng hợp tiếng nói cho ngơn ngữ Tiếng Anh là Fastspeech 2

13


20C11057_PHAN MINH TOAN

Riêng đối với ngơn ngữ Tiếng Việt có thể chọn được giới tính của giọng tổng hợp là giọng nam
hay giọng nữ
o Mơ hình FastSpeech cho ngơn ngữ Tiếng Anh được pretrain trên bộ dữ liệu LJSpeech
o Mô hình Tacontron cho ngơn ngữ Tiếng Việt được pretrain trên bộ dữ liệu InfoRe
Technology 1

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 các component hỗ xây dựng UI của 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 và api url bằng
Framework FastAPI

Input json là:
{
"text":"Xin chào, tơi tên là Minh Tồn, chào mừng bạn đến với ứng dụng chuyển văn bản thành giọng nó",
"language": "vietnamese",
"speaker_gender": "male"
}

16


20C11057_PHAN MINH TOAN

Output response json là
{
"status": "success",
"err_msg": "",
"wav_file_path": "result/audio.wav",
"wav_file_base64": "UklGRiQMAwBXQVZFZm10IBAA..."
}

17


20C11057_PHAN MINH TOAN
Kết quả json trả về từ server là có thuộc tính “wave_file_base64” 1 chuỗi base64 waveform
được chuyển đổi dữ liệu của văn bản, chuỗi base64 này dễ dàng có thẻ được encode để tại
phía client như web hay mobile app để integrate và 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 />[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 2 - PyTorch Implementation - />[8] Tacotron-pytorch - PyTorch Implementation - />[9] Real-Time State-of-the-art Speech Synthesis for Tensorflow 2 />[10] A Vietnamese TTS - />[11] Streamlit Cloud />[12] InfoRe Technology 1 dataset: />[13] LJ Speech dataset: />
19



×