Trong bài viết này, chỉ sử dụng các bước tiền xử lý đơn giản trên tập các đỉnh của tín hiệu tổng tích lũy của sóng tiếng nói hữu thanh, chúng tôi đã đề xuất một thuật toán mới để ước lượng các điểm PM mà không cần phải thực hiện bước ước lượng các giá trị F0. Thực nghiệm đã chứng tỏ phương pháp đề xuất cho kết quả tương đương với các phương pháp truyền thống.
Trang 1THUẬT TOÁN ƯỚC LƯỢNG CÁC ĐIỂM ĐÁNH DẤU PITCH CỦA SÓNG TIẾNG NÓI TRONG MIỀN THỜI GIAN DỰA TRÊN TẬP
ĐỈNH CỦA TÍN HIỆU TỔNG TÍCH LŨY
Tạ Yên Thái1 , Nguyễn Văn Hùng2, Vũ Thị Hải Hà3, Đặng Duy An4
Tóm tắt: Để định vị các điểm đánh dấu pitch (PM) của sóng tiếng nói, các thuật toán đã biết đều phải ước lượng các giá trị của đường F0 trước đó Đây là một bước yêu cầu sử dụng các mô hình phức tạp và không được diễn giải một cách trực quan
Trong bài báo này, chỉ sử dụng các bước tiền xử lý đơn giản trên tập các đỉnh của tín hiệu tổng tích lũy của sóng tiếng nói hữu thanh, chúng tôi đã đề xuất một thuật toán mới để ước lượng các điểm PM mà không cần phải thực hiện bước ước lượng các giá trị F0 Thực nghiệm đã chứng tỏ phương pháp đề xuất cho kết quả tương đương với các phương pháp truyền thống Ngoài ra bài báo cũng đề xuất một áp dụng của thuật toán mới để tổng hợp đường F0 của các âm tiết tiếng Việt dựa trên biểu diễn thanh điệu dạng qTA của Xu
Từ khóa: Hữu thanh/vô thanh; Điểm đánh dấu chu kỳ pitch; Epoch; Pulse, Đỉnh; Tổng tích lũy; Cộng chồng
đồng bộ; Tổng hợp tiếng nói; Mô hình Xu; Lương hóa xấp xỉ hướng đích qTA
1 MỞ ĐẦU
Để biến đổi đường F0 của một ngữ đoạn âm thanh, âm tiết thành một ngữ đoạn có đường F0 thay đổi, âm tiết mang thanh điệu khác, chúng ta cần xác định dạng đường F0 đích và các điểm đánh dấu pitch (PM-Pitch mark, hoặc các Pulse) của âm thanh gốc [1, 2], sau đó sử dụng một công cụ nắn chỉnh đường F0 chẳng hạn thuật toán PSOLA [3] Do vậy việc xác định giá trị đường F0 của ngữ đoạn tiếng nói, các điểm PM và cách điệu nó để khái quát cho đường F0 âm thanh đích là điểm quan trọng để tổng hợp tiếng Việt [3] Vấn đề ước lượng giá trị F0 cũng như xác định các điểm đánh dấu chu kỳ pitch (các điểm PM, cũng còn gọi là các điểm đánh dấu chu kỳ F0) hiện nay vẫn là vấn đề mở, có rất nhiều thuật toán để ước lượng F0 và xác định các điểm PM, xem chẳng hạn [2, 4-7] Ngoài
ra, hầu hết phương pháp đều dựa trên thuật toán quy hoạch động kiểu Talkin [6], kỹ thuật xác định PM dựa trên nhiều giai đoạn [2], kỹ thuật xác định PM trong miền tần số [7] v.v
Các tiếp cận xác định các điểm PM của sóng tiếng nói, nói chung lựa chọn các điểm
PM dựa trên các điểm đỉnh hoặc thung lũng của sóng tiếng nói [7,8] Ngoài ra còn có tiếp cận dựa trên các điểm Pulse (xung) kiểu phần mềm Praat [9] Các điểm Pulse của Praat được xác định xung quanh các điểm tại đó tín hiệu tiếng nói đổi dấu từ âm sang dương, các điểm thung lũng hoặc đôi khi là các đỉnh
Các phương pháp xác định các điểm PM hiện nay đều bao gồm hai bước: đầu tiên là ước lượng các giá trị F0 của phần tiếng nói hữu thanh (tạm gọi là các giá trị F0 ”thô”), sau
đó mới định vị các điểm PM Điều này xuất phát từ nguyên nhân là biên độ tín hiệu tiếng nói miền thời gian thường rất biến đổi xung quanh các điểm PM Một điểm PM không nhất thiết là điểm có biên độ lớn hơn so với một đỉnh sóng tiếng nói khác ở kề nó Vì vậy, nếu có thể xác định được các điểm PM dựa trên trực tiếp sóng tiếng nói và không cần phân chia tín hiệu tiếng nói đầu vào thành các khung (yêu cầu bắt buộc khi cần ước lượng F0) thì việc tính toán sẽ rất đơn giản, không phải vận dụng các phép biến đổi tín hiệu sang miền tần số và kết quả các điểm PM cũng không bị ảnh hưởng của tham số độ dài một khung Đây chính là tiếp cận mới được chúng tôi đề xuất trong bài báo này
Phần còn lại của bài báo được tổ chức như sau: Phần 2, trình bày một số nghiên cứu liên quan của thuật toán Talkin theo tiếp cận tối ưu hàm mục tiêu dạng quy hoạch động,
Trang 2tiếp cận xác định các điểm chu kỳ dựa trên các điểm Pulse của Praat; Phần 3 là đề xuất thuật toán sử dụng tín hiệu tổng tích lũy để xác định các điểm PM; Các kết quả thực nghiệm đưa ra trong phần 4; Kết luận được cho trong phần 5
2 NGHIÊN CỨU LIÊN QUAN
Trong các công trình [2,6,8,9,10,11] các thuật toán định vị các điểm PM thường gồm hai bước xử lý, trong đó bước đầu tiên là ước lượng các giá trị F0 thô bằng việc bằng việc
sử dụng hệ số tự tương quan ( nói chung giá trị F0 thô được ước lượng ở bước này là không tạo ra một đường trơn) Tín hiệu tiếng nói đầu vào được chia thành các khung thời gian ngắn (gọi là frame) có độ dài như nhau và nằm trong khoảng 10-30 ms (mili giây), hai khung liên tiếp chồng lên nhau với độ dài chồng lên nhau là hằng số P (P thuộc khoảng 5-15ms)
Trên mỗi khung thời gian ngắn framet, ta tính các hệ số tự tương quan sau:
1
, 0
M k def
i
, ở đây {frame (i)}t i M01 là các mẫu tín hiệu tiếng nói của framet , M là số lượng mẫu của framet và T là số lượng khung Tiếp theo, chúng ta có thể ước lượng một giá trị F0 của khung tính hiệu ngắn framet như sau:
0
0,
( ) s
t
f
F t
k
, ở đây fs là tần số lấy mẫu của tín hiệu tiếng nói và
def
1 1
{R } arg max
k M
k
Độ chính xác của ước lượng F0 thô theo công thức trên phụ thuộc vào tham số độ dài của một khung (với tiếng nói có tần số F0 thấp như giọng nam chẳng hạn tham số độ dài cửa sổ phải đủ lớn), ngoài ra có thể k0,t không là đỉnh phù hợp [6]
Về một phương pháp chuẩn hóa hệ số tự tương quan và ước lượng F0 khác sử dụng thuật toán quy hoạch động(để chọn đỉnh phù hợp) có thể xem thuật toán RAPT [6]}
3 KỸ THUẬT ĐỀ XUẤT
Trong phần này, chúng tôi trình bày kỹ thuật xác định các điểm PM trong tập hợp các đỉnh của tín hiệu tổng tích lũy Sử dụng tín hiệu tổng tích lũy, các đỉnh (peaks, điểm cực đại địa phương) của tín hiệu này được biên tập (loại bỏ, chèn và thay thế) thông qua nhiều bước tiền xử lý Các bước tiền xử lý là tương đối đơn giản, không cần những tính toán phức tạp do đặc điểm của tín hiệu tổng tích lũy Tiếp theo chúng tôi đề xuất các phương pháp xác định các điểm chu kỳ pitch dựa trên đỉnh, hoặc điểm thung lũng hoặc điểm tại đó tín hiệu tiếng nói gốc
3.1 Phân đoạn tiếng nói và quyết định hữu thanh/vô thanh
Bước đầu tiên để xác định các điểm chu kỳ pitch của một ngữ đoạn tiếng nói là phân đoạn tiếng nói/nền và thiết lập quyết định tính hữu thanh/vô thanh cho từng đoạn tiếng nói
Để thực hiện nhiệm vụ này, ở đây chúng tôi sử dụng các giá trị năng lượng và các giá trị
đo số lần đổi dấu của tín hiệu tiếng nói gốc như sau:
Giá trị năng lượng của một khung:
2
( 1)*
0
1, ,
M def
i
,
(2)
Độ đo số lần đổi dấu tính từ một mẫu và trở về trước được xác định như sau:
1
1
1
2
m
x
n m M
sign x sign x
M
Trang 3, N là số lượng mẫu của sóng tiếng nói đầu vào và sign(x) là hàm dấu của x
Chúng ta có 2 luật quyết định như sau:
A1: Khung tiếng nói
0
t
0 *max{ }1
t T
A2: mẫu xm là thuộc phần vô thanh nếu
( )
Các tham số E và z được xác định bằng thực nghiệm (chẳng hạn, có thể chọn E = 1/30, z = 0.17)
3.2 Tập đỉnh của tín hiệu tổng tích lũy và phương pháp xác định các điểm PM của tín hiệu tiếng nói gốc
Định nghĩa 3.1:
Trên đoạn tiếng nói miền thời gian (hoặc miền tần số) không giảm tính tổng quát giả
sử tín hiệu x được lấy mẫu trong đoạn [-a, a] với a>0 nào đó, x{x }j 1 j N chúng ta xác định dãy tổng tích lũy s{s }j 1 j N, trong đó
1 1
s x
def
1 j
1
2, ,
j
Hình 1 (a) Câu “Trời nghe trở gió ầm ầm trên mặt nước” trích trong truyện “Dế mèn
phiêu lưu ký” và (b) Tín hiệu tổng tích lũy của đoạn tín hiệu âm tiết /gió/
Với x {x }j 1 j N, chúng ta ký hiệu zx và zx là hai tập giá trị thời gian tại đó tín hiệu tiếng nói đổi dấu từ dương sang âm và ngược lại như sau:
| 0 1 0 , | 0 1 0
Ngoài ra, chúng ta cũng ký hiệu
def i
x i x
def i
và peak(x) là tập đỉnh của x (để xác định peak(x), xem [14])
Chúng ta có các tính chất sau thể hiện tính chất của các đỉnh của tín hiệu tổng tích lũy
và quan hệ của nó với các điểm tín hiệu của tiếng nói gốc:
Tính chất 1:
(i) peak s z x và peak s z x, trong đó s là tín hiệu tổng tích lũy của x
(ii) Nếu i j , x thì s si, i1, , sj là một dãy số đơn điệu tăng, và nếu i j , x
thì s si, i1, , sj là một dãy số đơn điệu giảm
Chứng minh
1
Trang 4Do đó peak s zx
(ii)
0
k
Ngoài ra, i j , x k i j , 1, xk 0 sk1 sk xk 0 sk1 sk
Hình 2 dưới đây thể hiện mục (i) của tính chất 1 Các điểm PM định vị tại các điểm đỉnh của tín hiệu tổng tích lũy được khoanh vòng tròn nhỏ, quy chiếu về tiếng nói gốc, chúng là các điểm tín hiệu tiếng nói gốc tại đó tín hiệu gốc đổi dấu từ dương sang âm
(a) Quy chiếu các đỉnh của tín hiệu tổng tích lũy về các điểm thời gian của tín hiệu tiếng
nói gốc( các điểm đổi dấu được khoanh tròn nhỏ)
(b) Các đỉnh của tín hiệu tổng tích lũy tương ứng
Hình 2 Quy chiếu các đỉnh của tín hiệu tổng tích lũy sang điểm tín hiệu
của tiếng nói gốc (các đỉnh khoanh tròn, tại các điểm này, tín hiệu tiếng nói gốc đổi dấu từ dương sang âm của)
Hình 3 Phân đoạn tự động thành 7- đoạn hữu thanh của câu “Đừng lo, xem mây vận trời
đêm nay có cơ đổi gió.” – Trích truyện “Dế mèn phiêu lưu ký”, mỗi đoạn được hiển thị trong một cặp đường viền đứt nét đỏ-xanh( sử dụng thuật toán 1 bước 1)
Hình 3 ở trên thể hiện quá trình xác định tín hiệu tổng tích lũy của các đoạn hữu thanh của tín hiệu tiếng nói đầu vào Ở đây nhấn mạnh rằng tín hiệu tổng tích lũy không được tính chỉ duy nhất một lần trên toàn bộ tín hiệu tiếng nói gốc
Hình 4 (a) Một phần tín hiệu của đoạn thứ hai trong 7- đoạn hữu thanh
và (b) Tín hiệu tổng tích lũy tương ứng
Trang 5Trên hình 4.b ta thấy tín hiệu tổng tích lũy có đỉnh nổi hơn rất nhiều so với các đỉnh của tín hiệu tiếng nói gốc Các đỉnh là điểm đánh dấu pitch của tín hiệu tiếng nói gốc có thể không phân biệt về giá trị biên độ so với các đỉnh tín hiệu xung quanh Ngược lại với tín hiệu tổng tích lũy, các đỉnh là điểm đánh dấu pitch thường có giá trị biên độ cao hơn các điểm tín hiệu xung quanh Từ đây chúng tôi đề xuất một tiếp cận mới, đó là việc tìm điểm đánh dấu pitch dựa trên đỉnh sóng âm gốc sẽ được thay thế bằng việc xác định các điểm PM
từ tập đỉnh của tín hiệu tổng tích lũy của tín hiệu gốc (xem mục (i) của tính chất 1)
Các tập đánh dấu pitch:
Tiếp theo, chúng tôi đề xuất các cách xác định các PM của tín hiệu tiếng nói gốc Xuất phát từ tập PM của tín hiệu tổng tích lũy chúng tôi xác định các tập PM của tiếng nói gốc dựa trên tập đỉnh hoặc tập thung lũng của nó
Định nghĩa 3.1: Giả sử x{x }j 1 j N là một đoạn tín hiệu tiếng nói hữu thanh và
j 1
{s } j N
s là tín hiệu tổng tích lũy của x Giả sử PMZ x pmzj
là tập PM của s (được xác đinh trong tập đỉnh của s)
Chúng ta ký hiệu PMZ x, PM xvà PM x là 3 tập PM suy dẫn từ các giá trị PM kề nhau của PMZ x , chúng được xác định như sau:
1
def
PMZ k j k lpeak s pmz l pmz (9)
1
def
PM k j k l lpeak x pmz l pmz (10)
1
def
Để xác định tập các điểm chu kỳ pitch PMZ xtrước hết chúng ta cần xác định tập các đỉnh của tín hiệu tổng tích lũy peak(sk), sau đó sử dụng các luật loại bỏ và chèn để chọn ra các điểm chu kỳ pitch của tín hiệu tiếng nói gốc
Do các tính chất toán học của tín hiệu tổng tích lũy chúng ta sử dụng các luật đơn giản
và trực giác sau để xác định PMZ xtrên mỗi đoạn tiếng nói hữu thanh thứ k:
B1: (Chọn phần tử PM đầu tiên) PMZ k x, {p k,1},
trong đó:
, { }
{ }
, arg min
k
k
k n def
n peak s
n peak s k
s
peak s
(12)
(PM đầu tiên pk,1 của sk, là đỉnh đầu tiên của sk có biên độ không dưới ngưỡng meank)
B2: (Bổ sung một PM tạm thời tiếp theo) Nếu tồn tại m peak(sk) và
, [fs / 0,max,fs / 0,min]
k j
với p k j, max{PMZ k x, }thì PMZ k x, PMZ k x, { }m
B3: (Xóa một PM tạm thời) Nếu có 2 PM tạm thời liên tiếp pk,j-1, pk,jPMZ k x, sao cho:
, 1
, p k j [fs / 0,max,fs / 0,min]
k j
thì PMZ k x, PMZ k x, \ {p k j, }
B4: (Xóa một PM tạm thời) Nếu có 3 PM tạm thời liên tiếp pk,j-1, pk,j, pk,j+1 PMZ k x,
sao cho
Trang 6, , 1 , , 1 , , 1 , 1 , , , 1 , 1 , ,
k j
thì PMZ k x, PMZ k x, \ {p k j, }
B5: (Chèn một đỉnh vào tập PM tạm thời) Nếu có 3 PM tạm thời liên tiếp pk,j-1, pk,j,
pk,j+1 PMZ k x,
sao cho
, 1 , * ( , , 1 )
k j k j k j k j
p p p p (16) thì PMZ k x, PMZ k x, { }m , với m được chọn:
( k) : k j k j , ( k j k j ) / 2 min
( là một tham số thực nghiệm, > 1)
B6: (Thay thế giá trị của một PM tạm thời) Nếu có 3 PM tạm thời liên tiếp pk,j-1, pk,j ,
pk,j+1 PMZ k x,
sao cho:
, / 2, , / 2 , / 2, , / 2 , ,
thì gán lại pk,j = m, với Ldef min pk j, pk j, 1, pk j, 1 pk j,
Sử dụng các luật B1-B6, thuật toán xác định các PM từ tập đỉnh của tín hiệu tổng tích lũy được thiết lập như sau:
Thuật toán 1: EPM (Ước lượng các PM của tín hiệu tiếng nói)
Đầu vào: Tín hiệu tiếng nói{x }m 1 m N trong miền thời gian
Tần số lấy mẫu fs , [f0,min, f0,max] là khoảng các giá trị F0
Đầu ra: Số các đoạn hữu thanh K, các tập PM tương ứng với 4 kiểu
, 1 ,1 , 1 ,1
, 1 ,1 , 1 ,1
,
, với , 1 ,1 , , 1 ,1
là 2 tập PM kiểu truyền thống
Bước 1: Phân đoạn tín hiệu đầu vào {x }m 1 m N thành K đoạn hữu thanh,
,1 ,2
{x }
k k
m N m N và
còn lại là các đoạn vô thanh
Bước 2: Lặp, trên mỗi đoạn hữu thanh
,1 ,2
k k
m N m N k K xác định PMZ x k, : 2.1: Xác định tín hiệu tổng tích lũy
,1 ,2
k k
s k K sử dụng công thức (6) 2.2: Xác định tập đỉnh của sk, tính giá trị trung bình biên độ của các đỉnh của sk:
{ }
/ #
k
n peak S
2.3: Xác định PM đầu tiên của PMZ x k, bằng luật B1
2.4 Lặp lại các bước con 2.5-2.8 Khi ít nhất một trong các điều kiện của luật B2-B7 là đúng:
2.5 Sử dụng luật B2 để mở rộng PMZ x k,
2.6: Sử dụng luật B3 và B5 để rút gọn PMZ x k,
2.7: Sử dụng luật B5 để mở rộng PMZ x k,
2.8: Sử dụng luật B6 để gán lại giá trị của các phần tử của PMZ x k,
2.9: Dừng và thu được PMZ x k,
Trang 72.10: Xác định các tập PM từ các đỉnh của đoạn tiếng nói hữu thanh thứ k
,1 ,2
{x }
k k
m N m N
Với mỗi khoảng 2 PM liên tiếp của PMZx, tìm pm k j, max peak x n p k j, n p k j, 1
và thu được PM x k, {pm k j, }
2.11: Xác định các tập PM từ các điểm thung lũng của đoạn tiếng nói hữu thanh thứ k ,1 ,2
{x }
k k
m N m N
Với mỗi khoảng 2 PM liên tiếp của PMZx, tìm , min , , 1
k j k j
k j n p n p
và thu được PM x k, {pm k j, }
Bước 3: Xác định tập PM tương tự kiểu của Praat [9], tương tự như bước 2 ở trên, nhưng
lấy tại các điểm thung lũng của tín hiệu tổng tích lũy và chúng ta thu được ,
x k
PMZ
= p k j, của
,1 ,2
k k
m N m N k K
1
Z
x x k
k K
PMZ PM
, 1
Z
x x k
k K
PMZ PM
1
x x k
k K
PM PM
1
x x k
k K
PM PM
Trả lại: K, PMZ x,PMZ x,PM xvà PM x
Độ phức tạp thuật toán 1 là O(N)
Lưu đồ thuật toán đề xuất (Hình 5) được xây dựng như sau:
Hình 5 Lưu đồ xử lý của các thuật toán đề xuất
3.3 Áp dụng biến đổi thanh điệu của một âm tiết tiếng Việt
Để thử nghiệm thuật toán xác định PM đề xuất, trong phần này chúng tôi ứng dụng vào tổng hợp thanh điệu – chuyển một tín hiệu tiếng nói âm tiết mang thanh ngang (thanh
Tiền xử lý chọn các đỉnh xác định chu kỳ pitch
Xác định các điểm PM
Kết thúc
Bắt đầu Phân đoạn tiếng nói bằng các giá trị năng lượng
Phân đoạn hữu thanh/vô thanh bằng chỉ số ZC
Xác định tín hiệu tổng tích lũy trên mỗi đoạn hữu thanh
Xác định tập đỉnh của tín hiệu tổng tích lũy trên mỗi đoạn hữu thanh
Trang 8không dấu của các âm tiết không tận cùng là p-t-c/ch) thành các tín hiệu âm tiết mang dấu (huyền, sắc, nặng, hỏi và ngã)
Chúng ta có thể thực hiện các bước tiến phân tích để tổng hợp như sau:
Bước 1 Xác định đường cách điệu F0 của thanh điệu mong muốn sử dụng biểu diễn qTA
của mô hình Xu [12,13]:
f t at b ct dt g e (19)
Với một tín hiệu âm tiết cho trước, sử dụng một thủ tục tối ưu giải hàm mục tiêu (24) sau đây chúng ta sẽ ước lượng được bộ tham số [a,b,c,d,g,k] (λ > 0, đặt k=e-λ nên 0<k<1)
từ giá trị đường F0 làf0 t 0 t T
của sóng tín hiệu:
0
2 2
0
0 ( ) ( , , , , , ) ( ) t min
t T f NAN
Từ đó chúng ta xác định được các điểm PM của âm tiết mang đường nét F0 mới sẽ được tổng hợp
Bước 2 Xác định các điểm PM từ sóng âm tiết của âm tiết đầu vào theo thuật toán EPM
đề xuất
Bước 3 Sử dụng thuật toán PSOLA để chuyển sóng âm tiết đầu vào thành sóng âm tiết có
đường nét F0 sinh ra ở bước 1
Bây giờ, thuật toán 2 được đề xuất như sau:
Thuật toán 2: SynTone (Tổng hợp thanh điệu cho một tín hiệu âm tiết tiếng Việt)
Đầu vào: Tín hiệu tiếng nói xin trong miền thời gian của một âm tiết tiếng Việt có thanh điệu cho trước bất kỳ thuộc {ngang, huyền,sắc, nặng, hỏi ngã}
Tần số lấy mẫu fs
Tham số [atn,btn,ctn,dtn,gtn,ktn] biểu diễn thanh điệu đích tn thuộc {ngang, huyền,sắc, nặng, hỏi, ngã} cần tổng hợp theo dạng qTA ở công thức (19), 0< ktn < 1
> 0 là tham số độ rộng cửa sổ với đơn vị đo mili giây (ms)
N, M là độ dài tín hiệu âm tiết đầu vào và âm tiết tổng hợp, đơn vị tính là ms
Đầu ra: xout, sóng âm tiết có thanh điệu tn
Bước 1: Sử dụng giá trị fs, quy đổi N, M, sang đơn vị số mẫu
Bước 2: Xác định tập PM in(gán khởi đầu PM in(0)0) của sóng âm tiết đầu vào sử dụng thuật toán 1 đã đề xuất, chú ý là trên phần vô thanh chúng ta gán:
Bước 3 : Sinh đường F0 của âm tiết đích sử dụng công thức (19), cụ thể tính như sau:
2
f t a t b k c t d tg t T
, với T outM
(22)
Bước 4: Xác định tập PMouttheo công thức sau:
0,
, với Nout max{ : k PMout( ) k M }
Bước 5: Sử dụng thuật toán PSOLA [3] ta được:
xout = PSOLA(xin, PM in,PMout)
Trả về: Sóng tín hiệu xout âm tiết mang thanh điệu mới là tn
Trang 94 THỰC NGHIỆM 4.1 Dữ liệu thực nghiệm
Dữ liệu thực nghiệm gồm các tập tin ghi âm các âm tiết mang thanh điệu điển hình của một giọng nam để phân tích hiệu quả của cách ước lượng các điểm PM, một tập các phát
âm của âm tiết mang các thanh tiếng Việt để cách điệu hóa đường F0 điển hình của các thanh theo thuật toán 2 Tiếng nói được thu nhận trong môi trường văn phòng độ ồn thấp, tần số lấy mẫu là fs = 11025 Hz, định dạng 16 bit, đơn kênh
Các âm tiết được chọn để phát âm gồm hơn 6000 âm tiết rời của giọng nam/nữ và 581 câu giọng nữ (một phát thanh viên chuyên nghiệp, văn bản trích từ lấy từ truyện “Dế mèn phiêu lưu ký”) trong đó có sáu ngữ đoạn thể hiện trên văn bản của bài báo này với sự xuất
hiện đầy đủ của các thanh điệu tiếng Việt
4.2 Thử nghiệm xác định các điểm PM
Thuật toán 1 đương nhiên là tính toán đơn giản hơn so với thuật toán kiểu dùng quy hoạch động [6] để tối ưu hóa cách lựa chọn các PM từ tập các đỉnh của sóng tiếng nói Về
độ tin cậy của thuật toán 1, chúng tôi sẽ so sánh các PM đầu ra của thuật toán 1 với thuật toán kiểu tiếp cận của Talkin được cài đặt trong phần mềm Praat [9] Hình 6 dưới đây minh họa các vị trí của Pulse bằng phần mềm Praat[9]
Hình 6 Xác định các Pulse âm /bốn/ giọng nam bằng Praat [9]
Tham số f0min = 60Hz, f0max = 550Hz và ngưỡng loại bỏ âm nền e = 0.2 và ngưỡng quyết định hữu thanh/vô thanh z = 0.17 (để loại bỏ các phần tín hiệu vô thanh thuộc phụ
âm đầu và âm cuối) Ngoài ra chúng ta chọn = 1.6 cho luật R5 ở trên trong thực nghiệm Khi so sánh các thuật toán tính PM khác, như đã đề cập có nhiều cách tính PM, nên để
so sánh với một phương pháp cụ thể chẳng hạn như Pulse của Praat (gần các điểm tín hiệu đổi dấu từ âm sang dương), chúng tôi sẽ sử dụng tập các điểm PM xác định trên tập điểm thung lũng của tín hiệu tổng tích lũy (PMZ x), cũng như khi so sánh tập PM theo thuật toán Talkin ( xác định dựa trên các đỉnh của tín hiệu gốc) chúng tôi sẽ sử dụng tập điểm
x
PM
v.v
Hình 7 So sánh tập các điểm PM tại các điểm thung lũng của tín hiệu tổng tích lũy được
quy chiếu về các điểm của tín hiệu tiếng nói gốc (tại các điểm này tín hiệu tiếng nói gốc
đổi dấu từ âm sang dương) theo thuật toán 1 và tập Pulse của Praat
Trang 10Hình 7 ở trên minh họa các điểm PM được xác định xác định bằng tập PMZ x (xem định nghĩa 3.2 và thuật toán 1 mục 5) trên một đoạn hữu thanh Khi quy chiếu các điểm
PM này về tín hiệu tiếng nói gốc chúng là các điểm mà tại đó tín hiệu tiếng nói gốc đổi dấu từ âm sang dương
Bảng 1 So sánh kết quả tính PM trên một tín hiệu âm tiết
( đơn vị tính được quy đổi từ ms sang sample)
Giá trị tính được sử dụng Praat Giá trị tính được sử dụng thuật toán 1(
thuộc tậpPMZ x
)
154, 233, 314, 395, 469, 557, 655, 752,
848, 943,1038, 1133, 1227, 1321, 1413,
1504, 1595, 1684, 1773, 1860, 1946, 2028,
2111, 2197, 2273, 2343, 2411, 2468, 2534,
2600, 2654, 2715, 2778
84, 157, 237, 315, 400, 464, 551, 651, 748,
844, 939, 1035, 1129, 1223, 1316, 1408,
1500, 1590, 1680, 1802, 1855, 1941, 2024,
2107, 2193, 2277, 2338, 2409, 2471, 2546,
2609, 2663, 2725, 2789
So sánh 2 tập trên ta thấy thuật toán 1 và Praat trích rút ra dãy giá trị có số lượng chỉ chênh nhau 1
Praat thiếu vị trí bắt đầu là 84, thuật toán 1 xác định đúng vị trí bắt đầu
Các vị trí khác cơ bản sai lệch nhau chỉ vài mẫu, chẳng hạn cặp (154,157); (551,557);
… (2789, 2778)
Phần hữu thanh xung quanh vùng nguyên âm /ô/ sự sai lệch là nhỏ hơn vùng gần cuối (âm /n/ kết thúc âm tiết) chẳng hạn như cặp (2028,2024) so với cặp (2789,2778)
Tại vùng bắt đầu cho tới kết thúc phần nguyên âm, vị trí tính được của thuật toán 1 quan sát bằng mắt chính xác hơn kết quả của Praat
Hình 8 (a) Sóng âm gốc /mười/ và (b) Tín hiệu tổng tích lũy
Hình 8 ở trên thể hiện rõ các đỉnh của tín hiệu tổng tích lũy nổi hơn rất nhiều so với các đỉnh chu kỳ pitch của sóng âm gốc
Trở lại hình 4, so sánh tập các điểm PM trích chọn từ tập đỉnh của tín hiệu tổng tích lũy
và tập Pulse của Praat nhờ thuật toán 1, chúng ta cũng thấy sai lệch số lượng điểm đánh dấu chỉ là 2 vị trí cuối và vị trí các điểm đánh dấu PM tương ứng còn lại của hai thuật toán không quá 3( sai số quy đổi là 0.000272 giây)
Bảng 2 dưới đây thể hiện một kết quả tính PM của Praat và PMZ x của thuật toán 1 Các số liệu này được sử dụng để minh họa ở hình 11 và 12 dưới đây
Bảng 2 So sánh kết quả tính PM trên tín hiệu một ngữ đoạn đọc tự nhiên
Giá trị tính được sử dụng Praat Giá trị tính được sử dụng thuật toán 1
16231 16267 16303 16340 16377 16415
16452 16490 16529 16567 16605 16644
1668216721 16760 16799 16838 16877
16916 16955 …
16232 16268 16305 16342 16379
16417 16454 16492 16530 16569 16607
16646 16684 16723 16762 16801 16841
16887 16926 16965 …