intTypePromotion=1

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

Chia sẻ: ViSumika2711 ViSumika2711 | Ngày: | Loại File: PDF | Số trang:15

0
21
lượt xem
0
download

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

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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.

Chủ đề:
Lưu

Nội dung Text: 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ệ<br /> <br /> THUẬT TOÁN ƯỚC LƯỢNG CÁC ĐIỂM ĐÁNH DẤU PITCH CỦA<br /> SÓNG TIẾNG NÓI TRONG MIỀN THỜI GIAN DỰA TRÊN TẬP<br /> ĐỈNH CỦA TÍN HIỆU TỔNG TÍCH LŨY<br /> Tạ Yên Thái1*, Nguyễn Văn Hùng2, Vũ Thị Hải Hà3, Đặng Duy An4<br /> 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<br /> thuật toán đã biết đều phải ước lượng các giá trị của đường F0 trước đó. Đây là<br /> 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<br /> cách trực quan.<br /> 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<br /> đỉ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<br /> 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<br /> bước ước lượng các giá trị F0. Thực nghiệm đã chứng tỏ phương pháp đề xuất<br /> 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<br /> 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<br /> tiết tiếng Việt dựa trên biểu diễn thanh điệu dạng qTA của Xu.<br /> 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<br /> đồ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.<br /> <br /> 1. MỞ ĐẦU<br /> Để 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ó<br /> đườ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<br /> đí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],<br /> 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<br /> 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ó để<br /> 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].<br /> 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<br /> đ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<br /> 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<br /> 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<br /> 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]<br /> v.v...<br /> 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<br /> 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<br /> 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<br /> đượ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,<br /> các điểm thung lũng hoặc đôi khi là các đỉnh.<br /> 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à<br /> ướ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<br /> đó 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<br /> 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<br /> 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,<br /> 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<br /> 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)<br /> 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<br /> 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<br /> 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.<br /> 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<br /> 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,<br /> <br /> <br /> Tạp chí Nghiên cứu KH&CN quân sự, Số 58, 12 - 2018 147<br /> Công nghệ thông tin & Cơ sở toán học cho tin học<br /> <br /> 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<br /> 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<br /> nghiệm đưa ra trong phần 4; Kết luận được cho trong phần 5.<br /> 2. NGHIÊN CỨU LIÊN QUAN<br /> 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<br /> 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<br /> 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à<br /> 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<br /> gian ngắn (gọi là frame) có độ dài như nhau và nằm trong khoảng 10-30 ms (mili giây),<br /> 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<br /> 5-15ms).<br /> Trên mỗi khung thời gian ngắn framet, ta tính các hệ số tự tương quan sau:<br /> def M 1 k (1)<br /> k  0, M  1, Rk ,t  <br /> i 0<br /> framet (i) framet (k  i ),1  t  T<br /> <br /> , ở đây {frame t (i)}iM 01 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<br /> 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<br /> khung tính hiệu ngắn framet như sau:<br /> fs<br /> F0 (t )  , ở đây fs là tần số lấy mẫu của tín hiệu tiếng nói và<br /> k0,t<br /> def<br /> k0,t  arg max{R k ,t } .<br /> 1 k  M 1<br /> <br /> Độ 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<br /> 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<br /> cửa sổ phải đủ lớn), ngoài ra có thể k0,t không là đỉnh phù hợp [6].<br /> 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<br /> thuật toán quy hoạch động(để chọn đỉnh phù hợp) có thể xem thuật toán RAPT [6]}.<br /> 3. KỸ THUẬT ĐỀ XUẤT<br /> 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<br /> đỉ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<br /> đạ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<br /> 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<br /> 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<br /> 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 đó<br /> tín hiệu tiếng nói gốc.<br /> 3.1. Phân đoạn tiếng nói và quyết định hữu thanh/vô thanh<br /> 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<br /> đ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.<br /> Để 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ị<br /> đo số lần đổi dấu của tín hiệu tiếng nói gốc như sau:<br /> Giá trị năng lượng của một khung:<br /> def M 2<br /> <br /> t  1, T , Et    x(t 1)*M i  (2)<br /> , i 0<br /> <br /> Độ đ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:<br /> m<br /> 1 sign( xn )  sign( xn 1 )<br /> Z x ( m)   , m  M  1, N , (3)<br /> M n  m  M 1 2<br /> <br /> <br /> 148 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.”<br /> Nghiên cứu khoa học công nghệ<br /> <br /> , 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.<br /> Chúng ta có 2 luật quyết định như sau:<br /> A1: Khung tiếng nói framet0 là thuộc nền nếu<br /> Et0   E *max{Et } (4)<br /> 1t T<br /> A2: mẫu xm là thuộc phần vô thanh nếu<br /> Z x (m)   z (5)<br /> 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 =<br /> 1/30, z = 0.17).<br /> 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<br /> tín hiệu tiếng nói gốc<br /> Định nghĩa 3.1:<br /> 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ả<br /> 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<br /> định dãy tổng tích lũy s  {s j}1 j  N , trong đó<br /> def j<br /> <br /> s1  x1 j  2, N , s j  s j 1  xj   xt dt (6)<br /> 1<br /> <br /> <br /> <br /> <br /> (a) (b)<br /> 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<br /> 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ó/.<br />  <br /> Với x  {x j}1 j  N , chúng ta ký hiệu z x và z x là hai tập giá trị thời gian tại đó tín<br /> hiệu tiếng nói đổi dấu từ dương sang âm và ngược lại như sau:<br /> def def<br /> <br /> z x  i | xi  0  xi 1  0 , z x  i | xi  0  xi 1  0<br />  <br /> (7)<br /> Ngoài ra, chúng ta cũng ký hiệu<br /> def def<br /> x   i | xi  0 , x   i | xi  0 . (8)<br /> và peak(x) là tập đỉnh của x (để xác định peak(x), xem [14]).<br /> 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<br /> và quan hệ của nó với các điểm tín hiệu của tiếng nói gốc:<br /> Tính chất 1:<br /> (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.<br /> (ii) Nếu i, j  x  thì s , s<br /> i i 1 ,.., s j  là một dãy số đơn điệu tăng, và nếu i, j  x <br />  <br /> thì si , si 1 ,.., s j là một dãy số đơn điệu giảm.<br /> Chứng minh.<br /> i  peak  s   si  si 1  si  si 1   xi  si  si 1  0    xi 1  si 1  si  0 <br /> (i)<br />  xi  0  xi 1  0  i  z x<br /> <br /> <br /> Tạp chí Nghiên cứu KH&CN quân sự, Số 58, 12 - 2018 149<br /> Công nghệ thông tin & Cơ sở toán học cho tin học<br /> <br /> Do đó peak  s   z x .<br /> i, j  x   k  i, j  1, xk  0<br /> (ii) .<br />  sk 1  sk  xk  0  sk 1  sk<br /> Ngoài ra, i, j  x   k  i, j  1, xk  0  sk 1  sk  xk  0  sk 1  sk<br /> 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<br /> đỉ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,<br /> 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.<br /> <br /> <br /> <br /> <br /> (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<br /> nói gốc( các điểm đổi dấu được khoanh tròn nhỏ).<br /> <br /> <br /> <br /> <br /> (b) Các đỉnh của tín hiệu tổng tích lũy tương ứng.<br /> 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<br /> của tiếng nói gốc (các đỉnh khoanh tròn, tại các điểm này,<br /> tín hiệu tiếng nói gốc đổi dấu từ dương sang âm của).<br /> <br /> <br /> <br /> <br /> 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<br /> đê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ị<br /> trong một cặp đường viền đứt nét đỏ-xanh( sử dụng thuật toán 1 bước 1).<br /> 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<br /> 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<br /> 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.<br /> <br /> <br /> <br /> <br /> (a) (b)<br /> 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<br /> và (b) Tín hiệu tổng tích lũy tương ứng.<br /> <br /> <br /> 150 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.”<br /> Nghiên cứu khoa học công nghệ<br /> <br /> 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<br /> 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ể<br /> 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<br /> 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<br /> đ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<br /> đá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<br /> 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).<br /> Các tập đánh dấu pitch:<br /> 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<br /> 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<br /> dựa trên tập đỉnh hoặc tập thung lũng của nó.<br /> Đị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à<br /> s  {s j}1 j  N là tín hiệu tổng tích lũy của x. Giả sử PMZ x   pmz j  là tập PM của s<br /> (được xác đinh trong tập đỉnh của s).<br /> Chúng ta ký hiệu PMZ x , PM x và PM x là 3 tập PM suy dẫn từ các giá trị PM kề<br /> nhau của PMZ x , chúng được xác định như sau:<br /> def<br /> PMZ x  {k / j , k  min{l/l  peak ( s ), pmz j 1  l  pmz j } (9)<br /> def<br /> PM x  {k / j : k  min{l / l  peak ( x), pmz j 1  l  pmz j }} (10)<br /> def<br /> PM x  k / j , k  min{l / l  peak ( x), pmz j 1  l  pmz j }} (11)<br /> <br /> Để xác định tập các điểm chu kỳ pitch PMZ x trước hết chúng ta cần xác định tập các<br /> đỉ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<br /> các điểm chu kỳ pitch của tín hiệu tiếng nói gốc.<br /> 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<br /> và trực giác sau để xác định PMZ x trên mỗi đoạn tiếng nói hữu thanh thứ k:<br /> <br /> B1: (Chọn phần tử PM đầu tiên) PMZ k, x  { pk ,1} ,<br /> trong đó:<br /> def<br />  sk ,n<br /> meank <br /> n peak { sk }<br /> <br /> # peak{sk }<br /> <br /> , pk ,1  arg min sk ,n  meank<br /> n peak { sk }<br />  (12)<br /> <br /> <br /> (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)<br /> B2: (Bổ sung một PM tạm thời tiếp theo) Nếu tồn tại m  peak(sk) và<br /> m  pk , j  [fs / f0,max ,fs / f0,min ] (13)<br /> với pk , j  max{PMZ k, x } thì PMZ k, x  PMZ k, x  {m}<br /> 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  PMZ k, x sao cho:<br /> pk , j  pk , j1  [fs / f0,max ,fs / f0,min ] (14)<br /> thì PMZ k, x  PMZ k, x \ { pk , j } .<br /> 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<br /> <br /> <br /> Tạp chí Nghiên cứu KH&CN quân sự, Số 58, 12 - 2018 151<br /> Công nghệ thông tin & Cơ sở toán học cho tin học<br />  <br /> sk , p  min sk , p ,s   min{ pk , j  pk , j1 , pk , j1  pk , j }  0.5* max{ pk , j  pk , j1 , pk , j1  pk , j }<br /> k , j1 k , pk , j1 <br /> (15)<br /> k, j <br /> <br /> thì PMZ k, x  PMZ k, x \ { pk , j } .<br /> 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,<br /> pk,j+1  PMZ k, x sao cho p k , j  1  p k , j   * ( p k , j  p k , j  1 ) (16)<br /> thì PMZ k, x  PMZ k, x  {m} , với m được chọn:<br /> m  peak ( S k ) : pk , j  m  pk , j 1 , m  ( pk , j  pk , j 1 ) / 2  min (17)<br /> ( là một tham số thực nghiệm,  > 1)<br /> 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 ,<br /> pk,j+1  PMZ k, x sao cho:<br /> <br /> m  peak S  p   k , j T /2, pk , j T /2 <br /> <br />   t   p k, j  L / 2, pk , j  L / 2   sk ,t  sk ,m  (18)<br /> def<br /> <br /> thì gán lại pk,j = m, với L  min pk , j  pk , j 1 , pk , j 1  pk , j <br /> 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<br /> lũy được thiết lập như sau:<br /> Thuật toán 1: EPM (Ước lượng các PM của tín hiệu tiếng nói).<br /> Đầu vào: Tín hiệu tiếng nói {x m }1 m N trong miền thời gian.<br /> Tần số lấy mẫu fs , [f0,min, f0,max] là khoảng các giá trị F0.<br /> Đầu ra: Số các đoạn hữu thanh K, các tập PM tương ứng với 4 kiểu<br />  pm  <br /> k , j 1 k  K ,1 j  n  ,  pmk, j <br /> 1 k  K ,1 j  nk<br /> ,<br /> k<br /> , với  pm <br /> <br /> k , j 1 k  K ,1 j  n ,  pmk, j  là 2<br /> p <br /> k , j 1 k  K ,1 j  n <br /> k ,2<br /> , p <br /> <br /> k , j 1 k  K ,1 j  n <br /> k ,2<br /> k 1 k  K ,1 j  nk<br /> <br /> <br /> tập PM kiểu truyền thống.<br /> 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, {x m }Nk ,1 m Nk ,2 và<br /> còn lại là các đoạn vô thanh.<br /> Bước 2: Lặp, trên mỗi đoạn hữu thanh {x m }Nk ,1 m Nk ,2 , k  1, K xác định PMZ x, k :<br /> 2.1: Xác định tín hiệu tổng tích lũy sk ={s m }Nk ,1  m Nk ,2 , k  1, K sử dụng công thức (6)<br /> 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:<br /> meank   sk ,n / # peak sk ,n <br /> n peak { S k }<br /> <br /> 2.3: Xác định PM đầu tiên của PMZ x,k bằng luật B1.<br /> 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à<br /> đúng:<br /> 2.5. Sử dụng luật B2 để mở rộng PMZ x, k .<br /> 2.6: Sử dụng luật B3 và B5 để rút gọn PMZ x, k .<br /> 2.7: Sử dụng luật B5 để mở rộng PMZ x, k .<br /> 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 .<br /> 2.9: Dừng và thu được PMZ x,k .<br /> <br /> <br /> 152 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.”<br /> Nghiên cứu khoa học công nghệ<br /> <br /> 2.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 {x m }Nk ,1  m Nk ,2<br /> <br /> Với mỗi khoảng 2 PM liên tiếp của PMZ x , tìm pmk, j  max peak  xn  p  k , j  n  pk , j 1<br /> <br /> và thu được PM x,k  {pmk, j }<br /> 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<br /> {x m }Nk ,1  m Nk ,2<br /> Với mỗi khoảng 2 PM liên tiếp của PMZ x , tìm pmk, j  min peak  xn  p  k , j  n  pk , j 1<br /> <br /> và thu được PM x,k  {pmk, j }<br /> 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<br /> 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<br />   của{x }<br /> PMZ x,k = p k, j m Nk ,1 m Nk ,2 , k  1, K<br /> .<br />  <br /> Bước 4: Đặt PMZ   PMZ<br /> x x ,k<br /> ,<br /> 1 k  K<br /> <br /> PMZ x   PMZx ,k , PM x   PM x,k và PM x   PM x,k .<br /> 1 k  K 1 k  K 1 k  K<br /> <br /> <br /> <br /> Trả lại: K, PMZ x , PMZ x , PM x và PM x .<br /> <br /> Độ phức tạp thuật toán 1 là O(N).<br /> Lưu đồ thuật toán đề xuất (Hình 5) được xây dựng như sau:<br /> <br /> Bắt đầu<br /> <br /> Phân đoạn tiếng nói bằng các giá trị năng lượng<br /> <br /> <br /> Phân đoạn hữu thanh/vô thanh bằng chỉ số ZC<br /> <br /> <br /> Xác định tín hiệu tổng tích lũy trên mỗi đoạn<br /> hữu thanh<br /> <br /> Xác định tập đỉnh của tín hiệu tổng tích lũy trên<br /> mỗi đoạn hữu thanh<br /> <br /> Tiền xử lý chọn các đỉnh xác định chu kỳ pitch<br /> <br /> <br /> Xác định các điểm PM<br /> <br /> <br /> Kết thúc<br /> <br /> <br /> Hình 5. Lưu đồ xử lý của các thuật toán đề xuất.<br /> 3.3. Áp dụng biến đổi thanh điệu của một âm tiết tiếng Việt<br /> Để 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<br /> 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<br /> <br /> <br /> Tạp chí Nghiên cứu KH&CN quân sự, Số 58, 12 - 2018 153<br /> Công nghệ thông tin & Cơ sở toán học cho tin học<br /> <br /> 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<br /> (huyền, sắc, nặng, hỏi và ngã).<br /> 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:<br /> 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<br /> của mô hình Xu [12,13]:<br /> f  t   at  b  (ct 2  dt  g )e  t<br /> 0<br /> (19)<br /> <br /> 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)<br /> 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
ADSENSE
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2