3. Xây dựng bộ tổng hợp tiếng Việt chất lượng tốt
3.2. Các đề xuất cân bằng tham số tại vị trí ghép nố
Tổng hợp tiếng nói bằng phương pháp ghép nối từ các đơn vị âm không đồng nhất (non-uniform unit) là vấn đề đã được thực hiện từ rất sớm. Song cho đến nay những tồn tại của vấn đề này vẫn luôn mang tính thời sự và thu hút được quan tâm, đó là việc xử lý tín hiệu tại điểm ghép nối. Bằng những nghiên cứu và đánh giá về ảnh hưởng của các tham số cơ bản đến chất lượng tiếng Việt tổng hợp bằng phương pháp ghép nối, chúng tôi có thể chỉ ra một số tham số cơ bản có ảnh hưởng như: biên độ, tần số cơ bản F0 và phổ (hay các formant). Các tham số này có thể dễ dàng nhận ra khi ta quan sát tín hiệu trong miền thời gian hoặc tần số như trên hình 2 và hình 3.
Bắt đầu
Kết thúc
Đọc tín hiệu của 2 đơn vị âm từ cơ sở dữ liệu
Xác định điểm ghép của đơn vị âm đầu với đơn vị âm cuối Xác định 2 đơn vị âm để
tổng hợp
Ghép đơn vị âm đầu và đơn vị âm cuối tạo thành một âm tiết
Hình 3 cho thấy sự gián đoạn và không liên tục của các tham số biên độ, phổ và tần số cơ bản F0 so với tín hiệu gốc trên hình 2.
Hiện nay, có rất nhiều công trình nghiên cứu về vấn đề này trên thế giới, tuy nhiên với mỗi ngôn ngữ lại có những đặc trưng riêng, nên chúng cũng cần có những cách giải quyết khác nhau. Vì vậy, trong phần này, chúng tôi xin trình bày các đề xuất cân bằng biên độ, tần số cơ bản và phổ đối với tiếng Việt.
a. Cân bằng biên độ
Để cân bằng biên độ có rất nhiều cách để thực hiện, tuy nhiên việc cân bằng phải đảm bảo đoạn tín hiệu tiếng nói sau khi được cân bằng sẽ có ít thay đổi nhất so với tín hiệu gốc ban đầu. Dựa trên cơ sở đó, ý tưởng của chúng tôi là sẽ cân bằng biên độ của đơn vị âm đầu theo đơn vị âm cuối. Sở dĩ chọn đơn vị âm đầu vì đoạn tín hiệu âm đầu thường ngắn hơn so với đơn vị âm cuối, nên khi cân bằng chúng sẽ ít bị ảnh hưởng hơn.
Các bước thực hiện như sau:
Hình 3: Tín hiệu tiếng nói của từ ‘tải’ sau khi ghép đơn vị âm đầu và đơn vị âm cuối.
(B)Đoạn tín hiệu của đơn vị âm đầu (B) Đoạn tín hiệu của đơn vị âm cuối
Hình 2: Tín hiệu tiếng nói tự nhiên của từ ‘tải’
(A) Biểu diễn miền thời gian (D)Biểu diễn các formant (E) Biểu diễn F0
Bước 1: Tìm giá trị biên độ lớn nhất của đơn vị âm đầu và đơn vị âm cuối.
Bước 2: Tính hệ số tương ứng bằng cách lấy giá trị lớn nhất của đơn vị âm cuối chia giá trị lớn nhất của đơn vị âm đầu.
Bước 3: Tính lại các giá trị mẫu của đơn vị âm đầu bằng cách nhân với hệ số đã tính ở bước 2.
Hình 4 là tín hiệu tổng hợp của từ “tải”. Hình 4a là tín hiệu biểu diễn trên miền thời gian của từ tổng hợp chưa được cân bằng biên độ, trong đó biên độ của đơn vị âm đầu lớn hơn so với đơn vị âm cuối. Tuy nhiên, sau khi cân bằng biên độ của đơn vị âm đầu theo đơn vị âm cuối thì sự chệnh lệnh là không đáng kể, như trên hình 4b.
b. Cân bằng tần số cơ bản F0
Đối với tiếng Việt, khi thay đổi tần số F0 sẽ làm thay đổi thanh điệu, ngữ điệu và nhiều thông tin quan trọng khác trong tiếng nói tổng hợp. Chính vì vậy, việc cân bằng tham số F0 là điều rất quan quan trọng nhằm nâng cao chất lượng tiếng Việt tổng hợp. Nhiều giải pháp được đưa ra để cân bằng tần số cơ bản F0 tại vị trí ghép nối như thuật giải “shift only”, “residual resampling”, “multiplex window processing” trong các bài báo [2],[5]. Tuy nhiên, ý tưởng của chúng tôi là chỉ làm thay đổi giá trị F0 trong đoạn nguyên âm bên đơn vị âm đầu theo giá trị F0 bên đơn vị âm cuối. Phương pháp này được chúng tôi thực hiện bằng thuật giải PSOLA.
Giải pháp và các bước thực hiện như sau:
(b) (a)
Hình 4– Tín hiệu tiếng nói tổng hợp của từ ‘tải’
(a). Chưa cân bằng biên độ. (b). Đã cân bằng biên độ
Bước 1: Xác định tần số cơ bản đoạn nguyên âm của đơn vị âm đầu và đơn vị âm cuối ta gọi tương ứng là F01 và F02
Bước 2: Thay đổi tần số F01 của đoạn tín hiệu nguyên âm bên đơn vị âm đầu theo tần số F02 bên đơn vị âm cuối bằng thuật giải PSOLA.
Hình 5 là kết quả cân bằng tần số F0 của từ ‘tải’. Đường (a) là F0 của từ đã được tổng hợp nhưng chưa thực hiện cân bằng F0. Đường (b) là F0 của từ ‘tải’ sau khi đã áp dụng thuật giải để cân bằng F0.
Hình 5 – Tần số cơ bản F0 của từ ‘tải’ được tổng hợp
(a). Chưa cân bằng F0. (b). Đã cân bằng F0 b. Làm trơn phổ
Quá trình làm trơn phổ tại vị trí ghép nối sẽ được thực hiện sao cho, cân bằng phổ của đoạn tín hiệu nguyên âm bên đơn vị âm đầu theo phổ của phần nguyên âm bên đơn vị âm cuối bằng phương pháp LPC. Mục đích là tạo ra tín hiệu mới sẽ mang một phần thông tin của đoạn tín hiệu ban đầu, song thông tin về phổ sẽ được điều khiển để gần giống với phổ của đoạn tín hiệu thuộc nguyên âm của đơn vị âm cuối.
Quá trình được tiến hành theo các bước như sau: Tìm các hệ số LPC(sử dụng thuật giải Levinson-Durbin) của đoạn tín hiệu hữu thanh thuộc đơn vị âm đầu (ở đây ký hiệu là ai1) và các hệ số LPC của đoạn tín hiệu nguyên âm thuộc đơn vị âm cuối (ở đây ký hiệu là ai2). Sau đó, các tham số ai1 được sử dụng để tính tín hiệu kích thích cho tuyến âm. Còn các hệ số ai2 sẽ được sử dụng làm các tham số của tuyến âm khi tổng hợp. Chi tiết xem trên hình 6
Hình 6 – Qui trình làm cân bằng phổ tại vị trí ghép nối
(a). Đoạn tín hiệu nguyên âm thuộc đơn vị âm đầu (b). Đoạn tín hiệu nguyên âm thuộc đơn vị âm cuối (c ). Đoạn tín hiệu mới được tổng hợp bằng phương pháp LPC
Hình 7 kết quả làm trơn phổ (formants) lại vùng ghép nối của từ “của”. Hình 7(A) là phổ của từ trước khi thực hiện làm trơn phổ. Hình 7(B) là phổ của từ sau khi thực hiện cân bằng phổ.
Hình 7 – Kết quả cân bằng phổ của từ ‘cần’ (A) trước (B) sau cân bằng
+
Tính hệ số tiên đoán LPC: ai1
i=1..P (P=8..14) Tính hệ số tiên đoán LPC: ai2
i=1..P (P=8..14) Tính tính hiệu kích thích: p k k n y k a n y n y n y n e 1 1 ~ Tổng hợp tín hiệu: y1 p k k n y k a n e n y 1 1 2 1( ) ( ) (a) ( c) (b)
Hình 8 – Đường bao phổ trên các đoạn tín hiệu của từ “tải”
(a). Đường bao phổ của đoạn tín hiệu thuộc đơn vị âm cuối của từ. (b). Đường bao phổ của đoạn tín hiệu trước cân bằng phổ của từ. (c). Đường bao phổ của đoạn tín hiệu sau cân bằng phổ của từ.
Hình 8 cho thấy sự chênh lệnh giữa đường bao phổ của đoạn tín hiệu gốc thuộc đơn vị âm đầu ứng với đường (a) so với đường bao phổ của đoạn tín hiệu thuộc đơn vị âm cuối ứng với đường (b) là rất lớn, đặc biệt trong vùng I, vùng II và vùng III. Tuy nhiên, sau khi đã sử dụng thuật toán làm trơn phổ, thì sự chênh lệnh này đã giảm đi đáng kể. Đường bao phổ của đoạn tín hiệu mới sau khi đã sử dụng thuật giải làm trơn phổ ứng với đường (c).