Bài viết Xây dựng mô hình thích ứng giọng nói trong tổng hợp tiếng nói tiếng Việt nghiên cứu xây dựng mô hình thích ứng giọng nói cho bài toán tổng hợp tiếng nói tiếng Việt dựa trên hai phương pháp là phương pháp học chuyển giao và phương pháp véc tơ mã hóa người nói.
Trang 1XÂY DỰNG MÔ HÌNH THÍCH ỨNG GIỌNG NÓI
TRONG TỔNG HỢP TIẾNG NÓI TIẾNG VIỆT
Phan Trung Kiên1,2, Đỗ Văn Hải1,3
1 Trung tâm Không gian Mạng Viettel, 2 Viện CNTT&TT, Trường Đại học Bách Khoa Hà Nội,
3 Khoa CNTT, Trường Đại học Thủy Lợi
1 GIỚI THIỆU CHUNG
Tổng hợp tiếng nói là một lĩnh vực đã được
nghiên cứu từ lâu và có nhiều ứng dụng trong
đời sống Hệ thống tổng hợp tiếng nói giúp
chuyển đổi từ văn bản sang giọng nói con
người Một ví dụ điển hình nhất của tổng hợp
tiếng nói đó là giọng đọc của Google Dịch
Tuy nhiên, hiện nay chi phí phát triển các
hệ thống này là lớn dẫn tới sự thiếu sự đa
dạng về giọng nói trong các hệ thống Vì vậy
các phương pháp thích ứng giọng nói đã
được phát triển để giải quyết các vấn đề nêu
trên Thích ứng giọng nói (SA - Speaker
Adaptation) có nhiệm vụ tạo ra giọng nói
mới cho hệ thống tổng hợp tiếng nói bằng
cách điều chỉnh các tham số của một mô hình
ban đầu với một lượng ít dữ liệu ghi âm của
người nói mới
Nhiều phương pháp đã được đề xuất và
mang lại hiệu quả nhất định cho thích ứng
giọng nói, ví dụ như: học chuyển giao
(Transfer Learning), sử dụng véc tơ mã hóa
người nói (Speaker Embedding) [1], Learning
Hidden Unit Contribution (LHUC) [2], Feature
Space Transformation (FST) [3], …
Trong bài báo này, chúng tôi nghiên cứu
xây dựng mô hình thích ứng giọng nói cho
bài toán tổng hợp tiếng nói tiếng Việt dựa
trên hai phương pháp là phương pháp học
chuyển giao và phương pháp véc tơ mã hóa
người nói
2 PHƯƠNG PHÁP NGHIÊN CỨU
Như thấy ở (hình 1), quá trình SA được
chia làm hai thành phần:
- Xây dựng mô hình gốc (Build base model)
- Thích ứng (Adaptation)
Hình 1 Hai bước trong quá trình thích ứng
giọng nói
Để xây dựng mô hình gốc, chúng tôi sử dụng kiến trúc Merlin [4] Đây là kiến trúc tổng hợp tiếng nói phổ biến hiện nay dựa trên mạng nơ ron học sâu tiên tiến Như mô tả ở trên hình 2, kiến trúc Merlin bao gồm 3 thành phần:
- Trích chọn đặc trưng ngôn ngữ (Linguistic Features Extraction)
- Tạo đặc trưng âm học (Parameter Generation)
- Tạo tín hiệu tiếng nói (Waveform Generation)
Hình 2 Mô hình Merlin
Trang 22.1 Phương pháp học chuyển giao
Với phương pháp này, chúng tôi giữ nguyên
kiến trúc của Merlin cho cả hai bước huấn
luyện mô hình gốc và thích ứng Đối với mô
hình gốc chúng tôi thử nghiệm theo 2 hướng:
- Xây dựng mô hình gốc một người nói
(OS - One speaker): Mô hình gốc sẽ được
huấn luyện trên bộ dữ liệu bao gồm một
người nói
- Xây dựng mô hình gốc nhiều người nói -
hay còn gọi là mô hình giọng trung bình
(AVM - Average voice model): Mô hình gốc
sẽ được huấn luyện trên bộ dữ liệu bao gồm
nhiều người nói
2.2 Phương pháp véc tơ mã hóa người nói
Hình 3 Phương pháp véc tơ mã hóa người nói
Để cải tiến cho phương pháp học chuyển
giao sử dụng mô hình giọng trung bình,
chúng tôi thêm thành phần véc tơ mã hóa
người nói (Speaker Embedding) nhằm bổ
sung thông tin về người nói cho thành phần
Parameter Generation
a) Mã hóa người nói bằng one-hot vector
1, 2, , xn1
X x x
One - hot vector là véc tơ có dạng:
Trong đó, n +1 bao gồm n người nói có
trong bộ dữ liệu được dùng để xây dựng mô
hình gốc và một người nói có trong bộ dữ
liệu được dùng để thích ứng
Trong quá trình xây dựng mô hình gốc,
với người nói thứ i ta có:
0
i
i
x
Trong quá trình thích ứng ta có:
n
i
x
x j n
b) Mã hóa người nói bằng x-vector
X-vector là véc tơ được trích xuất từ mô hình TDNN [5] X-vector thu được từ quá trình trên
là một véc tơ 200 chiều chưa thông tin mã hóa của người nói Do số chiều này là khá lớn nếu
so sánh tỷ lệ với các đặc trưng ngôn ngữ được
sử dụng Do đó, phương pháp phân tích thành phần chính (PCA) được sử dụng để giảm số
chiều véc tơ xuống còn 25 chiều
3 KẾT QUẢ NGHIÊN CỨU 3.1 Dữ liệu cho xây dựng mô hình gốc
Dữ liệu huấn luyện được chuẩn bị bao gồm:
- Dữ liệu cho mô hình gốc một người nói: bao gồm 8 giờ 35 phút giọng nói nữ với phương ngữ miền Nam
- Dữ liệu cho mô hình giọng trung bình: bao gồm 20 giờ 30 phút giọng nói của 60 người Trong đó có 30 nam, 30 nữ, mỗi người thu âm 160 câu
3.2 Dữ liệu cho thích ứng giọng nói
Để đánh giá được hiệu quả của các phương pháp thích ứng giọng, chúng tôi huấn luyện
mô hình tổng hợp tiếng nói sử dụng kiến trúc Merlin trong hai trường hợp nhiều dữ liệu (> 3 giờ) và ít dữ liệu (≤ 0,5 giờ)
Dữ liệu huấn luyện được chuẩn bị cho thích ứng giọng nói bao gồm:
- Hai tập dữ liệu: MALE (4 giờ 40 phút, giọng nam) và FEMALE (3 giờ 30 phút, giọng nữ) được chuẩn bị để huấn luyện mô hình tổng hợp tiếng nói
Hai tập dữ liệu: MALE-30 và
FEMALE-30 bao gồm FEMALE-30 phút dữ liệu được chọn ra tương ứng từ hai tập MALE và FEMALE được sử dụng để huấn luyện mô hình tổng hợp tiếng nói cũng như được sử dụng để thích ứng giọng nói
Để trích xuất x-vector, chúng tôi dụng mô hình đã được huấn luyện từ trước với tập dữ liệu VoxCeleb Đây là tập dữ liệu bao gồm các hơn một triệu đoạn tiếng nói, được trích xuất từ các video phỏng vấn được đăng tải lên YouTube Trong bộ dữ liệu có hơn 7000 người nói với nhiều ngôn ngữ khác nhau, tổng độ dài bộ dữ liệu là hơn 2000 giờ
Trang 33.2 Huấn luyện mô hình
Tập dữ liệu trên được chia theo tỉ lệ 90:5:5
tương ứng với tập huấn luyện, tập phát triển
và tập kiểm tra Các mô hình được huấn
luyện sử dụng thuật toán Stochastic Gradient
Descent với learning rate là 0.002, batch size
là 256 và số epoch là 25
3.2 Kết quả
Các mô hình được đánh giá độ tự nhiên
bằng điểm MOS (Mean Opinion Score) 18
người được mời nghe thử 120 mẫu và đánh
giá trên thang điểm 5 Kết quả được lấy trung
bình số điểm cho mỗi mô hình
Hình 4 Đánh giá điểm MOS trên các mô
hình giọng nam
Hình 5 Đánh giá điểm MOS trên các mô
hình giọng nữ
Dựa vào (hình 4) và (hình 5) có thể thấy
rằng các phương pháp được đề xuất đã cải
thiện rõ rệt độ tự nhiên của giọng nói tổng
hợp Trong đó nhóm phương pháp sử dụng
véc tơ mã hóa người nói cho kết quả tốt hơn
so với nhóm phương pháp học chuyển giao
Phương pháp mang lại hiệu quả tốt nhất đó là
phương pháp sử dụng x-vector để mã hóa người nói
4 KẾT LUẬN
Trong bài báo này, chúng tôi đã trình bày bốn phương pháp thích ứng giọng nói cho tổng hợp tiếng nói tiếng Việt Kết quả thử nghiệm cho thấy độ tự nhiên của giọng nói thích ứng được cải thiện đáng kể
Từ nghiên cứu này, chúng ta hoàn toàn có thể sử dụng để mở rộng sự đa dạng của một
hệ thống tổng hợp tiếng nói với lượng dữ liệu hạn chế Ngoài ra, các phương pháp này còn
có thể áp dụng cho các bài toán thích ứng cảm xúc, hay mô hình đa giọng nói, …
5 TÀI LIỆU THAM KHẢO
[1] Hieu-Thi Luong, Shinji Takaki, Gustav Eje Henter, Junichi Yamagishi, "Adapting and Controlling DNN-Based Speech Synthesis Using Input Codes," 2017 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP),
pp 4905-4909, 2017
[2] P Swietojanski and S Renals, "Learning hidden unit contributions for unsupervised speaker adaptation of neural network
acoustic models," in Proc IEEE Spoken
Language Technology Workshop, 2014
[3] Tomoki Toda, Alan W Black, Keiichi Tokuda, "Voice conversion based on maximum-likelihood estimation of spectral
parameter trajectory," IEEE Transactions
on Audio, Speech, and Language Processing, vol 15, pp 2222-2235, 2007
[4] Zhizheng Wu, Oliver Watts, Simon King,
"Merlin: An Open Source Neural Network
Speech Synthesis System," SSW, pp
202-207, 2016
[5] David Snyder, Daniel Garcia-Romero, Daniel Povey, Sanjeev Khudanpur, "Deep Neural Network Embeddings for Text-Independent Speaker Verification,"
INTERSPEECH 2017, 2017