Thuậ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ó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.

pdf 15 trang yennguyen 3800
Bạn đang xem tài liệu "Thuậ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ải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Thuậ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

Thuậ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
Nghiên cứu khoa học công nghệ 
Tạp chí Nghiên cứu KH&CN quân sự, Số 58, 12 - 2018 147
THUẬ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, 
Công nghệ thông tin & Cơ sở toán học cho tin học 
T. Y. Thái, , Đ. D. An, “Thuật toán ước lượng các điểm  tín hiệu tổng tích lũy.” 148 
tiế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
0,M 1, ( ) ( ),1
M kdef
k t t t
i
k R frame i frame k i t T
  
(1) 
, ở đây 1t 0{frame (i)}
M
i
 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
0, ,
1 1
{R }arg maxt k t
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, ,
Mdef
t t M i
i
t T E x 
 
, 
(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
( ) , 1,
2
m
n n
x
n m M
sign x sign x
Z m m M N
M
  , (3) 
Nghiên cứu khoa học công nghệ 
Tạp chí Nghiên cứu KH&CN quân sự, Số 58, 12 - 2018 149
, 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 
0t
frame là thuộc nền nếu 
0 1
*max{ }t E t
t T
E E 
(4) 
A2: mẫu xm là thuộc phần vô thanh nếu 
( )x zZ m (5) 
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 đó, 
j 1
{x }
j N
x
 chúng ta xác 
định dãy tổng tích lũy j 1{s } j Ns , trong đó 
1 1s x 
def
1 j
1
2, ,
j
j j tj N s s x x dt  
(6) 
(a) (b) 
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 j 1{x } j Nx , chúng ta ký hiệu xz
 và xz
 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: 
  
1 1
| 0 0 , | 0 0
def def
x i i x i i
z i x x z i x x
   (7) 
Ngoài ra, chúng ta cũng ký hiệu 
 | 0
def
ix i x
 , | 0 .
def
ix i x
 (8) 
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) xpeak s z
  và xpeak s z
  , trong đó s là tín hiệu tổng tích lũy của x. 
(ii) Nếu ,i j x  thì 1, ,..,i i js s s là một dãy số đơn điệu tăng, và nếu ,i j x  
thì 1, ,..,i i js s s là một dãy số đơn điệu giảm. 
Chứng minh. 
(i) 
 1 1 1 1 1
1
0 0
0 0
i i i i i i i i i i
i i x
s s s s x s s x s s
x x i z
i peak s 
   
  
 
Công nghệ thông tin & Cơ sở toán học cho tin học 
T. Y. Thái, , Đ. D. An, “Thuật toán ước lượng các điểm  tín hiệu tổng tích lũy.” 150 
Do đó xpeak s z
  . 
(ii) 
1 1
, , 1, 0
0
k
k k k k k
i j x k i j x
s s x s s
  
. 
Ngoài ra, 1 1, , 1, 0 0k k k k k ki j x k i j x s s x s s
   
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. 
(a) (b) 
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. 
Nghiên cứu khoa học công nghệ 
Tạp chí Nghiên cứu KH&CN quân sự, Số 58, 12 - 2018 151
Trê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ử j 1{x } j Nx là một đoạn tín hiệu tiếng nói hữu thanh và 
j 1{s } j Ns là tín hiệu tổng tích lũy của x. Giả sử x jPMZ pmz là tập PM của s 
(được xác đinh trong tập đỉnh của s). 
Chúng ta ký hiệu xPMZ
 , 
x
PM và 
x
PM là 3 tập PM suy dẫn từ các giá trị PM kề 
nhau của xPMZ
 , chúng được xác định như sau: 
1{ / , min{l/ ( ), }
def
x j jPMZ k j k l peak s pmz l pmz
  (9) 
1{ / : min{ / ( ), }}
def
x j jPM k j k l l peak x pmz l pmz
  (10) 
1/ , min{ / ( ), }}
def
x j jPM k j k l l peak x pmz l pmz
  (11) 
Để xác định tập các điểm chu kỳ pitch xPMZ
 trướ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 xPMZ
 trên mỗi đoạn tiếng nói hữu thanh thứ k: 
B1: (Chọn phần tử PM đầu tiên) , ,1{ }k x kPMZ p
 , 
trong đó: 
 
,
{ }
,1 ,
{ }
, arg min
# { }
k
k
k ndef
n peak s
k k k n k
n peak sk
s
mean p s mean
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à 
, 0,max 0,min[fs / ,fs / ]k jm p f f (13) 
với 
, ,max{ }k j k xp PMZ
 thì , , { }k x k xPMZ PMZ 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,j ,k xPMZ
 sao cho: 
, 1, 0,max 0,min[fs / ,fs / ]k jpk jp f f (14) 
thì 
, , ,\{ }k x k x k jPMZ PMZ p
 . 
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 ,k xPMZ
 sao cho 
Công nghệ thông tin & Cơ sở toán học cho tin học 
T. Y. Thái, , Đ. D. An, “Thuật toán ước lượng các điểm  tín hiệu tổng tích lũy.” 152 
, , , , 1 , 1 , , , 1 , 1 ,, 1 , 1,
min , min{ , } 0.5*max{ , }, k p k p k j k j k j k j k j k j k j k jk j k jk j
s s s p p p p p p p pk p
  
 
 
  (15) 
 thì , , ,\{ }k x k x k jPMZ PMZ p
 . 
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 ,k xPMZ
 sao cho 
, 1 , , , 1* ( )k j k j k j k jp p p p (16) 
 thì , , { }k x k xPMZ PMZ m
  , với m được chọn: 
, , 1 , , 1( ) : , ( ) / 2 mink k j k j k j k jm peak S p m p m p p (17) 
( 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 ,k xPMZ
 sao cho: 
, ,
, , , ,/2, /2
/ 2, / 2
k j k j
k j k j k t k mp T p T
m peak S t p L p L s s
    (18) 
thì gán lại pk,j = m, với 
def
, , 1 , 1 ,min ,k j k j k j k jL p p p p 
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 1{x }m 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 
  
  
,2 ,2
, ,1 ,1 1 ,1
, ,1 ,1 1 ,1
, ,
,
k k
k k
k j k jk K j n k K j n
k j k jk K j n k K j n
pm pm
p p
, với  , ,1 ,1 1 ,1,k kk j k jk K j n k K j npm pm 
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 1{x }m m N thành K đoạn hữu thanh, ,1 ,2{x } k km 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
{x } , 1,
k km N m N
k K xác định ,x kPMZ
 : 
2.1: Xác định tín hiệu tổng tích lũy 
,1 ,2k
={s } , 1,
k km N m N
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
k k n k n
n peak S
mean s peak s
  
2.3: Xác định PM đầu tiên của 
,x kPMZ
 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ụn ... ỡ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 ( xPMZ
 ), 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 
xPM
 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. 
Công nghệ thông tin & Cơ sở toán học cho tin học 
T. Y. Thái, , Đ. D. An, “Thuật toán ước lượng các điểm  tín hiệu tổng tích lũy.” 156 
Hình 7 ở trên minh họa các điểm PM được xác định xác định bằng tập xPMZ
 (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ập
x
PMZ ) 
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. 
(a) (b) 
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à 
x
PMZ 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  
Nghiên cứu khoa học công nghệ 
Tạp chí Nghiên cứu KH&CN quân sự, Số 58, 12 - 2018 157
Tuy nhiên trong sự sai lệch này không phải Praat là kết quả ước lượng chuẩn hơn mà 
kết quả tính bằng thuật toán 1 là dễ nhận thấy hơn kết quả của Praat khi quan sát bằng mắt 
trực tiếp sóng âm thanh như thể hiện ở hình 9 và hình 10 dưới đây. 
Hình 9. Một điểm Pulse xác định bằng Praat [9]. 
Hình 10. Một điểm Pulse xác định bằng thuật toán 1 (đề xuất). 
Hình 10 chỉ ra chính xác điểm quy chiếu từ các điểm PM của tín hiệu tổng tích lũy 
sang 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ừ dương sang 
âm, trong khi kết quả tính của Praat là kém trực quan hơn. 
Thực nghiệm so sánh trên ngữ đoạn tiếng nói 
Trong thực nghiệm này chúng tôi sử dụng phương pháp xác định các điểm PM dựa 
trên các điểm pulse của Praat [9]. Sau đó chúng tôi tiến hành so sánh từng tập điểm PP 
(Pulse xác định bằng Praat) với tập điểm xPMZ
 tương ứng được xác định bằng thuật 
toán 1 đề xuất. 
Để so sánh 2 tập PM trên cùng một đoạn tiếng nói hữu thanh, chúng tôi sử dụng một độ 
đo kiểu khoảng cách soạn thảo (Về một kết quả liên quan, chúng ta có thể xem trong [15]) 
Đầu tiên, giả sử 
1
m
I i i
PM pm
 và '
1
n
J j j
PM pm
 , ,và chúng ta giá trị đo 
DPM(PMI,PMJ) bằng: 
   ', 1 1( , ) , / min{m,n}
def
nm
PM I J m n i ji j
D PM PM D pm pm
 (24) 
trong đó, '
1,1 1 1D pm pm và ', , 1 1, 1, 1min , , , 2i j i j i j i j i jD pm pm D D D i j  (25) 
Tiếp theo, trên toàn bộ ngữ đoạn, chúng ta lấy trung bình của các giá trị DPM được tính 
bằng công thức (25) như trên. 
Giá trị trung bình ED được xác định như sau: 
 , ,
1
, /
K
PM I k J k
k
ED D PM PM K
  (26) 
với , 1
K
I k k
PM
và , 1
K
J k k
PM
là 2 dãy tập PM của đoạn hữu thanh thứ k của ngữ đoạn 
tiếng nói đầu vào. 
Để so sánh với phương pháp xác định PM khác như Praat [9], chúng tôi sử dụng thuật 
toán 1 để thu được xPM
 sau đó tính giá trị ED . 
Dưới đây là bảng đánh giá sai số của cách ước lượng PM đề xuất xPMZ
 và ước lượng 
Pulse của Praat. 
Công nghệ thông tin & Cơ sở toán học cho tin học 
T. Y. Thái, , Đ. D. An, “Thuật toán ước lượng các điểm  tín hiệu tổng tích lũy.” 158 
Bảng 3. So sánh kết quả tính xPMZ
 của thuật toán 1 đề xuất và PP trên các ngữ đoạn. 
Ngữ 
đoạn 
Nội dung K 
(Số đoạn hữu 
thanh) 
ED (ms) 
#1 “Đừng lo xem mây vận trời đêm nay có cơ 
đổi gió.” 
7 0.5022 
#2 “Từ chỗ này muốn qua chỗ khác chúng tôi 
chỉ lách nhích từng tẹo.” 
13 0.3234 
#3 “Chũi bảo chũi không nhìn thấy.” 5 0.3671 
#4 “Trời nghe trở gió ầm ầm trên mặt nước.” 4 0.2751 
#5 “Thì ra bè chúng tôi từ lúc nào đã trôi vào 
gần một bờ cỏ.” 
13 0.2292 
#6 “Ấy vậy mà lúc đó chén ngon đáo để.” 7 0.2217 
Bảng kết quả trên cho chúng ta thấy ước lượng PM dựa trên tín hiệu tổng tích lũy của 
tín hiệu tiếng nói các ngữ đoạn tiếng Việt có kết quả tương đối khớp với Praat. Tuy 
nhiên giống như trường hợp âm tiết rời, trong ngữ cảnh ngữ đoạn, Praat có thể xác định 
thiếu điểm Pulse, như hình sau cho chúng ta thấy rõ (thuật toán đề xuất EPM vẫn tìm 
được đầy đủ): 
(a) 
(b) 
Hình 11. Các ô tròn đánh dấu vị trí Pulse mà Praat bỏ sót, (a) với câu #2 (bảng 3) ở đoạn 
2, thiếu vị trí xung quanh mẫu 355, và (b) ở đoạn 5,thiếu vị trí xung quanh mẫu 497 (tính 
vị trí tương đối từ mẫu đầu đoạn). 
4.3. Thử nghiệm tổng hợp thanh điệu cho âm tiết 
Để thử nghiệm thuật toán SynTone đề xuất, chúng tôi thử nghiệm ứ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 khô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ã). 
Ngoài ra với các âm tiết tận cùng bằng p-t-c-ch chúng tôi tổng hợp thanh sắc từ một tín 
hiệu âm tiết cũng tận cùng bằng p-t-c-ch nhưng mang thanh sắc với dạng đường biểu diễn 
F0 là của thanh sắc có âm tiết không tận cùng là p-t-c-ch (dạng qTA 6 thành phần là 
[a,b,c,d,g,k] theo biểu diễn của công thức (19)). 
Các kết quả tổng hợp thanh điệu được thực nghiệm cho các âm tiết được thu nhận để 
bao gồm đầy đủ các dạng âm tiết tiếng Việt theo tiêu chí phân loại về nguyên âm chính, 
phụ âm đầu/cuối hoặc kết thúc là bán nguyên âm v.v... 
Tham số thực nghiệm được chọn: =20ms, M=0.8*N nếu tổng hợp thanh nặng (từ 
các thanh khác), trong các trường hợp còn lại thì chọn M=N, ở đây N và M là độ dài tín 
hiệu âm tiết đầu vào và âm tiết tổng hợp tính theo đơn vị ms. 
Nghiên cứu khoa học công nghệ 
Tạp chí Nghiên cứu KH&CN quân sự, Số 58, 12 - 2018 159
Để giải hàm mục tiêu theo công thức (20), chúng tôi sử dụng thủ tục fminsearch của 
Matlab [16], và quá trình giải hàm mục tiêu là hội tụ trên tập dữ liệu {f0(t)} của các thanh 
điệu tiếng Việt. Lấy trung bình chúng ta nhận được bộ [atn,btn,ctn,dtn,gtn,ktn] cho các thanh 
điệu tiếng Việt tn. 
Hình 12. Sinh đường F0 của từ đôi ”đấu/võ” sử dụng công thức (19). 
Thang điểm đánh giá chất lượng tổng hợp thanh điệu cho bởi độ đo MOS gồm: Xuất 
sắc (4.1 – 5), Tốt (3.1 – 4), Bình thường (2.1 – 3), Kém (1.1 – 2), Tồi (0 – 1). 
Chúng tôi chọn 10 cán bộ nghiên cứu của Viện ngôn ngữ trong đó có 4 chuyên gia về 
ngữ âm học để đánh giá. Kết quả của thực nghiệm cho thấy: Các âm tiết đã được biến đổi 
thanh nghe rõ, không bị hiện tượng rè, thanh điệu tổng hợp nghe rõ ràng, giữ được đường 
nét đặc trưng thanh điệu tương ứng. Điểm trung bình MOS của chất lượng tổng hợp thanh 
điệu cho bởi các chuyên gia đánh giá là 3.8. 
5. KẾT LUẬN 
Trong bài báo này chúng tôi đã đề xuất đóng góp mới cho phương pháp xác định các 
điểm đánh dấu pitch của tín hiệu tiếng nói gốc trong miền thời gian dựa trên tín hiệu tổng 
tích lũy. 
Thuật toán đơn giản, không cần phép chia thành các đoạn ngắn (khung) để ước lượng 
F0 ”thô” như các phương pháp khác. 
Với dữ liệu âm thanh tiếng Việt của các âm tiết và ngữ đoạn được thử nghiệm có chất 
lượng thu âm cao, kết quả tính các điểm đánh dấu pitch theo tiếp cận mới đã chứng tỏ sự 
đúng đắn, chính xác tương đương với các tiếp cận truyền thống-xác định PM qua hai bước 
như Praat– một cài đặt thuật toán xác định PM theo tiếp cận truyền thống kiểu Talkin. 
Ngoài ra tiếp cận của bài báo cơ một ưu điểm quan trọng là các điểm PM tìm được có thể 
quan sát được tính hợp lý bằng trực quan dựa trên đường tín hiệu miền thời gian. 
Ngoài ra kết quả của bài báo đã đề xuất thuật toán tổng hợp thanh điệu cho âm tiết rời 
tiếng Việt, thử nghiệm ứng dụng đạt kết quả âm tổng hợp có chất lượng tốt. 
Điều đó chứng tỏ phương pháp xác định PM theo tín hiệu tổng tích lũy là khá hiệu quả 
khi ứng dụng cho tổng hợp thanh điệu tiếng Việt. 
Trong các nghiên cứu tiếp theo chúng tôi sẽ mở rộng kết quả để tổng hợp thanh điệu 
cho các từ đa âm tiết trong tiếng Việt với các điểm đánh dấu pitch được lựa chọn tự động 
từ tiếp cận duyệt tập đỉnh của tín hiệu tổng tích lũy đề xuất. 
Công nghệ thông tin & Cơ sở toán học cho tin học 
T. Y. Thái, , Đ. D. An, “Thuật toán ước lượng các điểm  tín hiệu tổng tích lũy.” 160 
TÀI LIỆU THAM KHẢO 
[1]. A Short Guide to Pitch-marking in the Festival Speech Synthesis System and 
Recommendations for Improvements, Local LanguageSpeech Technology Initiative 
(LLSTI) Reports.Retrieved from:  pp. 3-9, 2004 
[2]. M. Leg´at, J. Matouˇsek, D. Tihelka, On the Detection of Pitch Marks Using a 
Robust MultiPhase Algorithm. Speech Communication, Elsevier : North-Holland, 53 
(4), pp.552, 2011. 
[3]. Trịnh Anh Tuấn, Nghiên cứu các đặc trưng để phân tích và tổng hợp tín hiệu âm tần, 
Luận án tiến sỹ, Học viện Công nghệ Bưu chính Viễn thông, 2000. 
[4]. Hynek Bořil and Petr Pollák, Direct Time Domain Fundamental Frequency 
Estimation Of Speech In Noisy Conditions, 1003-1006, Eusipco 2004. 
[5]. Dongmei Wang, John H.L. Hansen , F0 Estimation For Noisy Speech By Exploring 
Temporal Harmonic Structures In Local Time Frequency Spectrum Segment Icassp, 
pp. 6510-6514, 2016. 
[6]. D. Talkin, A Robust Algorithm for Pitch Tracking (RAPT), in "Speech Coding & 
Synthesis", W B Kleijn, K K Paliwal eds,Elsevier ISBN 0444821694, pp. 495-518, 
1995. [8] Jau-Hung Chen and Yung-An Kao, Pitch Marking Based on an Adaptable 
Filter and a Peak-Valley Estimation Method, Computational Linguistics and Chinese 
Language Processing Vol. 6, No. 2, pp. 1-12, Feburary 2001. 
[7]. Jau-Hung Chen and Yung-An Kao, Pitch Marking Based on an Adaptable Filter and 
a Peak-Valley Estimation Method, Computational Linguistics and Chinese Language 
Processing Vol. 6, No. 2, pp. 1-12, Feburary 2001. 
[8]. Milan Leg´at, Daniel Tihelka, Jindˇrich Matouˇsek.: Pitch Marks at Peaks or Valleys, 
Springer, pp.502-507, 2007. 
[9]. Praat: Doing phonetics by computer.  
[10]. Onur Babacan, Thomas Drugman, Nicolas d’Alessandro, Nathalie Henrich, Thierry 
Dutoit, Algorithms On A Large Variety Of Singing Sounds, Acoustics, Speech, and 
Signal Processing, IEEE International Conference on ICASSP, 2013. 
[11]. Yin pitch estimator,  Online; accessed 27-
November-2012. 
[12]. Ching X. Xu*, Yi Xu*, and Li-Shi Luo, A Pitch Target Approximation Model For F0 
Contours In Mandarin, ICPhS99, 1999. 
[13]. Xu, Y. and Prom-on, S, Toward invariant functional representations of variable 
surface fundamental frequency contours: Synthesizing speech melody via model-
based stochastic learning. Speech Communication 57, pp.181, 2014. 
[14]. https://www.voicebox.com/ 
[15]. J.P.Cabral, J.Kane, C.J., 2001. Evaluation of glottal epoch detection algorithms on 
different voice types, Interspeech, Florence, Italy. pp. 1989. 
[16]. Optimizing Nonlinear Functions - MATLAB and Simulink. 
https://www.mathworks.com/help/matlab/math/optimizing-nonlinear-functions.html 
PHỤ LỤC 
Thủ tục 1. EDPM (Tính trung bình khoảng cách “soạn thảo” của hai dãy PM). 
Đầu vào: Dãy giá trị  '1 1,i ji m j npm pm . 
Đầu ra: Giá trị độ lệch giữa 2 dãy PM. 
Bước 1 Tính: '1, 1
1
, 1,
j
j k
k
D pm pm j n
  
Nghiên cứu khoa học công nghệ 
Tạp chí Nghiên cứu KH&CN quân sự, Số 58, 12 - 2018 161
'
,1 1
1
, 1,
i
i k
k
D pm pm i m
  
Bước 2: Tính Di,j , 2, , 2,i m j n , 
 ', , 1 1, ,min , ,i j i j i j i j i jD pm pm D D D 
Bước 3: Trả về , / min{ , }m nD m n 
ABSTRACT 
THE ALGORITHM ESTIMATES THE PITCH MARKERS OF SPEECH WAVES IN 
TIME DOMAIN BASED ON THE PEAKS OF THEIR CUMULATIVE SUM SIGNAL. 
To locate pitch markers (PMs) of speech waves, known algorithms always 
evaluate the values of the previous F0 values before. This is a step that requires the 
use of complex models and is not interpreted visually. In this paper, only use simple 
preprocessing rules applied on the set of peaks of the cumulative sum signal 
(cumsum), we present a new approach for estimation of pitch marks in voiced and 
show that such peaks can be used with significant advantages in pitch tracking. 
Experimental results indicate that our proposed method performed very well 
without estimating F0 values before. Moreover, in this paper we also proposed an 
application of the new algorithm to synthesize F0 curves of Vietnamese syllables 
based on the qTA model. 
Keywords: Voiced/unvoiced decision; Pitch mark; Epoch; Pulse; Peaks; Cumsum; PSOLA; TTS; Xu model; 
qTA. 
Nhận bài ngày 02 tháng 10 năm 2018 
Hoàn thiện ngày 04 tháng 12 năm 2018 
Chấp nhận đăng ngày 11 tháng 12 năm 2018 
Địa chỉ: 1 Đại học Kinh doanh và Công nghệ Hà Nội; 
 2 Viện CNTT, Viện Khoa học và Công nghệ quân sự; 
3. Viện Ngôn ngữ học, Viện Hàn lâm KHXH Việt Nam; 
4 Công ty tập đoàn CDC CORP – Viện máy và dụng cụ công nghiệp - Bộ Công thương. 
 * Email: tayenthai@gmail.com. 

File đính kèm:

  • pdfthuat_toan_uoc_luong_cac_diem_danh_dau_pitch_cua_song_tieng.pdf