Upload
tcthamy
View
98
Download
19
Embed Size (px)
Citation preview
1. PHƯƠNG PHÁP PHÂN TÍCH TIẾNG NÓI THEO
CÁC ĐẶC TRƯNG
1.1. Các phương pháp trích chọn đặc tính
Phần này sẽ giới thiệu hai phương pháp được sử dụng rộng rãi trong các
hệ thống nhận dạng hiện tại để tính toán các hệ số MFCC (Mel Scale
Frequency Cepstral Coefficients) và hệ số PLP (Perceptual Linear Prediction).
Hai kĩ thuật xử lý tiếng nói RASTA (RelAtive SpecTral) và CMS (Cepstral
Mean Subtraction) cũng được giới thiệu. Đây là hai kĩ thuật loại bỏ nhiễu hay
được sử dụng đặc biệt là trong phát âm có nhiều nhiễu như các câu thu âm
qua điện thoại.
1.1.1. Phương pháp tính hệ số MFCC
Hình 2.1 miêu tả các bước tính toán hệ số MFCC.
Nhấn mạnh tín hiệu (pre-emphasis). Trong bước xử lý đầu tiên này, tín
hiệu được đưa qua một bộ lọc số:1( ) 1pre preH z a z−= +
Trong đó prea là hệ số nhấn mạnh, thường có giá trị là 0,9700002861. Bộ
lọc có tác dụng tăng cường tín hiệu tại tần số cao (trên 1KHz) với hai lý do
chính:
• Giọng nói có sự suy giảm khoảng 20dB/decade khi lên tần số cao do
đặc điểm sinh lý của hệ thống phát âm của con người. Bước xử lý này
sẽ tăng cường tín hiệu lên một giá trị gần 20dB/decade để khắc phục sự
suy giảm này,
• Hệ thống thính giác của con người nhạy cảm hơn với vùng tần số cao,
bước xử lý này nhấn mạnh vùng tần số cao, trợ giúp cho quá trình mô
hình hoá âm thanh sau này của hệ thống nhận dạng.
1
Hình 1-1. Các bước xử lý của phương pháp tính toán hệ số MFCC.
Tạo khung tín hiệu (framing). Tín hiệu tiếng nói luôn luôn biến thiên theo
thời gian, tuy nhiên, trong khoảng thời gian khoảng 10-20ms, tín hiệu tiếng
nói được coi là tương đối ổn định. Do đó, tín hiệu thường được chia thành các
khung kích thước 20-30 ms với vùng gối lên nhau khoảng 10-15 ms.
Làm cửa sổ (frame windowing). Cửa sổ Hamming thường được áp dụng
cho mỗi khung tín hiệu để giảm sự tác động của việc chia khung tín hiệu:
' 2 ( 1){0.54 0.46cos( )}
1n n
ns s
N
π −= −−
Trong đó, N là số mẫu dữ liệu (sample) của cửa sổ.
DFT (Discrete Fourier Transform). Tại bước này, với mỗi khung tín
hiệu, biến đổi Fourier được áp dụng để chuyển tín hiệu về miền tần số. Công
việc tính toán được thực hiện bằng thuật toán FFT (Fast Fourier Transform).
Lọc theo thang tần số Mel (Mel-frequency bandpass filter). Các bộ lọc số
được áp dụng để lọc các tín hiệu theo các giải tần số khác nhau.
Phản ứng của tai người với các thành phần của tần số là không tuyến
tính. Sự khác nhau về tần số ở vùng tần số thấp (<1KHz) dễ được nhận biết
bởi con người hơn là ở vùng tần số cao. Lọc theo thang tần số Mel mô phỏng
tính chất này bằng cách dùng các bộ lọc được phân bố theo một hàm phi
tuyến trong khoảng không gian tần số, thông thường là hàm Mel:
2
10( ) 2595log (1 )700
fMel f = +
Logarit giá trị năng lượng (logarit of filter energies). Các giá trị năng
lượng thu được tại mỗi kênh lọc được lấy logarit để “nén” các giá trị này vào
một miền giá trị hẹp hơn.
DCT (Discrete Cosin Transform). Giọng nói của con người có phổ khá
trơn (smooth) trên miền tần số, do vậy, các giá trị năng lượng của các bộ lọc
gần nhau có sự tương quan (correlated) khá gần. Bước xử lý này biến đổi các
giá trị năng lượng thành các hệ số ít tương quan với nhau hơn, các hệ số này
được gọi là hệ số cepstral.
1
cos( ( 0.5))N
i jj
ic m j
Nπ
== −∑
Trong đó, N là số kênh lọc, mj là giá trị logarit năng lượng của mạch lọc
thứ j, i là bậc của hệ số cepstral.
Chỉnh các giá trị cepstral. Giá trị cepstral bậc cao thường có giá trị rất
thấp, so với các giá trị cepstral bậc thấp. Sự khác biệt này gây khó khăn cho
việc mô hình hoá dữ liệu, ví dụ như khi sử dụng các hàm mật độ xác suất
Gauss. Do đó các hệ số cepstral được điều chỉnh lại (re-scaled) theo công
thức:
exp( * )n nc n k c′ =
Sau bước hiệu chỉnh này ta thu được các giá trị MFCC.
Tính giá trị delta MFCC. Các giá trị delta của các hệ số MFCC được tính
toán nhằm phản ánh sự biến thiên tiếng nói theo thời gian. Các giá trị delta
được tính toán dựa trên các giá trị MFCC của các khung tín hiệu lân cận:
12
1
( )
2
t tt
c cd θ θθ
θ
θθ
Θ+ −=
Θ
=
−= ∑
∑Trong đó, θ là số khung tín hiệu lân cận được dùng (thông thường là 2).
Ngoài ra, giá trị delta của delta (hay còn gọi là acceleration) cũng có thể
được tính toán từ các giá trị delta dùng cùng một công thức như trên.
3
1.1.2. Phương pháp tính hệ số PLP
Phương pháp PLP (Perceptual Linear Predition) được phát triển dựa trên
phương pháp mã dự báo tuyến tính LPC (Linear Prediction Coding).
Phương pháp LPC hay còn gọi là mô hình hoá tự hồi quy (autoregression
modeling) là phương pháp mô hình hoá tín hiệu bằng sự kết hợp tuyến tính
các mẫu tín hiệu trước đó:
1
( ) ( ) ( 1) ( )N
i
s n a i s n e n=
= − − +∑
Trong đó, N là số hệ số hay là bậc của dự báo, các a(i) là các hệ số dự
báo tuyến tính (linear prediction coefficients), e(n) là hàm lỗi.
Các hệ số a(i) được chọn để làm cực tiểu hàm lỗi dự báo trung bình bình
phương. Có một vài phương pháp để tính các hệ số này: phương pháp dùng
ma trận hiệp phương sai (covariance matrix), phương pháp tự tương quan
(auto-correlation method), phương pháp lưới hay còn gọi là phương pháp điều
hoà (lattice or harmonic). Phương pháp thường được áp dụng nhất trong nhận
dạng tiếng nói là phương pháp tự tương quan dùng thuật toán đệ quy
Levinson-Durbin.
Thuật toán Levinson-Durbin được trình bày như sau:
Tính p+1 các hệ số tự tương quan đầu tiên (p là bậc của dự báo tuyến
tính) bằng công thức sau:
1
N i
i j j ij
r s s−
+=
= ∑
Trong đó, s(n) là tín hiệu trong cửa sổ, N là số lượng mẫu trong cửa sổ.
Các hệ số sau đó được tính toán đệ quy như sau:
0(0)E r=
1( 1)
( 1)
[ ]i
ii j i j
ji i
r a r
kE
−−
−
−
−=
∑ trong đó
1 i p≤ ≤
( )ii ia k=
1 1*i ij j i i ja a k a− −
−= − , với 1 1j i≤ ≤ −
( ) 2 ( 1)(1 )i iiE k E −= −
4
Các bước trên được tính toán lặp với i=1,2,...p. Cuối cùng, ta thu được
các hệ số:( )p
j ja a= với 1 j p≤ ≤
Phương pháp tính các hệ số PLP dựa vào phương pháp LPC. Hình 2.2
miêu tả các bước xử lý tính toán hệ số PLP:
Hình 1-2. Các bước xử lý của phương pháp tính toán hệ số PLP.
FFT. Tương tự như phương pháp MFCC, tín hiệu tiếng nói được chia
thành các khung tín hiệu và được biến đổi Fourier sang miền tần số bằng thuật
toán FFT.
Lọc theo thang tần số Bark. Tương tự như phương pháp tính MFCC, tín
hiệu tiếng nói được lọc qua các bộ lọc phân bố theo thang tần số phi tuyến,
trong trường hợp này là thang tần số Bark:
}]1)1200
[(1200
ln{6)( 5.02 ++= fffBark
Nhấn mạnh tín hiệu dùng hàm equal-loudness. Bước xử lý này tương tự
như bước nhấn mạnh pre-emphasis của phương pháp MFCC. Hàm này mô
phỏng đường cong cân bằng độ ồn (equal-loudness curve).2 6 4
2 6 2 9 6 26
( 56,8*10 )( )
( 6,3*10 )( 0,38*10 )( 9,58*10 )E
ω ωωω ω ω
+=+ + +
5
Dùng luật cường độ nghe (power law of hearing). Bước xử lý này giống
như bước lấy giá trị logarit trong phương pháp MFCC. Hàm căn lập phương
được sử dụng để “nén” các giá trị năng lượng.0,33( ) ( )f fΦ = Ψ
Biến đổi Fourier ngược (inverse DFT). Các hệ số tự tương quan được
biến đổi Fourier ngược để sau đó dùng làm giá trị đầu vào cho phương pháp
LPC.
Thuật toán Durbin được sử dụng để tính toán các hệ số dự báo tuyến tính
giống như trong phương pháp LPC.
Tính các giá trị delta. Phương pháp tính tương tự như phương pháp tính
hệ số MFCC.
1.1.3. Các kĩ thuật khử nhiễu
1.1.3.1 Kĩ thuật CMS
Đây là một kĩ thuật thông dụng để khử nhiễu trong các hệ thống nhận
dạng, được dùng kết hợp trong quá trình tính toán các đặc tính phổ của tiếng
nói. Phương pháp này dựa trên giả thiết là các đặc tính tần số của môi trường
là thường xuyên cố định hoặc biến đổi chậm. Các tham số cepstral của một
phát âm được trừ đi giá trị trung bình của các tham số trong một khoảng thời
gian nào đó và làm cho các giá trị này ít bị ảnh hưởng bởi môi trường:
1
1ˆ ( ) ( ) ( )T
t
O O O tT
τ τ=
= − ∑
Trong đó, T là độ dài của vùng lấy giá trị trung bình, thường là độ dài
của cả phát âm.
1.1.3.2 Kĩ thuật RASTA
RASTA là kĩ thuật lọc dựa trên giả thiết rằng các tính chất thời gian của
các nhiễu là khác so với các tính chất thời gian của giọng nói. Tốc độ thay đổi
của các thành phần không phải tiếng nói thường xuyên nằm ngoài tốc độ hoạt
động của bộ máy phát âm con người. Bằng cách dùng bộ lọc số, kĩ thuật
RASTA có thể loại bỏ được một phần các nhiễu của môi trường và các nhiễu
bổ sung bất thường khác. Bộ lọc dùng trong RASTA là:1 2 3
1
0,2 0,1 0,2 0,1( )
1 0,94z z z
H zz
− − −
−+ − −=
−
6
Các kĩ thuật khử nhiễu thường yêu cầu một đoạn tiếng nói đủ lớn để phân
tích, thống kê. Vì vậy, khi áp dụng các kĩ thuật khử nhiễu vào nhận dạng tiếng
nói, cần lưu ý đến tốc độ xử lí và bảo tồn các đặc trưng âm học của phụ âm,
đặc biệt là các phụ âm vô thanh. Để đảm bảo thực hiện được trong thời gian
thực, hiện nay, người ta thường áp dụng mô hình tham số thích nghi với nhiễu.
Cụ thể như sau: Khi huấn luyện tham số, người ta lấy một mẫu sạch, không bị
nhiễu, để huấn luyện, sau đó, người ta lấy các mẫu sạch này trộn với các loại
nhiễu sinh bởi các mô hình toán học khác nhau và tham số mô hình sẽ được
biến đổi bởi mẫu nhiễu nhờ các công cụ mô hình như mạng Nơron. Do đó,
trong giai đoạn nhận dạng, khi tín hiệu thực được đưa vào hệ thống, người ta sẽ
tính thẳng các đặc trưng và quyết định từ chính tín hiệu chứ không cần lọc.
1.2. Các đơn vị xử lý tiếng nói
1.2.1. Tần số lấy mẫu
Quá trình lấy mẫu tạo ra tín hiệu rời rạc hoặc tín hiệu số từ tín hiệu tín
hiệu tương tự. Tần số lấy mẫu là số lần lấy mẫu được tính trong một đơn vị
thời gian, thông thường là giây. Tần số lấy mẫu ký hiệu là Fs.
Khoảng thời gian mà quá trình lấy mẫu được lặp lại gọi là chu kỳ lấy
mẫu.
Ví dụ: Fs = 11025Hz
1s thu được 11025 mẫu
1ms thu được 11025/1000 ≈ 11 mẫu.
Số bit lưu một mẫu có thể là 8 hoặc 16 bit.
+ 8 bit/ 1 mẫu: ( ) ( )12,0 8 −∈nx
Ngưỡng lặng tuyệt đối là 128
+ 16 bit/ 1 mẫu: ( ) ( )11515 2,2 −−∈nx
Ngưỡng lặng tuyệt đối là 0
1.2.2. Nhiễu
Nhiễu đối với hệ thống là loại âm thanh không phải tiếng nói sinh ra
trong môi trường xung quanh ta. Ngay cả bộ phát âm của con người cũng sinh
7
ra nhiễu, chẳng hạn như tiếng thở, tiếng bật lưỡi, tiếng chép miệng cả khi môi
chạm vào micro… Không dễ gì có thể lọc được mọi thứ nhiễu, ta chỉ tìm cách
tối thiểu hoá chúng để có thể nâng cao chất lượng của hệ thống nhận dạng.
Với tín hiệu tiếng nói là ns , tín hiệu nhận được sau quá trình thu sẽ được
ký hiệu là ns~ . Như vậy:
nn ss −~ chính là tín hiệu nền.
Độ nhiễu của tín hiệu được xác định thông qua năng lượng đo được của
tín hiệu: ( )
−
=
∑
∑
=
=N
nnn
N
nn
ss
s
E
0
2
0
2
10~
log10 (Đơn vị năng lượng tính bằng dB)
Như vậy, nếu năng lượng E càng lớn thì ns~ càng gần với ns , tín hiệu nền
có giá trị gần về 0. Nếu ∞→E thì tín hiệu thu được là tín hiệu sạch, không
có nhiễu.
1.2.3. Tần số cơ bản
Một âm thanh có thể là tổ hợp của nhiều tần số, tần số chính bao trùm
trong âm được gọi là tần số cơ bản. Trong tiếng nói, tần số cơ bản là đáp ứng
của sự rung động các dây thanh âm, tần số cơ bản thường được ký hiệu là F0.
Tần số cơ bản có giá trị phụ thuộc vào tần số lấy mẫu và khoảng cách a,
là khoảng cách giữa hai đỉnh của các sóng âm tuần hoàn.
Đơn vị của tần số là Hertz, ký hiệu là Hz. Mỗi Hz bằng 1 dao động/1s.
Và 1 KHz sẽ bằng 1000 Hz. (Xem biểu diễn đường F0 của một số thanh điệu
ở phần phụ lục).
1.2.4. Formant
Formant là dải tần số được tăng cường do hiện tượng cộng hưởng trong
ống dẫn thanh, đặc trưng cho âm sắc của mỗi nguyên âm. Trong mỗi dải tần
như thế có một tần số được tăng cường hơn cả gọi là đỉnh formant.
Một nguyên âm do một người phát ra có nhiều formant:
F1: ứng với cộng hưởng vùng yết hầu
F2: ứng với cộng hưởng khoang miệng
8
Khi ta nói, các âm mũi sẽ có sự xuất hiện của formant F3, các formant
khác F4, F5,…liên quan đến các đặc trưng giọng nói riêng của mỗi cá nhân.
Mỗi lần môi, lưỡi, hàm ở những vị trí khác nhau là một lần hộp cộng hưởng
miệng và yết hầu thay đổi hình dáng, thể tích, lối thoát của không khí làm
biến đổi âm sắc của âm thanh đi qua chúng. Chính vì vậy, hai khoang miệng
và yết hầu là hai hộp cộng hưởng quan trọng nhất, chúng tạo nên hai formant
chính formant F1 và F2 đặc trưng của mỗi nguyên âm.
1.3. Định dạng âm thanh
Có nhiều chuẩn lưu trữ âm thanh số (AU, VOC, WAVE, AIFF, AIFF-C
và IFF/8VX), nhưng kết quả thực tế cho thấy rằng tập đoàn của Microsoft sử
dụng các file wave trong hệ thống điều hành windows, chúng đã trở thành
chuẩn sử dụng phổ biến nhất.
Âm thanh được xử lý ở dạng PCM, tập tin được lưu lại trên bộ nhớ dưới
dạng file WAVE.
Thông thường, các file WAVE PCM có cấu trúc như sau:
Các khối dữ liệu riêng biệt (còn gọi là các chunk), được thể hiện bằng
cấu trúc hình cây cơ bản.
Mỗi chunk bao gồm hai phần cơ bản là header và data.
Khối đầu tiên, cũng là phần chính của bất kỳ file RIFF nào là khối RIFF,
nó giống như gốc của một cây.
File bắt đầu với phần header RIFF, sau nó là hai khối con được định
nghĩa FMT và DATA. RIFF bao gồm ba phần tử: RIFF_ID, RIFF_SIZE và
RIFF_FORMAT.
struct RIFF
9
{
_TCHAR riffID[4]; // Ch a nh n d ng “RIFF”ứ ậ ạ
DWORD riffSIZE; // Kích th c file tr 8 byteướ ừ
_TCHAR riffFORMAT[4]; //Ch a nh n d ng “WAVE”ứ ậ ạ
};
Sau header RIFF, có một khối miêu tả các định dạng (FMT)
struct FMT
{
_TCHAR fmtID [4]; //ch a nh n d ng FMT vàứ ậ ạ các kho ng tr ng.ả ố
DWORD fmtSIZE; //ch a kích th c c a kh iứ ướ ủ ố (cho WAVE PCM 16)
WAVEFORM fmtFORMAT; //c u trúc c a ấ ủWAVEFORMATEX
// nh ng không bao g mư ồ file cbSize.
};
Cấu trúc của WAVEFORMAT là chìa khoá của sự hiểu biết về các
WAVE. Nó chứa nhiều thông tin mà chúng ta cần khi làm việc với một
WAVE.
struct WAVEFORM
{
WORD wFormatTag; // đ nh d ng âm thanh sị ạ ốWORD nchannels; //s kênh (1 cho mono vàố
2 cho stereo)
DWORD nSamplesPerSec; //S m u trong m t giâyố ẫ ộ
DWORD nAvgBytesPerSec; //Trung bình s byte c aố ủ
dữ li u trong m t giâyệ ộ
WORD nBlockAlign; //Kích th c t i thi u c a dướ ố ể ủ ữli u khi phátệ
WORD wBitsPerSample; // S bit l u m t m u (8ố ư ộ ẫ
ho c 16)ặ
};
10
Và cuối cùng là khối dữ liệu:
struct DATA
{
_TCHAR dataID[4]; //Ch a nh n d ng d li u ứ ậ ạ ữ ệ
DWORD dataSIZE; //Kích th c dlướ};
Định dạng dữ liệu và giá trị lớn nhất, nhỏ nhất của các mẫu waveform
PCM ở nhiều kích thước được cho như sau:
Kích thước mẫu Định dạng dữ liệu Giá trị lớn nhất Giá trị nhỏ nhất
Từ 1 đến 8 bit Số nguyên không dấu 255 (0xFF) 0
Lớn hơn hoặc bằng 9 bit
Số nguyên có dấu i Giá trị định vị lớn nhất của i
i có giá trị âm
Giá trị lớn nhất, giá trị nhỏ nhất và giá trị điểm giữa của 8 bit và 16 bit
dữ liệu waveform PCM như sau:
1.4. Thu tín hiệu âm thanh trong thời gian thực
Tín hiệu tiếng nói trước khi trở thành dữ liệu tiếng nói phải trải qua một
quá trình xử lý, quá trình này được gọi là tiền xử lý tín hiệu.
Hệ thống máy tính hiện tại chỉ hỗ trợ cho ta thu tĩnh. Mỗi lần chỉ thu
được trong một khoảng thời gian khá nhỏ (vì dãy tín hiệu số phát sinh quá lớn
sẽ nhanh chóng lấp đầy phần không gian lưu trữ). Nếu người sử dụng nói vào
thời điểm hàm thu kết thúc thì dữ liệu sẽ bị mất mát, do đặc trưng của tín hiệu
tiếng nói các hệ thống thiết kế tốt cũng có thể không phát hiện được, vẫn thực
hiện và cho ra kết quả khi dữ liệu đầu vào đã sai.
Cách giải quyết chủ yếu dựa vào một số thủ thuật lập trình, cơ chế hoạt
động của hệ điều hành và cơ chế của hàm thu tín hiệu âm thanh. Tư tưởng
chính là làm một hàng đợi vòng, xử lý kịp thời để không bao giờ bị hết không
gian lưu trữ, kết hợp với việc sử dụng cơ chế đa luồng của hệ điều hành để
11
vẫn có thể thực hiện được đồng thời các ứng dụng khác. Cách thực hiện cụ
thể như sau:
Xin cấp phát M vùng đệm (buffer), mỗi vùng đệm có kích thước 3N và
đưa vào hàng đợi (N là kích thước của một frame). Tạo một luồng (thread)
làm những việc chính sau:
1. Kiểm tra cờ điều khiển (semaphore), nếu cờ tắt thì dừng (return).
2. Gọi hàm thu và chờ thu hết vùng đệm (hiện hành) (Khi này vùng đệm
bị loại ra khỏi hàng đợi).
3. Tính năng lượng của ba frame trên vùng đệm, nếu năng lượng frame
đầu lớn hơn ngưỡng dữ liệu thì quay lại bước một (trạng thái đang có
âm thanh khi gọi hàm thu – không thu được trọn vẹn dữ liệu).
4. Đưa vùng đệm vào hàng đợi.
5. Tăng chỉ số vùng đệm hiện hành lên một.
6. Chờ thu hết vùng đệm.
7. Với mỗi frame của vùng đệm tính tổng năng lượng của nó và hai frame
kế trước (có thể là của vùng đệm trước- để đảm bảo tính liên tục).
8. Nếu tổng năng lượng vừa tính lớn hơn ngưỡng im lặng thì chép frame
vào vùng đệm chính, cập nhật lại kích thước vùng đệm chính và bật
cờ có dữ liệu.Ngược lại, nếu cờ có dữ liệu bật: cập nhật lại kích thước
đoạn im lặng.
9. Nếu kích thước đoạn im lặng nhỏ hơn thời gian ngừng tối đa giữa hai
tiếng: Quay lại bước 5.
Ta có thể chọn kích thước frame là 220 ms, thời gian ngừng tối đa giữa
hai tiếng là 750 ms.
1.5. Xác định giá trị hằng – ngưỡng theo môi trường tín hiệu
1.5.1. Thông số ngưỡng zero
Bản chất âm thanh là sự dao động, khi số hoá các mẫu dữ liệu âm thanh
về miền giá trị 0…N-1 thì mẫu âm thanh im lặng (không có âm thanh) sẽ có
giá trị là N/2, giá trị này gọi là ngưỡng zero. Ví dụ nếu kích thước mỗi mẫu
12
tín hiệu số là 8 bit thì giá trị của ngưỡng zero là 128, các mẫu tín hiệu âm
thanh số sẽ có giá trị dao động xung quanh ngưỡng này.
Trên thực tế các thiết bị số hoá âm thanh của máy tính (sound card) có
thể bị sai ngưỡng zero (sound card mà người viết đang dùng có ngưỡng zero
là 112-mẫu 8 bit). Nếu hệ thống chương trình sử dụng ngưỡng zero tương ứng
của thiết bị thì dữ liệu nhận được vẫn là dữ liệu tốt. Còn nếu vẫn dùng
ngưỡng như trên thì kết quả nhận dạng có thể sai trầm trọng.
Thuật toán phương pháp xác định ngưỡng zero:
- Lấy thu của sound card.
- Đặt mức thu ở giá trị thấp nhất (tín hiệu thu được là nhỏ nhất).
- Thu một đoạn dữ liệu ngắn (khoảng 3 giây).
- Tính "histogram" H (H[k] là số mẫu có giá trị biên độ k).
- Tìm trong dãy H phần tử H[max] có giá trị lớn nhất. Ngưỡng zero
chính là max.
- Phục hồi lại mức thu ban đầu.
1.5.2. Thông số độ ồn nhiễu
Cách xác định: Thông báo yêu cầu người sử dụng đừng nói gì trong ba
giây và thu tín hiệu trong thời gian đó để lấy tiếng ồn nhiễu của môi trường
xung quanh. Ngưỡng im lặng được xác định là năng lượng cao nhất của các
frame. Ngoài ra có thể dùng biến đổi Fourier để tính ra các tần số nhiễu phục
vụ cho việc lọc nhiễu.
1.6. Lọc nhiễu
Hiện tại, việc lọc nhiễu của hệ thống được thực hiện theo phương pháp
kinh điển là dùng phép biến đổi Fourier với thuật toán FFT. Dùng biến đổi
Fourier thuận xác định được các tần số tham gia và loại đi tất cả tần số không
thuộc phạm vi tiếng nói (nếu biết được phạm vi tần số của đúng người sử
dụng thì kết quả lọc sẽ càng cao hơn) bằng cách cho các hệ số tương ứng giá
trị zero sau đó biến đổi ngược lại.
13
1.7. Xác định dãy tín hiệu số có chứa dữ liệu tiếng nói và xác định
các điểm đầu - cuối của tiếng nói
Dữ liệu thu được không phải lúc nào cũng là tiếng nói, nhất là khi thu
động dữ liệu sẽ thường xuyên là khoảng lặng và nhiễu. Vì hệ thống nhận dạng
được thiết kế theo hình thức so khớp tìm ra mẫu giống nhất nên dù dữ liệu thu
được không phải là tiếng nói mà được đưa vào thì hệ thống vẫn gán đó là một
trong các tiếng đã học mẫu dẫn đến sai hoàn toàn.
Trong mọi đoạn tín hiệu, dù có tiếng nói hoặc không có tiếng nói, thì
luôn luôn có âm nền. Khác biệt chủ yếu khi có tiếng nói là âm thanh tiếng nói
sẽ là âm thanh chính. Ta có thể đưa ra phương pháp sau:
1. Chia đều dãy tín hiệu số thành các frame với kích thước từ 5-10 ms (có
thể căn cứ vào tần số cơ bản trung bình của người đang nói để chọn giá
trị phù hợp nhất).
2. Sau đó kiểm tra tính chứa tiếng nói của các frame bằng cách đếm số
điểm zero hoặc tính năng lượng ngắn hạn của frame có vượt qua
ngưỡng.
3. Nếu tổng kích thước các frame liên tiếp được xác định có tính chứa
tiếng nói lớn hơn 150 ms thì có thể xem là có chứa tiếng nói.
Frame i Frame i=+1
Cöa sæ i
Cöa sæ i+1
Dl chia sÎ Dl mí i
Hình 1-3. Phân chia tín hiệu thành các Frame
Nếu người nói nói rời rạc từng tiếng một và môi trường không bị ồn thì ở
bước xác định dãy tín hiệu số có chứa dữ liệu tiếng nói hay không ta cũng đã
xác định được các điểm biên của tiếng vì tại đó sẽ có các khoảng lặng. Nhưng
người ta có thể nói hơi chậm chứ không quen nói nhát gừng từng tiếng một và
14
môi trường xung quanh cũng hoàn toàn có thể có nhiễu. Khi đó giữa hai tiếng
có thể không có khoảng lặng - Tức chúng bị dính nhau (thường hiện tượng
này chỉ xảy ra giữa hai tiếng chứ ít có ba tiếng dính nhau). Lúc này, bước trên
sẽ cho kết quả chỉ là một tiếng mà ta đưa luôn cho hệ thống nhận dạng thì
trước mắt sẽ có một tiếng bị nhận sai (không có kết quả), và tiếng còn lại
cũng nhiều khả năng sai. Như vậy, bước này cũng là cần thiết nếu muốn hệ
thống hoạt động cho chính xác.
Nếu các tiếng được nói rõ ràng thì chiều dài của mỗi tiếng không dao
động nhiều. Do đó ta có thể yêu cầu người nói rời rạc một số tiếng rồi đo
chiều dài nhỏ nhất L1 và lớn nhất LS các tiếng của người đó. Khi nhận được
đoạn dữ liệu có chiều dài lớn hơn LS, tức đang có hai tiếng dính nhau, ta sẽ
tìm frame trong đoạn [L1..LS] có năng lượng nhỏ nhất và điểm biên giữa hai
tiếng được chọn là điểm giữa của frame.
1.8. Chuẩn hoá biên độ
Dữ liệu tiếng nói khi thu được có biên độ rất biến động. Ngay cả khi
người sử dụng nói với một âm lượng rất chuẩn không hề thay đổi thì biên độ
của dữ liệu thu được cũng vẫn có thể không ổn định. Điều này dễ dàng xảy ra
khi người nói hơi xoay mặt đi, nhích micro đến gần miệng hơn hoặc kéo ra xa
hơn chỉ vài cm. Sự biến động này ảnh hưởng đến kết quả nhận dạng.
Việc chuẩn hoá là cần nhưng không nhất thiết phải thật tốt, chỉ cần biên
độ đừng nhỏ quá làm mất mát đặc trưng. Như vậy, ta có thể thực hiện đơn
giản bằng cách nhân mỗi điểm với một hệ số k thích hợp.
Ví dụ:
( )( )( )ns
kmax
1002/32767 −=
Nhận dạng tiếng nói là mô hình phức tạp theo nhiều mức khác nhau. Tín
hiệu tiếng nói được phân tách ra thành từ, các cụm từ hay câu. Tiếp theo
chúng được phân tích dựa vào cú pháp của ngôn ngữ cần nhận dạng, được
biến đổi và nén lại để đơn giản cho việc xử lý tiếp theo.
Khi xử lý tín hiệu tiếng nói ta phải rời rạc hoá nó theo thời gian, sử dụng
biến đổi FFT để ước lượng các thành phần tần số của tín hiệu rời rạc, tách lọc
các thành phần cần thiết trước khi nhận dạng.
15
1.8.1. Biến đổi FFT
Phép biến đổi nhanh FFT không phải là một phép biến đổi mới nó thực
chất là DFT nhưng được thực hiện với một thuật toán nhanh, gọn. Đây là
thuật toán đóng vai trò hết sức quan trọng trong việc phân tích, thiết kế và xử
lý tín hiệu.
Thuật toán biến đổi nhanh FFT cho N mẫu {x(n)} là:
Phép biến đổi thuận: ( ) ( )∑−
=
−=1
0
/2N
k
Nknjenxkx π
Phép biến đổi ngược: ( ) ( ) NknjekXN
nx /21 π∑= Với n = 0, 1, …, N-1
Trong đó: ( ) ( ) ( ) 1−+= nbnanx
Phép biến đổi FFT bảo toàn tính tuyến tính bất biến, tuần hoàn và tính
trễ.
Phép biến đổi tín hiệu thời gian rời rạc z được định nghĩa là:
( ) ( )∑∞
−∞=
−=π
nznxzX ( ) ( ) dzzzXj
nxC
n∫ −= 1
2
1
π
Phép biến đổi Fourier của x (n) có thể được tính từ biến đổi z khi:
( ) ( ) ( )∑∞
−∞=
−=
==n
nj
ezenxzXX j
ωωω
Phép biến đổi Fourier có thể xem như là phép biến đổi z đã được ước
lượng.
Phép biến đổi Fourier rời rạc (DFT) định nghĩa như là mẫu dưới đây:
( ) ( )∑−
=
−=1
0
2N
n
knj NekXkX π , 1,...2,1,0 −= Nk
Phép biến đổi ngược DFT là:
( ) ( )∑−
=
=1
0
2N
n
knj NekXnx π, 1,...,2,1,0 −= Nn
Phép biến đổi Fourier nhanh (FFT) đơn giản là tính hệ số của DFT.
Phép biến đổi cosin rời rạc (DCT) là DFT của tín hiệu.
( ) ( ) ( )∑−
=
+=1
1
2cos20N
nNknnxxkX π , 1,...,2,1,0 −= Nk
16
Trình bày thuật toán trên ngôn ngữ C
void ScrAmble(long numPoints, struct _complex *f)
{
long i,j,m;
double temp;
j=0;
for(i=0; i < numPoints;i++)
{
if(i < j)
{
// swap f[i] & f[j]
temp=f[i].x;
f[i].x=f[j].x;
f[j].x=temp;
temp=f[i].y;
f[i].y=f[j].y;
f[j].y=temp;
} // if
m=numPoints >> 1;
while( (j >= m) && (m >= 2) )
{
j-=m;
m>>=1;
} // while
j+=m;
} // for
} // ScrAmble
//**************************************************
void ButterFlies(long numPoints,int logN,int dir, struct
_complex *f)
{
double angle;
17
_complex w,wp,temp;
long i,j,k,offset;
long N, halfN;
double wtemp;
N=1;
for(k=0;k < logN;k++)
{
halfN=N;
N<<=1;
angle=-2.0*(M_PI/(double)N)*(double)dir;
wp.x=cos(angle);
wp.y=sin(angle);
w.x=1.0;
w.y=0.0;
for(offset=0; offset < halfN; offset++)
{
for(i=offset; i < numPoints;i+=N)
{
j=i+halfN;
// temp=w*f[j]
temp.x=(w.x*f[j].x) - (w.y*f[j].y);
temp.y=(w.x*f[j].y) + (w.y*f[j].x);
// f[j]=f[i]-temp
f[j].x=f[i].x - temp.x;
f[j].y=f[i].y - temp.y;
// f[i]=f[i]+temp
f[i].x+=temp.x;
f[i].y+=temp.y;
} // for
wtemp=w.x;
// w=w*wp
w.x=wtemp*wp.x - w.y*wp.y ;
w.y= w.y*wp.x + wtemp*wp.y ;
18
} // for
} // for
if(dir!=-1)
return;
for(i=0; i < numPoints; i++)
{
f[i].x/=(double)numPoints;
f[i].y/=(double)numPoints;
} // for
} // ButterFlies
void FFT(struct _complex *f, int logN,long numPoints,int
dir)
{
ScrAmble(numPoints,f);
ButterFlies(numPoints,logN,dir,f);
} // FFT
#endif // _FFT
Sau khi qua quá trình biến đổi FFT chúng ta thu được phổ của các tín
hiệu tiếng nói. (Biểu diễn phổ của một số thanh điệu xem phụ lục).
1.8.2. Làm rõ tín hiệu và cửa sổ hoá
Nhằm làm nổi bật đặc trưng phổ của tín hiệu. Thông thường bộ làm rõ
tín hiệu là một bộ lọc thông cao với phương trình sai phân là:
( ) ( ) ( )1~ −−= nasnsns
Trong đó, 0.9 ≤ a ≤ 1. Có thể chọn a = 0.95
Bước tiếp theo trong xử lý là cửa sổ hoá mỗi frame để làm giảm thiểu sự
gián đoạn tín hiệu ở đầu và cuối mỗi frame. Tập {x(n)} là các giá trị hạn chế
của các trường đoạn của tín hiệu, nếu chúng ta định nghĩa cửa sổ là w(n), N là
số mẫu cho mỗi khung thì kết quả cửa sổ hoá tín hiệu sẽ là:
( ) ( ) ( )nwnxnx .~ = 10 −≤≤ Nn
Trong tín hiệu tiếng nói, người ta thường dùng cửa sổ Hamming
19
−−=
1
2cos46.054.0)(
N
nnw
π, 10 −≤≤ Nn
Hàm Hamming suy rộng:
( ) ( ) ( ) 102
cos1 <≤
−+= απαα k
NkwkwH
Cửa sổ Hamming: 54.0=α
1.8.3. Định lý lấy mẫu
Nếu tần số cao nhất được chứa đựng trong một tín hiệu tương tự, ( )tax , là
mF thì tín hiệu đó là mẫu trong khoảng BFFs 22 max => khi đó, ( )tax có thể được
tính bằng những giá trị mẫu của nó theo hàm sau:
( ) ( )Bt
Bttg
ππ
2
2sin= ,
( )tax được tính như sau: ( )
−
= ∑
∞
−∞= snaa F
ntg
F
nxtx tại ( ) ( )nxnTx
F
nx a
sa ==
Cho trước một tín hiệu liên tục:
( ) ( ),02cos += fAtx π
Một tín hiệu hình sin tại một thời điểm nhất định được tính như sau:
( ) ,02cos
+
=
sf
nfAnx π
Rút gọn công thức trên, ta có:
( ) ( ),0cos += nAnx ω
tại ,2
=
sf
fπω còn được gọi là tần số radian tiêu chuẩn và biểu hiện thời
gian tiêu chuẩn.
1.8.4. Phổ dẹt của tiếng nói
Chọn ( ){ }nx biểu thị một đoạn tín hiệu kéo dài trong khoảng thời gian xác
định: ( ) ( ) ( )nwnxnx =ˆ
Đoạn này giới thiệu vùng tần số có tên gọi là hiệu ứng hàng rào
20
Hình 1-4. Mô hình phổ dẹt của tiếng nói
Mỗi frame sau khi được lấy cửa sổ sẽ được đưa qua bước phân tích tự
tương quan và cho ra (p + 1) hệ số tự tương quan:
( ) ( ) ( )mnxnxmrmn
n
+= ∑−−
=1
1
011
~~ m = 0, 1, 2…, p
Trong đó giá trị tự tương quan cao nhất, p, được gọi là cấp của phân tích
LPC. Người ta thường sử dụng các giá trị p từ 8 đến 16.
Hình 1-5. Sơ đồ phân tích tiếng nói
21
1.8.5. Biểu diễn tiếng nói theo mô hình LPC và các hệ số dự báo tuyến tính
Mô hình LPC được sử dụng để trích lọc các thông tin đặc trưng của tín
hiệu, kết quả của quá trình phân tích tín hiệu thu được một chuỗi các khung
tiếng nói, các khung này có thể được gia công thêm và mục đích sử dụng cho
việc phân tích âm học.
1.8.5.1 Mô hình LPC
Các tín hiệu được trích rút theo hình thức xử lý tín hiệu số bình thường,
toàn dãy dữ liệu được chia thành các frame và dùng LPC phân tích thành các
vector với số phần tử ít hơn hẳn.
Hình dưới đây là sơ đồ chi tiết của bộ xử lý LPC dùng để trích đặc trưng
âm tiết tiếng nói. Các bước cơ bản trong tiến trình xử lý như sau:
Lµm râtÝn hiÖu
Ph©n ®o¹nframe
LÊy cöasæ
Ph©n tÝch tùt¬ng quan
LÊy ®¹ohµm
§ Æt trängsè
ChuyÓn sangcepstral
Ph©n tÝchLPC
( )ns ( )ns~ ( )nx1 ( )nx1~
( )tam( )tcm( )tcm~∆
( )tcmˆ
( )trm
Hình 1-6. Sơ đồ bộ xử lý LPC dùng cho trích đặc trưng tiếng nói.
1.8.5.2 Dự báo tuyến tính
Phân tích dự báo tuyến tính có nghĩa là một mẫu tiếng nói có thể được
xấp xỉ như là tổ hợp tuyến tính của các mẫu trước đó. Bằng việc tối thiểu hoá
tổng của các bình phương sai số giữa các mẫu hiện tại và các mẫu dự đoán
tuyến tính ta có thể xác định được một tập duy nhất các hệ số dự báo. Các hệ
số dự báo này chính là các trọng số được sử dụng trong tổ hợp tuyến tính.
Chúng ta định nghĩa dãy tín hiệu tiếng nói bằng hàm s(n), giá trị dự báo:
( ) ( )∑=
−=P
kk knsns
1
~ α
Các hệ số kα đặc trưng cho hệ thống.
22
Lỗi dự báo được tính theo công thức:
( ) ( ) ( ) ( ) ( )∑=
−−=−=P
kk knsnsnsnsne
1
~ α
Muốn cực tiểu hoá các lỗi xảy ra cần phải chọn giá trì phù hợp nhất, tối
ưu nhất đối với tập giá trị { }kα . Chính vì tín hiệu tiếng nói thay đổi theo thời
gian nên các hệ số dự báo phải được ước lượng từ một đoạn ngắn tín hiệu.
Phương pháp tiếp cận cơ bản là tìm một tập các hệ số dự báo để tối thiểu hoá
sai số trung bình trên một đoạn ngắn tín hiệu tiếng nói.
Công thức tính lỗi dự báo trong một thời gian ngắn:
( )∑=m
nn neE 2 ( ) ( )2
1∑ ∑
−−=
=m
P
knkn kmsms α (*)
( ) ( ) ( ) ( )2
11
2 2∑ ∑ ∑∑∑
−+
−−=
==m m
P
knk
P
knkn
mn kmskmsmsms αα
( ) ( ) ( ) ( )2
11
2 2∑ ∑ ∑ ∑∑
−+
−−=
==m m m
P
knk
P
knnkn kmskmsmsms αα
Trong đó sn(m) là một đoạn tín hiệu tiếng nói được chọn ở lân cận của
mẫu thứ n, nghĩa là:
( ) )( mnsmsn +=
Chúng ta có thể tìm được các giá trị kα để tối thiểu hoá En trong phương
trình bằng cách đặt 0=∂∂ inE α , với i = 1, 2, …, P.
( ) ( ) ( ) ( )imskmsimsmsE
nm
P
knk
mnn
i
−
−+−−==
∂∂ ∑ ∑∑
=1
220 αα
Từ đó nhận được phương trình:
( ) ( ) ( ) ( )∑∑ ∑ −−=−= m
nnm
P
kknn kmsimsmsims
1α Pi ≤≤1 (**)
Nếu chúng ta đặt:
( ) ( ) ( )∑ −−=m
nnn kmsimski,φ (***)
23
Thì phương trình (**) có thể được viết gọn hơn:
( ) ( )∑=
=P
knkn kii
1,0, φαφ Pi ,,2,1 = (****)
Giải hệ P phương trình này ta sẽ tìm được P ẩn { }kα . Tập các hệ số { }kα
sẽ tối thiểu sai số trung bình bình phương dự đoán cho đoạn tín hiệu Sn(m).
Sử dụng phương trình (*) và (**) sai số dự đoán trung bình bình phương tối
thiểu sẽ là:
( ) ( ) ( )∑ ∑∑=
−−=P
k mnnk
mnn kmsmsmsE
1
2 α
Sử dụng phương trình (****) ta có thể biểu diễn En như sau:
( ) ( )kE n
P
kknn ,00,0
1φαθ ∑
=−=
(*****)
Về nguyên tắc phân tích dự đoán tuyến tính rất dễ hiểu. Nhưng việc tính
toán ( )kin ,θ và nghiệm của hệ phương trình là khá rắc rối. Phương pháp
thông dụng để áp dụng giải các phương trình là phương pháp tự tương quan.
Chúng ta giả sử đoạn tín hiệu sn(m) = 0 ngoài khoảng 10 −≤≤ Nm . Điều
này có thể được biểu diễn như sau:
( ) ( ) ( )mwnmsmsn +=
Trong đó, w(m) là cửa sổ có chiều dài hữu hạn (thường hay dùng cửa sổ
Hamming. w(m) khác không trong khoảng 10 −≤≤ Nm . Do đó sai số dự
đoán en(m) cho bộ dự đoán bậc p sẽ khác không trong khoảng pNm +−≤≤ 10 . Vì vậy En có dạng sau:
( )∑−+
==
1
0
2pN
mnn meE
Từ đó công thức (***) trở thành:
( ) ( ) ( )∑−+
=−−=
1
0,
pN
mnnn kmsimskiφ
pk
pi
≤≤≤≤
0
1
( ) ( ) ( )( )
∑−−−
=−+=
kiN
mnnn kimsmski
1
0,φ
pk
pi
≤≤≤≤
0
1
24
Gọi Rn(k) là hàm tự tương quan có dạng:
( ) ( ) ( )∑−−
=+=
kN
mnnn kmsmskR
1
0
Thì ta có: ( ) ( )kiRki nn −=,φ
Vì Rn(k) là hàm chẵn nên ta có thể viết:
( ) ( )kiRki nn −=,φpk
pi
,...,2,1,0
,...,2,1
==
Do đó phương trình (****) có thể được viết thành:
( ) ( )∑=
=−p
knnk iRkiR
1
α
Hệ phương trình này còn có thể được viết dưới dạng ma trận như sau:
rR 1−=α
Ở đó:
( )( )
( )
( )( )
( )
( )( )
( )
( )( )
( )
=
−−
−−
=
=
Pr
r
r
r
r
pr
pr
pr
r
r
pr
r
r
R
P
2
1
0
2
1
2
0
1
1
1
0
2
1
α
αα
α
Chú ý rằng R là ma trận đối xứng, tất cả các phần tử thuộc đường chéo
của ma trận này đều có giá trị bằng nhau, điều đó có nghĩa là: (1) Nghịch đảo
của nó luôn tồn tại; (2) các nghiệm của nó nằm ở phía trái của phương trình.
Tương tự như vậy sai số trung bình bình phương tối thiểu của phương
trình (*****) sẽ có dạng:
( ) ( )∑=
−=p
knknn kRRE
10 α
Trình bày thuật toán trên ngôn ngữ C:
void ComputeCorrelation(double*sample,int nSample,
double *coeffCorrelation, int nLPC_AUTO)
{
int i,k,nk;
for (k = 0; k <= nLPC_AUTO; k++)
25
{
nk = nSample - k;
coeffCorrelation[k] = 0.0;
for (i = 0; i < nk; i++)
coeffCorrelation[k] += sample[i] * sample[i + k];
} // for
} // ComputeCorrelation
//*****************************************************
void Durbin_RC(int nLPC,double *coeffCorrelation,double *coeffRC,
double &beta)
{
int i, j;
double a[MAX_LPC_ORDER + 1], at[MAX_LPC_ORDER + 1], e;
for (i = 0; i <= nLPC; i++)
a[i] = at[i] = 0.0;
e = coeffCorrelation[0];
for (i = 1; i <= nLPC; i++)
{
coeffRC[i] = -coeffCorrelation[i];
for (j = 1; j < i; j++)
{
at[j] = a[j];
coeffRC[i] -= a[j] * coeffCorrelation[i - j];
} // for
coeffRC[i] /= e;
a[i] = coeffRC[i];
for (j = 1; j < i; j++)
a[j] = at[j] + coeffRC[i] * at[i - j];
e *= 1.0f - coeffRC[i] * coeffRC[i];
} // for
if (e < 0)
e = 0;
26
beta=sqrt(e);
} // Durbin_RC
// He so a[] duo xac dinh boi
// x[n] ~= e[n]+ a[1]*x[n-1] + ...+ a[p]*x[n-p]
//***************************************************
void Durbin_LPC_RC(int nLPC,double *coeffCorrelation,double
*coeffRC, double *a, double &beta)
{
int i, j;
double at[MAX_LPC_ORDER + 1], e;
for (i = 0; i <= nLPC; i++)
a[i] = at[i] = 0.0;
e = coeffCorrelation[0];
a[0]=1.0;
for (i = 1; i <= nLPC; i++)
{
coeffRC[i] = -coeffCorrelation[i];
for (j = 1; j < i; j++)
{
at[j] = a[j];
coeffRC[i] -= a[j] * coeffCorrelation[i - j];
} // for
coeffRC[i] /= e;
a[i] = coeffRC[i];
for (j = 1; j < i; j++)
a[j] = at[j] + coeffRC[i] * at[i - j];
e *= 1.0f - coeffRC[i] * coeffRC[i];
} // for
if (e < 0)
e = 0;
beta=sqrt(e);
} // Durbin_LPC_RC
27
2. CÁC MÔ HÌNH ỨNG DỤNG CHO NHẬN DẠNG
TIẾNG NÓI
2.1. Phương pháp VQ
2.1.1. Khái niệm phép lượng tử hoá
VQ là một bộ xấp xỉ hóa.
Hình 2-7. Ví dụ VQ 1 chiều.
Ở hình trên, mọi số nhỏ hơn -2 đều được xấp xỉ thành -3. Mọi số nằm
giữa -2 và 0 được xấp xỉ thành -1. Mọi số nằm giữa 0 và 2 được xấp xỉ thành
1. Mọi số lớn hơn 2 được xấp xỉ thành 3.
Hình 2-8. Ví dụ VQ 2 chiều.
28
Ở hình trên mọi điểm nằm trong 1 phân vùng được xấp xỉ bằng điểm
hình * tương ứng với phân vùng đó.
Theo định nghĩa toán học, việc lượng tử hoá vector k chiều hay VQ bao
gồm hai ánh xạ: quá trình mã hoá thực hiện bằng hàm y, với mỗi vector đầu
vào x = {x0,x1,…,xk-1} ta có hàm mã hoá là y(x), M là ký hiệu của một tập các
kênh, và một bộ giải mã β gán cho mỗi ký hiệu kênh v trong M một giá trị
trong bảng chữ cái. Ví dụ: M có thể là một tập 2R (hệ nhị phân) vector R
chiều. Bảng chữ cái phát lại có tương tự khoảng trống của các vector đầu vào,
đặc biệt nó có thể có một vector thực với một chiều khác nhau.
Nếu M có M phần tử, nếu số lượng R = log2M thì được gọi là tỉ lệ số bit
cho mỗi vector trong bộ lượng tử hoá và r = R/k là tỉ lệ số bit cho một biểu
tượng, khi đầu vào là dạng sóng đã được lấy mẫu thì đó là số bit cho một
mẫu.
2.1.2. Độ biến dạng
Độ biến dạng d ký hiệu ( )xxd ˆ, giữa vector đầu vào x và vector x . Cho
một giá trị của độ biến dạng, chúng ta có thể xác định chất lượng thực hiện
của hệ thống bằng độ biến dạng trung bình ( )XXEd ˆ, giữa vector đầu vào và
vector được phát: Một hệ thống được đánh giá tốt nếu như giá trị trung bình
độ biến dạng nhỏ. Trên thực tế, giá trị trung bình được quan tâm là giá trị
trung bình giới hạn độ dài mẫu hoặc trung bình thời gian thực hiện, dĩ nhiên
điều này được đánh giá bằng trực giác.
( ) ( )∑−
=−=−=
1
0
22 ˆ,k
iii xxxxxxd
k: Số chiều của VQ
2.1.3. Tính chất
Tính chất 1:
Với mục đích cực tiểu hoá trung bình độ biến dạng, cho một bộ giải mã
β, không có bộ mã hoá lượng tử nào tốt hơn chọn các từ mã v trong M, nó sẽ
cung cấp độ biến dạng nhỏ nhất có thể ở đầu ra, giá trị cực tiểu trên kênh v là:
( )[ ]{ } ( )[ ] ( )yxdvxdxyxdCyMv
,min,min,∈∈
== ββ
29
Bộ giải mã cho quá trình lượng tử hoá vector tốt nhất khi bộ mã hoá có
độ biến dạng nhỏ nhất.
( ) ( )[ ]vxdxyMv
β,min 1
∈−=
Ngược lại biết v chúng ta sẽ tìm ra được giá trị cực tiểu ở công thức trên.
Tính chất 2:
Đối với bộ mã hoá y, không có bộ giải mã nào tốt hơn việc gán mỗi kênh
v một ceintroid chung của tất cả các vector nguồn mã hoá thành v, đó là:
( ) ( ) ( ) ( )( )vXyxXdEvcentvAx
=== −
∈|ˆ,min 1
ˆβ
Thường là: ( ) ( ) ( )∑
==
vxyxi
ii
xvi
vcent|
1
Ở đó: i(v) là số của chỉ số i sao cho y(xi) = v.
2.1.4. Thiết kế codebook theo phương pháp LBG
Vấn đề thiết kế
Tìm hiểu về cách thiết kế VQ có thể được bắt đầu như sau. Cho một
vector nguồn với các thuộc tính đã biết, cho một khoảng cách (độ sai lệch), và
cho số lượng codevector, tìm một codebook (tập gồm các dấu hoa thị) và cách
phân chia (tập các đường kẻ) codebook phải tìm là codebook có ra khoảng
cách trung bình bé nhất
Chúng ta giả thiết rằng chuỗi huấn luyện gồm có M vector nguồn:
T = {x1, x2,…,xM}
Chuỗi huấn luyện này thu được từ một cơ sở dữ liệu khá lớn. Ví dụ như
nếu nguồn là một tín hiệu tiếng nói, khi đó chuỗi huấn luyện có thể thu được
bởi cơ sở dữ liệu là một vài cuộc hội thoại khá dài được ghi âm qua điện
thoại. Giả thiết M có đầy đủ các thuộc tính thống kê của nguồn thu được trong
việc huấn luyện chuỗi. Chúng ta cũng giả thiết rằng các vector nguồn là k
chiều, ví dụ:
xm = (xm,1, xm,2, …, xm,k), m =1, 2, …, M
Cho N là số lượng codevector và biễu diễn codebook :
C = {c1, c2, …, cN},
Mỗi codebook có k chiều, ví dụ:
30
cn = (cn,1, cn,2, …, cn,k), n = 1, 2, …, N
Sn là miền mã hoá với codevector cn và chỉ rõ việc phân chia các khoảng
trống.
P = { S1, S2,…, SN},
Nếu vector nguồn xm ở trong miền Sn, khi đó giá trị tương đương của nó
(nghĩa là Q(xm)) sẽ là cn.
Q(xm) = cn, if xm∈ SN
Độ đo bình phương khoảng cách lỗi, độ lệch trung bình được tính bằng:
( )2
1
1 ∑=
−=M
mmmove xQx
MkD
Ở đó:
222
21
2... keeee +++=
Như vậy, vấn đề thiết kế thuật toán này có thể được nói ngắn gọn như
sau: Cho T và N, tìm C và P sao cho Dove là nhỏ nhất.
Tiêu chuẩn tối ưu hoá
Nếu C và P là một giải pháp của vấn đề cực tiểu hoá, khi đó nó phải thoả
mãn hai tiêu chuẩn sau:
• Điều kiện của thuật toán người láng giềng gần nhất:
{ }NncxcxxS nnn ,...,2,1:22 =′∀−≤−= ′
Điều kiện này yêu cầu miền mã hoá Sn phải bao gồm tất cả các vector,
các vector gần với Cn hơn bất kỳ một codevector nào khác.
• Điều kiện của trọng tâm:
∑∑
∈
∈=nm
nm
Sx
Sx m
n
Xc
1 n = 1, 2, …, N
Điều kiện này cho rằng codevector Cn là trung bình của tất cả các vector
huấn luyện, các vector ở trong miền mã hoá Sn. Thêm vào đó có một điều
chắc chắn là có ít nhất một vector huấn luyện thuộc vào mỗi miền (mẫu số ở
công thức trên phải khác 0).
Thiết kế thuật toán LBG
31
Thuật toán LBG là thuật toán đệ quy, việc giải quyết dựa vào sự lựa
chọn hai tiêu chuẩn tối ưu trên. Thuật toán yêu cầu một codebook ban đầu
C(0). Đây là codebook khởi tạo, thu được qua quá trình phân tách. Trong
phương thức này, một codebook được đặt là giá trị trung bình của toàn bộ dãy
huấn luyện. Codevector này được phân tách thành hai. Thuật toán lặp được
chạy với hai vector được khởi tạo cho codebook. Hai codebook sau được
phân thành bốn và quá trình xử lý được lặp lại cho đến khi thu được số lượng
codebook mong muốn. Thuật toán này được tổng kết như sau:
Thiết kế thuật toán LBG:
1. Cho T. ε>0 là số lượng nhỏ nhất có giá trị cố định
2. Đặt N=1 và
∑=
=M
mmx
Mc
1
*1
1
Tính
2
1
*1
* 1 ∑=
−=M
mmove cx
MkD
1. Phân tách: Cho i = 1, 2, …, N, khi đó:
( ) ( )( ) ( ) *0
1
*0
1
1
iN
ii
cc
cc
ε
ε
−=
+=
+
Đặt N = 2N
2. Lặp lại thuật toán: Đặt ( ) *0oveove DD = . Đặt chỉ số lặp i = 0.
i. Cho m = 1, 2, …, M, Tìm giá trị nhỏ nhất :
( ) 2inm cx −
với n = 1, 2, …, N. Với n* là chỉ số nhỏ nhất thu được. Khi đó:
( ) ( )i
nm cxQ *=
ii. Cho n = 1, 2, …,N, Cập nhật lại codevector
( ) ( ) ( )
( ) ( )∑∑
=
=+ =i
n
inm
c
cxQinc
mxQ
m1
1
X
iii. Đặt i = i+1
32
iv. Tính
( ) ( )∑=
−=M
mmm
iove xQx
MkD
1
21
v. Nếu ( ) ( ) ( ) ε>− −− 11 iove
iove
iove DDD , Quay lại bước (i).
vi. Đặt ( )ioveove DD =* . Cho n = 1, 2, …, N, đặt
( )inn cc =*
Với các codevector cuối.
3. Lặp lại bước 3 và 4 cho đến khi thu được số lượng codebook
mong muốn.
2.1.5. Ứng dụng VQ trong xử lý tín hiệu tiếng nói
Kết quả của việc trích trọn đặc trưng tiếng nói là một dãy các vector đặc
trưng của chuỗi các đặc trưng phổ của tín hiệu tiếng nói. Chúng ta có thể ánh
xạ các vector này thành một tập các vector rời rạc.
Hình 2-9. Sơ đồ khối chung của quá trình huấn luyện và phân lớp tín hiệu tiếng nói sử dụng VQ.
Các ưu điểm của phương pháp này là:
1. Giảm không gian lưu trữ các đặc trưng phổ.
2. Giảm thời gian tính toán trong việc quyết định các sự giống nhau
gữa các vector phổ.
3. Biểu diễn tín hiệu âm thanh dưới dạng rời rạc.
Các nhược điểm của phương pháp này:
1. Bóp méo tín hiệu phổ trong quá trình phân tích các tín hiệu âm
thanh thực.
33
2. Phải tính đến không gian lưu trữ các codebook. Codebook càng
lớn thì càng làm giảm các lỗi lượng tử hóa nhưng không gian lưu
trữ càng tăng lên. Phải cân bằng giữa 2 vấn đề về không gian lưu
trữ codebook và lỗi lượng tử hóa.
Hình 2-10. Đồ thị của chuỗi các vector phổ đã được mã hóa bằng VQ của phát âm từ 8 tiếng Anh.
2.2. Phương pháp căn chỉnh thời gian động
2.2.1. Khái quát về tiếp cận đối sánh mẫu và kĩ thuật căn chỉnh thời gian
động
Đối sánh mẫu là một trong những cách tiếp cận cơ bản để giải quyết bài
toán nhận dạng. Trong lĩnh vực nhận dạng tiếng nói, cách tiếp cận này cũng
được áp dụng và có hiệu quả. Tại pha “Trích chọn đặc trưng”, chúng ta
thường sử dụng các kĩ thuật cơ bản như: mã hóa dự báo tuyến tính (Linear
Predictive Coding - LPC), các hệ số cepstral tần số Mel (Mel Frequency
Cepstral Coefficients - MFCC), ... để trích các đặc trưng âm thanh thành bộ số
liệu. Pha “Phát hiện tiếng nói” có nhiệm vụ tách bỏ các thành phần âm thanh
không cần thiết và phát hiện tiếng nói trong bộ số liệu đưa vào. Một số kĩ
thuật được dùng ở pha này có thể kể đến là: kĩ thuật phân tích phổ năng
lượng, phân tích phổ, ...
34
Hình 2-11. Sơ đồ cách tiếp cận đối sánh mẫu.
Nhiệm vụ của pha “Đối sánh mẫu” là so khớp tín hiệu đưa vào nhận
dạng với bộ tín hiệu đã được lưu sẵn trong chương trình để tìm ra khoảng
cách giữa các mẫu. Các kĩ thuật có thể dùng là: căn chỉnh thời gian động
(Dynamic Time Warping - DTW), mô hình Markov ẩn (Hidden Markov
Model - HMM), ... Cuối cùng “Luật quyết định” là pha trợ giúp máy tính đưa
ra kết quả nhận dạng mẫu tín hiệu nào gần giống nhất. Trong số rất nhiều các
luật được đề nghị cho các hệ nhận dạng, có hai luật được sử dụng rộng rãi là:
luật lân cận gần nhất (Nearest Neighbour Rule - NN) và luật k-lân cận gần
nhất KNN.
Đối sánh mẫu đóng vai trò rất quan trọng trong các hệ nhận dạng tiếng
nói. Đối sánh mẫu tức là xác định sự tương đương giữa các mẫu khác nhau,
hay nói cách khác là đo lường khoảng cách giữa các mẫu. Tùy theo đặc tả của
từng hệ thống mà chúng ta có những kĩ thuật so khớp mẫu khác nhau.
DTW được áp dụng nhận dạng các từ đơn lẻ (IWR - Isolated Word
Recognition). Điều này có nghĩa là các từ được nói ra rời rạc từng từ một và
với khoảng thời gian trễ vừa đủ. Với những yêu cầu như vậy, có thể dễ dàng
nhận biết được lúc nào bắt đầu một từ và lúc nào kết thúc một từ. Điều này sẽ
thực sự rất khó khăn đối với những hệ thống nhận dạng câu liên tục (CSR -
Continuous Speech Recognition) khi mà người nói phát âm một cách bình
thường và không có ranh giới rõ ràng giữa các từ. Khi các từ được nói bởi
một người và mục tiêu của hệ nhận dạng tiếng nói là nhận dạng các từ được
phát âm bởi người đó thì hệ được gọi là hệ nhận dạng phụ thuộc vào người
nói (speaker-dependent recognition). Một hệ phức tạp hơn là hệ nhận dạng
độc lập với người nói (speaker-independent recognition).
Sau đây là ưu và nhược điểm của kĩ thuật DTW.
Ưu điểm Nhược điểmKhông sử dụng các đặc trưng ngôn
ngữ nên không phụ thuộc vào ngôn
Độ chính xác của hệ phụ thuộc vào
số lượng mẫu học. Các mẫu tham
35
ngữ được nhận dạng. Tiêu hao tài
nguyên hệ thống ít.
khảo sẽ bị ảnh hưởng bởi môi trường
lúc tạo mẫu như: tiếng ồn, thiết bị,
tâm lý,...Có thể sử dụng cho một từ đơn hoặc
một nhóm từ mà không cần thay đổi
thuật toán nhiều.
Thời gian tính toán phụ thuộc nhiều
vào số lượng mẫu học và số lượng từ
cần nhận dạng. Do đó không thể sử
dụng trong các hệ nhận dạng với số
lượng từ lớn.Dễ cài đặt và triển khai với số lượng
từ giới hạn (<100 từ), độ chính xác
trong trường hợp này có thể đạt đến
99,5%.
Không sử dụng nhiều các yếu tố ngữ
nghĩa, cú pháp, từ,...
2.2.2. Kĩ thuật căn chỉnh thời gian động
2.2.2.1 Căn chỉnh thời gian động
Do sự khác nhau về ngữ điệu, về cách phát âm của từng người nói, về
thời gian nói,... nên dạng sóng của một từ trong các lần nói khác nhau có thể
có rất nhiều sự khác biệt. Thậm chí khi một từ được nói bởi một người thì sự
khác nhau vẫn tồn tại bởi tốc độ nói, nói to/nhỏ, tâm lí khi nói. Một số mẫu có
thể có thời gian nói dài hơn và nói to hơn, một số khác có thể nói nhỏ hơn và
ngắn hơn. Ví dụ như ở hình 4.7 là hai lần nói khác nhau của cùng một từ
“speech”. So sánh giữa hai tín hiệu ta thấy, âm s,p và ch của tín hiệu 1 ngắn
hơn, và âm iy thì dài hơn (các đường nét đứt là tín hiệu 1, nét liền là tín hiệu
2). Bài toán so sánh hai tín hiệu ở đây chính là ở chỗ độ dài các tín hiệu
không giống nhau.
Mẫu tín hiệu tiếng sau khi thu vào máy tính là một dãy tín hiệu số.
Chúng ta sẽ chia mẫu tiếng nói được đưa vào nhận dạng thành các frame liên
tục gối lên nhau. Giả sử mỗi frame được chọn với độ dài là tf =512 mẫu tín
hiệu và phần gối lên nhau giữa hai frame liên tiếp là t0 =100 mẫu tín hiệu như
biểu diễn trong hình 4.6.
36
Hình 2-12- Các frame lần lượt gối lên nhau.
Hình 2-13- So sánh sự khác nhau về thời gian trên từ “speech”
Mỗi frame này qua phép phân tích LPC ở pha trích chọn đặc trưng sẽ
được biểu diễn bằng một vector p chiều và ta gọi vector này là vector đặc
trưng. Giá trị p là một giá trị không cố định thường được lựa chọn theo kinh
nghiệm. Điều đó có nghĩa là từ việc lưu giữ một frame với tf mẫu ta chỉ cần
lưu một vector với p chiều. Như vậy một mẫu nhận dạng sẽ là một chuỗi các
vector đặc trưng. Chuỗi vector đặc trưng này sẽ được dùng để so khớp với
37
chuỗi vector đặc trưng chuẩn đã được lưu trong chương trình để tìm khoảng
cách, khoảng cách này là cơ sở để chúng ta quyết định kết quả nhận dạng.
Gọi a = {a1 , a2 , ... , aI} và r = {r1 , r2 , ... , rJ} lần lượt là chuỗi vector đặc
trưng của tín hiệu 1 và tín hiệu 2. Ở đây jr và ai là các vector đặc trưng (hay
còn gọi là các frame) p chiều với i=1,...,I, j=1,...,J. Nói chung, do bản chất
biến thiên về thời gian của tiếng nói nên độ dài của hai chuỗi vector a và r
khác nhau nên I≠J. Sự chuẩn hóa về thời gian giữa a và r là sự mở rộng một
cách tuyến tính mẫu tín hiệu ngắn hơn đạt tới độ dài của mẫu tín hiệu dài hơn.
Nghĩa là ta phải thực hiện việc so khớp hai vector có chiều dài khác nhau. Ta
có một kĩ thuật đơn giản để giải quyết vấn đề trên là kĩ thuật căn chỉnh thời
gian tuyến tính.
Giả sử J<I. Kí hiệu D(r,a) là khoảng cách giữa hai mẫu tín hiệu r và a và
được tính như sau:
∑=
=I
iijf ardarD
1' ),(),(
= i
I
Jj *'
với ),( ' ijf ard là khoảng cách giữa hai frame 'jr và ai.
Kết quả của sự căn chỉnh thời gian tuyến tính được thể hiện ở hình 4.7(d)
tuy vậy việc căn chỉnh như hình (d) là chưa tối ưu về mặt khoảng cách. Một
lược đồ chuẩn hóa tốt phải thay đổi khoảng thời gian của một mẫu theo đặc
tính của mẫu kia để đạt được sự so khớp hợp lý giữa chúng, do vậy mà
khoảng cách D(r,a) có thể được cực tiểu hóa. Hình (e) thể hiện sự căn chỉnh
thời gian động (hay còn gọi là căn chỉnh thời gian phi tuyến), nghĩa là căn
chỉnh trên từng đoạn con rồi khớp chúng lại. Chúng ta có thể thấy các phần
của âm s, p và ch của tín hiệu 1 được mở rộng, còn âm iy thì được nén.
2.2.2.2 Quy hoạch động trong kĩ thuật căn chỉnh thời gian động
Sự so khớp phi tuyến giữa các mẫu a và r như đã nói ở phần trước được
biểu diễn trên lưới điểm hình 4.8. Trên lưới này tín hiệu a nằm dọc theo trục i,
tín hiệu r nằm dọc theo trục j. Mỗi giao điểm trên lưới được định nghĩa như là
một nút, nút (i,j) có nghĩa là so khớp frame i của tín hiệu a với frame j của tín
hiệu r. Nút (0,0) được gọi là nút gốc nơi mà tất cả các đường đều xuất phát từ
đây.
38
df(i,j) là khoảng cách giữa vector đặc trưng ai với jr , khoảng cách này
còn được gọi là khoảng cách cục bộ. Ta định nghĩa giá tại nút (0,0) là:
df(0,0) = 0
Một đường đi ở đây được định nghĩa bởi các cặp nút (ik-1, jk-1) -> (ik, jk).
Một đường đi xuất phát từ nút (0,0) đến nút (ik, jk) có một giá toàn cục là giá
tích lũy từ điểm bắt đầu của đường đi cho đến khi gặp nút (ik, jk). Ta gọi giá
này là D(ik, jk) và được định nghĩa :
),(),(),( 11 kkfkkkk jidjiDjiD += −−
Vì nút (0,0) là nút khởi đầu của tất cả các đường đi nên ta có:
0)0,0( =D
Khi cho k chạy về tới k=1 ta có:
∑=
=k
mmmfkk jidjiD
0
),(),(
Hình 2-14- Lưới minh họa quy hoạch động.
Rõ ràng là trên lưới quy hoạch động có nhiều đường đi xuất phát từ nút
(0,0) đến nút (ik,jk) với các giá toàn cục khác nhau. Như vậy bài toán có thể
được viết như là việc tìm kiếm một đường đi đầy đủ từ nút (0,0) tới nút đích
(I,J) sao cho giá toàn cục là nhỏ nhất. Kí hiệu D*(ik,jk) là giá toàn cục nhỏ
nhất. Khi đó ta có:
39
{ } ),(),(min),(* 11 kkfkkkk jidjiDjiD += −−
= ∑
=
k
mmmf jid
0
),(min
trong biểu thức này (ik, jk) = (I,J), min lấy tại mọi đường đi có thể từ nút (0,0)
đến nút (ik,jk). Để tiện cho việc kí hiệu, sau này ta sẽ dùng kí hiệu D thay cho D*.
2.2.2.3 Phương pháp đo khoảng cách cục bộ
Trong phần trước ta đã đề cập df(i,j) là khoảng cách giữa vector đặc
trưng ai và jr . Ta có thể viết đầy đủ là ),( jif rad với các vector ai và rj nhận
được qua phép phân tích LPC có dạng sau :
ai = [1 , ai2 , ai3 , . . . , aip]T và jr = [1 , rj2 , rj3 , . . . , rjp]T
Do ),( jif rad là khoảng cách nên phải thỏa mãn 3 điều kiện :
1. ),( jif rad ≥ 0 và =0 khi ai = jr ,
2. ),( jif rad = ),( ijf ard ,
3. ),( jif rad ≤ ),( bad if + ),( jf rbd .
Bất cứ hàm nào đáp ứng được ba tính chất trên đều là metric hợp lệ của
không gian vector. Do vậy sẽ có nhiều metric và mỗi cái sẽ có những điểm
mạnh và yếu của riêng nó. Chúng ta thường sử dụng những trường hợp đặc
biệt của metric Minkowski trong các tính toán kĩ thuật. Metric Minkowski bậc
s giữa ai và jr là :
s
sp
kjijis kk
rarad ∑=
−=1
),(
Tương ứng với s=1 và s=2 ta lần lượt có:
City block metric:
∑=
−=p
kjiji kk
rarad1
),(
Euclidian metric:
40
2
12 ),( ∑
=
−=p
kjiji kk
rarad
Ngoài metric Minkowski còn có nhiều metric khác như: LPC, Itakura,
Mahalanobis,...
2.2.3. Các ràng buộc
Phương pháp đối sánh mẫu trong nhận dạng tiếng nói đo khoảng cách
giữa mẫu kiểm tra với tất cả các mẫu sẵn có rồi chọn ra mẫu có khoảng cách
nhỏ nhất và mẫu đó được coi là kết quả nhận dạng. Do vậy bài toán nhận
dạng có thể quy về việc tìm khoảng cách giữa hai tín hiệu. Ta đã biết rằng
thách thức của bài toán chính là sự đa dạng trong hành vi nói của con người.
Các yếu tố như tốc độ nói, kiểu ngữ điệu,… phải không làm ảnh hưởng đến
kết quả nhận dạng. Ta đã chỉ ra rằng quy hoạch động có thể được sử dụng để
tìm đường đi so khớp phi tuyến giữa tín hiệu kiểm tra và các tín hiệu mẫu do
vậy mà khoảng cách giữa chúng được cực tiểu. Ứng dụng này của quy hoạch
động trong nhận dạng tiếng nói được gọi là Căn chỉnh thời gian động
(Dynamic Time Warping - DTW).
DTW cũng sử dụng lưới như ở hình 4.8 để định nghĩa không gian tìm
kiếm trong đó a là mẫu tín hiệu cần kiểm tra, r là mẫu tín hiệu đã được lưu
sẵn. Chúng ta sẽ tìm kiếm đường đi tốt nhất dọc theo chỉ số của mẫu kiểm tra.
Do là ứng dụng đặc thù của quy hoạch động trong nhận dạng tiếng nói nên
DTW áp dụng một số loại ràng buộc.
2.2.3.1 Các ràng buộc điểm đầu cuối (Endpoint Constraints)
Ràng buộc điểm bắt đầu: frame đầu tiên của mẫu kiểm tra phải được so
khớp với frame đầu tiên của mẫu sẵn có:
(i1 , j1) = (1 , 1)
Ràng buộc điểm kết thúc: frame cuối của mẫu kiểm tra phải được so
khớp với frame cuối cùng của mẫu sẵn có:
(ik , jk) = (I , J)
41
Hình 2-15- Các ràng buộc điểm đầu cuối (Endpoint Constraints)
Theo điều kiện ràng buộc này ta có một đường đi so khớp thông thường
có dạng như ở hình 4.9.
2.2.3.2 Các ràng buộc đều đặn và liên tục (Continuity and Monotonicity
Constraints)
Ràng buộc đều đặn yêu cầu các vector của một từ phải được duyệt theo
thứ tự tăng dần, nghĩa là:
jk - jk-1 ≥ 0
Ràng buộc liên tục có nghĩa là không có điểm “gẫy” trên đường đi, nghĩa là:
ik - ik-1 = 1
Nói cách khác việc so khớp phải tiến hành dọc theo trục của mẫu kiểm
tra lần lượt từng frame một.
Hình 2-16- Minh họa về so khớp không đều đặn.
42
Hình 4.10 là một ví dụ về so khớp không đều đặn. Từ “pest” chạy dọc
theo trục x và “pets” dọc theo trục y. Tập âm vị của cả hai từ “pest” và ”pets”
là {p, eh, s, t}. Nếu không có ràng buộc đều đặn hai tín hiệu này có thể so
khớp như đường nét liền và như vậy đưa ra thông tin nhận dạng sai là hai mẫu
này trùng nhau.
Hình 4.11 là một ví dụ về so khớp không liên tục. Từ “speak” chạy dọc
theo trục x và “spaek” dọc theo trục y. Tập âm vị của cả hai từ “speak” và
”spaek” là {s, p, eh, a, k}. Nếu không có ràng buộc liên tục hai tín hiệu này có
thể so khớp như đường nét liền và như vậy đưa ra thông tin nhận dạng sai là
hai mẫu này trùng nhau.
Hình 2-17- Minh họa về so khớp không liên tục.
2.2.3.3 Các ràng buộc đường đi cục bộ (Local Constraints)
Các ràng buộc đường đi cục bộ được sử dụng để định ra đường đi hợp lệ
giữa hai nút lưới bất kì. Nói cách khác, ràng buộc này sẽ là điều kiện để kiểm
tra giữa hai nút (m,n) và (k,l) của lưới có tồn tại đường đi hay không. Hình
dưới đây minh họa bốn kiểu ràng buộc cục bộ được Sakoe và Chiba đề xuất.
43
Hình 2-18- Các ràng buộc đường đi cục bộ.
Ở loại (I) đường đi tuần tự diễn ra, với loại (II) đường đi ngang chỉ được
thực hiện nếu trước đó đã có đường đi chéo, cũng tương tự như vậy với loại
(IV) nhưng đường đi ngang chỉ thực hiện nếu trước đó có hai đường đi chéo.
Trong loại (III) sau hai đường đi ngang mới được phép có đường đi chéo.
Itakura đề xuất ra một ràng buộc đường cục bộ khác đáng chú ý ở hai điểm:
không có hai đường đi ngang liên tục và tồn tại đường đi giữa hai nút (i-1,j-2)
và (i,j). Hình dưới đây minh họa ràng buộc Itakura.
Hình 2-19- Ràng buộc đường đi cục bộ Itakura.
44
2.2.3.4 Các ràng buộc đường đi toàn cục (Global Constraints)
Ràng buộc này được sử dụng để giới hạn phạm vi của nén hoặc mở rộng
mẫu tín hiệu dọc theo chiều dài của trục thời gian. Sự biến thiên về tốc độ nói
của người được cân nhắc để giới hạn trong một khoảng hợp lí, điều này có
nghĩa là chúng ta có thể giới hạn việc tìm kiếm trong vùng tìm kiếm hợp lệ.
Thay vì phải tìm kiếm trên toàn bộ lưới, ta chỉ cần tìm kiếm các nút trên hình
vùng hợp lệ. Ràng buộc đường đi toàn cục thường dùng được mô tả trong
hình 4.14. Ở đây vùng tìm kiếm hợp lệ được giới hạn bởi bốn đường thẳng có
độ nghiêng (slope) là s hoặc 1/s.
Hình 2-20- Các ràng buộc đường đi toàn cục.
Qua nghiên cứu, ứng với từng loại ràng buộc cục bộ mà s có thể nhận
những giá trị sau:
Loại ràng buộc cục bộ Giá trị s Giá trị 1/s
I ∞ 0
II 2 ½
III 3 1/3
IV 3/2 2/3
45
2.2.4. Thuật toán căn chỉnh thời gian động
2.2.4.1 Thuật toán DTW đối xứng (Symmetric DTW - SDTW)
Thuật toán được minh họa bằng ví dụ ở hình dưới đây, ta sử dụng một
ma trận thời gian - thời gian để mô tả trực quan cách căn chỉnh. Theo quy ước
thì trục tung sẽ biểu diễn mẫu chuẩn “SPEECH”, trục hoành biểu diễn mẫu
nhận dạng “SsPEEhH”. Trong ví dụ này, mẫu nhận dạng “SsPEEhH” là mẫu
có nhiễu. Ý tưởng ở đây là mẫu nhận dạng sẽ được so với tất cả các mẫu
chuẩn thuộc cùng một lớp. Mẫu nhận dạng phù hợp nhất là mẫu có khoảng
cách đường căn chỉnh với mẫu chuẩn ngắn nhất.
Hình 2-21- Minh họa về căn chỉnh thời gian động giữa mẫu chuẩn “SPEECH” và mẫu nhận dạng có nhiễu “SsPEEhH”.
Trong thuật toán này ta cần phải tuân thủ các ràng buộc sau:
Các đường so khớp không thể quay ngược chiều thời gian (nghĩa
là chỉ có tiến lên)
Tất cả các frame phải được sử dụng trong đường so khớp.
Khoảng cách toàn cục được tính bằng cách cộng dồn tất cả các
khoảng cách cục bộ.
Một ý quan trọng ở thuật toán này là ta chỉ có thể đi đến ô (i,j) từ các ô
(i-1,j-1), (i-1,j), (i,j-1) trong đó i là cột, j là hàng.
Biểu thức quy hoạch động của DTW đối xứng là :
{ } ),()1,(),,1(),1,1(min),( jidjiDjiDjiDjiD +−−−−=
46
với d(i,j) là khoảng cách cục bộ tại (i,j), D(i,j) là khoảng cách toàn cục tại (i,j).
Ta có thể nêu một cách cài đặt hiệu quả về bộ nhớ và khá nhanh trong
tính toán của DTW đối xứng. Cải tiến ở đây là ta dùng hai mảng để lưu các
cột liên tiếp. Ta quy ước các hàng, cột bắt đầu đánh số từ 0.
Hình 2-22- Các hướng đi có thể của SDTW
Ô (i,j) và (i,0) có sự khác nhau về các ô xuất phát. Đường đến ô (i,0) chỉ có
thể từ (i-1,0), còn đường đến (i,j) có thể có 3 đường.
Thuật toán mô tả như sau:
Đầu vào: Hai chuỗi vector đặc trưng của mẫu chuẩn và mẫu nhận dạng
Đầu ra: Giá toàn cục nhỏ nhất.
1. Tính ở cột 0, ô thấp nhất. Giá toàn cục ở ô này chính là giá cục bộ. Sau
đó giá toàn cục của mỗi ô tiếp theo là giá cục bộ của ô đó cộng với giá
toàn cục của ô trước, cột này được gọi là predCol (predecessor Column).
Bước này được gọi là bước khởi tạo.
2. Tính giá toàn cục ở ô đầu tiên của cột tiếp theo (ta gọi cột này là curCol -
current Column). Giá trị này bằng giá cục bộ của ô đó cộng với giá toàn
cục của ô thấp nhất ở cột trước.
3. Tính giá toàn cục của các ô còn lại của curCol. Ví dụ, tại ô (i,j) đó là
khoảng cách cục bộ (hay giá cục bộ) của (i,j) cộng với giá toàn cục nhỏ
nhất tại một trong các ô (i-1,j-1), (i-1,j), hoặc (i,j-1).
4. curCol được gán bằng predCol và lặp lại từ bước 2 cho đến khi tất cả các
cột được tính.
47
5. Giá trị toàn cục nhỏ nhất cuối cùng là giá trị lưu giữ ở ô trên cùng của
cột cuối cùng.
Thuật toán có thể được diễn tả bằng ngôn ngữ tựa Pascal như sau:
1. Tính cột 0 (predCol)
2. FOR i:=1 To Số vector đặc trưng của mẫu nhận dạng DO
3. Begin
4. curCol[0] := Giá cục bộ tại (i,0) + Giá toàn cục tại (i-1,0)
5. FOR j:=1 TO Số vector đặc trưng của mẫu chuẩn DO
6. curCol[j] := Giá cục bộ tại (i,j) + MIN Giá toàn cục tại((i-1,j-
1), (i-1,j),(i,j-1))
7. predCol := curCol
8. End
9. Giá toàn cục nhỏ nhất là curCol[Số vector đặc trưng của mẫu chuẩn]
Trong đó, predCol và curCol là hai ma trận một chiều có kích thước là
Số vector đặc trưng của mẫu chuẩn. Hàm tính giá cục bộ giữa 2 vector x và y
là hàm d(x,y).
Mô tả bằng ngôn ngữ C thuật toán DTW đối xứng
predCol = (float *)malloc(sizeof(float)*templateframes);curCol = (float *)malloc(sizeof(float)*templateframes);
predCol[0]=d(0,0);for(p=1;p<templateframes;p++) predCol[p]=predCol[p-1]+d(0,p);
for(i=1;i<patternframes;i++) { curCol[0]=predCol[0]+d(i,0); for(j=1;j<templateframes;j++) curCol[j]=(min(predCol[j],predCol[j-1],curCol[j-1])+d(i,j)); free(predCol); predCol=curCol; curCol = (float *)malloc(sizeof(float)*templateframes); }lowestGlobal=predCol[templateframes-1];
48
2.2.4.2 Thuật toán DTW phản đối xứng (Asymmetric DTW - ASDTW)
Thuật toán DTW phản đối xứng là một cải tiến của DTW đối xứng. Biểu
thức quy hoạch động như sau:
{ }vh djidjiDdjidjiDjidjiDjiD ++−++−+−−= ),()1,(,),(),1(),,(2)1,1(min),(
trong đó, các giá trị dh và dv phù hợp có thể tìm được qua thực nghiệm. Ta có
thể hiểu dh và dv là những trọng số ưu tiên, dh là trọng số ưu tiên đường đi
ngang (horizontal), dv là trọng số ưu tiên đường đi dọc (vertical), các trọng số
này có thể nhận giá trị 0.
Nếu chúng ta hạn chế các đường đi cho phép là:
(i-1,j-2 ) tới (i,j) hướng đi chéo mở rộng (bỏ qua một frame mẫu
chuẩn, độ nghiêng chéo là 2)
(i-1,j-1) tới (i,j) hướng đi chéo chuẩn
(i-1,j) tới (i,j) hướng đi ngang (lặp lại một frame ở mẫu chuẩn, độ
nghiêng 0)
thì chúng ta giả sử rằng mỗi frame của mẫu nhận dạng được sử dụng một và
chỉ một lần. Điều đó có nghĩa rằng chúng ta có thể bỏ qua không cần đến sự
chuẩn hóa độ dài mẫu và nó không đòi hỏi cộng hai lần khoảng cách cục bộ
vào các hướng đi chéo chuẩn (độ nghiêng 1). Cách tiếp cận này được gọi là
Quy hoạch động phản đối xứng (asymmetric dynamic programming).
Hình 2-23- Ba cách đi có thể từ ô (i, j) đến một ô khác trong DTW phản đối xứng
49
Hình 2-24- Các hướng đi có thể của DTW phản đối xứng.
Có thể tới các ô (i,j), (i,0) và (i,1) bằng các hướng khác nhau. Đường đi
tới (i,0) chỉ có thể xuất phát từ ô (i-1,0). Đường đi tới (i,1) chỉ có thể xuất
phát từ ô (i-1,0) và (i-1,1). Đường đi tới (i,j) có thể xuất phát từ 3 ô (i-1,j), (i-
1,j-1) và (i-1,j-2).
Mặc dù vậy chúng ta cần lưu ý là sẽ có những trường hợp đặc biệt xảy
ra. Hãy xem xét đường đi xuất phát từ ô (0,0). Do đường đi sẽ phải tới cột 1
nên các hàng 1,2,... ở cột 0 sẽ trở nên vô nghĩa bởi vì chúng chắc chắn sẽ
không được đi qua. Hình dưới minh họa cho trường hợp đặc biệt.
Hình 2-25- Đường đi qua vùng hợp lệ.
Đường đi không bao giờ đi qua vùng gạch chéo. Các ô chữ nhật đậm cho
thấy những trường hợp đặc biệt của đường đi. Theo DTW đối xứng, hàng 0 là
50
trường hợp đặc biệt như bình thường. Còn trong DTW phản đối xứng, hàng 1
cũng là đặc biệt.
Đường so khớp chỉ có thể đến được những ô đặc biệt từ một số vị trí giới
hạn. Các trường hợp đặc biệt có j=2i-1 hoặc 2i. Tổng giá cho mỗi trường hợp
là:
2i-1 : Giá cục bộ + tổng khoảng cách nhỏ nhất tại predCol[j-1] và
predCol[j-2]
2i : Giá cục bộ + tổng giá tại predCol[j-2]
Thuật giải tìm giá toàn cục ít nhất bây giờ sẽ phức tạp hơn đôi chút so
với trường hợp đối xứng. Do vậy, để dễ hiểu, ta trình bày thuật giải tựa Pascal
như sau:
predCol[0] = Giá cục bộ tại (0,0)For i:=1 to số vector đặc trưng của mẫu nhận dạng DO Begin curCol[0] = Giá cục bộ tại (0,0) + Giá toàn cục tại (i-1,0) For j=1 to (MIN của Số vector đặc trưng của mẫu chuẩn và 2i+1) begin highestJ = j If ô(i,j) là trường hợp đặc biệt Then If (i,j) có hàng là 1 Then curCol[j] = Giá cục bộ tại (i,j) + Giá toàn cục tại (i-1,j-1) Else If (j mod 2 =1) then curCol[j] = Giá cục bộ tại (i,j) + MIN Giá toàn cục tại((i-1,j-1), (i-1,j-2)) Else curCol[j] = Giá cục bộ tại (i,j) + Giá toàn cục tại(i-1,j-2) Else If (i,j) có hàng là 1 Then curCol[j] = Giá cục bộ tại (i,j) + MIN Giá toàn cục tại((i-1,j), (i-1,j-1)) Else curCol[j] := Giá cục bộ tại (i,j) + MIN Giá toàn cục tại((i-1,j-1), (i-1,j),(i-1,j-2)) end predCol = curCol End
Giá toàn cục nhỏ nhất là giá trị ở curCol[highestJ]
Trong đó, predCol và curCol là hai ma trận một chiều có kích thước là số
vector đặc trưng của mẫu chuẩn. Hàm tính giá cục bộ giữa 2 vector x và y là
51
hàm d(x,y). Hàm isSpecial(col,row) kiểm tra một ô có là ô đặc biệt hay
không.
Mô tả bằng ngôn ngữ C thuật toán DTW phản đối xứng
predCol = (float *)malloc(sizeof(float)*templateframes);curCol = (float *)malloc(sizeof(float)*templateframes);predCol[0]=d(0,0,coeffs,tdata,pdata);for(i=1;i<patternframes;i++) { curCol[0]=d(i,0,coeffs,tdata,pdata)+predCol[0]; for(j=1;((j<((2*i)+1))&&(j<templateframes));j++) { highestJ=j; if (isSpecial(i,j)) { if (j==1)
curCol[j]=predCol[j-1]+d(i,j,coeffs,tdata,pdata); else { if (fmod(j,2)==1) curCol[j]=min2(predCol[j-1], predCol[j-2])+d(i,j,coeffs,tdata,pdata); else curCol[j]=predCol[j-2]+d(i,j,coeffs,tdata,pdata); } } else { if (j==1) curCol[j]=min2(predCol[j],predCol[j- 1])+d(i,j,coeffs,tdata,pdata); else curCol[j]=(min3(predCol[j],predCol[j-1],predCol[j- 2])+d(i,j,coeffs,tdata,pdata)); } } free(predCol); predCol=curCol; curCol = (float *)malloc(sizeof(float)*templateframes); }lowestGlobal=predCol[highestJ];
2.3. Mô hình Markov ẩn
2.3.1. Quá trình Markov
Xét sự tiến triển theo thời gian của một hệ thống nào đó (có thể là một hệ
vật lý hay hệ sinh thái, ...), ký hiệu qt là vị trí của hệ tại thời điểm t. Các vị trí
có thể có được của hệ được gọi là không gian trạng thái, ký hiệu là S= {S1, S2,
S3, ...}. Giả sử ở thời điểm s hệ ở trạng thái Si, nếu xác suất để hệ ở trạng thái
52
Sj ở thời điểm t trong tương lai chỉ phụ thuộc vào s, t, Si, Sj thì có nghĩa là sự
tiến triển của hệ chỉ phụ thuộc vào hiện tại và độc lập với quá khứ. Ta gọi đó
là tính Markov và hệ có tính chất này được gọi là quá trình Markov.
Nếu không gian trạng thái S của hệ là đếm được thì ta gọi hệ là xích
Markov. Nếu thời gian t là rời rạc t=0,1,2,... thì ta có xích Markov rời rạc. Ta
có thể biểu diễn tính Markov của hệ bằng biểu thức sau :
P(qt = Sj | qt-1 = Si, qt-2 = Sk,...) = P(qt = Sj | qt-1 = Si)
Đặt P(s,i,t,j) = P(qt = Sj | qs = Si ) là xác suất để hệ tại thời điểm s ở
trạng thái i, đến thời điểm t chuyển sang trạng thái j. Ta gọi P(s,i,t,j) là xác
suất chuyển của hệ. Nếu xác suất chuyển chỉ phụ thuộc vào (t-s) tức là
P(s,i,t,j)= P(s+h,i,t+h,j)
thì ta nói hệ là thuần nhất theo thời gian. Bắt đầu từ đây ta chỉ xét xích
Markov rời rạc và thuần nhất.
Hình 2-26- Xích Markov với 5 trạng thái S1, S2, ..., S5 và các xác suất chuyển trạng thái
Hình 4.20 cho ta thấy một ví dụ về một mô hình xích Markov rời rạc và
thuần nhất, trong đó hệ có thể ở một trong năm trạng thái S1, S2, ..., SN (trong
ví dụ trên N=5). Tại mỗi thời điểm t = 0,1,2,... hệ chuyển trạng thái theo xác
suất chuyển trạng thái aij tương ứng với mỗi trạng thái.
1 ( | )ij t j t ia P q S q S+= = =
53
11; 1,
0; , 1,
N
ijj
ij
a i N
a i j N
= = =
≥ =
∑
Ngoài ra ta định nghĩa xác suất trạng thái khởi đầu (initial state
distribution) π = {π1, π2, ..., πN}, trong đó πi là xác suất để trạng thái i được
chọn tại thời điểm khởi đầu t=1:
πi=P(q1=Si).
11
0; 1,
N
ii
i i N
π
π=
=
≥ =
∑
Quá trình Markov miêu tả ở trên được gọi là một mô hình Markov quan
sát được (observable Markov model). Đầu ra của quá trình là một tập các
trạng thái tại các thời điểm rời rạc liên tiếp nhau, trong đó mỗi trạng thái
tương ứng với một sự kiện vật lý có thể quan sát được (observation event).
Ví dụ: Ta xét một mô hình Markov ba trạng thái miêu tả thời tiết: S1, S2,
S3. Trong một ngày thời tiết có thể là một trong ba trạng thái:
S1: mưa
S2: mây
S3: nắng
ma trận xác suất chuyển là
A= {aij} =
0.4 0.3 0.3
0.2 0.6 0.2
0.1 0.1 0.8
Giả thiết là thời tiết tại ngày t=1 là nắng. Ta sẽ tìm xác suất để trong 5
ngày liên tiếp có thời tiết như sau: nắng, nắng, mưa, mưa, mây. Tức là ta có
một dãy các quan sát (observation) O= S3, S3, S1, S1, S2, tương ứng với các thời
điểm t=1,2,3,4,5.
P(O|Mô hình = P(S3, S3, S1, S1, S2 | Mô hình)
= P(S3).P(S3|S3).P(S1|S3).P(S1|S1). P(S2|S1)
= π3.a33.a33.a31.a11.a12
54
= 1. (0.8). (0.8). (0.1).(0.4). (0.3)
= 768. 10-4
2.3.2. Mô hình Markov ẩn
Mô hình Markov ẩn – HMM (Hidden Markov Model) được mở rộng
khái niệm từ mô hình Markov bằng cách mỗi trạng thái được gắn với một
hàm phát xạ quan sát (observation distribution). Ngoài quá trình ngẫu nhiên
chuyển giữa các trạng thái, tại mỗi trạng thái còn có một quá trình ngẫu nhiên
sinh ra một quan sát. Như vậy, trong Mô hình Markov ẩn có một quá trình
ngẫu nhiên kép, trong đó có một quá trình ngẫu nhiên không quan sát được.
Tập các quan sát O được sinh ra bởi dãy các trạng thái S1, S2, ..., SN của mô
hình, mà dãy các trạng thái này là không thấy được, đó chính là lý do mô hình
được gọi là mô hình Markov ẩn (hidden).
Một mô hình Markov ẩn được đặc trưng bởi các thành phần cơ bản sau:
N, số trạng thái (state) trong mô hình Markov. Các trạng thái thường
được ký hiệu bằng S= {S1, S2, S3, ...} và trạng thái của mô hình tại thời điểm t
được kí hiệu là qt.
M, số ký hiệu quan sát (observation symbol), đây là kích thước của bảng
từ vựng của mô hình. Các ký hiệu quan sát được biểu diễn bằng V= {v1,
v2, ...}.
A = {aij}, xác suất chuyển trạng thái (state transition probability
distribution). Trong đó aij là xác suất để trạng thái j xuất hiện tại thời điểm
t+1 khi trạng thái i đã xuất hiện tại thời điểm t.
aij = P(qt+1 = Sj | qt = Si )
11; 1,
0; , 1,
N
ijj
ij
a i N
a i j N
= = =
≥ =
∑
B={bj(k)} xác suất phát xạ quan sát trong mỗi trạng thái (observation
symbol probability distribution in state). bj(k) là xác suất của quan sát vk tại
trạng thái j tại thời điểm t.
55
bj(k) = P(vk tại thời điểm t | qt = Sj),
1( ) 1; 1,
( ) 0; 1, ; 1,
M
jk
j
b k j N
b k j N k M
= = =
≥ = =
∑
π = {π1, π2, ..., πN} xác suất trạng thái khởi đầu (initial state distribution).
πi là xác suất để trạng thái i được chọn tại thời điểm khởi đầu t=1:
πi=P(q1=Si)
11
0; 1,
N
ii
i i N
π
π=
=
≥ =
∑
Với các giá trị thích hợp A, B, π, M, N, một mô hình Markov ẩn được
dùng để sinh ra một dãy các quan sát:
O= {O1, O2, O3, ...}
Trong đó Oi lấy một trong các giá trị trong V. Hoạt động của HMM được
mô tả như sau:
Chọn một trạng thái khởi đầu q1 tương ứng với xác suất trạng thái khởi
đầu π.
Gán t=1.
Chọn Oi = vk tương ứng với xác suất quan sát tại trạng thái Si: bi(k).
Chuyển sang trạng thái mới qt+1 = Sj tương ứng với xác suất chuyển trạng
thái aij.
Gán t=t+1 và quay lại lại bước 3) nếu t<T, nếu không kết thúc.
Người ta thường dùng bộ ba λ=(A, B, π) được coi là bộ ký pháp gọn để
biểu diễn một mô hình Markov ẩn. A, B và π được gọi là các tham số
(parameters) của mô hình λ.
56
Hình 2-27-Ví dụ một mô hình Markov ẩn với sáu trạng thái
Hình 4.21 cho ta một ví dụ về một mô hình Markov ẩn gồm có sáu trạng
thái, trong đó có một trạng thái khởi đầu và một trạng thái kết thúc. Sáu quan
sát {O1, O2, ..., O6} được sinh ra từ bốn trạng thái từ 2 đến 5. Mỗi trạng thái có
thể chuyển sang trạng thái bên phải của nó, hoặc chuyển sang chính nó. Riêng
trạng thái khởi đầu chỉ có một khả năng duy nhất chuyển sang trạng thái thứ
2, tức là a12=1.
2.3.3. Ba bài toán cơ bản của mô hình Markov ẩn
Có ba bài toán cơ bản của mô hình Markov ẩn được đặt ra trong ứng
dụng nhận dạng tiếng nói.
Bài toán 1: Với dãy quan sát O= {O1, O2, O3, ...} và mô hình Markov ẩn
λ=(A, B, π) đã được huấn luyện, chúng ta cần tính xác suất P(Oλ).
Bài toán 2: Với dãy quan sát O= {O1, O2, O3, ...} và mô hình Markov ẩn
λ=(A, B, π) làm thế nào chúng ta có thể tìm được dãy trạng thái tương ứng
q={q1, q2, q3, ...} tối ưu nhất theo một tiêu chuẩn nào đó.
Bài toán 3: Làm thế nào chúng ta điều chỉnh các tham số A, B, π để có
được xác suất P(Oλ) lớn nhất.
Bài toán 1: đây là bài toán nhận dạng khi có một dãy các quan sát cho
trước và một tập các mô hình Markov ẩn, việc tính toán các P(Oλ) sẽ cho
chúng ta tìm ra được mô hình Markov ẩn có xác suất P(Oλ) tương ứng lớn
nhất.
57
Bài toán 2: đây là bài toán tìm phần ẩn của mô hình Markov, tức là dãy
trạng thái q. Bài toán này hay được sử dụng trong quá trình gán nhãn cưỡng
bức dữ liệu huấn luyện.
Bài toán 3: trong bài toán này chúng ta điều chỉnh tham số của mô hình
Markov ẩn để nó miêu tả một cách chính xác nhất các quan sát đã được biết
trước đó. Dãy quan sát dùng để điều chỉnh các tham số được gọi là tập dữ liệu
huấn luyện (training data). Đây là khâu cơ bản trong một bài toán nhận dạng,
nó cho phép điều chỉnh các tham số để học các dữ liệu từ các hiện tượng thực
như tiếng nói.
Các giải pháp toán học cho ba bài toán cơ bản
Bài toán 1
Chúng ta có dãy quan sát O= {O1, O2, O3, ...} và mô hình Markov ẩn
λ=(A, B, π), chúng ta cần tính xác suất P(Oλ).
Giả sử dãy quan sát có độ dài là T, vậy ta có một dãy các trạng thái
tương ứng của mô hình Markov ẩn sinh ra nó : q=q1, q2, q3, ... qT. Ta có xác
suất để dãy quan sát O được sinh ra bởi λ với dãy trạng thái q là:
P(Oq, λ) = 1
( | , )T
t tt
P O q λ=
∏
với giả thiết các Oi là độc lập ta có
P(Oq, λ) = bq1(O1) bq2(O2)... bqT(OT)
Mặt khác ta xác suất của dãy trạng thái q đối với mô hình λ là:
P(qλ) = πq1 aq1q2 aq2q3... aqT-1qT
Từ đó ta có xác suất của dãy quan sát O, đối với mô hình λ và dãy trạng
thái q là:
P(O, q|λ) = P(Oq, λ) P(qλ)
= πq1 bq1(O1) aq1q2 bq2(O2) aq2q3... aqT-1qT bqT(OT)
Xác suất của dãy quan sát O đối với mô hình λ sẽ là tổng của tất cả các
xác suất dãy quan sát O đối với mô hình λ với mọi dãy dãy trạng thái q có thể
có :
1 1 1 2 2 11 2( | ) ( , ) ( ) ( )... ( )T T Tq q q q q q q q T
q Q
P O P O q b O a b O a b Oλ λ π−
= =∑ ∑ (2*)
58
Độ phức tạp tính toán của công thức (2*) là 2T. NT, bởi vì tại mỗi thời
điểm t, có N khả năng chuyển trạng thái, trong mỗi trạng thái có (2T-1).NT
phép tính nhân, NT -1 phép tính cộng. Trong thực tế, công thức này không thể
thực hiện được do độ phức tạp quá lớn. Để khắc phục vấn đề này, thuật toán
tiến - lùi (forward-backward algorithms) được dùng để tính xác suất dãy quan
sát O đối với mô hình λ.
Ta định nghĩa biến tiến αt (i) forward là xác suất của dãy quan sát O tới
thời điểm t: O= O1, O2, ..., Ot tại trạng thái Si được sinh bởi mô hình λ.
α t (i)=P(O1, O2, ..., Ot, qt =S iλ)
với giá trị khởi tạo α1(i)=πi bi(O1), 1 ≤ i ≤ N
Các α t (i) được tính bằng thuật toán đệ quy được miêu tả như sau:
1) Khởi tạo
α1 (i)= π
i bi(O1) 1 ≤ i ≤ N
2) Tính các αt+1(j) bằng phương pháp đệ quy
αt+1(j) = 11
( ) ( )N
t ij j ti
i a b Oα +=
∑ (3*)
1 1t T≤ ≤ − , 1 j N≤ ≤
3) Kết thúc
P(Oλ) = 1
( )N
Ti
iα=∑
Bước 1) khởi tạo các α1 (i) tương ứng với các trạng thái i khác nhau. Tại
bước 2 các αt+1(j) được tính theo phương pháp đệ quy dựa vào các αt(j) được
tính trước đó. Hình 4.21 miêu tả các phép toán cần thiết để tính các αt(j).
Trạng thái của mô hình tại thời điểm t+1 là Sj và có tất cả N khả năng để dẫn
tới trạng thái Sj từ các trạng thái Si với xác suất là αt (i). Xác suất này nhân với
xác suất chuyển trạng thái aij sẽ cho ta xác suất mô hình ở trạng thái Sj tại thời
điểm t+1 với điều kiện mô hình ở trạng thái Si tại thời điểm t. Tổng các xác
suất này với các i từ 1 đến N cho ta xác suất để mô hình ở trạng Sj tại thời
điểm t+1, xác suất này nhân với xác suất bj(Ot+1) sẽ cho ta xác suất dãy quan
sát O tới thời điểm t +1 ở trạng thái Sj và đó chính là αt+1(j).
59
Thuật toán quy nạp sẽ dừng ở bước 3) khi mà t =T. Khi đó tổng của các
αt(i) với i từ 1 đến N sẽ cho ta xác suất của dãy quan sát O đối với mô hình λ:
P(Oλ).
Độ phức tạp tính toán với cách tính theo các biến forward αt(i) là N2T,
thấp hơn so với độ phức tạp 2T. NT của bước trước.
Hình 2-28- Miêu tả các dãy phép toán được thực hiện để tính biến αt (i).
Biến lùi (backward) βt(j) được định nghĩa là xác suất của dãy O từ thời
điểm t+1 đến T : O= Ot+1, Ot+2, ..., OT, với điều kiện là mô hình ở trạng thái Si
tại thời điểm t.
βt(i) = P(Ot+1, Ot+2, ..., OT
qt =Si, λ), 1 ≤ t ≤ T
Thuật toán tính biến lùi βt(i) cũng dựa trên phương pháp đệ quy giống
như trường hợp của biến tiến αt (i):
1) Khởi tạo
βT(i) = 1, 1 ≤ i ≤ N
2) Tính các βt(j) bằng phương pháp đệ quy
1 11
( ) ( ) ( )N
t ij j t ti
j a b O jβ β+ +=
= ∑
t= T-1, T-2, ..., 1, 1 ≤ i ≤ T
Bước 1) khởi tạo các βT(i) bằng 1 cho tất cả các i. Các tính toán của bước
2) được mô tả trong hình 4.23, trong đó βt(i) được tính dựa vào các βt+1(j)
được tính trước đó. Trạng thái của mô hình tại thời điểm t là Si và có tất cả N
khả năng để dẫn tới trạng thái Si từ các trạng thái Sj tại thời điểm t+1 với xác
60
suất là βt+1(j). Xác suất này nhân với xác suất chuyển trạng thái aij, kết hợp với
xác suất quan sát Ot+1 tại trạng thái j sẽ cho ta xác suất mô hình ở trạng thái Si
tại thời điểm t với điều kiện mô hình ở trạng thái Sj tại thời điểm t+1. Tổng
các xác suất này với các j từ 1 đến N cho ta xác suất để mô hình ở trạng Si tại
thời điểm t và đó là βt(i).
Hình 2-29- Miêu tả các dãy phép toán được thực hiện để tính biến β t(i)
Bằng thuật toán tiến - lùi ta có thể tính xác suất P(Oλ) như sau:
P(Oλ) = 1
( )N
Ti
iα=∑ = 1 1
1 1
( ) ( ) ( ) ( )N N
i i t ti i
b O i i iπ β α β= =
=∑ ∑
Bài toán 2
Trong bài toán này, ta phải tìm dãy trạng thái q=(q1, q2, ..., qT) tối ưu
tương ứng với một dãy quan sát O=(O1, O2, ..., OT) và mô hình λ=(A, B, π)
cho trước, để cho P(O, Sλ) là lớn nhất.
Một phương pháp thông dụng hay được dùng để giải quyết bài toán này
là dùng thuật toán tìm kiếm Viterbi. Đây là thuật toán dựa trên phương pháp
lập trình động (Dynamic Programing Method) để tìm ra một dãy các trạng
thái tối ưu duy nhất.
Thuật toán Viterbi:
Ta định nghĩa biến dt(i) =1 2 1
1 2 1 2, ,... ,max ( , ,..., , , ,..., )
tt t
q q qP q q q i O O O λ
−
= là biến có
điểm cao nhất (best score) tại thời điểm t tương ứng với dãy trạng thái q1,
q2, ..., qt-1, kết thúc tại trạng thái Si.
Các biến dt(i) được tính bằng phương pháp đệ quy dựa trên các tính toán
trước đó
61
dt+1(i)= 1[max( ( ) ] ( )t ij j k
i Ni a b Oδ
≤ ≤
Để lưu vết các các trạng thái của dãy ta dùng mảng y t(i), khi thuật toán
kết thúc các phần tử trong mảng chính là các trạng thái của dãy q cần tìm. Sau
đây là chi tiết thuật toán Viterbi
1) Khởi tạo
dt(i) = πibi(O1), 1 ≤ i ≤ N
y1(i)=0
2) Tính toán đệ quy
11
( ) [max( ( ). ]. ( )t t ij j ki N
i i a b Oδ δ+ ≤ ≤=
, 2 ≤ t ≤ , 1 ≤ i ≤ N (4*)
1 11
( ) arg max[ ( ). ]t iji N
i i aδ −≤ ≤
ψ =2 ≤ t ≤ T, 1 ≤ i ≤ N
3) Kết thúc
1* max[ ( )]T
i NP iδ
≤ ≤=
1
* arg max[ ( ). ]T T iji N
q i aδ≤ ≤
=
Truy hồi các trạng thái
q*T=y t+1(q*t+1), t = T-1, T-2, ... ,1
Kết thúc thuật toán các q*t chính là các trạng thái của dãy cần tìm.
Thuật toán Viterbi gần giồng như thuật toán tính biến tiến αt(i). Điểm
khác nhau cơ bản giữa hai thuật toán này là công thức tính max (4*) được
dùng thay cho công thức tính tổng (3*).
Bài toán 3
Đây là bài toán khó khăn nhất của mô hình Markov ẩn, chúng ta phải
điều chỉnh bộ ba các tham số (A, B, π) để xác suất P(Oλ) là lớn nhất. Trên
thực tế không tồn tại một phương pháp thực sự tối ưu để P(Oλ) là lớn nhất.
Giải pháp cho bài toán này thường lựa chọn các thủ tục huấn luyện lặp
Baum.
Để miêu tả thuật toán điều chỉnh tham số (re-estimation) Baum-Welch,
ta định nghĩa biến γ t(i) = P(qt = Si O, λ) là xác suất để mô hình ở trạng thái Si
62
vào thời điểm t với dãy quan sát O và mô hình λ đã cho. Với định nghĩa trên,
biến γ t(i) được biểu diễn thông qua hai biến tiến và lùi như sau:
γ t(i)=1
( ,λ) α ( )β ( ) α ( )β ( )
(λ) ( λ) α ( )β ( )
t i t t t tN
t ti
P q S O i i i i
P O P O i i=
== =
∑ (5*)
Trong công thức trên α t (i) là xác suất của dãy qua sát O1, O2, ..., Ot và
βt(i) là xác suất của dãy Ot+1, Ot+2, ..., OT với mô hình ở trạng thái Si vào thời
điểm t.
Từ công thức (5*) ta rút ra được:
1)i(γN
1it =∑
=
Với γ t(i) ta có thể tìm được tại thời điểm t xác suất lớn nhất của dãy O1,
O2, ..., Ot là:
qt=argmax[γ t(i)], 1 ≤ i ≤ N, 1 ≤ t ≤ T
Ta định nghĩa biến ξt(i, j) là xác suất mô hình ở trạng thái Si tại thời
điểm t và ở trạng thái Sj tại thời điểm t+1 với mô hình λ và dãy quan sát O
cho trước.
ξt(i, j) = P(qt = Si, qt+1 = Sj
O, λ)
Hình 4.23 miêu tả mối quan hệ chuyển dịch giữa các trạng thái Si và Sj.
Từ định nghĩa các biến tiến lùi αt(i) và βt(i) ta có
ξt(i, j) = 1( , ,λ)
(λ)t i t jP q S q S O
P O+= =
= 1 1( ) ( ) ( )
( )t ij j t ti a b O j
P O
α βλ+ +
ξt(i, j) = 1 1
1 11 1
( ) ( ) ( )
( ) ( ) ( )
t ij j t t
N N
t ij j t ti j
i a b O j
i a b O j
α β
α β
+ +
+ += =∑∑
γ t(i) = P(qt = Si O, λ) = ( , ) ( ) ( )
( ) ( )t i t t
P q S O i i
P O P O
λ α βλ λ
==
Với các định nghĩa trên ta có
γ t(i)=1
( , )N
tj
i jε=
∑
63
Hình 2-30- Miêu tả các phép tính cần thiết để tính ξt(i, j).
Từ định nghĩa công thức trên ta có thể nhận thấy:
∑ −
=
1T
1t t )j,i(ξ = là khả năng để mô hình chuyển trạng thái từ Si sang Sj
∑ −
=
1T
1t t )i(γ = là khả năng để mô hình chuyển trạng thái từ Si
Từ các quan sát trên ta có tập các công thức dùng để điều chỉnh (re-
estimation) các tham số của mô hình Markov ẩn như sau:
=iπ khả năng mô hình ở trạng thái Si tại thời điểm (t=1) )i(1γ= (6*)
=ija khả năng chuyển từ trạng thái Si sang trạng thái Sj / khả năng chuyển
từ trạng thái Si 1
11
1
ξ ( , )
γ ( )
T
ttT
tt
i j
i
−
=−
=
= ∑∑
(7*)
=)v(b kj khả năng ở tại trạng thái Si với ký hiệu quan sát vk / khả năng ở
tại trạng thái Si
1,
1
γ ( )
γ ( )t k
T
tt O v
T
tt
j
j
= =
=
=∑
∑(8*)
Với một mô hình λ=(A, B, π) đầu tiên chúng ta dùng các công thức (6*),
(7*), (8*) để tính toán bộ tham số mới λ ( , , π)A B= . Người ta đã chứng minh
được rằng:
Hoặc là mô hình khởi điểm λ được định nghĩa chính xác là mô hình hội
tụ và do đó λ= λ .
Hoặc là mô hình mới có P(Oλ ) > P(Oλ)
64
Dựa vào chứng minh này chúng ta dùng λ thay thế cho λ là lặp lại các
tính toán (6*), (7*), (8*) ta sẽ cải thiện được xác suất P(Oλ) cho tới thời
điểm thuật toán hội tụ.
Trong quá trình tính toán, sau mỗi lần lặp các biểu thức sau đây luôn
được thoả mãn:
1
1N
i
i
π=
=∑
1
1N
ij
j
a=
=∑ 1 ≤ i ≤ N
1
( ) 1N
j
k
b k=
=∑ 1≤ j ≤ N
Chứng minh công thức Baum-Welch.
Bổ đề 1
Cho các hệ số 0ic > , i = 0,1,..., C và một điều kiện ràng buộc 1
1C
ii
x=
=∑
65
Khi đó hàm:
1
( ) logC
i ii
f x c x=
= ∑
sẽ đạt cực trị tại:
1
ii C
ii
cx
c=
=∑
Chứng minh
Để chứng minh bổ đề ta xét hàm sau:
( )C
a ii
f f x xλ= + ∑
Lấy các đạo hàm riêng của hàm này theo các xi và cho các đào hàm này
bằng không ta có:
0i
i
c
xλ− =
tức là i ic xλ= và ii
cx
λ=
với điều kiện ràng buộc 1
1C
ii
x=
=∑ ta nhận được:
C
ii
cλ = ∑
và do vậy ta có điều phải chứng minh:
1
ii C
ii
cx
c=
=∑
Chứng minh công thức Baum-Welch
Công thức hiệu chỉnh lại tham số mô hình Markov ẩn Baum-Welch được
chứng minh bằng thuật toán EM. Dữ liệu không quan sát được Y trong thuật
toán EM là các dãy trạng thái ẩn S của mô hình Markov ẩn. Chứng minh sử
dụng hàm Q được định nghĩa như sau:
1( , ) Pr( , | ) log Pr( , | )
Pr( , ) allS
Q O S O SO
λ λ λ λλ
= ∑ (9*)
66
Hàm ( , )Q λ λ sẽ được xem như là hàm của biến λ . Do vậy giá trị 1
Pr( , )O λ
có thể được xem như là hằng số. Với hàm Q như vậy ta có định lý sau:
Định lý 1: Nếu ( , ) ( , )Q Qλ λ λ λ≥ thì Pr( | ) Pr( , )O Oλ λ≥
Chứng minh:
Từ tính chất của hàm logarit ta có:
Pr( | ) Pr( , | ) Pr( , | )log log( )
Pr( , ) Pr( , ) Pr( , | )all S
O O S O S
O O O S
λ λ λλ λ λ
= ∑
Pr( | ) Pr( , | ) Pr( , | )log log( )
Pr( , ) Pr( , ) Pr( , | )all S
O O S O S
O O O S
λ λ λλ λ λ
≥ ∑
Pr( | )log ( , ) ( , )
Pr( , )
OQ Q
O
λ λ λ λ λλ
≥ − (10*)
Như vậy nếu mô hình λ có thể tìm được để vế phải của (10*) là dương
thì có nghĩa là thuật toán hiệu chỉnh lại tham số Baum-Welch có thể đảm bảo
tăng giá trị của Pr( , )O λ bằng cách làm tăng hàm Q(.), ta có điều phải chứng
minh.
Từ phương trình (2*) ta có
1 1 1 2 2 11 2( , | ) ( ) ( )... ( )T T Tq q q q q q q q T
S
P O S b O a b O a b Oλ π−
= ∑ (11*)
1 1
1
1 1
log Pr( , | ) log log log ( )t t t
T T
q q q q tt t
O S a b Oλ π+
−
= =
= + +∑ ∑ (12*)
Thay phương trình (12*) vào phương trình (9*) ta có:
1
( , ) log log ( ) logL
i ij jk j i iji j j k i
Q c a d b k eλ λ π=
= + +∑∑ ∑∑ ∑
Trong đó1
11
Pr( , , | )
Pr( | )
T
t tt
i j
q i q j Oc
O
λ
λ
−
+=
= ==
∑
1
1
( , )T
tt
i jξ−
=
= ∑
1
Pr( , , | )
Pr( | )t k
t tt O v
i j
q i q j O
dO
λ
λ
+∈ =
= ==
∑
67
( )t k
tt O v
jγ∈ =
= ∑
1Pr( , | )
Pr( | )i
q i Oe
O
λλ
==
1( )iγ=
Như vậy theo bổ đề 1 ta thấy hàm ( , )Q λ λ sẽ cực đại với các điều kiện
sau:
=iπi
1γ ( )i
i
ei
e∑ (13*)
=ija
1
11
1j
ξ ( , )
γ ( )
T
i tj tT
ij ttj
c i j
c i
−
=−
=
= ∑∑ ∑ ∑ (14*)
=)v(b kj
( )
( )t k
tt O vjk
jk tk t
jd
d j
γ
γ∈ ==∑
∑ ∑ (15*)
Các phương trình (13*), (14*), (15*) chính là công thức hiệu chỉnh lại
tham số Baum-Welch.
2.3.4. Các loại mô hình Markov ẩn
Có nhiều cách phân loại các mô hình Markov ẩn, trong đó người ta
thường phân biệt các mô hình Markov ẩn theo tính chất của hàm phát xạ quan
sát. Có ba loại mô hình Markov ẩn: mô hình Markov ẩn rời rạc, mô hình
Markov ẩn liên tục và mô hình Markov ẩn bán liên tục.
Mô hình HMM rời rạc
Trong mô hình này không gian các đặc tính phổ được chia thành một số
hữu hạn các vùng (cluster) bằng phương pháp lượng tử hoá vector VQ
(Vector Quantization). Trọng tâm của mỗi vùng được biểu diễn bằng một từ
mã (codeword) mà thực chất là một chỉ số chỉ tới một sách mã (codebook).
Một khung tín hiệu được biến đổi thành một từ mã bằng cách tìm một vector
gần với nó nhất trong sách mã. Nhược điểm của mô hình dạng này là có sai số
trong quá trình lượng tử hoá nhất là nếu kích thước của sách mã là nhỏ, ngược
lại nếu kích thước của sách mã lớn thì sẽ phải trả giá bằng số lượng tính toán
sẽ tăng lên.
68
Mô hình HMM liên tục
Nhược điểm của phương pháp trên có thể được khắc phục bằng cách
dùng mô hình HMM liên tục CD-HMM (Continuous Density–HMM). Trong
phương pháp này không gian các đặc tính phổ được mô hình hoá bằng các
hàm mật độ xác suất, thông thường là hàm trộn của các hàm Gauss.
1
( ) ( ; ; )K
j jk jk jkk
b y c y µ=
= Σ∑ N
Trong đó K là số thành phần trộn (mixture) tại trạng thái j, cjk là trọng số
của thành phần thứ k và (.; ; )µ ΣN là hàm mật độ xác suất Gauss. Trong quá
trình huấn luyện việc hiệu chỉnh các xác suất hàm b() được thay bằng hiệu
chỉnh các tham số ,µ Σ . Nhược điểm của phương pháp này là mỗi trạng thái
đều có các tham số của riêng chúng, do đó số lượng các tham số là rất lớn và
do vậy không thể tránh khỏi các trường hợp không đủ dữ liệu huấn luyện cho
các trạng thái. Ngoài ra mô hình liên tục sẽ có thời gian tính toán khá lâu.
Mô hình HMM bán liên tục
Mô hình HMM bán liên tục (semi-continuous) là mô hình kết hợp giữa
hai mô hình trên. Giống như trong mô hình rời rạc, trong mô hình bán liên tục
cũng có một sách mã miêu tả các vùng được dùng chung cho tất cả các trạng
thái. Tuy nhiên thay vì biểu diễn các vùng bằng một trọng tâm (centroid),
trong đó các vector lân cận sẽ được nhóm vào làm một, các vùng được biểu
diễn bởi các hàm mật độ xác suất liên tục Gauss trong vùng không gian lân
cận để tránh các lỗi của lượng tử hoá. Như vậy
1
( ) ( ; ; )L
j jk jk jkk
b y c y µ=
= Σ∑ N
Trong đó L là kích thước của sách mã. Trong quá trình huấn luyện giống
như trong mô hình liên tục các tham số Gauss được tính toán. Việc dùng mô
hình này sẽ giúp cải thiện thời gian tính toán của mô hình liên tục.
Trong khi cả ba mô hình đều được sử dụng rộng rãi trong các hệ thống
nhận dạng, mô hình liên tục cho thấy khả năng nhận dạng tốt nhất mặc dù tốc
độ hoạt động của hệ thống này chậm hơn các hệ thống khác.
69
2.3.5. Giới hạn của mô hình Markov ẩn
Mặc dù mô hình Markov ẩn được sử dụng rộng rãi trong các hệ thống
nhận dạng, tuy nhiên mô hình Markov ẩn cũng có một số nhược điểm xuất
phát từ các giả thiết của nó như sau:
Giả thiết về bậc. Trong mô hình Markov ẩn ta giả thiết rằng các xác suất
chỉ phụ thuộc vào trạng thái hiện thời mà độc lập với quá khứ. Điều này
không đúng trong các ứng dụng tiếng nói. Hậu quả của nhược điểm này là mô
hình Markov ẩn khó khăn trong mô hình hoá hiện tượng đồng phát âm
(coarticulation) do các xác suất phát xạ quan sát bị ảnh hưởng bởi các trạng
trái trong quá khứ.
Giả thiết về tính độc lập. Giả thiết này cho rằng không có mối liên hệ
giữa các khung tín hiệu lân cận nhau, điều này không đúng trong giọng nói.
HMM chỉ làm việc với một khung tín hiệu tại một thời điểm. Để lấy thêm
thông tin các khung tín hiệu xung quanh, HMM phải lấy thêm đặc tính phổ
của các khung tín hiệu lân cận làm dữ liệu huấn luyện.
Các mô hình Markov ẩn liên tục, rời rạc và bán liên tục khó đạt được
trạng thái tối ưu. Với mô hình rời rạc, một tỉ lệ lỗi lượng tử hoá là không tránh
khỏi. Với mô hình liên tục và bán liên tục có một tỉ lệ nhất định không hoàn
toàn chính xác của mô hình thống kê.
2.4. Mạng Nơron
2.4.1. Các khả năng của mạng nơron
Khả năng học:
Mạng nơron có khả năng tiếp thu sự huấn luyện về mối quan hệ giữa đầu
vào và đầu ra của các mẫu, nếu ta chỉ cho nó đầu vào x tương ứng với đầu ra
y thì mạng có thể nhớ lại được điều đó.
Khả năng chuẩn hoá:
Mạng nơron học các mẫu dữ liệu cơ sở nên có khả năng nhận dạng được
dữ liệu mới, những dữ liệu mà nó cho rằng gần giống với dữ liệu đã được học.
Chính khả năng này của mạng nơron rất thuận lợi khi ứng dụng nó cho nhận
dạng tiếng nói vì các mẫu âm học không bao giờ giống nhau một cách tuyệt
đối.
70
Khả năng tính toán:
Mạng nơron có khả năng tính toán song song rất cao, đáp ứng yêu cầu
của các giải thuật. Trong nhận dạng tiếng nói khối lượng tính toán là rất lớn.
Và kết quả cần phải được đưa ra nhanh chóng thì hệ thống mới nâng cao được
giá trị sử dụng.
Nhờ những khả năng đó của mạng nơron mà con người đã cố gắng mô
phỏng để tạo ra mạng nơron nhân tạo, kết quả mà chúng ta đạt được là rất khả
quan và hiện nay được ứng dụng rộng rãi trong nhiều bài toán đặc quan trọng,
đặc biệt là trong nhận dạng tiếng nói.
2.4.2. Cấu trúc mạng nơron nhân tạo
Mạng nơron nhân tạo là một hệ thống bao gồm nhiều nơron hoạt động
song song. Các nơron được nối với nhau nhờ các liên kết, mỗi liên kết kèm
theo một trọng số đặc trưng cho tính kích hoạt hay ức chế giữa các nơron.
Một nhóm nơron được tổ chức theo một cách sao cho tất cả chúng đều nhận
cùng một vector vào X để xử lý tại cùng một thời điểm. Việc sản sinh ra tín
hiệu của mạng xuất hiện cùng một lúc vì mỗi nơron có một tập trọng số khác
nhau nên có bao nhiêu nơron sẽ sản sinh ra bấy nhiêu tín hiệu khác nhau. Một
nhóm nơron như vậy được gọi là một lớp mạng, Một mạng nơron bao gồm
nhiều lớp mạng (hay còn gọi là tầng mạng), các nơron trong một lớp chỉ được
nối với các nơron ở lớp tiếp theo, không cho phép các liên kết giữa các nơron
cùng một lớp. Lớp nhận các vector tín hiệu đầu vào x gọi là lớp vào, lớp chứa
các tín hiệu ra của mạng được gọi là lớp ra, bất kỳ các lớp nào nằm giữa hai
lớp trên được gọi là lớp ẩn, lớp ẩn là thành phần nội tại của mạng không có
tiếp xúc với môi trường bên ngoài. Số lượng lớp ẩn có thể từ 0 đến vài lớp.
71
TÇng vµo
Mét hay nhiÒu tÇng Èn
TÇng ®Çu ra
Hình 2-31- Mô hình nhiều tầng của mạng nơron
Mạng nơron nhân tạo gồm có ba thành phần cơ bản:
+ Tập trọng số liên kết đặc trưng cho các khớp thần kinh
+ Bộ cộng để thực hiện phép tính tổng các tích của tín hiệu vào với trọng
số liên kết tương ứng.
+ Hàm kích hoạt hay hàm chuyển đổi quy định giới hạn đầu vào của
nơron.
Tæng Hµm
truyÒn
Vector ®Çu ra
Xö lý c c phÇn tö
§ Çu vµ
o
2w
0x
1x
2x
nx
Hình 2-32- Các thành phần cơ sở mạng nơron.
72
Mỗi nơron trong mô hình nơron nhân tạo được nối với các nơron khác và
nhận được tín hiệu xi từ chúng với các trọng số wi. Tổng thông tin đầu vào có
trọng số là:
∑= jj xwNet
Giả sử mạng có N nút vào: x = (x0, x1, x2,…xN-1) với các vector trọng số
w0 = (w00, w01,…,w0N-1), w1 = (w01, w02, …w0M-1),…wM-1 = (wm-10,…wM-1N-1), và M
đầu ra phi tuyến của mạng là y = (y0, y1, …, yM-1) được biểu diễn bởi:
∑−
=+=
1
0
N
iiiijj bxwNet 10 −≤≤ Mj
)( jj Netfy =
xi, yi, wij, bi là các số thực, các bi gọi là độ lệch “bisa”.
Hàm f là một hàm phi tuyến, gọi là hàm truyền, nó có thể có ở dạng sau:
Hàm tuyến tính từng đoạn:
( )
≥<≤−
−≤−=
11
11
1:1
x
xx
x
xf
Hàm sigmoid: ( ) +∞<∞−+
= − ,1
1xe
xf
Hàm hyperbol: ( ) +∞<<∞−+−= −
−x
e
exf
x
x
,1
1
Hàm tang-hyperbol: ( ) −∞<<∞−+−= −
−x
ee
eexf
xx
xx
,
Nói chung các hàm truyền nên thoả mãn các tính chất sau:
+ Bị chặn ( ) xMxf ∀≤
+ Đơn điệu tăng: ( ) ( ) 2121 xxxfxf >∀>
+ Khả vi liên tục: ( )xf có đạo hàm ( )xf ′ và ( )xf ′ là hàm liên tục
Với các hàm truyền thông dụng ta có Hàm sigmoid:
( )( ) ( ) ( )( )xfxfxf
xf
−=′<<
1
10
73
2.4.3. Phân loại mạng nơron
Có nhiều phương pháp để phân loại mạng nơron: phân loại mạng nơron
dựa vào kiểu liên kết hoặc số lớp. Người ta đã nghiên cứu và đưa ra sử dụng
các loại mạng nơron sau:
+ Mạng nơron truyền thẳng: Trong mạng nơron truyền thẳng các liên kết
nơron đi theo một hướng nhất định, không tạo thành chu trình.
+ Mạng nơron hồi quy: Các mạng hồi quy cho phép các nơron tạo thành
chu trình.
+ Mạng Hopfield: Có một lớp ra, với số nơron bằng số tín hiệu vào. Các
liên kết nơron là đầy đủ. Mạng Hopfield có hàm kích hoạt là hàm dấu.
+ Mạng kiểu bộ nhớ hai chiều kết hợp thích nghi ABAM, có một lớp
mạng và có số tín hiệu ra có thể ít hơn nhiều so với số tín hiệu vào.
+ Mạng Kohonen: Thuộc vào nhóm mạng một lớp, các nơron được phân
bố trong mặt phẳng hai chiều theo kiểu lưới vuông hay lục giác.
+ Mạng Perceptron: Là mạng truyền thẳng một lớp có một hay nhiều đầu
ra.
+ Mạng nơron nhiều lớp lan truyền ngược sai số:
+ Mạng nơron có tích hợp các hệ mờ.
2.4.4. Ứng dụng mạng nơ ron lan truyền ngược cho nhận dạng tiếng nói
Thuật toán lan truyền ngược:
Cho trước hai vector đầu vào: ( )110 ,...,, −= Nxxxx , vector đầu ra
( )110 ,...,, −= myyyy , tầng ẩn gồm H nút, với các vector trọng số nối N nút đầu
vào với H nút tầng ẩn, ( )10000 ,..., −= Nwhwhwh , ( )10011 ,..., −= Hwhwhwh ,…,
( )11101 ,..., −−−− = NwhHwhHwhH , và các vector trọng số nối H nút tầng ẩn vào
với M nút đầu ra, ( )10000 ,..., −= Hwowowo , ( )10011 ,..., −= Hwowowo , ...,
( )11101 ,..., −−−− = HwoMwoMwoM , xi, yj, whih, wojh là các số thực.
Chạy mô hình
Với đầu vào ( )110 ,...,, −= Nxxxx đã được chuẩn hoá (các giá trị xi nằm
giữa 0 và 1- là miền giá trị của hàm Sigmoid)
Ta được ( )110 ,...,, −= outMoutoutout
74
Tính vector sai số và chuẩn độ lệch
( )110 ,...,, −= eMeee VỚI ( ) 1,...,1,0, −=−= Mjoutjyjei
( )21
21
20
2...21 −+++= eMeee
Hiệu chỉnh trọng số liên kết whih, whjh
Mạng hiệu chỉnh lại trọng số wih, wjh sao cho 2e |có nhiều khả năng
giảm đi sau phép hiệu chỉnh.
Dừng việc học, lưu các trọng số mạng
Xét với hàm truyền là Sigmoid, người ta chứng minh được nếu dùng
phép giảm theo hướng gradient với phép tỉ lệ là thừa số θ (θ > 0, đủ nhỏ gọi
là hệ số học) của hàm lỗi e (gradient là hướng của vector đạo hàm riêng bậc
một của hàm lỗi e xét theo tất cả các biến trọng số), thì công thức chỉnh trọng
số mạng lan truyền ngược là:
( ) ( ) inh
outh
outh
oldjh
newjh netnetnetoutjyjwowo *1** −−+= θ
( ) ( )∑−
=∂−+=
1
00**1**
M
jjhjh
inh
inh
oldih
newih wnetnetxiwhwh θ
( ) ( )outh
outh
defnetnetoutjyjdjh −−= 1*
Trong thực nghiệm có thể chọn θ = 0.2, 0.5, .., 1.0.
75
3. HUẤN LUYỆN VÀ NHẬN DẠNG TIẾNG NÓI
3.1. Huấn luyện và nhận dạng theo mô hình Markov
3.1.1. Giới thiệu về HTK
Bộ công cụ HTK (Hidden Markov Model Toolkit) là bộ công cụ dùng để
xây dựng và nghiên cứu thao tác trên các mô hình Markov ẩn. Nó bao gồm
các mô dun, các công cụ được viết bằng ngôn ngữ C. Các công cụ cung cấp
phương tiện cho phép phân tích giọng nói, huấn luyện HMM, kiểm tra và
phân tích kết quả nhận dạng. Các phần mềm dùng cả các hàm mật độ xác suất
liên tục và rời rạc và có thể xây dựng các hệ thống HMM phức tạp.
HTK đầu tiên được phát triển tại nhóm Speech Vision and Robotics của
Phòng Công nghệ Đại học Cambridge CUED (Cambridge University
Engineering Department) và đã được dùng để xây dựng hệ thống nhận dạng từ
vựng kích thước lớn của CUED. Vào năm 1993, phòng thí nghiệm nghiên cứu
Entropic đã giành được quyền bán HTK và sự phát triển của HTK đã hoàn toàn
được chuyển cho phòng thí nghiệm này vào năm 1995 khi phòng thí nghiệm
nghiên cứu Cambridge Entropic ra đời. Năm 1999, Microsoft mua lại Entropic
và hiện nay, Microsoft có bản quyền của HTK. Trong khi Microsoft giữ bản
quyền của mã nguồn HTK, tất cả mọi người đều được khuyến khích tham gia
vào phát triển mã nguồn và HTK được cung cấp miễn phí và có thể tải xuống
từ trên mạng tại địa chỉ: http://htk.eng.cam.ac.uk/download.shtml. Phiên bản
mới nhất của HTK là 3.1 [Steve 2002] và cộng đồng những người nghiên cứu
sử dụng HTK đã lên tới 12.000 người.
3.1.2. Huấn luyện hệ thống nhận dạng
3.1.2.1 Chuẩn bị dữ liệu
Định nghĩa ngữ pháp
HTK cho phép định nghĩa một quy tắc ngữ pháp của một hệ thống nhận
dạng dưới dạng một tệp văn bản. Các quy tắc ngữ pháp này sẽ được sử dụng
trong giai đoạn decoding dùng thuật toán Viterbi. Tuỳ theo hệ thống nhận
dạng mà ta xây dựng ngữ pháp cho hệ thống đó. Ví dụ sau là một quy tắc ngữ
pháp của một hệ thống nhận dạng quay số bằng giọng nói, người dùng có thể
đọc số điện thoại cần gọi hoặc đọc tên của người bị gọi.
76
$digit = ONE | TWO | THREE | FOUR | FIVE |
SIX | SEVEN | EIGHT | NINE | OH | ZERO;
$name = [ JOOP ] JANSEN |
[ JULIAN ] ODELL |
[ DAVE ] OLLASON |
[ PHIL ] WOODLAND |
[ STEVE ] YOUNG;
( SENT-START ( DIAL <$digit> | (PHONE|CALL) $name) SENT-END )
Định nghĩa từ điển
Từ điển được định nghĩa trong một tệp văn bản bao gồm các từ mà hệ
thống có thể nhận dạng được và các phiên âm của các từ này thành các đơn vị
nhận dạng của hệ thống. Đối với các hệ thống nhận dạng có số từ vựng lớn,
các đơn vị nhận dạng này thường là âm vị. Một từ điển bao gồm nhiều dòng,
mỗi dòng tương ứng với một từ và phiên âm của nó. Một từ có thể có nhiều
phiên âm khác nhau. Có hai âm vị đặc biệt đó là sil và sp. sil là đơn vị nhận
dạng biểu thị một khoảng yên lặng, sp là đơn vị nhận dạng biểu thị một ngắt
giọng (short pause). Cả hai đơn vị đều biểu thị một khoảng yên lặng, sil được
khai báo ở đầu và cuối mỗi phát âm, sp được đặt ở giữa hai từ trong một câu.
Mô hình Markov ẩn của sp được xây dựng dựa trên mô hình Markov ẩn của
sil. Khác nhau cơ bản của hai đơn vị nhận dạng là vai trò của nó trong xây
dựng ngữ cảnh cho các âm vị. Ví dụ về một tệp định nghĩa từ điển như sau:
soo s oo sp
soo s oo sil
ddieen dd ie n sp
ddieen dd ie n sil
thoai th w aw i sp
thoai th w aw i sil
quen k w e n sp
quen k w e n sil
....
77
Cơ sở dữ liệu
Cơ sở dữ liệu bao gồm các tệp âm thanh lưu ở dạng .wav, và các tệp văn
bản chứa phiên âm chính tả của các tệp âm thanh. Mỗi tệp âm thanh có một
tệp văn bản tương ứng chứa phiên âm chính tả của phát âm. Các phiên âm ở
mức âm vị được lưu trong các tệp có đuôi .phn. Các phiên âm ở mức âm vị
bao gồm nhiều dòng, mỗi dòng chứa tên âm vị cùng với nhãn thời gian của
âm vị đó trong tệp âm thanh.
Trích chọn các đặc điểm
Công việc tính toán trích chọn các đặc tính phổ của các tệp âm thanh
được thực hiện bởi công cụ Hcopy. HTK hỗ trợ tính toán nhiều loại tham số
khác nhau, trong đó có các loại thông dụng là MFCC và PLP. Các hệ số
MFCC và PLP được tính toán và lưu vào một tệp tương ứng với tệp âm thanh
với phần đuôi là .mfc. Các giá trị delta của các hệ số trên được tính toán trong
quá trình huấn luyện và nhận dạng (on-the-fly). Hcopy sẽ đọc một tệp cấu
hình, trong đó khai báo các tham số dùng trong quá trình tính toán các giá trị
đặc tính phổ của tệp âm thanh. Ví dụ tệp cấu hình như sau:
SOURCEKIND = WAVEFORM
SOURCEFORMAT = WAV
TARKETRATE = 100000
ENORMALISE = T
NUMCEPS = 12
CELPLIFTER = 22
PREEMCOEF = 0.970000
USEPOWER = T
USEHAMMING = T
WINDOWSIZE = 250000.000000
SAVEWITHCRC = T
SAVECOMPRESSED = T
TARGETRATE = 100000.000000
TARGETKIND = PLP_E_D_A_Z
78
Trong khai báo trên phương pháp trích trọn đặc điểm PLP được áp dụng,
kích thước cửa sổ Hamming là 25sm, số mạch lọc là 22, hệ số dùng để nhấn
mạnh (preemphasis) là 0.97, các tham số được dùng bao gồm 12 hệ số PLP
cộng với giá trị năng lượng. Giá trị delta và delta+delta được sử dụng tạo
thành vector 39 đặc tính. Phương pháp CMS được áp dụng để lọc bỏ nhiễu.
3.1.2.2 Khai báo cấu trúc mô hình Markov
Mỗi mô hình Markov chứa nhiều trạng thái, trong đó có một trạng thái
khởi đầu và một trạng thái kết thúc là các trạng thái đặc biệt không phát sinh
quan sát (nonemitting), nghĩa là không có xác suất phát xạ quan sát bj(ot) kết
hợp với các trạng thái này.
Đối với các trạng thái không phải là trạng thái đầu và trạng thái cuối, xác
suất phát xạ quan sát là một hàm mật độ xác suất được xây dựng trên cơ sở
các hàm mật độ xác suất Gaussian. Hàm này bao gồm một hoặc nhiều các
dòng (stream), mỗi dòng có thể có một hoặc nhiều thành phần trộn bao gồm
các hàm mật độ xác suất Gaussian. Cấu trúc nhiều dòng cho phép hệ thống
mô hình hoá nhiều dòng thông tin khác nhau. Thông thường số lượng dòng
tối đa là 4 dòng. Công thức tổng quát của hàm phát xạ quan sát ot tại trạng
thái j được biểu diễn như sau:
∏ ∑ ∑= =
=
S
s
M
mjsmjsmstjsmtj
sjs
oNcob1 1
);;()(
γ
µ
Cấu trúc và các tham số của mô hình Markov ẩn được định nghĩa trong
một tệp văn bản. Ví dụ về một tệp định nghĩa một mô hình Markov ẩn có năm
trạng thái, trong đó có một trạng thái khởi đầu và một trạng thái kết thúc như
sau:
1. ~o <VecSize> 39 <PLP_E_D_A_Z>2. ~h "proto"3. <BeginHMM>4. <NumStates> 55. <State> 26. <Mean> 397. 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.08. 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.09. 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
79
10. 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.011. <Variance> 3912. 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.013. 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.014. 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.015. 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.016. <State> 317. <Mean> 3918. ...19. <TransP> 520. 0.0 1.0 0.0 0.0 0.021. 0.0 0.6 0.4 0.0 0.05722. 0.0 0.0 0.6 0.4 0.023. 0.0 0.0 0.0 0.7 0.324. 0.0 0.0 0.0 0.0 0.025. <EndHMM>Dòng 1 cho biết vector đặc tính được sử dụng là 12 hệ số PLP, một giá
trị năng lượng (E), các giá trị delta bậc một và bậc 2 được sử dụng (D_A) tạo
thành một vector gồm 39 đặc tính. Phương pháp xử lý tiếng nói CMS được sử
dụng để loại bỏ ảnh hưởng của nhiễu (_Z). Dòng 4 cho biết số lượng trạng
thái trong mô hình là 5 trạng thái. Với mỗi trạng thái, các giá trị µ và Σ được
khai báo từ dòng 6 tới dòng 15. Số lượng các giá trị này bằng số lượng các
đặc tính phổ được dùng. Ma trận hiệp phương sai thường là ma trận đối xứng
có thể được khai báo bằng các giá trị phần tử của ma trận hoặc được khai báo
bằng các giá trị trên đường chéo của ma trận như là ở ví dụ trên (khi đó các
phần tử còn lại có giá trị 0).
3.1.2.3 Khởi tạo các tham số
Sau khi được khai báo với cấu trúc và các giá trị tham số ban đầu, các
mô hình Markov ẩn có thể được khởi tạo (initialised) theo hai cách: dùng
Hinit hoặc dung Hcompv.
80
Dùng công cụ Hinit
Hình 3-33- Thuật toán của Hinit
Hình 6.1 miêu tả hoạt động của Hinit. Hinit được dùng để huấn luyện mô
hình Markov ẩn đối với từng âm vị. Dữ liệu vào của Hinit là tệp định nghĩa cấu
trúc và các tham số khai báo bằng tay của âm vị, ví dụ âm vị /m/ có tệp tương
ứng “m.1”. Dữ liệu vào thứ hai là dãy các vector đặc tính phổ tương ứng với
âm vị /m/ được lấy trong tập dữ liệu huấn luyện là các tệp .mfc. Thông tin về
các nhãn thời gian được dùng để lọc ra các vector phổ tương ứng với âm vị /m/
trong số các âm vị khác trong dữ liệu huấn luyện. Kết quả huấn luyện của Hinit
là các tham số của mô hình Markov ẩn của âm vị /m/ đã được khởi tạo. Với
mỗi dãy vector các đặc tính phổ, đầu tiên thuật toán Viterbi được dùng để tìm
dãy trạng thái tốt nhất với mỗi dãy vector huấn luyện, sau đó các tham số được
tính toán. Một hệ quả của thuật toán Viterbi là xác suất giống nhau likelihook
81
của dữ liệu huấn luyện với mô hình sẽ được tính toán và quá trình sẽ tiếp tục
lặp lại cho đến khi việc tăng xác suất tới gần điểm hội tụ.
Tuy nhiên, ở vòng lặp đầu tiên, thuật toán Viterbi không được dùng để
phân đoạn bởi vì các tham số của mô hình lúc này mới chỉ là các tham số
được khai báo bằng tay chưa đủ chính xác để tiến hành phân đoạn. Để giải
quyết trường hợp này, các dãy vector phát âm được chia thành các đoạn thời
gian bằng nhau và gán cho các đoạn này các trạng thái tương ứng với mô
hình. Cách làm này chỉ áp dụng được với mô hình Markov ẩn có cấu trúc trái
- phải (left - right). Đối với mô hình Markov ẩn có cấu trúc ergodic, Hinit
không áp dụng được.
Nếu trạng thái của mô hình có nhiều thành phần trộn, vector huấn luyện
sẽ được kết hợp với thành phần có xác suất giống nhau likelihood lớn nhất. Số
lượng vector kết hợp với mỗi thành phần trộn sau này sẽ được dùng để tính
toán giá trị trọng số của thành phần trộn. Trong bước đầu khi phát âm được
phân đoạn thành các đoạn thời gian bằng nhau, thuật toán K-mean được áp
dụng để chia các vector thành các nhóm tương ứng với mỗi thành phần trộn
trong mỗi trạng thái.
Hình 3-34- Các hoạt động của Hnit.
Dùng công cụ Hcompv
Một giới hạn của công cụ Hinit đó là các dữ liệu huấn luyện cần phải
được gán nhãn. Với các thông tin về nhãn thời gian của các đơn vị nhận dạng,
Hinit sẽ tính toán các tham số của mô hình Markov ẩn tương ứng với từng âm
82
vị dựa trên các thông tin nhãn thời gian của mỗi âm vị trong tập dữ liệu huấn
luyện.
Với Hcompv, khi các nhãn thời gian nói trên không được cung cấp thì
Hcompv sẽ khởi tạo các tham số của tất cả các mô hình Markov ẩn với cùng
một giá trị. Cách làm này gọi là khởi tạo phẳng (flat start). Trên thực tế,
Hcompv làm việc giống như Hinit ở bước khởi đầu, tức là các vector của một
phát âm sẽ được chia thành các đoạn đều nhau đều cho tất các âm vị. Tuy
nhiên khác với Hinit, các âm vị đều chung nhau một mô hình và các tham số
của mô hình này sẽ được tính toán và khởi tạo giống nhau. Hình dưới đây
miêu tả hoạt động của Hcompv.
Hình 3-35- Mô hình hoạt động của Hcompv
3.1.2.4 Huấn luyện các đơn vị nhận dạng đơn
Bước đầu tiên trong quá trình huấn luyện là huấn luyện các mô hình
tương ứng với mỗi đơn vị nhận dạng đơn (monophone). Đây là đơn vị nhận
dạng cơ bản độc lập với ngữ cảnh xung quanh. Quá trình nhận dạng được
thực hiện bằng huấn luyện nhúng (embedded) dùng công cụ Herest.
Quá trình huấn luyện được chia làm hai giai đoạn, giai đoạn đầu các mô
hình được huấn luyện với đơn vị nhận dạng sil tại hai đầu phát âm mà không
có sự tham gia của đơn vị nhận dạng sp.
83
Hình 3-36- Sơ đồ buộc hai âm vị sil và sp.
Giai đoạn hai, mô hình của đơn vị nhận dạng sil được điều chỉnh bằng bổ
sung thêm hai cung chuyển trạng thái từ trạng thái 2 sang trạng thái 4 và
ngược lại. Mục đích của việc làm này là nhằm cho phép mô hình có thể chịu
được các nhiễu của dữ liệu huấn luyện. Trong giai đoạn này, mô hình sp mới
được tạo gồm một trạng thái phát xạ quan sát và trạng thái này được buộc
(tied) với trạng thái giữa của mô hình sil. Cấu trúc của hai mô hình sil và sp
được miêu tả trong hình 6.4.
Công việc tạo chuyển dịch trạng thái mới của mô hình sil, tạo mô hình
sp được thực hiện bởi công cụ Hhed. Các bước huấn luyện nhúng được thực
hiện với công cụ Herest.
Huấn luyện nhúng bằng Herest
Đây là công cụ huấn luyện chính thực hiện huấn luyện bằng phương thức
nhúng (embedded trainning), tính toán và cập nhật các tham số của nhiều mô
hình cùng một lúc. Đây là công cụ quan trọng nhất và được coi là trái tim của
hệ thống huấn luyện.
Hình 3-37- Hoạt động của Herest.
84
Với mỗi một phát âm, Herest sẽ tìm tệp chứa phiên âm chính tả của phát
âm đó, sau đó nó sẽ tra cứu trong từ điển phát âm của mỗi từ để tìm ra được
dãy các âm vị tương ứng với phát âm. Một mô hình Markov ẩn lớn sẽ được
xây dựng bằng cách nối các mô hình Markov ẩn của các âm vị vào với nhau.
Sau đó thuật toán huấn luyện forward-backward sẽ được áp dụng với mô hình
Markov ẩn này. Herest sẽ kết thúc khi tất cả các phát âm trong tập dữ liệu
huấn luyện được xử lý.
Gán nhãn cưỡng bức dữ liệu huấn luyện
Việc huấn luyện các mô hình Markov ẩn của các đơn vị nhận dạng độc
lập ngữ cảnh kết thúc bởi huấn luyện dữ liệu được gán nhãn cưỡng bức
(forced-alignment). Trong từ điển, một từ có thể được phiên âm thành các âm
vị theo nhiều cách khác nhau. Trong các bước huấn luyện trước, hệ thống lấy
phiên âm đầu tiên gặp trong từ điển của một từ để phân tích một phát âm
thành dãy các âm vị. Tại bước này, sau khi các mô hình đã được huấn luyện,
các tham số đã được tính toán, chúng được sử dụng để gán nhãn cưỡng bức
lại dữ liệu huấn luyện. Đây là quá trình phân tích một phát âm là các từ thành
dãy các âm vị phù hợp nhất, trong đó các phiên âm khác nhau của một từ sẽ
được chọn để tìm ra phiên âm thích hợp. Quá trình gán nhãn cưỡng bức thực
chất gần giống với quá trình nhận dạng, được thực hiện bởi thuật toán Viterbi.
Sau khi dữ liệu huấn luyện đã được gán nhãn cưỡng bức, thủ tục Herest
lại được dùng để huấn luyện lại các mô hình trên cơ sở các dãy phiên âm tìm
được của quá trình gán nhãn cưỡng bức.
3.1.2.5 Huấn luyện các âm ba
Sau khi quá trình huấn luyện các đơn vị nhận dạng độc lập ngữ cảnh kết
thúc. Hệ thống đã sẵn sàng để tiến hành nhận dạng. Tuy nhiên, một âm vị
luôn chịu ảnh hưởng của ngữ cảnh xung quanh và hệ thống nhận dạng chỉ làm
việc tốt nếu như chúng được huấn luyện bởi các đơn vị nhận dạng phụ thuộc
ngữ cảnh. Trong HTK đơn vị phụ thuộc ngữ cảnh được gọi là các âm ba
(triphone) để phân biệt với các âm đơn, đơn vị độc lập ngữ cảnh.
Tạo các âm ba từ các âm đơn
Âm ba (triphone) là đơn vị nhận dạng âm vị phụ thuộc ngữ cảnh được ký hiệu là ab+c, trong đó /b/ là âm đơn, /a/ là âm vị bên trái âm vị /b/ và /c/ là âm vị bên phải âm vị /b/.
85
Các âm ba được tạo bằng cách lấy các âm đơn tương ứng, bổ xung thêm
ngữ cảnh trái và ngữ cảnh phải. Các đơn vị nhận dạng sil và sp không được
chuyển đổi sang âm ba vì chúng chỉ là một khoảng yên lặng, không phụ thuộc
ngữ cảnh xung quanh. Có hai cách sinh ra các âm ba: âm ba với ngữ cảnh giới
nội từ (word internal) và âm ba với ngữ cảnh liên từ (cross-word).
Trong trường hợp đầu các âm vị chịu ảnh hưởng của ngữ cảnh trong một
từ, các từ được coi là cách nhau một khoảng yên lặng và các âm vị của các từ
khác không ảnh hưởng đến nhau. Các âm vị đầu và cuối một từ trong thực tế
là các âm hai (biphone) thay vì âm ba, chỉ có âm vị ở giữa từ mới là âm ba. Ví
dụ sau đây là một dãy các âm đơn của một phát âm và các âm ba tương ứng:
Âm đơn: sil ea ngz sp n o i sp t ie ngz sil v ietc sp h a sp sil
Âm ba: sil ea+ngz ea-ngz sp n+o n-o+i o-i sp t+ie t-ie+ngz ie-ngz sp
v+ietc v-ietc sp h+a h-a sp sil
Trong trường hợp thứ hai, các âm vị không những chịu ảnh hưởng của
các âm vị trong từ đó mà còn của các âm vị của các từ xung quanh. Có sự
khác nhau giữa vai trò của đơn vị nhận dạng sp và sil. Nếu như sự có mặt của
sp không ảnh hưởng đến sự ảnh hưởng của ngữ cảnh đến các âm ba, ngược lại
âm vị sil được coi như là khoảng lặng chia tách ngữ cảnh và các âm vị đứng
cạnh sil thì sẽ không bị ảnh hưởng bởi ngữ cảnh.
Ví dụ sau đây là một dãy các âm đơn của một phát âm và các âm ba
tương ứng:
Âm đơn: sil ea ngz sp n o i sp t ie ngz sil v ietc sp h a sp sil
Âm ba: sil sil-ea+ngz ea-ngz+n sp ngz-n+o n-o+i o-i+t sp i-t+ie t-ie+ngz
ie-ngz+sil sil sil-v+ietc v-ietc+h sp ietc-h+a h-a+sil sp sil
Việc chuyển đổi từ các âm đơn sang các âm ba được thực hiện bởi công
cụ Hhed, như được miêu tả trong Hình 6.6. Các tham số của các âm ba được
sao chép từ các âm đơn tương ứng bao gồm: các xác suất chuyển trạng thái aij,
các tham số của hàm Gaussian của xác suất phát xạ quan sát bj(ok).
86
Hình 3-38- Dùng Hhed chuyển âm đơn sang âm ba.
Sau đó tệp phiên âm các âm đơn cũng được chuyển đổi sang tệp phiên
âm các âm ba tương ứng bằng công cụ Hled. Các âm ba sau đó được huấn
luyện bằng công cụ huấn luyện nhúng Herest. Các tham số của các âm ba
được sao chép từ các âm đơn tương ứng sẽ được điều chỉnh lại theo phiên âm
của các âm ba tạo bởi Hled. Với các âm ba có cùng một âm đơn tương ứng,
trước khi được huấn luyện bởi Herest, các xác suất chuyển trạng thái aij được
buộc vào nhau (tied).
Điều này được thực hiện do xác suất chuyển trạng thái của một đơn vị
nhận dạng ít ảnh hưởng của ngữ cảnh xung quanh so với xác suất phát xạ
quan sát. Trong quá trình huấn luyện bởi Herest các xác suất chuyển trạng
thái bị buộc vào nhau sẽ có cùng giá trị và được tính toán cùng với nhau.
3.1.2.6 Buộc các âm ba
Các tham số có thể được buộc vào nhau. Khi một nhóm các tham số
được buộc vào nhau, các giá trị của các tham số này được dùng chung bởi tất
cả các thành viên và được biểu diễn bởi chung một macro trong tệp định
nghĩa cấu hình của mô hình Markov ẩn. Trong quá trình huấn luyện dữ liệu
tương ứng với mỗi thành viên của một nhóm sẽ được dùng chung để tính toán
các tham số cho cả nhóm. Chính vì vậy việc buộc các tham số sẽ có ích với
87
các mô hình của các âm vị mà số lần xuất hiện của chúng trong tập dữ liệu
không đủ. Khi đó việc buộc các mô hình này với nhau sẽ cung cấp đủ dữ liệu
để huấn luyện và làm quá trình huấn luyện trở nên hiệu quả hơn. Trong hầu
hết các hệ thống nhận dạng số lượng từ vựng lớn, phương pháp buộc tham số
đều được áp dụng hiệu quả.
Hình 3-39- Quá trình buộc các âm ba bằng Hhed.
Như đã trình bày ở phần trên, các mô hình của các âm ba (triphone) được
tạo bằng cách sao phép từ các mô hình của các âm đơn tương ứng. Sau đó các
âm ba được huấn luyện lại bằng Herest. Số lượng các âm ba được sinh từ các
âm đơn là rất lớn (từ vài chục đến vài trăm âm ba ứng với mỗi âm đơn), và do
đó dữ liệu dùng để huấn luyện các âm ba cũng bị nhanh chóng giảm. Một số
âm ba sẽ không còn đủ dữ liệu dùng để huấn luyện. Một phương pháp khắc
phục vấn đề này là dùng phương pháp buộc. Thông thường các trạng thái ở
giữa của các mô hình sẽ được buộc vào nhau do các trạng thái giữa là trạng
thái ít bị ảnh hưởng nhất của ngữ cảnh xung quanh. Ví dụ câu lệnh để buộc
các trạng thái này là:
TI "ieS3" {*-ie+*.state[3]}
88
TI "aS3" {*-a+*.state[3]}
Câu lệnh đầu buộc tất cả các trạng thái giữa (trạng thái 3, trong mô hình
có 5 trạng thái) của các âm ba được sao chép từ âm đơn là nguyên âm đôi /ie/.
Câu lệnh sau buộc tất cả các trạng thái giữa của các âm ba tương ứng với âm
vị /a/.
Tuy nhiên việc định nghĩa rõ ràng các trạng thái buộc trên không thường
xuyên hiệu quả và các trạng thái bên trái và bên phải vẫn thiếu dữ liệu để
huấn luyện. Một giải pháp tốt hơn hay được sử dụng đó là dùng phương pháp
nhóm vùng (clustering). Có hai cơ chế được sử dụng: lái dữ liệu (data driven)
và cây quyết định (decision tree-based).
Lái dữ liệu
Hình 3-40- Buộc các trạng thái.
Thuật toán lái dữ liệu (data driven) được khởi động bằng cho tất cả các
trạng thái, mỗi trạng thái vào một nhóm (cluster). Sau đó cặp nhóm mà khi
chúng kết hợp lại với nhau sẽ tạo thành nhóm mới có kích thước nhỏ nhất sẽ
được ghép lại với nhau. Quá trình này tiếp tục cho đến khi kích thước của
nhóm lớn nhất vượt qua ngưỡng được định nghĩa bởi câu lệnh TC, hoặc là
tổng số các nhóm nhỏ hơn ngưỡng được định nghĩa bởi câu lệnh NC. Kích
89
thước của một nhóm được hiểu là khoảng cách lớn nhất của một cặp trạng
thái bất kỳ trong nhóm. Đối với trường hợp hàm phát xạ quan sát của trạng
thái là hàm Gaussian thì khoảng cách là khoảng cách Euclidean giữa các tham
số của các hàm mật độ xác suất.
Hình 6.8 miêu tả hoạt động của một trường hợp dùng lái dữ liệu như sau:
TC 100.0 “oa” {*-a+*.state[2]}
Phân nhóm bằng cây
Một trong các nhược điểm của phương pháp lái dữ liệu là không thực
hiện được với các âm ba mà không có dữ liệu huấn luyện. Khi xây dựng hệ
thống nhận dạng với các âm ba giới nội từ, vấn đề này có thể tránh được bởi
lựa chọn dữ liệu huấn luyện để cho tất cả các âm ba đều có dữ liệu huấn luyện
tương ứng. Tuy nhiên nếu các âm ba liên từ được sử dụng thì số lượng các âm
ba sẽ rất lớn, có thể lên đến hàng chục nghìn âm ba, sự tồn tại của các âm ba
mà không có dữ liệu huấn luyện là điều khó tránh khỏi. Phương pháp dùng
cây (tree-based) là giải pháp thay thế và hay được sử dụng trong các hệ thống
nhận dạng để khắc phục vấn đề này. Để miêu tả hoạt động của thuật toán, ta
sẽ xét một ví dụ:
1. RO 100.0 stats
2. TR 0
3. QS "L_Class_stop" {b-*,t-*,ch-*,tr-*,th-*,k-*,dd-*}
4. QS "R_Class_stop" {*+b,*+t,*+ch,*+tr,*+th,*+k,*+dd}
5. QS "L_Class_nasal" {n-*,m-*,ng-*,nh-*}
6. QS "R_Class_nasal" {*+n,*+m,*+ng,*+nh}
7. QS "L_Class_fricate" {h-*,s-*,kh-*,ph-*,v-*,x-*,g-*,r-*,dz-*}
8. QS "R_Class_fricate" {*+h,*+s,*+kh,*+ph,*+v,*+x,*+g,*+r,*+dz}
9. TR 2
10.
11. TB 350.0 "ST_b_2" {(b,*-b,*-b+*,b+*).state[2]}
12. TB 350.0 "ST_b_3" {(b,*-b,*-b+*,b+*).state[3]}
13. TB 350.0 "ST_b_4" {(b,*-b,*-b+*,b+*).state[4]}
14. TB 350.0 "ST_a_2" {(a,*-a,*-a+*,a+*).state[2]}
90
15. ....
16.
17. TR 1
18.
19. AU "fulllist"
20. CO "tiedlist"
21.
22. ST "trees"
Dòng 3 đến dòng 8 cho định nghĩa các câu hỏi, thực chất là định nghĩa
các nhóm âm vị có tính chất gần giống nhau dùng để phân lớp các âm ba. Các
ngữ cảnh được phân biệt là ngữ cảnh trái và ngữ cảnh phải tuỳ theo ảnh
hưởng của nó đến các âm vị xung quanh. Từ dòng 11 đến dòng 15 là định
nghĩa các nhóm âm ba bằng câu lệnh TB.
Câu lệnh này hoạt động như sau: đầu tiên nhóm các âm ba được định
nghĩa bằng lệnh TB tập hợp lại thành một cluster. Sau đó mỗi câu hỏi được
dùng để chia cluster này làm hai phần. Do việc phân chia này mà xác suất
likelihood của dữ liệu huấn luyện sẽ tăng lên và câu hỏi nào làm cho xác suất
này tăng nhiều nhất sẽ được chọn để tách nhánh đầu tiên trong cây. Quá trình
lặp lại cho đến khi giá trị tăng xác suất của các câu hỏi không vượt qua được
ngưỡng được xác định bởi câu lệnh TB (trong trường hợp này là 350.0). Giá trị
ngưỡng đóng vai trò quan trọng trong điều khiển phân chia cây, nếu giá trị này
lớn cây sẽ ít bị phân nhánh và các âm ba được buộc vào với nhau nhiều hơn.
Ngược lại nếu giá trị này nhỏ thì số lượng các trạng thái âm ba bị buộc
sẽ ít đi. Chọn giá trị ngưỡng phụ thuộc nhiều vào kinh nghiệm của người
nghiên cứu và phụ thuộc vào dữ liệu dùng để huấn luyện. Chọn giá trị ngưỡng
chính xác là một yếu tố giúp tăng độ chính xác nhận dạng của hệ thống.
Tập các âm ba được xem xét tới thời điểm này chỉ bao gồm các âm ba
nằm trong tập dữ liệu huấn luyện. Câu lệnh AU chứa sanh sách các âm ba mà
bao gồm tất cả các âm ba nằm trong cơ sở dữ liệu. Với các âm ba nằm trong
cơ sở dữ liệu mà không có mặt trong tập dữ liệu huấn luyện thì hệ thống sẽ
tổng hợp mô hình của âm ba đó trên cơ sở các âm ba đã được huấn luyện.
Đây là một ưu điểm của phương pháp phân nhóm bằng cây. Tuy nhiên điều
91
kiện tối thiểu để cho âm ba này có thể được tổng hợp là phải tồn tại các âm ba
đã được huấn luyện mà có cùng nguồn gốc âm đơn với âm ba được tổng hợp.
3.1.3. Nhận dạng
Đến đây hệ thống đã sẵn sàng được dùng để tiến hành nhận dạng. Quá
trình nhận dạng được thực hiện bằng công cụ Hvite.
3.1.3.1 Xây dựng mạng từ nhận dạng
Một mạng từ (word network) được định nghĩa dùng ngôn ngữ SLF
(Standard Lattice Format). Đó là một tệp văn bản và có thể soạn bằng tay.
Tuy nhiên công việc định nghĩa bằng tay khá dài dòng và mất nhiều công sức.
HTK có hai công cụ hỗ trợ để có thể sinh tự động tệp này, đó là HBuild và
HParse. HParse cho phép sinh tự động SLF từ một tệp văn bản định nghĩa
ngữ pháp của hệ thống nhận dạng dưới dạng BNF. Dù công cụ nào được dùng
để định nghĩa mạng từ thì mạng từ đều được dùng để định nghĩa một ngữ
pháp, mỗi liên hệ ngữ pháp giữa các từ được nhận dạng bởi hệ thống.
Một tệp SLF chứa một danh sách các nút biểu diễn các từ và một danh
sách các cung biểu diễn chuyển dịch giữa các từ. Các chuyển dịch này có thể
có các xác suất gắn liền với nó, ví dụ các xác suất của mô hình ngôn ngữ
bigram. Ví dụ dưới đây là một mạng từ của một hệ thống nhận dạng mười chữ
số liên tục và định nghĩa ngữ pháp của nó.
$chuso = mootj | hai | ba | boons | nawm | saus | baayr |
tams | chins | khoong ;
(
[sil] < $chuso > [sil]
)
Hình 3-41- Sơ đồ ngữ pháp của hệ thống nhận dạng mười chữ số liên tục.
92
Đối với các hệ thống nhận dạng có số lượng từ vựng lớn và trung bình,
định nghĩa ngữ pháp của hệ thống thường chỉ đơn thuần là cấu trúc vòng từ
(word–loop), có nghĩa là bất kỳ một từ nào trong bộ từ điển của hệ thống đều
có thể theo sau từ bất kỳ khác trong từ điển.
3.1.3.2 Mô hình ngôn ngữ bigram
Hiện nay HTK mới chỉ hỗ trợ mô hình ngôn ngữ tới mức 2-gram, tức là
bigram. Mô hình ngôn ngữ bigram được sinh ra trong HTK bởi công cụ
HStats. Sau đây là một ví dụ về một tệp chứa thông tin mô hình ngôn ngữ
bigram.
\data\
ngram 1=530
ngram 2=2790
\1-grams:
-99.999 !ENTER -0.7008
-2.6186 aam -0.5829
-4.0658 an -0.3000
-2.3176 anh -0.8285
......
\2-grams:
-2.4372 !ENTER awn
-1.5921 !ENTER ba
-1.5195 !ENTER baay
...
-1.9912 hai cai
một
hai
sil
chín
sil
76
-1.7694 hai hai
93
-1.9912 hai khoong
\end\
Hình 3-42- Sơ đồ mạng word-loop với các xác suất bigram.
Phần đầu 1-gram định nghĩa xác suất xuất hiện của từ trong bộ từ điển
P(wi). Trong phần thứ hai (P(wi/wj) định nghĩa xác suất của một cặp từ. Các
thông tin của mô hình ngôn ngữ được tích hợp vào mạng từ bằng công cụ
HBuild. Ví dụ về một mạng từ của một hệ thống nhận dạng sử dụng dạng phổ
biến của mạng nhận dạng là cấu trúc vòng từ word-loop, trong đó các từ được
đặt song song với nhau và các đường đấu vòng loop-back để cho phép bất kỳ
một từ nào cũng có thể đứng sau từ kia. Cấu trúc này được dùng phổ biến
trong nhiều hệ thống nhận dạng như hệ thống nhận dạng đọc chính tả. Công
cụ Hbuild được dùng để bổ sung các xác suất bigram vào mỗi cung nối giữa
hai từ. Trong Hình 6.10 là sơ đồ một mạng word-loop gồm bốn từ, các xác
suất bigram P(wi/wj) được gắn vào mỗi cung loop-back giữa các từ, nghĩa là
giữa một cặp từ bất kỳ đều cần có một xác suất bigram tương ứng.
3.1.3.3 Sử dụng mạng từ trong hệ thống nhận dạng
Khi mạng từ được nạp vào trong hệ thống nhận dạng, một từ điển phiên
âm của hệ thống sẽ được dùng để tạo ra một mạng tương đương bao gồm các
đơn vị nhận dạng cơ bản của hệ thống, các âm đơn hoặc các âm ba. Tuỳ thuộc
vào cấu hình của hệ thống mà các âm ba có thể là các âm ba giới nội từ hay
âm ba liên từ. Một từ có thể có nhiều phiên âm, khi đó sẽ có nhiều nhánh của
mạng mỗi nhánh tương ứng với mỗi phiên âm của từ. Mạng này được gọi là
94
mạng HMM. Như vậy ta có thể thấy một cấu trúc ba mức của một mạng để
dùng nhận dạng: mức từ, mức mô hình và mức trạng thái. Hình 6.11 mô tả
cấu trúc này của hệ thống nhận dạng. Trong hình này các hình ovan biểu thì
các từ, hình vuông biểu diễn một nhãn kết thúc một từ (word end).
Hình 3-43- Cấu trúc ba lớp của mạng từ nhận dạng.
Mạng dùng để nhận dạng cuối cùng bao gồm các trạng thái và các cung
nối chúng với nhau. Các cung trong một mô hình HMM chính là xác suất
chuyển trạng thái được xác định bởi các tham số của HMM. Các cung giữa
các mô hình có xác suất tương đương nhau, các cung giữa các từ có xác suất
được xác định bởi mô hình ngôn ngữ.
3.1.3.4 Giải mã
Nhiệm vụ của quá trình giải mã là tìm ra một đường đi trong mạng
HMM có xác suất lớn nhất. Để thực hiện công việc này một thuật toán tương
tự thuật toán Viterbi được dùng, gọi là thuật toán chuyển thẻ bài (Token
Passing).
Một mạng lớn mà có nhiều nút thì công việc tìm kiếm sẽ rất lâu và tốn
thời gian. Một giải pháp nhằm giảm có hiệu quả việc tính toán đó là chỉ cho
phép các thẻ bài mà có cơ hội là một trong các thẻ bài tốt nhất mới được tồn
tại. Cơ chế này gọi là cắt tỉa (pruning). Tại mỗi bước các thẻ bài mà có giá trị
xác suất nằm ngoài khoảng giá trị cho phép so với thẻ bài có xác suất cao nhất
95
sẽ bị xoá đi. Khoảng giá trị cho phép (beamwidth) được điều chỉnh bởi dung
hoà giữa yếu tố tốc độ và hiệu quả của thuật toán tìm kiếm.
Kết thúc quá trình tìm kiếm với mỗi phát âm ta nhận được một dãy các
từ với xác suất cao nhất là kết quả nhận dạng.
3.1.4. Tổng kết
3.1.4.1 Các yếu tố quyết định trong hệ nhận dạng lời nói liên tục, bộ từ vựng
lớn sử dụng HMM
Từ điển phát âm
Từ điển phát âm xác định tập các từ cần được nhận dạng, tập âm đơn vị
cần được mô hình hoá. Số lượng từ càng nhiều, độ phức tạp hệ nhận dạng
càng cao. Phiên âm càng chính xác, âm đơn vị phù hợp sẽ làm tăng độ chính
xác của hệ nhận dạng càng cao.
Mô hình HMM cho các âm đơn vị cơ bản
Khi đã lựa chọn tập âm đơn vị để mô hình hoá. Công việc tiếp theo là
xác định cấu trúc của HMM cho các âm đơn vị đó. Không nhất thiết các
HMM phải giống nhau với mọi âm đơn vị. Việc lựa chọn cấu trúc HMM phù
hợp cho từng âm đơn vị phải căn cứ vào dữ liệu huấn luyện, xem xét các mẫu
phát âm của âm đơn vị đó dài hay ngắn, có ổn định hay không....
Mô hình âm đơn vị phụ thuộc ngữ cảnh
Vì trong ngữ lưu liên tục có hiện tượng liên cấu âm, khác với lời nói tách
biệt nên việc mô hình hoá các âm đơn vị trong ngữ cảnh xuất hiện của chúng
làm tăng độ chính xác trong nhận dạng. Mô hình thường được sử dụng là âm
đôi (biphone), âm ba (triphone).... và được xây dựng từ các mô hình của tập
âm đơn vị cơ bản.
Dùng chung các tham số
Vì dữ liệu huấn luyện có hạn, và số lượng âm đơn vị phụ thuộc ngữ cảnh
là rất lớn nên cần phải dùng chung tham số. Trong HMM, việc dùng chung
các tham số rất đa dạng. Có thể dùng chung xác suất chuyển trạng thái, xác
suất phát sinh, dùng chung các thành phần trộn Gaussian....
Việc dùng chung các tham số làm giảm số lượng các tham số cần phải
ước lượng nên làm tăng hiệu quả huấn luyện. Tuy nhiên việc xác định các
96
tham số dùng chung rất khó, hai mô hình HMM phải có điểm giống nhau thì
việc dùng chung tham số mới có hiệu quả. Kết quả chỉ có thể đánh giá được
thông qua thực nghiệm
Mô hình ngôn ngữ
Mô hình ngôn ngữ thường được sử dụng trong các hệ nhận dạng là n-
gram, phổ biến nhất là trigram (n=3). Mô hình ngôn ngữ n-gram được xây
dựng từ text corpus của ngôn ngữ cần được nhận dạng. Mô hình ngôn ngữ
đưa ra các giả thuyết phù hợp và xác suất ưu tiên cho các giả thuyết đó. Nếu
thiếu mô hình ngôn ngữ kết quả nhận dạng rất tồi (xem bảng tóm tắt kết quả
nhận dạng).
3.1.4.2 Nhận xét về bộ công cụ HTK
Ưu điểm
Bộ công cụ HTK rất mềm dẻo, nguyên tắc phát triển một hệ nhận dạng
lời nói sử dụng HTK là từ thấp đến cao. Hệ nhận dạng được phát triển qua
nhiều bước, tại mỗi bước đều có thể sử dụng và đánh giá ngay được. Trong
thực nghiệm với TIMIT, đầu tiên, hệ nhận dạng gồm 45 HMM của các đơn
âm, sau đó phát triển thành tập âm ba, rồi xác định trạng thái dùng chung giữa
các âm ba đó, cuối cùng tăng số lượng các thành phần trộn lên. Qua mỗi
bước, độ chính xác của hệ nhận dạng đều tăng đáng kể.
HTK có thể xây dựng được mọi cấu trúc của mô hình HMM chuẩn, cho
phép dùng chung tất cả các tham số. Các âm đơn vị không nhất thiết phải có
cấu trúc HMM giống nhau...
HTK, cũng như nhiều hệ nhận dạng lời nói liên tục dựa trên HMM khác,
có thể sử dụng dữ liệu chưa được gán nhãn ngữ âm để huấn luyện. Lý do
chính là phương pháp huấn luyện các HMM trong nhận dạng lời nói liên tục
là phương pháp huấn luyện nhúng (embeded training), nghĩa các HMM được
kết nối theo thứ tự tương ứng với dãy đơn vị âm của một câu nói trong dữ liệu
huấn luyện rồi việc ước lượng tham số được tiến hành cho HMM lớn này.
Trong nhận dạng lời nói liên tục, bộ từ vựng lớn, nhãn ngữ âm chỉ được
sử dụng duy nhất một lần để khởi tạo các tham số cho các HMM. Sau đó quá
trình huấn luyện nhúng được lặp lại nhiều lần, lớn hơn rất nhiều so với chỉ
một lần huấn luyện sử dụng nhãn ngữ âm. Do đó, việc khởi tạo HMM sử
97
dụng nhãn ngữ âm không là yếu tố quyết định trong việc cải thiện hiệu quả
hoạt động của hệ nhận dạng, độ chính xác tăng không đáng kể. Trong phương
pháp huấn luyện nhúng việc xác định cấu trúc HMM phù hợp quan trọng hơn
rất nhiều, nếu câu nói chậm thì HMM nên có nhiều trạng thái và ngược lại,
nếu giữa các từ trong câu nói có khoảng nghỉ thì cho thêm âm sp vào giữa các
từ để mô hình hoá khoảng nghỉ này... Vì lý do trên và một số khó khăn trong
việc tiền xử lý nhãn ngữ âm nên thực nghiệm này chưa sử dụng nhãn để khởi
tạo HMM. Nhưng trong những ứng dụng thực tế, nếu cơ sở dữ liệu đã có nhãn
ngữ âm thì rất nên sử dụng để nâng cao độ chính các.
Nhược điểm
Bộ giải mã của HTK rất chậm. Phiên bản HTK hiện tại chỉ hỗ trợ mô
hình ngôn ngữ bigram (2-gram). Theo các nhà phát triển thì các phiên bản
HTK tiếp theo sẽ cung cấp bộ giải mã tốt hơn, và hỗ trợ mô hình ngôn ngữ n-
gram (n >= 3).
3.1.4.3 Khả năng áp dụng HTK cho tiếng Việt
Trong việc gán nhãn ngữ âm
Vì HTK có thể huấn luyện các HMM không cần nhãn ngữ âm nên với
những corpus dữ liệu tiếng nói chưa được gán nhãn có thể dùng HTK để tiền
xử lý việc gán nhãn. Cụ thể là:
• Xác định các tập âm tố để gán nhãn
• Xây dựng transcription cho các câu nói
• Xây dựng từ điển phát âm từ tập cấc âm tố
• Xây dựng hệ nhận dạng lời nói liên tục
• Sử dụng hệ nhận dạng và các transcription để gán nhãn
cho các câu nói trong corpus (force alignment) đảm bảo chính xác
về số lượng âm tố và thứ tự trước sau của từng âm tố.
• Chỉnh lại khoảng thời gian phát âm của các âm tố đã được
xác định ở bước trước bằng tay cho chuẩn xác.
Nhãn ngữ âm rất quan trọng trong nghiên cứu nhận dạng lời nói. Việc
nghiên cứu các đặc trưng của âm tố, của thanh điệu trong ngữ âm liên tục đều
cần đến nhãn ngữ âm. Đây là một công việc vất vả, đòi hỏi độ chính xác cao.
Nếu có công cụ tiền xử lý thì sẽ tiết kiệm thời gian, đỡ mất nhiều công sức.
98
Ứng dụng trong các hệ nhận dạng lời nói liên tục, bộ từ vựng nhỏ
Với bộ từ vựng nhỏ, có thể dùng HTK để xây dựng hệ nhận dạng lời nói
với độ chính xác cao, thời gian giải mã không đáng kể nên có thể áp dụng
trong thực tế.
3.2. Mô hình lai ghép ANN/HMM
3.2.1. Hệ thống nhận dạng dùng HMM liên tục
Trong hệ thống nhận dạng dùng HMM liên tục, xác suất phát xạ quan
sát bj(ot) là một hàm mật độ xác suất được xây dựng trên cơ sở các hàm mật
độ xác suất Gauss. Hàm này bao gồm một hoặc nhiều các dòng (stream), mỗi
dòng có thể có một hoặc nhiều thành phần trộn bao gồm các hàm mật độ xác
suất Gauss. Cấu trúc nhiều dòng cho phép hệ thống mô hình hoá nhiều dòng
thông tin khác nhau. Thông thường số lượng dòng tối đa là 4 dòng.
Công thức tổng quát của hàm phát xạ quan sát ot tại trạng thái j được
biểu diễn như sau:
11
( ) ( ; ; )s
jsMS
j t jsm st jsm jsmms
b o c o
γ
µ==
= Σ
∑∏ N
Trong đó Mjs là số thành phần trộn (mixture) tại trạng thái j của dòng
(stream) s, cjsm là trọng số của thành phần thứ m và (.; ; )µ ΣN là hàm xác suất
Gauss với các tham số µ và Σ .
11( ) ( )
21
( ; ; )(2 )
o o
no e
µ µµ
π
−′− − Σ −Σ =
ΣN
Trong đó, n là kích thước của quan sát o, sγ là trọng số của dòng stream s
cho phép hệ thống tập trung hơn vào một dòng dữ liệu nào đó và thường có
giá trị là 1.
Mỗi một mô hình Markov ẩn tương ứng với một đơn vị nhận dạng của
cơ bản của hệ thống. Đơn vị nhận dạng cơ bản có thể là từ, âm vị hay bán âm
tiết. Mỗi mô hình gồm nhiều trạng thái, trong đó có một trạng thái khởi đầu
và một trạng thái kết thúc là các trạng thái đặc biệt không phát sinh quan sát
(non-emitting).
Quá trình huấn luyện được thực hiện bằng phương thức huấn luyện
nhúng (embedded). Với mỗi một phát âm, hệ thống sẽ tìm tệp chứa phiên âm
99
chính tả của phát âm đó, sau đó nó sẽ tra cứu trong từ điển phát âm của mỗi từ
để tìm ra được dãy các âm vị tương ứng với phát âm. Một mô hình Markov ẩn
lớn sẽ được xây dựng bằng cách nối các mô hình Markov ẩn của các âm vị
vào với nhau. Sau đó thuật toán huấn luyện forward-backward sẽ được áp
dụng với mô hình Markov ẩn này.
Với thuật toán huấn luyện nhúng, các mô hình được ghép lại với nhau để
tạo thành một mô hình Markov ẩn lớn, trong đó với mỗi mô hình nhỏ của các
âm vị có hai trạng thái đặc biệt là trạng thái khởi đầu và trạng thái kết thúc.
Hai trạng thái này không sinh các quan sát. Công thức tính các xác suất tiến
và lùi khác so với các công thức tính toán được trình bày trong phần trước.
Trong các công thức dưới đây, ký hiệu (q) ở trên ký tự biểu thị mô hình
Markov ẩn thứ q trong mô hình lớn. Các xác suất tiến ( )j tα là xác suất của dãy
quan sát o1... ot tại thời điểm t ở trạng thái j được được khởi tạo như sau:
Với trạng thái đầu tiên (Enter) trong mô hình:
=)1()(1
qα 1, nếu q=1
)1(1
)1(1 1
)1( −−−
qN
q
qaα trường hợp còn lại
Với các trạng thái có sinh ra quan sát( ) ( ) ( )
1 1(1) ( )q q qj j ja b oα =
Với trạng thái cuối (Exit) trong mô hình
1( ) ( ) ( )
2
(1) (1)q
q q
Nq q q
N i iNi
aα α−
=
= ∑
Như vậy mô hình HMM lớn sẽ luôn bắt đầu bằng mô hình đầu tiên. Các
giá trị khác ngoài các giá trị trên được khởi tạo bằng 0. Với t > 1 ta có các
công thức tính toán đệ quy như sau:
Với trạng thái khởi đầu trong mô hình
, nếu q=1 (do mô hình luôn bắt đầu bằng trạng thái đầu tiên
của mô hình đầu tiên trong mô hình lớn)
, trường hợp còn lại
Với các trạng thái sinh quan sát
( )1 ( )q tα =
1
( 1) ( 1) ( 1)1 1 1( 1) ( )
q q
q q qN Nt t aα α
−
− − −− − +
0
100
1( ) ( ) ( ) ( ) ( ) ( )
1 12
( ) ( ) ( 1) ( )qN
q q q q q qj j i ij j t
i
t t a t a b oα α α−
=
= + −
∑
Với trạng thái cuối trong mô hình 1
( ) ( ) ( )
2
( ) ( )q
q q
Nq q q
N i iNi
t t aα α−
=
= ∑
Đối với trường hợp của xác suất lùi backward ( )i tβ là xác suất của dãy quan
sát oT... ot tại thời điểm t ở trạng thái i được khởi tạo như sau:
Với trạng thái cuối trong mô hình
=)()( TqNq
β 1, nếu q=Q
1 1
( 1) ( 1)( )q q
q qN iNT aβ
+ +
+ +
, trường hợp còn lại
Với các trạng thái sinh quan sát( ) ( ) ( )( ) ( )
q q
q q qi iN NT a Tβ β=
Với trạng thái đầu1
( ) ( ) ( ) ( )1 1
2
( ) ( ) ( )qN
q q q qj j t j
j
T a b o Tβ β−
=
= ∑
Các giá trị khác ngoài các giá trị trên được khởi tạo bằng 0. Với t<T ta có
các công thức đệ quy như sau:
101
1 1
( 1) ( 1) ( 1)1 1( 1) ( )
q q
q q qN Nt t aβ β
+ +
+ + ++ +
Với trạng thái cuối:
=)()( tqNq
β 0 , nếu q=Q
, trường hợp còn lại
Với các trạng thái sinh quan sát1
( ) ( ) ( ) ( ) ( ) ( )1
2
( ) ( ) ( ) ( 1)q
q q
Nq q q q q q
i iN N ij j t jj
t a t a b o tβ β β−
+=
= + +∑
Với trạng thái đầu1
( ) ( ) ( ) ( )1 1
2
( ) ( ) ( )qN
q q q qj j t j
j
t a b o tβ β−
=
= ∑
xác suất tổng Pr( | )O λ được tính bằng:
1( ) ( )NP T tα β= =
Với các xác suất tiến và lùi được tính như ở trên công thức tính toán các
tham số của mô hình Markov ẩn như sau:
1 ( ) ( ) ( ) ( )11 1
( ) r
( ) ( )
1 1r
1( ) ( ) ( 1)
Pˆ
1( ) ( )
P
r
r
R T q r q q r q ri ij j t jr t
qij
R T q r q ri ir t
t a b o t
at t
α β
α β
−+= =
= =
+=
∑ ∑
∑ ∑
Xác suất chuyển trạng thái từ trạng thái khởi đầu là:
1 ( ) ( ) ( ) ( )1 11 1
( ) r1
( ) ( ) ( ) ( ) ( 1)1 1 1 1 11 1
r
1( ) ( ) ( )
Pˆ
1( ) ( ) ( ) ( )
P
r
r
q
R T q r q q r q rj j t jr t
qj
R T q r q r q r q q rNr t
t a b o t
at t t a t
α β
α β α β
−
= =
+= =
=+
∑ ∑
∑ ∑
xác suất chuyển trạng thái tới trạng thái kết thúc là:
1 ( ) ( ) ( )
1 1( ) r
( ) ( )
1 1r
1( ) ( )
Pˆ
1( ) ( )
P
r
q q
qr
R T q r q q ri iN Nr t
qiN
R T q r q ri ir t
t a t
at t
α β
α β
−
= =
= =
=∑ ∑
∑ ∑
xác suất chuyển trạng thái từ trạng thái đầu tới trạng thái kết thúc là:
1 ( ) ( ) ( 1)1 1 11 1
( ) r1
( ) ( ) ( ) ( ) ( 1)1 1 11 1
r
1( ) ( )
Pˆ
1( ) ( ) ( ) ( )
P
r
q
qr
q
R T q r q q rNr t
qN
R T q r q r q r q q ri i Nr t
t a t
at t t a t
α β
α β α β
− += =
+= =
=+
∑ ∑
∑ ∑
Trong đó ( )rjsmL t xác suất chiếm giữ của thành phần trộn thứ m của dòng
vào s tại thời điểm t của quan sát thứ r:
102
*1( ) ( ) ( ) ( ) ( )
Prr r r r rjsm j jsm jsm st j js tL t U t c b o t oβ β=
Với
=)()( tU rqj
( ) ( )1 1( )q r q
jt aα nếu t=1
1( ) ( ) ( ) ( )
1 1 2( ) ( 1)qNq r q q r q
j i ijit a t aα α−
=+ −∑ , trường hợp còn lại
và* ( ) ( )r rjs t jk kt
k s
b o b o≠
= ∏
3.2.2. Huấn luyện hệ thống nhận dạng dùng ANN
Trong từ điển phát âm, mỗi từ được phiên âm thành các âm vị và một từ
có thể bao gồm một vài định nghĩa khác nhau. Để xây dựng các đơn vị nhận
dạng phụ thuộc ngữ cảnh, các âm vị được chia thành một, hai hoặc ba phần,
mỗi phần như vậy được gọi là category và là đơn vị nhận dạng cơ bản của hệ
thống nhận dạng. Mỗi category phụ thuộc vào ngữ cảnh ở bên trái hoặc bên
phải của nó. Ví dụ âm vị /kh/ được chia thành hai phần, phần bên trái phụ
thuộc vào các âm vị đứng bên trái âm vị /kh/ và phần bên phải phụ thuộc vào
các âm vị đứng bên phải âm vị /kh/. Do /kh/ là phụ âm đứng đầu câu và chỉ
xuất hiện duy nhất trong từ “không” nên phần bên phải của /kh/ chỉ có thể là
âm vị /oo/, từ đó ta có một category /kh>oo/. Phần bên trái của /kh/ sẽ cho ta
category /.pau>kh/ khi từ “không” đứng đầu câu hoặc sau một khoảng nghỉ
pause. Khi “không” đứng sau các từ khác ta có các category tương ứng
/oong>kh/, /oot>kh/, /ai>kh/, /a>kh/, /oon>kh/, ...
Nếu âm vị được chia làm ba phần, phần ở giữa sẽ không phụ thuộc vào
ngữ cảnh hai bên, chỉ có hai phần hai bên sẽ phụ thuộc vào các âm vị đứng
cạnh nó. Mỗi âm vị sẽ được xác định kiểu phụ thuộc ngữ cảnh thông qua định
nghĩa số phần phân chia của âm vị đó.
Mạng nơron dùng được huấn luyện gồm nhiều lớp, thông thường là ba
lớp. Số lượng nút đầu vào phụ thuộc vào kích thước vector đặc tính phổ của
mỗi khung tín hiệu. Ví dụ vector đặc tính phổ gồm 12 hệ tố MFCC cùng với
giá trị năng lượng và giá trị delta của các giá trị trên tạo thành 26 giá trị đối
với mỗi khung tín hiệu. Ngoài ra bốn khung tín hiệu lân cận khung tín hiệu
chính: -60, -30, +30, +60ms cũng được dùng tạo thành một vector 130 đặc
103
tính phổ ứng với mỗi khung tín hiệu. Nếu vậy mạng ANN sẽ có 130 nút đầu
vào. Số lượng nút thuộc lớp ẩn thường được chọn là 200 nút. Tuy nhiên chưa
có tài liệu nào đề xuất phương pháp dùng để xác định số lượng nút ẩn để
mạng ANN hoạt động tốt nhất. Số lượng nút thuộc lớp ẩn càng lớn thì quá
trình học của mạng ANN càng lâu. Thông thường số lượng nút thuộc lớp ẩn
được chọn gần với số lượng nút đầu ra của mạng ANN. Số lượng nút ra của
mạng ANN phụ thuộc vào số lượng category của hệ thống.
Quá trình huấn luyện mạng nơron được thực hiện với từng phát âm dùng
thủ tục truyền ngược sai số. Với mỗi phát âm, thông tin nhãn thời gian trong
cơ sở dữ liệu tiếng nói cho ta các khoảng thời gian thuộc về âm vị cần huấn
luyện. Như vậy với mỗi category các khoảng thời gian dành cho chúng được
xác định trong mỗi phát âm. Các thông tin này được dùng để huấn luyện cho
mạng ANN.
Quá trình huấn luyện mạng ANN được tiến hành trên nhiều vòng lặp.
Phụ thuộc vào số lượng category, số lượng các category được buộc, cấu trúc
mạng nơron, kích thước dữ liệu huấn luyện, hệ số học mà mạng nơron có thể
hội tụ sau một số lần lặp.
Một tham số quan trọng trong quá trình huấn luyện mạng ANN là hệ số
học (learning rate). Tuy nhiên giá trị này có thể điều chỉnh tuỳ theo từng
mạng ANN và tuỳ theo kích thước dữ liệu huấn luyện. Nếu hệ số học lớn, hệ
thống sẽ nhanh chóng tiến tới điểm cực trị, tuy nhiên ngược lại mạng khó tiếp
cận gần nhất được đến điểm cực trị. Nếu hệ số học nhỏ, quá trình huấn luyện
sẽ lâu mới tới được điểm cực trị nhưng ngược lại hệ thống có thể tiến gần tới
điểm cực trị nhiều hơn.
3.2.3. Hệ thống nhận dạng dùng HMM/ANN
Mạng ANN có ưu điểm nổi bật đó là khả năng phân lớp. Tuy nhiên khi
áp dụng vào hệ thống nhận dạng tiếng nói, mạng ANN có một nhược điểm là
không thích hợp với các tín hiệu tiếng nói dài, biến thiên theo thời gian. Do
vậy các nhà nghiên cứu đã thử nghiệm hệ thống nhận dạng lai ghép giữa
mạng nơron và mô hình Markov ẩn (HMM/ANN) với mục đích để hạn chế
nhược điểm của hai phương pháp ANN và HMM, đồng thời tận dụng hai ưu
điểm của hai phương pháp này: khả năng phân lớp của mạng nơron và khả
năng mô hình hoá thông tin thời gian của mô hình Markov ẩn.
104
Có khá nhiều kiến trúc mạng lai ghép HMM/ANN đã được đề xuất,
trong đó thông dụng nhất là kiến trúc dùng mạng MLP làm xác suất phát xạ
quan sát trong các hệ thống mạng lai ghép. Phần sau đây sẽ trình bày về kiến
trúc mạng lai ghép này.
3.2.3.1 Cấu trúc mạng lai ghép
Điểm khác biệt chính của mạng lai ghép HMM/ANN so với các mô hình
Markov thông thường là hàm bj(k) không phải hàm mật độ xác suất mà là giá
trị xác suất đầu ra của mạng ANN.
Hình dưới đây miêu tả quan hệ giữa các mô hình HMM và mạng nơron
ANN. Mỗi nút ra của mạng ANN tương ứng với một trạng thái của mô hình
HMM. Trạng thái của âm vị /oo/ trong hai từ ”bốn” và ”một” có chung nhau
một nút ra của mạng ANN.
Hình 3-44- Mô hình mạng lai ghép HMM/ANN
3.2.3.2 Huấn luyện mạng HMM/ANN
Mạng lai ghép HMM/ANN được huấn luyện bằng huấn luyện nhúng
(embedded). Tương ứng với mỗi phát âm, các mô hình Markov ẩn của các
đơn vị nhận dạng trong phát âm đó được nối ghép lại với nhau tạo thành một
mô hình HMM lớn. Thuật toán forward-backward được áp dụng để điều
chỉnh các tham số của các mô hình lớn này. Các giá trị output của mạng ANN
được dùng làm xác suất phát xạ quan sát của mỗi trạng thái trong mô hình.
105
Trong mỗi vòng lặp của huấn luyện forward-backward, thuật toán
Viterbi được áp dụng để tìm ra dãy các trạng thái tốt nhất trong mô hình
HMM lớn tương ứng với phát âm dùng để huấn luyện. Từ dãy trạng thái này,
tại mỗi thời điểm tương ứng với một khung thời gian tín hiệu tiếng nói, ta sẽ
có giá trị output của mạng ANN. Nút output tương ứng với trạng thái hiện tại
có giá trị là 1, các nút output khác có giá trị 0. Từ các giá trị output này, mạng
ANN được huấn luyện lại bằng thủ tục truyền ngược sai số. Hình sau mô tả
quá trình huấn luyện mạng HMM/ANN.
Hình 3-45-Huấn luyện mạng lai ghép HMM/ANN.
Phương pháp huấn luyện như trên, có thể được áp dụng hiệu quả để huấn
luyện mạng lai ghép HMM/ANN nếu dữ liệu dùng để huấn luyện là lớn. Phương
pháp trên có nhược điểm là tại mỗi thời điểm, chúng ta phải chọn một category
106
có xác suất là 1, các category còn lại có xác suất là 0. Điều này không hoàn toàn
chính xác vì một khung tín hiệu, do ảnh hưởng của ngữ cảnh xung quanh, có thể
mang một phần đặc tính phổ của các khung tín hiệu lân cận. Một phương pháp
để hạn chế nhược điểm này là dùng xác suất xuất hiện tại trạng thái hiện thời làm
giá trị output của mạng ANN. Các giá trị output này được dùng để huấn luyện
mạng ANN bằng thủ tục truyền ngược sai số. Các giá trị này “mềm” (soft) hơn
là giá trị 0 và 1. Kết quả thực nghiệm cho thấy phương pháp này tăng độ chính
xác nhận dạng của hệ thống.
Các xác suất dùng làm giá trị output của mạng ANN là γ t(i) = P(qt = Si O,
λ) là xác suất để mô hình ở trạng thái Si vào thời điểm t. Công thức tính xác suất
này chính là công thức được sử dụng trong thuật toán forward-backward:
γ t(i)=1
( ,λ) α ( )β ( ) α ( )β ( )
(λ) ( λ) α ( )β ( )
t i t t t tN
t ti
P q S O i i i i
P O P O i i=
== =
∑
1≤ i ≤ N, 1 ≤ t ≤ T
3.2.4. Nhận dạng
3.2.4.1 Xây dựng mạng từ
Mạng từ (word network) được dùng để định nghĩa một ngữ pháp, mối liên
hệ thứ tự giữa các từ được nhận dạng bởi hệ thống. Một tệp định nghĩa mạng từ
chứa một danh sách các nút biểu diễn các từ và một danh sách các cung biểu
diễn chuyển dịch giữa các từ. Các chuyển dịch này có thể có các xác suất gắn
liền với nó, ví dụ các xác suất của mô hình ngôn ngữ bigram. Ví dụ dưới đây là
một mạng từ của một hệ thống nhận dạng mười chữ số liên tục và định nghĩa
ngữ pháp của nó.
Hình 6.14 - Sơ đồ ngữ pháp của hệ thống nhận dạng mười chữ số liên tục
Đối với các hệ thống nhận dạng có số lượng từ vựng lớn và trung bình,
định nghĩa ngữ pháp của hệ thống thường chỉ đơn thuần là cấu trúc vòng từ
một
hai
sil
chín
sil
107
(word–loop), có nghĩa là bất kỳ một từ nào trong bộ từ điển của hệ thống đều
có thể theo sau từ bất kỳ khác trong từ điển.
3.2.4.2 Mô hình ngôn ngữ N-gram
Hình 3-46- Sơ đồ mạng word-loop với các xác suất bigram.
Sau khi mạng từ được xây dựng xong, các thông tin của mô hình ngôn
ngữ được tích hợp vào mạng từ. Một mạng từ của một hệ thống nhận dạng
liên tục là cấu trúc vòng từ word-loop, trong đó các từ được đặt song song với
nhau và các đường đấu vòng loop-back để cho phép bất kỳ một từ nào cũng
có thể đứng sau từ kia. Cấu trúc này được dùng phổ biến trong nhiều hệ thống
nhận dạng như hệ thống nhận dạng đọc chính tả. Các xác suất bigram vào mỗi
cung nối giữa hai từ. Trong Hình 2.13 là sơ đồ một mạng word-loop gồm bốn
từ, các xác suất bigram P(wi/wj) được gắn vào mỗi cung loop-back giữa các
từ, nghĩa là giữa một cặp từ bất kỳ đều cần có một xác suất bigram tương ứng.
3.2.4.3 Sử dụng mạng từ trong hệ thống nhận dạng
Khi mạng từ được nạp vào trong hệ thống nhận dạng, một từ điển phiên
âm của hệ thống sẽ được dùng để tạo ra một mạng tương đương bao gồm các
đơn vị nhận dạng cơ bản của hệ thống, các âm đơn hoặc các âm ba. Tuỳ thuộc
vào cấu hình của hệ thống mà các âm ba có thể là các âm ba giới nội từ hay
âm ba liên từ. Một từ có thể có nhiều phiên âm, khi đó sẽ có nhiều nhánh của
mạng mỗi nhánh tương ứng với mỗi phiên âm của từ. Mạng này được gọi là
mạng HMM. Như vậy ta có thể thấy một cấu trúc ba mức của một mạng để
dùng nhận dạng: mức từ, mức mô hình và mức trạng thái. Hình 6.16 mô tả
108
cấu trúc này của hệ thống nhận dạng. Trong hình này các hình ovan biểu thì
các từ, hình vuông biểu diễn một nhãn kết thúc một từ (word end).
Hình 3-47- Cấu trúc ba lớp của mạng từ nhận dạng
Mạng dùng để nhận dạng cuối cùng bao gồm các trạng thái và các cung
nối chúng với nhau. Các cung trong một mô hình HMM chính là xác suất
chuyển trạng thái được xác định bởi các tham số của HMM. Các cung giữa
các mô hình có xác suất tương đương nhau, các cung giữa các từ có xác suất
được xác định bởi mô hình ngôn ngữ.
3.2.4.4 Giải mã
Nhiệm vụ của quá trình giải mã là tìm ra một đường đi trong mạng
HMM có xác suất lớn nhất. Để thực hiện công việc này một thuật toán tương
tự thuật toán Viterbi được dùng, gọi là thuật toán chuyển thẻ bài (Token
Passing).
Giả thiết mỗi trạng thái j của môt mô hình HMM tại thời điểm t giữ một
thẻ bài chứa xác suất bán phần ( )j tϕ . Xác suất này là xác suất của quan sát từ
o1 tới ot với mô hình tại trạng thái j và thời điểm t. Tại mỗi trạng thái i có
nhiều rẽ nhánh, thuật toán sẽ làm như sau:
• Chuyển một bản sao của thẻ bài tại trạng thái i tới tất cả các trạng
thái j mà có liên kết với trạng thái i, tăng log xác suất của bản sao:
log[ ] log[( ( )]ij j ta b o+
• Tính toán tất cả các thẻ bài và sẽ xoá hết các thẻ bài, chỉ giữ lại thẻ
bài tốt nhất.
109
Mỗi một thẻ bài di chuyển trong mạng đều duy trì một vết trên đường đi
của nó. Số lượng thông tin lưu trên vết phụ thuộc vào yêu cầu của hệ thống,
thông thường chỉ dãy các từ là được lưu lại.
Thuật toán chuyển thẻ bài
//Khởi động
<Một thẻ bài có giá trị bằng 0 được gán cho tất cả các trạng thái khởi đầu trong mạng>
// Chuyển thẻ bàiFor t=1 to T do // T là số khung tín hiệu của phát âm For all trạng thái i do <Chuyển một thẻ bài của trạng thái i tới tất
cả các trạng thái j mà có nối kết với trạng thái i, đồng thời cập nhật giá trị của thẻ bài +log[ ] log[( ( )]
ij j ta b o >;
For all trạng thái i do <Tìm thẻ bài có giá trị log xác suất là tốt
nhất. Xoá tất cả các thẻ bài khác >;End for// Dừng<Tìm tất cả các trạng thái kết thúc, trạng thái nào có
thẻ bài tốt nhất sẽ ứng với đường đi tốt nhất cần tìm>
Trong hình dưới đây ta thấy trạng thái 3 được nhận nhiều thẻ bài từ các
trạng thái 1 và 2 và từ chính bản thân nó. Sau đó chỉ có môt thẻ bài duy nhất
được giữ lại.
3
2
1
+ p2 3
+ p3 3
+ p1 3
Hình 3-48- Minh họa thuật toán chuyển thẻ bài.
Một mạng lớn có nhiều nút thì công việc tìm kiếm sẽ rất lâu và tốn thời
gian. Một giải pháp nhằm giảm có hiệu quả việc tính toán đó là chỉ cho phép
110
các thẻ bài mà có cơ hội là một trong các thẻ bài tốt nhất mới được tồn tại. Cơ
chế này gọi là cắt tỉa (pruning). Tại mỗi bước các thẻ bài mà có giá trị xác
suất nằm ngoài khoảng giá trị cho phép so với thẻ bài có xác suất cao nhất sẽ
bị xoá đi. Khoảng giá trị cho phép (beam-width) được điều chỉnh bởi dung
hoà giữa yếu tố tốc độ và hiệu quả của thuật toán tìm kiếm.
Kết thúc quá trình tìm kiếm với mỗi phát âm ta nhận được một dãy các từ với xác suất cao nhất là kết quả nhận dạng.
3.3. So sánh hai phương pháp nhận dạng CD-HMM và
HMM/ANN
Phương pháp nhận dạng dùng HMM hiện là phương pháp phổ biến nhất
dùng trong nhận dạng tiếng nói. Cùng với HMM, mạng nơron nhân tạo ANN
cũng được áp dụng vào trong nhận dạng tiếng nói kết hợp với HMM thành
mạng lai ghép HMM/ANN. Phần này trình bày so sánh giữa hai phương pháp
nhận dạng: phương pháp dùng HMM liên tục – CD-HMM (Continuous
Density Hidden Markov Model) và phương pháp dùng mạng lai ghép
HMM/ANN.
• Cơ sở dữ liệu
Quá trình huấn luyện mạng lai ghép HMM/ANN được bắt đầu bằng
huấn luyện mạng ANN. Trong quá trình huấn luyện mạng ANN, dữ liệu
tương ứng với từng đơn vị nhận dạng được đưa vào để huấn luyện. Do đó các
thông tin về nhãn thời gian là bắt buộc phải sẵn có trong cơ sở dữ liệu để hệ
thống tìm ra các khung tín hiệu tương ứng với các đơn vị nhận dạng, từ đó
tính toán các vector đặc tính phổ. Vì lý do này, cơ sở dữ liệu dùng để huấn
luyện mạng HMM/ANN cần phải có các thông tin về nhãn thời gian, hay nói
cách khác dữ liệu dùng để huấn luyện mạng HMM/ANN phải được gán nhãn.
Khác với phương pháp trước, huấn luyện hệ thống dùng CD-HMM được
bắt đầu bằng cách khởi tạo các tham số của các mô hình Markov ẩn. Nếu các
thông tin nhãn thời gian sẵn có, hệ thống sẽ khởi tạo các tham số của mô hình
Markov ẩn theo dữ liệu ứng với từng mô hình. Còn nếu các nhãn thời gian là
không sẵn có, các mô hình Markov ẩn của cả hệ thống sẽ được khởi tạo với
cùng một tham số, cách khởi tạo này gọi là khởi tạo phẳng (flat start). Huấn
luyện nhúng sau này sẽ điều chỉnh các tham số của của từng mô hình. Vì lý
111
do này mà hệ thống dùng CD-HMM không bắt buộc các phát âm trong cơ sở
dữ liệu cần phải được gán nhãn bằng tay.
• Đơn vị nhận dạng cơ bản
Trong hệ thống nhận dạng dùng mạng lai ghép HMM/ANN đơn vị nhận
dạng cơ bản luôn là category, là một phần của âm vị. Do đặc tính biến thiên
tiếng nói theo thời gian, trong khoảng thời gian tồn tại của một âm vị, các đặc
tính phổ của âm vị biến thiên từ lúc bắt đầu tới khi kết thúc một âm vị.
Khoảng thời gian mà các đặc tính phổ tương đối tĩnh, tức là có thể dùng được
cho huấn luyện mạng ANN chỉ là một phần của âm vị: phần bên trái của âm
vị, nơi âm vị chịu ảnh hưởng của ngữ cảnh phải, phần giữa của âm vị không
chịu ảnh hưởng của ngữ cảnh và phần bên phải của âm vị, chịu ảnh hưởng của
ngữ cảnh phải. Nếu đơn vị nhận dạng có độ dài lớn hơn được sử dụng, mạng
ANN sẽ được huấn luyện với dữ liệu có độ khác nhau nhiều với cùng một đơn
vị nhận dạng và do vậy hiệu quả hoạt động sẽ bị hạn chế.
Với hệ thống nhận dạng dùng CD-HMM, đơn vị nhận dạng cơ bản khá
linh hoạt: có thể là âm tiết, bán âm tiết hoặc âm vị. Với các hệ thống nhận
dạng nhỏ, đơn vị nhận dạng cơ bản có thể là các từ. Khi đó số lượng các trạng
thái trong mô hình có thể có thể được điều chỉnh nhiều hơn, thông thường là
lên 6 hoặc 8 trạng thái. Với hệ thống nhận dạng có kích thước từ điển lớn,
đơn vị nhận dạng cơ bản thường là âm vị hoặc bán âm tiết, số trạng thái trong
mô hình khi đó được điều chỉnh nhỏ hơn, khoảng từ 3-5 trạng thái.
• Âm đóng
Trong hệ thống HMM/ANN, âm đóng, ký hiệu là /uc/ (unvoiced
clousure) được coi là một đơn vị nhận dạng riêng. Tuy nhiên về ảnh hưởng
của nó đến ngữ cảnh các âm vị khác thì chúng lại được xếp chung với đơn vị
nhận dạng khoảng lặng sil.
Về mặt các đặc tính phổ, khoảng yên lặng sil và âm đóng là tương tự
nhau bởi vì chúng cùng biểu diễn một khoảng yên lặng. Hình ảnh của hai loại
đơn vị nhận dạng này trên biểu phổ giống nhau, đều là một khoảng trắng năng
lượng. Sự khác nhau chủ yếu của hai đơn vị nhận dạng này là ở độ dài. Trong
âm đóng thường có độ dài khoảng 30ms thì khoảng yên lặng có độ dài thường
xuyên lớn hơn 30ms. Hơn nữa trong quá trình trích chọn đặc tính phổ của một
112
khung tín hiệu, các khung tín hiệu láng giềng của khung tín hiệu chính
(thường trong khoảng 60ms) cũng tham gia vào vector đặc tính phổ. Vì vậy
đặc tính phổ của hai đơn vị nhận dạng khi đưa vào mạng ANN là có khác
nhau do ngữ cảnh xung quanh.
Với hệ thống dùng CD-HMM, các âm đóng không có mặt trong các đơn
vị nhận dạng cơ bản, chúng được ghép vào cùng với âm tắc đứng trước hoặc
đứng sau nó, tuỳ thuộc âm tắc là phụ âm đầu hay phụ âm cuối. Thông thường
với đơn vị nhận dạng cơ bản là âm vị, mô hình Markov ẩn của mỗi âm vị gồm
ba trạng thái. Âm đóng được mô hình hoá bởi trạng thái đầu và hai trạng thái
sau sẽ mô hình hoá âm tắc hoặc là hai trạng thái đầu sẽ mô hình hoá âm tắc và
trạng thái cuối sẽ mô hình hoá âm đóng trong trường hợp âm đóng đứng sau
âm tắc.
Ví dụ sau đây là các đơn vị nhận dạng cơ bản của từ “ba một” tương ứng
với hai trường hợp:
o Hệ thống HMM/ANN, âm đóng /uc/ được tách ra riêng với
âm tắc: /uc/ /b/ /a/ /m/ /oo/ /t/ /uc/
o Hệ thống CD-HMM: âm đóng /uc/ được gộp vào với âm
tắc: /uc/ /b/ -> /bb/, /t/ /uc/ -> /tt/: /bb/ /a/ /m/ /oo/ /tt/
• Phụ thuộc ngữ cảnh
CD-HMM: Do đặc tính của tiếng nói, tất cả các hệ thống nhận dạng đều
dùng đơn vị nhận dạng là phụ thuộc ngữ cảnh. Để tính đến ngữ cảnh trái và
ngữ cảnh phải của âm vị, CD-HMM dùng âm ba (triphone), trong đó một âm
vị được bổ sung thêm ngữ cảnh từ âm vị độc lập ngữ cảnh tương ứng. Ví dụ
như âm vị /a/ sẽ được chuyển thành âm ba /b-a+n/ trong từ “bàn”, và khi đó
đây là đơn vị nhận dạng khác với âm vị /a/ trong từ “đàn”: /dd-a+n/. Có hai
loại âm ba được phân biệt: âm ba giới nội từ (word internal) và âm ba liên từ
(cross-word). Trong âm ba giới nội từ, ảnh hưởng của ngữ cảnh được coi là
chỉ có tác dụng trong từ đó, giữa các từ với nhau được coi là được ngăn cách
bởi khoảng lặng. Với âm ba liên từ, ảnh hưởng của ngữ cảnh tính đến các âm
vị của các từ láng giềng. Loại âm ba này phản ánh chính xác ảnh hưởng của
ngữ cảnh đến các âm vị, tuy nhiên với cách này số lượng các âm ba có thể là
rất lớn. Với tiếng Việt số lượng các âm ba liên từ có thể lên tới hơn 16 nghìn
113
âm ba. Với số lượng lớn như vậy, dữ liệu huấn luyện cần có là rất lớn và vấn
đề thiếu hụt dữ liệu huấn luyện là khó tránh khỏi. Ví dụ sau đây là các âm đơn
và các âm ba của phát âm “anh nói tiếng Việt hả”:
Phiên âm chính tả: “anh noi tieeng vieet ha”
Âm vị: sil ea ngz sil n o i t ie ngz v ietc h a sil
Âm ba giới nội từ: sil sil-ea+ngz ea-ngz+n ngz-n+o
n-o+i o-i+t i-t+ie t-ie+ngz ie-ngz+sil sil-v+ietc v-
ietc+h ietc-h+a h-a+sil sil
Âm ba liên từ: sil ea+ngz ea-ngz sil n+o n-o+i o-i
sil t+ie t-ie+ngz ie-ngz sil v+ietc v-ietc sil h+a h-a
sil sil
Trong hệ thống nhận dạng HMM/ANN, mạng ANN chỉ có thể tiến hành
phân lớp với một phần của âm vị, nơi các đặc tính phổ không thay đổi nhiều.
Để tính đến ảnh hưởng của ngữ cảnh đến các đơn vị nhận dạng âm vị được
chia thành nhiều đơn vị nhận dạng cơ bản hay gọi là category. Một âm vị có
thể được chia thành 2 hoặc 3 hoặc hoặc được khai báo là một category phụ
thuộc phải. Như vậy đơn vị nhận dạng cơ bản phụ thuộc ngữ cảnh của
HMM/ANN thực chất là âm đôi (biphone) chứ không phải là âm ba. Với cách
làm này thì số lượng các đơn vị nhận dạng cơ bản của HMM/ANN không lớn
như trong trường hợp của CD-HMM. Với tiếng Việt, nếu bộ từ điển bao gồm
tất cả các từ, thì số lượng category là khoảng 2147 category. Sau đây là các
đơn vị nhận dạng của hệ thống HMM/ANN tương ứng với phát âm ở trên:
Âm vị: sil ea ngz sil n o i t ie ngz v ietc h a sil
category: sil<ea <ea> ea>ngz ea<ngz ngz>sil sil
sil<n n>o n<o <o> o>i i<t t>ie t<ie <ie> ie>ngz ngz<v
v<ietc <ietc> ietc<h h<a <a> h<a a>sil
Do số lượng âm vị phụ thuộc ngữ cảnh của mạng HMM/ANN không lớn
như trong trường hợp hệ thống dùng CD-HMM, kích thước cần thiết của dữ
liệu dùng để huấn luyện đối với mạng HMM/ANN cũng không lớn so với hệ
thống dùng CD-HMM.
• Huấn luyện
114
Cả hai hệ thống HMM/ANN và CD-HMM, giống như các hệ thống nhận
dạng dùng HMM, đều dùng huấn luyện nhúng để huấn luyện các mô hình
Markov ẩn. Các HMM của các đơn vị nhận dạng được nối vào nhau tạo thành
một mô hình HMM lớn. Sau đó các tham số của cả mô hình lớn này được
điều chỉnh theo dữ liệu huấn luyện.
Với hệ thống CD-HMM, sau mỗi lần huấn luyện, các tham số của mô
hình Markov ẩn được điều chỉnh lại theo công thức Baum-Welch. Điều chỉnh
xác suất phát xạ quan sát bj(k) được phản ánh bởi điều chỉnh các tham số của
các hàm Gauss. Với trường hợp của mạng HMM/ANN, các xác suất phát xạ
quan sát bj(k) chính là giá trị ra của mạng ANN, do vậy việc điều chỉnh xác
suất này thực hiện bằng điều chỉnh các trọng số của mạng ANN. Thuật toán
Viterbi được thực hiện để tìm ra dãy trạng thái tương ứng với từng phát âm và
thứ tự các trạng thái này dùng để huấn luyện lại mạng ANN trong mỗi lần lặp.
Trong quá trình huấn luyện mạng ANN sẽ có nhiều tập giá trị trọng số
tương ứng với mỗi vòng lặp huấn luyện (iteration). Cần phải tìm ra được vòng
lặp nào cho độ chính xác cao nhất và để xác định điều này hệ thống sẽ thử
nhận dạng trên một tập dữ liệu gọi là tập dữ liệu phát triển với các tập trong
số của các lần lặp khác nhau. Kích thước tập dữ liệu này cần đủ lớn để đảm
bảo rằng vòng lặp cho kết quả chính xác nhất cũng sẽ cho kết quả chính xác
nhất với dữ liệu kiểm tra. Như vậy với HMM/ANN một tập dữ liệu phát triển
cần được bổ sung vào tập dữ liệu huấn luyện và dữ liệu kiểm tra.
• Gán nhãn cưỡng bức
Trong cả hai hệ thống nhận dạng, quá trình huấn luyện bao gồm hai giai
đoạn. Với mạng HMM/ANN giai đoạn đầu là huấn luyện mạng ANN với các
nhãn được gán bằng tay. Với mạng CD-HMM, các tham số của các mô hình
Markov ẩn được khởi tạo (bằng khởi tạo phẳng flat-start nếu không có các
thông tin nhãn thời gian hoặc bằng khởi tạo với từng mô hình nếu có các
thông tin nhãn thời gian trong cơ sở dữ liệu). Các phát âm sẽ được phân tích
thành các đơn vị nhận dạng cơ bản dựa vào từ điển phiên âm. Nếu một từ có
nhiều phiên âm thì phiên âm đầu tiên được sử dụng. Dãy phiên âm của mỗi
phát âm được sử dụng để tiến hành huấn luyện nhúng.
Sau giai đoạn huấn luyện đầu tiên các hệ thống đều tiến hành gán nhãn
cưỡng bức bởi hệ thống đã được huấn luyện trong bước một. Với mạng
115
HMM/ANN gán nhãn cưỡng bức được thực hiện nhằm xác định lại ranh giới
của các âm vị trong một phát âm và đặc biệt để xác định ranh giới của các
category. Trong bước huấn luyện đầu ranh giới các category được xác định từ
các âm vị bằng cách chia đều độ dài của âm vị tương ứng. Với gán nhãn
cưỡng bức, hệ thống đã được huấn luyện sẽ tìm ra ranh giới của các category
trong mỗi âm vị chính xác hơn so với việc chia đều độ dài của âm vị như ở
bước đầu. Sau khi các ranh giới được xác định, mạng ANN được huấn luyện
lại từ đầu dựa vào các nhãn thời gian mới được xác định trong quá trình gán
nhãn cưỡng bức. Thông thường bước huấn luyện này sẽ cải thiện độ chính
xác nhận dạng của hệ thống do các nhãn thời gian của category được xác định
chính xác hơn.
Với hệ thống CD-HMM, bước gán nhãn cưỡng bức nhằm xác định ra
phiên âm nào trong số các phiên âm của một từ trong từ điển phù hợp nhất.
Kết quả của quá trình gán nhãn cưỡng bức là dãy các đơn vị nhận dạng cơ bản
tương ứng với mỗi phát âm. Từ các phiên âm của các phát âm này, hệ thống
được huấn luyện nhúng lại một lần nữa kế thừa các tham số đã có trong bước
huấn luyện trước.
• Khả năng chống nhiễu
Một nhược điểm của HMM là khả năng mô hình hoá âm thanh. Yếu
điểm này làm cho hệ thống dùng mạng CD-HMM dễ nhận dạng nhầm các
nhiễu chèn (additional noise) trong quá trình nhận dạng. Tỉ lệ lỗi nhận dạng
chèn trong hệ thống nhận dạng dùng CD-HMM khá cao khi chúng phải làm
việc với các phát âm có nhiều nhiễu. Độ chính xác nhận dạng ở mức câu
thường thấp.
Ngược lại, ANN có khả năng phân lớp mạnh và có khả năng mô hình âm
thanh tốt. Các nhiễu chèn có thể được phát hiện và không bị nhận dạng nhầm
là các âm vị. Tỉ lệ lỗi nhận dạng nhầm do lỗi chèn của hệ thống HMM/ANN
thấp, hệ thống chịu được ảnh hưởng của nhiễu và các âm thanh đan xen vào
trong tiếng nói và có thể nhận dạng được với phát âm có nhiều nhiễu. Độ
chính xác nhận dạng ở mức câu cao hơn so với hệ thống CD-HMM.
116
Ngoài ra mạng ANN còn có cơ chế hiệu quả là dùng một đơn vị nhận
dạng đặc biệt là .garbage để loại bỏ ảnh hưởng của nhiễu, âm thanh không
phải tiếng nói và loại bỏ các phát âm không có trong từ điển. Cơ chế này định
nghĩa hai loại âm vị là âm vị môi trường (background): /sil/ và /garbage/. Âm
vị /sil/ biểu thị các khoảng yên lặng, và được huấn luyện trong tập dữ liệu
huấn luyện. /garbage/ biểu thị các nhiễu không mong đợi như tiếng xen vào
của còi ô tô, tiếng cười, tiếng ho... Trong mạng ANN, /sil/ đưa ra trực tiếp kết
quả, ngược lại /garbage/ được tính toán dựa vào các kết quả của các đơn vị
nhận dạng khác. Nó được tính là giá trị trung bình của N giá trị xác suất lớn
nhất, trong đó N là hàm của số nút đầu ra của mạng ANN. Âm thanh môi
trường được định nghĩa là giá trị cao nhất của một trong hai âm vị /sil/ và
/garbage/. Với cách định nghĩa này, /garbage/ sẽ có giá trị cao nhất với các
khung tín hiệu nằm ở vùng nhiễu và sẽ có giá trị thấp hơn các category khác
khi khung tín hiệu nằm ở vùng có tiếng nói. Việc áp dụng giá trị /.garbage/
góp phần làm giảm đáng kể nhận dạng nhầm, đặc biệt là các lỗi do chèn do
các tạp âm.
• Kích thước bộ từ điển
Phương pháp mạng lai ghép HMM/ANN có một yếu điểm đó là khả
năng xây dựng hệ thống nhận dạng kích thước lớn. Với bộ từ điển kích thước
lớn, số lượng đơn vị cơ bản sẽ tăng và do vậy kéo theo kích thước của mạng
ANN sẽ tăng. Mạng ANN được huấn luyện bởi thủ tục truyền ngược sai số có
tốc độ học rất chậm. Do vậy tốc độ huấn luyện và tốc độ nhận dạng của hệ
thống sẽ bị chậm đi nhiều.
Với phương pháp HMM, khả năng xây dựng hệ thống nhận dạng kích
thước lớn không bị hạn chế nhiều như phương pháp dùng mạng nơron. Tốc độ
huấn luyện và tốc độ nhận dạng của hệ thống dùng HMM liên tục nhanh hơn
hệ thống dùng HMM/ANN.
• Kết luận
Mỗi hệ thống nhận dạng đều có những ưu điểm và nhược điểm riêng.
Phương pháp xây dựng hệ thống nhận dạng bằng HMM/ANN có ưu điểm là
thích hợp cho các hệ thống nhận dạng có kích thước nhỏ, không đòi hỏi dữ
liệu huấn luyện lớn. Hệ thống cũng có khả năng mô hình hoá âm thanh cao,
117
có khả năng chịu nhiễu và các âm thanh xen lẫn tốt. Tuy nhiên nhược điểm
của hệ thống này là cơ sở dữ liệu dùng để huấn luyện cần phải được gán nhãn
trước và quá trình huấn luyện và nhận dạng khá lâu do tốc độ học và phân lớp
của mạng ANN chậm. Vì lý do này nên xây dựng hệ thống HMM/ANN với
từ điển kích thước lớn bị hạn chế
Phương pháp nhận dạng của CD-HMM có ưu điểm là dữ liệu huấn luyện
không cần phải gán nhãn trước, có thể được sử dụng cho các hệ thống nhận
dạng kích thước lớn, thời gian huấn luyện không nhiều và tốc độ nhận dạng
nhanh hơn so với dùng HMM/ANN. Tuy nhiên khả năng mô hình hoá âm
thành và khả năng chịu nhiễu của hệ thống này không bằng hệ thống mạng lai
ghép HMM/ANN.
118
4. MÔI TRƯỜNG TÍN HIỆU TIẾNG NÓI TRÊN
ĐIỆN THOẠI
4.1. Giới thiệu về card Dialogic
Card Dialogic là loại card xử lý âm thanh do công ty Dialogic cung cấp.
Card này có nhiều loại và bao gồm nhiều tính năng: xử lý, thu, phát, nén âm
thanh cũng như các chức năng khởi động/nhận một cuộc gọi. Nó có khả tiếp
nhận nhiều cuộc gọi đến trong cùng một thời điểm. Nó còn bao gồm cả chức
năng phát/phát hiện các tín hiệu đường dây điện thoại bằng các phương pháp
khác nhau (DTMF,MF,R2...). Để làm được điều này, công ty cung cấp cho
người sử dụng các hàm thư viện để có thể thiết kế các ứng dụng chuyên biệt.
Các công cụ này được thiết kế để có thể lập trình trên nhiều môi trường
khác nhau: Windows 16/32, Unix...
Hơn thế, các hàm còn được thiết kế để có thể lập nên các ứng dụng đồng
bộ, bất đồng bộ, hoặc cả hai trong môi trường hỗ trợ MultiTasking bằng các
tham số và cơ chế truy xuất riêng biệt.
Card Dialogic JCT120LS cung cấp cho ta 12 kênh riêng biệt với các khả
năng sau:
• Thu, mã hóa và nén âm thanh trong thời gian thực
• Phát những files âm thanh
• Phát hiện các Tones như DTMF, MF
• Khởi động và nhận các cuộc gọi giao diện điện thoại khởi động lặp
vòng (the loop start telephone interface)
• Thực thi việc phân tích tiến trình cuộc gọi
Các line trong 12 line nhận được tín hiệu âm thanh Analog và tín hiệu
Digital từ máy điện thoại. Dữ liệu Analog chính là âm thanh chúng ta nói vào
máy điện thoại. Dữ liệu Digital chính là các tín hiệu điều khiển.
Dữ liệu Digital nhận được được đưa qua bộ phận Digital duplexer và
được điều chỉnh lại bởi COV (carrier over voice) modem. Kết quả từng chuỗi
bit dạng nối tiếp được chuyển đổi bi UART (universal asynchronous
receiver/transmitter) thành các bit song song. Các bit này được gửi qua bus
119
cục bộ đến Control Processor để xử lý, cũng như xác định sự kiện để chuyển
đến ứng dụng.
Tín hiệu Analog nhận được từ các Line Interface được chuyển đến audio
duplexer và chuyển đổi thành dữ liệu số thông qua bộ chuyển đổ A/D. Sau khi
chuyển đổi thành các dữ liệu số ở dạng thô thì nó được gửi đến bộ phận DSP
(Digital Signal Processor), tại đây dữ liệu này được nén lại và gửi đến vùng
lưu trữ của máy tính. DSP memory là vùng nhớ đệm của DSP. Ngược lại, dữ
liệu âm thanh dạng số lưu trữ trong máy tính khi gửi ra ngoài trước hết nó
phải đi qua DSP, ở đây nó được giải nén và truyền đến bộ phận D/A để
chuyển đổi ra dạng Analog.
Trên Card có một microprocessor (Control Processor) và một bộ xử lý
tín hiệu số tốc độ cao (high speed Digital Signal Processor) để xử lý các dữ
liệu âm thanh và gọi các quá trình.
Firmware có nhiệm vụ tải từ máy tính xuống RAM và DSP memory các
chương trình, driver khi Card được bắt đầu hoạt động. Các chương trình này
bao gồm: PerfectPitchTM Speed Control, PerfectLevelTM Volume Control,
Global Tone DetectionTM, và Positive Voice DetectionTM. Global Tone
Detection cho phép ứng dụng phát hiện những tín hiệu như là intercept tones,
fax tones, modem tones, non-standard PBX tones, or user-defined tones, như
là tones in international networks.
4.2. Các khái niệm cơ bản
4.2.1. Event
Event là một thông điệp bất đồng bộ do Card Dialogic phát ra đến hệ
điều hành, đến driver, hoặc đến các ứng dụng khi đã được khởi tạo sẵn sàng.
Thông điệp này thường được phát ra khi một công việc đã được kết thúc có
thể thành công hay bị lỗi (chẳng hạn như khi chơi hay thu xong một bản
nhạc), hoặc khi có một sự kiện đến từ bên ngoài (ví dụ có người gọi điện thoại
đến hoặc có quay số đến). Các sự kiện này không nằm trong nhóm các thông
điệp được định nghĩa sẵn bởi Windows và nó chỉ có thể được phát hiện ra bởi
một ứng dụng sử dụng hàm thư viện cung cấp riêng bởi Dialogic. Trạng thái
của Card Dialogic sẽ được lấy bởi một hàm khác. Từ đó chúng ta có thể phân
biệt được các trạng thái và xử lý chúng theo yêu cầu.
120
CS (call status) Lập thành một cấu trúc (structure) CST
với các thành phần như:
DE_DIGITS: received a digit
DE_LCOFF: loop curent off event
DE_LCON: loop current on event
DE_LCREV: loop current reversal event
DE_RINGS: rings received event
DE_RNGOFF: caller hang up (incoming call is dropped
before being accepted) event
DE_SILOFF: silence off event
DE_SILON: silence on event
DE_TONEOFF: tone off event
DE_TONEON: tone on event
DE_WINK: received a wink
DE_OFFHOOK: offhook event
DE_ONHOOK: onhook event
Loại do các hàm quản trị sự kiện tạo ra, còn gọi là các sự kiện kết
thúc thiết bị âm thanh. Bao gồm:
• TDX_PLAY
• TDX_RECORD
• TDX_GETDIG
• TDX_DIAL
• TDX_CALLP
• TDX_CST
• TDX_SETHOOK
• TDX_WINK
• TDX_PLAYTONE
• DTX_GETR2MF
121
• DTX_BARGEIN
• DTX_NOSTOP
• TDX_ERROR
• DX_ATOMIC_ERR
Trong đó, sự kiện TDX_CST là một sự kiện có kiểu là một trong các sự
kiện thể hiện trong cấu trúc CST đã trình bày ở trên.
4.2.2. Event Handlers
Event handler là một hàm được định nghĩa bởi người sử dụng, được gọi
bởi SRL để xử lý một sự kiện cụ thể xảy ra tại thời điểm hiện tại trên một
device xác định. Hàm này được gọi tự động bởi SRL.
Có thể có nhiều handler cho một event. SRL gọi tất cả khi có sự kiện
được phát hiện ra trong mô hình Callback.
Các handler có thể được cho phép hoặc cấm từ bất kỳ thread nào.
Các handler thông dụng (General handler) có thể được cho phép thao
tác bất kỳ sự kiện nào trên một thiết bị được chỉ định.
Các handler có thể được cho phép để thao tác bất kỳ sự kiện nào trên
bất kỳ thiết bị nào.
Các hàm đồng bộ không được phép gọi trong một handler.
Theo mặc định, SRL sẽ tạo ra một thread nội ngay lần gọi đầu tiên
sr_enbhdlr( ). Các handler được gọi trong ngữ cảnh của thread nội này. Điều
đó có nghĩa là: nếu thread chính của ứng dụng bị chốt lại từ một hàm không
phải kiểu Dialogic và một sự kiện bất đồng bộ như là “treo” xảy ra trên một
thiết bị được điều khiển bởi thread đó, handler sẽ được gọi ngay lập tức trong
ngữ cảnh của thread đặc biệt được tạo ra để phục vụ các handler.
Tham số SRL_MODELTYPE được sử dụng để tắt sự tạo tự động thread
này ngay từ lúc đầu đối với những ứng dụng đơn thread sử dụng callback
handler.
Trong mô hình này, các handler được gọi từ trong sr_waitevt( ) trong
thread ứng dụng. Bằng cách đặt SR_MODELTYPE về SR_STASYNC, SRL
handler thread sẽ không được tạo và một ứng dụng đơn thread sẽ hoạt động
như đã được đề cập.
122
Chúng ta hình dung ứng dụng gồm nhiều handler, mỗi handler phục vụ
một tác vụ. Tất cả các handler đều được khai báo và nằm chờ. Khi một sự
kiện đến, những handler nào thỏa mãn tất cả điều kiện cần của nó sẽ bắt đầu
thực thi. Như vậy sẽ có nhiều handler thực thi đồng loạt. Giả sử trong một lúc,
sự kiện thỏa mãn nhiều handler, các handler sẽ thực thi theo thứ tự ưu tiên
sau:
• Thiết bị và sự kiện đều được đặc tả.
• Thiết bị được đặc tả còn sự kiện thì không
• Cả thiết bị lẫn sự kiện đều không được đặc tả Hàm khai báo handler
như sau:
int usr_hdlr(unsigned long evhandle)
4.2.3. Dialogic device handle
Một con số tham chiếu đến một thiết bị, nhận được khi thiết bị được mở
sử dụng hàm dx_open( ).
Device handle được sử dụng trong tất cả các hoạt động trên thiết bị được
mở đó.
4.2.4. Kênh (device channel)
Một đường dữ liệu âm thanh có chức năng xử lý một cuộc gọi đến hoặc
đi tại một thời điểm (tương đương với một thiết bị đầu cuối trên một đường
dây điện thoại). Card Dialogic/4 của chúng ta có bốn kênh như vậy. Do đó,
chúng ta có thể lắp bốn đường dây điện thoại và phục vụ tối đa đồng thời một
lúc bốn người. Mỗi kênh như vậy phải mở trước khi sử dụng. Tham chiếu đến
kênh là Dialogic device handle.
4.3. Các mô hình lập trình
Như phần đặt vấn đề đã trình bày về các yêu cầu của hệ thống, vấn đề
giao tiếp với nhiều khách hàng cùng lúc sử dụng hệ thống qua mạng điện
thoại được giải quyết bằng việc sử dụng Card Dialogic/4. Loại card này có
bốn kênh riêng rẽ. Mỗi kênh hoạt động độc lập lẫn nhau. Như vậy, ứng dụng
phải được chia nhỏ, làm sao cho hoạt động của mỗi kênh không ảnh hưởng
đến các kênh còn lại.
123
SRL (Standard Runtime Library) cung cấp nhiều lựa chọn lập trình
phong phú trong môi trường Windows NT. SRL kết hợp với các hỗ trợ của
Windows NT.
• Chuẩn lập trình đồng bộ và bất đồng bộ
• Lập trình kết hợp với các sự kiện của Dialogic, xử lý sự kiện.
• Kết hợp lập trình trong môi trường của hệ điều hành và sự hỗ trợ của
các hàm thư viện do Dialogic có sẵn
Các hỗ trợ lập trình do Dialogic tạo ra:
• Hỗ trợ lập trìmh bất đồng bộ.
• Hỗ trợ lập trình đồng bộ.
• Kết hợp giữa đồng bộ và bất đồng bộ.
• Tự động hỗ trợ các Event handle thông qua các thread độc lập.
• Bất đồng bộ mở rộng cho phép xử lý nhiều sự kiện và dễ dàng thực thi
ứng dụng có nhiều nhóm thiết bị.
SRL của Dialogic cung cấp cho chúng ta ba mô hình lập trình là đồng
bộ, bất đồng bộ và bất đồng bộ mở rộng.
Ở đây có một vấn đề đặt ra thuộc về khái niệm đồng bộ và bất đồng bộ.
Lập trình xử lý đồng bộ/bất đồng bộ (nhiều hay một thread cho một ứng
dụng) hay lập trình sử dụng hàm đồng bộ/bất đồng bộ (hàm không cho
phép/cho phép ứng dụng tiếp tục khi đang thi hành). Không có gì phải bận
tâm cả. Nếu chúng ta lập trình bất đồng bộ mà sử dụng hàm đồng bộ thì ứng
dụng không thể thực thi được do không nhận được các message. Ngược lại,
sử dụng hàm bất đồng bộ cho cách lập đồng bộ thì sẽ tự nhiên thấy dư thừa
thread.
Do đó, khái niệm ở đây muốn nói đến cả hai. Các mô hình sau đây sẽ nói
rõ hơn phần này.
4.3.1. Lập trình đồng bộ
Trong mô hình lập trình đồng bộ, mỗi nhóm hàm của thread thực thi cho
đến khi hàm này hoàn thành. Vì vậy, để đảm bảo nhiều kênh hoạt động đồng
thời, mỗi kênh cần có một ứng dụng, thread hoặc process riêng rẽ.
124
Hệ điều hành có thể đặt thread điều khiển thiết bị này ở trạng thái nghỉ
trong khi cho phép thread khác vẫn điều khiển các thiết bị khác hoạt động.
Khi một hàm Dialogic hoàn thành, hệ điều hành sẽ đánh thức hàm của thread
để quá trình được tiếp tục. Ví dụ, nếu một ứng dụng có thể chơi một file như
kết quả của gọi hàm dx_play(), thread gọi sẽ không tiếp tục thực thi cho đến
khi file chơi xong và hàm dx_play() kết thúc.
Ưu điểm:
• Nó là mô hình dễ nhất để lập trình và bảo trì và cho phép triển khai
nhanh nhất.
Nhược điểm:
• Vì thread chính tạo ra những thread độc lập để điều khiển cho mỗi
thiết bị cho nên mô hình này đòi hỏi tốn nhiều tài nguyên và khi sử
dụng mô hình này thì có sự giới hạn số lượng thiết bị.
• Các hàm được thực thi một cách tuần tự. Nó chỉ đơn thuần hoạt
động tuần tự theo một luồng điều khiển định sẵn.
• Sự kiện được gửi đi nhưng không được xử lý cho đến khi có lệnh xử
lý sự kiện ví dụ như đến khi gặp lệnh dx_getev() hoặc dt_getev().
Nên dùng mô hình này nếu:
• Chương trình cần đơn giản.
• Số lượng các kênh không quá lớn.
• Chương trình không cần quản lí tài nguyên hiệu quả như mô hình
bất đồng bộ.
• Chương trình dùng cho một đường dây điện thoại với chỉ một sự
kiện xảy ra tại một thời điểm.
Ta có thể dùng mô hình này để xử lý nhiều kênh một lúc bằng cách viết
ứng dụng như ứng dụng đơn kênh rồi tạo ra nhiều thread hoặc process để xử
lý mỗi kênh.
4.3.2. Lập trình bất đồng bộ
Trong lập trình bất đồng bộ, thread được gọi thực thi nhiều hoạt động
hơn nữa trong khi hàm Dialogic đã hoàn thành. Khi hàm hoàn thành, ứng
dụng nhận được sự kiện thông báo. Lập trình bất đồng bộ các sự kiện được
125
gửi đi đều ngang hàng và có số thiết bị điều khiển nhiều. Lập trình bất dồng
bộ sử dụng tài nguyên hữu hiệu bởi vì nó điều khiển nhiều thiết bị trong một
thread đơn. Trong khi đó, lập trình đồng bộ đòi hỏi phải có nhiều thread cho
mỗi thiết bị Dialogic.
Để tránh xảy ra lỗi, thread không thể thực thi một khối lệnh trong khi
chờ hàm Dialogic hoàn thành. Trong trường hợp này SRL sẽ tạo ra một trạng
thái sự kiện cho mỗi thiết bị. Thay vì thực thi khối lệnh cho đến khi hoàn
thành nó sẽ trả về ngay tức khắc trang thái sự kiện và cho phép thread vẫn tiếp
tục. Rồi sau đó khi một sự kiện được trả về thông qua SRL, đó là dấu hiệu
hoàn thành và hoạt động của Dialogic quá trình tiếp tục.
Trong mô hình này, ta có thể định nghĩa một sự kiện mới vào hàng các
sự kiện của Dialogic để nhận được một trạng thái điều khiển.
Ưu điểm của mô hình bất đồng bộ:
• Quản lý tài nguyên tốt với nhiều thiết bị Dialogic trong một thread
đơn.
• Cung cấp điều khiển của ứng dụng tốt hơn với số lượng kênh rất
nhiều.
• Cung cấp nhiều kĩ thuật giúp lập trình trong nhiều môi trường hệ
điều hành khác nhau.
• Các hàm thư viện của SRL cho phép kết hợp chặt chẽ với các chuẩn
lập trình Windows 32 bit như là Win32API và MFC.
• Đơn giản hệ thống bằng cách tối thiểu chuyển đổi ngữ cảnh giữa các
thread.
• Làm đơn giản và độ ưu tiên bằng nhau giữa các sự kiện trong các
thiết bi Dialogic.
Nhược điểm:
Mô hình này đòi hỏi phức tạp trong vấn dề lập trình hơn nhiều so với
mô hình bất đồng bộ.
Có ba kiểu lập trình cho mô hình này:
+ Window Callback
+ Polled
126
+ Callback
a. Mô hình window callback (bất đồng bộ)
Mô hình này dùng hàm sr_NotifyEvent() để gửi một "user message" tới
một cửa sổ được chỉ định của user. Vòng lặp của ứng dụng chính là vòng lặp
chuẩn GetMessage()/ TranslateMessage()/ DispatchMessage(). Khi một
Dialogic kết thúc xuất hiện các sự kiện sau:
• Một user-message xác định được gửi đến một cửa sổ chỉ định của user.
• Hàm sr_waitevt() được gọi với thông số time out bằng 0.
Các hàm sr_getevtdev( ), sr_getevttype( ) lấy được các thông tin về sự kiện.
• Hành động kế tiếp được khởi động một cách bất đồng bộ
Chọn mô hình bất đồng bộ dùng Windows callback cho các ứng dụng có
khả năng kết hợp chặt chẽ với cơ chế Windows messaging.
Ưu điểm:
Mô hình này (Asynchronous with Windows Callback) không đòi hỏi
nhiều tài nguyên hệ thống bởi vì mỗi Dialogic device không cần một
thread. Chúng ta có thể chạy toán bộ phần Dialogic của ứng dụng chỉ trong
một thread đơn.
• Cung cấp mức độ chặt chẽ trong cơ chế Windows message.
• Tất cả các dịch vụ cho các sự kiện trên các thiết bị chỉ trong một vòng
lặp Windows message.
Nhược điểm:
Bởi vì vòng lặp này phải thao tác cho tất cả các quá trình. Chúng ta phải
ý thức được mức độ hiệu quả của các thủ tục và không nên gọi quá nhiều các
hàm blocking có thể gây mất nhiều thời gian để hoàn thành.
b. Mô hình poll (bất đồng bộ)
Trong mô hình này, ứng dụng sẽ lặp vòng để chờ sự kiện.
Sau khi một hàm bất đồng bộ được cho phép thực thi, ứng dụng lặp vòng
để tìm hoặc chờ các sự kiện bằng hàm sr_waitevt(). Nếu có sự kiện (hàm
sr_waitevt không timeout) thì thông tin về sự kiện sẽ được truy xuất bằng các
hàm sr_getevt...() được liệt kê sau:
• sr_getevtdev() Get Dialogic device handle for the curent event
127
• sr_getevttype() Get event type for the curent event
• sr_getevtdatap() Get a pointer to additional data for the current event
• sr_getevtlen() Get the number of bytes of additional data that are
pointed to by sr_getevtdatap( );
Các giá trị trên còn đúng tới lần gọi sr_waitevt( ) kế tiếp. Các lệnh event
có thể được thực thi từ thread chính thông qua các phát biểu switch, và các sự
kiện được xử lý một cách tức thì.
Sau khi sự kiện được xử lý, ứng dụng sẽ xác định thực thi hàm bất đồng
bộ nào tùy theo:
• Sự kiện nào đã xảy ra.
• Trạng thái vừa rồi của kênh khi sự kiện xảy ra.
Chúng ta chọn mô hình này cho một ứng dụng đòi hỏi sử dụng một mô
hình phức tạp hơn mô hình đồng bộ nhưng không cần dùng event handlers để
xử lý các sự kiện.
Ví dụ:
main()
{
gọi hàm bất đồng bộ...
while(1)
{
sr_waitevt(timeout_value);
switch(sr_getevttype(0)
{
case EVT1:
case EVT2:
...
}
}
}
c. Mô hình callback (bất đồng bộ)
Dùng hàm sr_waitevt( ) để poll hoặc chờ sự kiện. Khi một sự kiện xảy
ra, SRL sẽ gọi "event handler" một cách tự động. Với mô hình này, event
128
handler có thể được cho phép hoặc cấm đối với các event được chỉ định trên
các device được chỉ định.
Sau khi khởi động hàm bất đồng bộ, process có thể thi hành những
nhiệm vụ khác nhưng không thể nhận các sự kiện mong đợi cho đến khi
sr_waitevt( ) được gọi. Một sự kiện mong đợi là một sự kiện được đòi hỏi,
được chỉ định rõ sử dụng hàm bất đồng bộ được chứa trong thư viện thiết bị.
Một sự kiện không được mong đợi là một sự kiện xảy ra mà không được nhắc
trước.
Đối với mô hình Callback, thread chính chỉ đơn thuần chứa một lời gọi
hàm sr_waitevt( ) riêng rẽ.
Mô hình này rất phức tạp để lập trình ứng dụng.
Chúng ta chọn mô hình này khi một ứng dụng đòi hỏi độ lập trình phức
tạp cao hơn mô hình đồng bộ, và ứng dụng đó được lợi từ việc sử dụng các
handler.
4.3.3. Mô hình bất đồng bộ mở rộng
Mô hình bất đồng bộ mở rộng cơ bản cũng giống như mô hình bất đồng
bộ,ngoại trừ một điều là ứng dụng có thể điều khiển những nhóm các thiết bị
khác nhau dùng những thread riêng rẽ (có thể tạo ra nhiều thread, mỗi thread
điều khiển nhiều thiết bị). Trong ứng dụng có một trạng thái riêng và phân
biệt rõ ràng với thiết bị mà nó điều khiển. Ví dụ chúng ta có hai nhóm thiết bị:
một nhóm thiết bị cung cấp các dịch vụ Fax, một nhóm thiết bị dịch vụ điện
thoại thì ta tạo ra hai thread dùng mô hình bất đồng bộ. Một thread xử lý các
sự kiện từ thiết bị của máy Fax và một thread xử lý các sự kiện từ máy điện
thoại, và hai thread này hoạt động đồng bộ.
Ưu điểm của mô hình bất đồng bộ mở rộng
• Bởi vì mô hình bất đồng bộ chỉ sử dụng một vài thread cho tất cả các
thiết bị Dialogic nên nó tốn ít tài nguyên hệ thống hơn so với mô hình
đồng bộ.
• Chỉ dùng một vài thread mà toàn bộ các thành phần Dialogic trong ứng
dụng đều được thực thi.
Nhược điểm:
• Vấn đề lập trình phức tạp đòi hỏi nhiều thời gian và công sức.
129
Tương tự như mô hình bất đồng bộ, chúng ta sử dụng các hàm chờ sự
kiện. Trong mô hình bất đồng bộ chỉ có một thread chúng ta sử dụng hàm
sr_waitev(), còn ở đây có nhiều thread chúng ta sử dụng hàm
sr_waitevtEx(). Hàm này có đối số là một mảng các device handle đã mở, số
device handle trong mảng, một giá trị timeout và một con trỏ chứa kết quả
event handle trả về. Do vậy, ứng dụng có thể có nhiều thread khác nhau chờ
trên các device khác nhau.
Như mô hình bất đồng bộ, các hàm có thể được khởi đầu bất đồng bộ từ
một thread khác và event được đón bởi thread có sr_waitevtEx(). Khi hàm
sr_waitevtEx trả về một sự kiện, để lấy thông tin về sự kiện chúng ta có thể
dùng các hàm sau đây:
• Hàm : sr_getevtdev( ) Lấy sự kiện hiện hành trên thiết bị
• Hàm : sr_getevttype( ) Lấy loại sự kiện hiện hành trên thiết bị.
• Hàm : sr_getevtlen( ) Nhận số byte dữ liệu mà được trỏ tới bởi hàm
sr_getevtdatap( ).
- Dùng hàm sr_getevtdatap( ) để rút ra dữ liệu của sự kiện dùng các
hàm khác để trả về các giá trị của sự kiện hiện hành. Giá trị trả về là
hợp lệ cho đến khi hàm sr_waitevEx() được gọi lại một lần nữa.
Không được sử dụng sr_waitevtEx( ) với sr_waitevt( ) hoặc với mô
hình Callback.
4.3.4. Các mô hình kết hợp
Ứng dụng có thể được phát triển sử dụng bất kỳ sự kết hợp nào của ba
mô hình trên. Để hiểu cách trộn lẫn các mô hình, chúng ta đi vào việc phân
tích độ phân cấp mà SRL dựa vào để phân phối sự kiện. Có ba cách tiếp cận
để xác định ai sẽ nhận sự kiện đặc biệt. Khi một hướng tiếp cận đạt được
(nhận sự kiện), các hướng tiếp cận sau đó bị bỏ qua:
• Đầu tiên, nó kiểm tra xem có hàm đồng bộ nào đang đợi sự kiện đặc
biệt này không. Nếu có, sự kiện này sẽ được nhận và thread bị chốt lại.
• Tiếp theo, nó kiểm tra xem có thread hoạt động dựa trên chế độ bất
đồng bộ mở rộng nào đang đợi sự kiện trên thiết bị đặc biệt này hay
không. Nếu có, thread này sẽ được nhận sự kiện.
130
• Cuối cùng, nếu hai hướng tiếp cận trên không thỏa mãn, nó kiểm tra
xem có thread bất đồng bộ nào đang đợi sự kiện không. Nếu có, thread
đó sẽ được nhận sự kiện.
Mô hình kết hợp đồng bộ/bất đồng bộ có thể được phát triển với một
thread trên một kênh âm thanh và một thread bất đồng bộ được tạo ra để bắt
sự kiện treo kiểu CST. Thread bất đồng bộ chỉ nhận những sự kiện không
được định hướng trước cho một hàm đồng bộ bị chặn.
Lời kết cho các mô hình
Dựa trên lớp hàm thư viện phong phú của mình, có nhiều mô hình lập
trình đã được xoay quanh vấn đề đồng bộ và bất đồng bộ. Về tính năng, độ
phức tạp và hiệu quả trong việc sử dụng tài nguyên hệ thống.
Mô hình dễ lập trình và đơn giản nhất cũng là mô hình có hiệu suất (về
mặt resource) thấp nhất, đó là mô hình lập trình đồng bộ.
Càng về sau, các mô hình lập trình càng phức tạp hơn, và độ mềm dẻo
tăng lên rõ rệt.
Mô hình đơn giản thường tốn tài nguyên hơn. Nhưng mô hình phức tạp
thường rất khó lập trình và đòi hỏi thời gian dài.
Mặt khác, việc bảo trì và phát triển cũng là một vấn đề.
Việc chọn lựa cho mình một mô hình lập trình thích hợp là điều tương
đối dễ dàng nếu chúng ta chỉ xét một cách tương đối hiệu năng sử dụng và lập
trình.
4.4. Sơ lược về các hàm và cấu trúc dữ liệu trong SRL
4.4.1. Các hàm quản lý sự kiện
Giới thiệu
Các hàm quản lý sự kiện cung cấp cho chúng ta một phương tiện để quản
lý các sự kiện trên thiết bị, chúng ta có thể trình bày chương trình với những
kiểu cấu trúc chương trình khác nhau. Các hàm quản lý sự kiện: là các hàm
phát, phát hiện, thao tác trên các sự kiện. Các sự kiện nằm trong hàng đợi sự
kiện của Card Dialogic, và chỉ bị xóa đi khi gặp một tác vụ đặc biệt.
Với các hàm Event Management ta có thể:
131
• Sử dụng các hàm bất đồng bộ, hoặc đồng bộ với đối số mode là
EV_ASYNC hoặc EV_SYNC.
• Viết một chương trình để xử lý các event trên vài thiết bị.
• Cho phép hoặc cấm các event handlers của ứng dụng cho một thiết bị,
sử dụng mô hình Callback.
Để sử dụng các hàm này trong chương trình, chúng ta phải #include lần
lượt các header files sau:
#include "srllib.h"
#include "DEVICElib.h"
DEVICElib.h là header file cho thiết bị sử dụng. Ví dụ nếu chúng ta có
một Card Dialogic D/4x, DEVICElib.h=dxxxlib.h
Các nhóm hàm bao gồm rất nhiều hàm khác nhau, và chia làm các loại
như sau:
Các hàm thao tác sự kiện
sr_dishdlr(): disable an event handler
sr_enbhdlr(): enable an event handler
sr_NotifyEvent(): sends event notification to a
Window
sr_waitevt(): wait for next event
sr_waitevtEx(): wait for events on certain devices
sr_putevt( ): Adds an event to the SRL event queue
Các hàm lấy dữ liệu của sự kiện
sr_getevtdatap(): return a pointer to the variable
data associated with the current event
sr_getevtdev(): get the Dialogic handle for the
current event
sr_getevtlen(): get the length of variable data
associated with the current event
sr_getevttype(): get the event type for the current
event
132
Các hàm tham số SRL:
sr_getparam(): get an SRL parameter
sr_setparam(): set an SRL parameter
sr_getboardcnt() : Get the number of boards of a
specific type
sr_libinit() : Initialize the Standard Runtime
Library DLL
sr_GetDllVersion( ) :Get the Standard Runtime
Library DLL Version Number.
Các hàm quản lý sự kiện khi thực thi sẽ biểu thị sự thành công hay thất
bại thông qua giá trị trả về.
- Nếu thành công thì giá trị trả về khác –1.
- Nếu thất bại thì trả về –1.
- Đặc biệt, hàm sr_getevdatap () nếu không có dữ liệu trong sự kiện
hiện hành thì giá trị trả về là NULL.
Lỗi gặp phải của các hàm quản lý sự kiện
Error Define Error String
ESR_DATASZ · Invalid size for default event data memory
ESR_MODE · Illegal mode for this operation
ESR_NOERR · No standard runtime library errors
ESR_NOHDLR · No such handler
ESR_NOTIMP · Function is not implemented
ESR_PARMID · Unknown parameter ID
ESR_QSIZE · Illegal event queue size
ESR_SCAN . Standard runtime library scanning function
returned an error
ESR_SYS · System error, consult errno
ESR_TMOUT . Returned by
ATDV_LASTERR(SRL_DEVICE) when an standard runtime library
function timed out.
133
Mô tả
• sr_dishdlr( ) - disables the handler
Name: long sr_dishdlr(dev, evt_type, handler)
Inputs: long dev · Dialogic device handle
long evt_type · event type
long (*handler)(unsigned long parm) · event handling
function
Returns: 0 if success
-1 if failure
Includes: srllib.h
• sr_enbhdlr( ) - enables the handler function
Name: long sr_enbhdlr(dev, evt_type, handler)
Inputs: long dev · Dialogic device handle
long evt_type · event type
long (*handler)(unsigned long parm) ·event handling function
Returns: 0 if success
-1 if failure
Includes: srllib.h
• sr_NotifyEvent( ) - send event notification to a window
Hàm này gửi thông báo có sự kiện ("user message") tới một windows
mặc dù sự kiện thực sự không tồn tại trong hàng đợi của windows. Đây chỉ là
một cách để ứng dụng lấy sự kiện khỏi hàng đợi của Dialogic bằng cách gọi
hàm.
Name: long sr_NotifyEvent(handle, message, flags)
Inputs: HWND handle · Window handle
unsigned int message · message number to sent to
window
unsigned int flags · notification on/off flag
Returns: 0 if success-1 if failure
Includes: srllib.h
134
• sr_waitevt( ) - waits for any event to occur
Hàm này chỉ nên dùng khi một ứng dụng bất đồng bộ điều khiển tất cả
các device trong một thread. Ứng dụng phải gọi hàm sr_waitevt(0) để lấy sự
kiện khỏi hàng đợi Dialogic.
Name: long sr_waitevt(timeout)
Inputs: long timeout· timeout in milliseconds (msec)
Returns: time left before timeout
-1 if timeout
Includes: srllib.h.
• sr_waitevtEx( ) - waits for events on certain devices
Hàm này có thể dùng cho ứng dụng đơn thread lẫn multithread. Thêm
nữa, hàm có thể được khởi đầu bất đồng bộ ở một thread này và trở về ở một
thread khác. Một ứng dụng cũng có thể có nhiều thread bị chặn trong hàm này
để chờ các sự kiện trên cùng thiết bị, tuy nhiên sẽ không xác định được sự
kiện sẽ được đón bởi thread nào.
Hàm này không được dùng trong sự liên kết với các handlers
Hai hàm sr_waitevt và sr_waitevtEx không nên được dùng chung trong
một ứng dụng.
Name: long sr_waitevtEx(handlep, handlecnt, timeout, event_handlep)
Inputs: long *handlep · pointer to array of handles to wait for
event on
int handlecnt · count of valid handles pointed to by
handlep
long timeout · timeout in milliseconds (msec)
long *event_handlep· pointer where to return event handle
Returns: 0 if success
-1 if timeout
Includes: srllib.h
• sr_putevt( ) - add an event to the SRL event queue
Name: long sr_putevt(dev, evttype, evtlen, evtdatap, errcode)
135
Inputs: long dev · device
unsigned long evttype · event type ID
long evtlen · data block size
void *evtdatap · data block pointer
long errcode · error code
Returns: 0 if successful
-1 if error
Includes: srllib.h
dxxxlib.h
Mode: Synchronous.
• sr_getevtdatap( ) - returns the address of the variable data block
Name: void *sr_getevtdatap(ehandle)
Inputs: unsigned long ehandle · event handle returned by
sr_waitevtEx( ), or zero if sr_waitevt( ) is used
Returns: Address of variable data block
NULL if no variable data
Includes: srllib.h
• sr_getevtdev( ) - returns the Dialogic device handle
Name: long sr_getevtdev(ehandle)
Inputs: unsigned long ehandle · event handle returned by
sr_waitevtEx( ), or zero if sr_waitevt( ) is used
Returns: Dialogic device handle if successful
-1 if no current event
Includes: srllib.h
• sr_getevtlen( ) - returns the length of the variable data
Name: long sr_getevtlen(ehandle)
Inputs: unsigned long ehandle · event handle returned by
sr_waitevtEx( ), or zero if sr_waitevt( ) is used
Returns: length of data if successful
-1 if no current event
136
Includes: srllib.h
• sr_getevttype( ) - returns the event type for the current event
Name: long sr_getevttype(ehandle)
Inputs: unsigned long ehandle · event handle returned by
sr_waitevtEx( ), or zero if sr_waitevt( ) is used
Returns: Event type if successful
-1 if no current event
Includes: srllib.h
• sr_getparm( ) - returns the value of an SRL parameter
Name: long sr_getparm(dev, parmno, valuep)
Inputs: long dev · device
long parmno· parameter number
void *valuep · parameter value
Returns: 0 if successful
-1 if failure
Includes: srllib.h
• sr_setparm( ) - set the value of an SRL parameter
Hàm này cho phép ứng dụng thay đổi các giá trị của một tham số SRL.
Name: long sr_setparm(dev, parmno, parmval)
Inputs: long dev · device handle
long parmno· parameter number
void *parmval · pointer to parameter value
Returns: 0 if successful
-1 if failure
Includes: srllib.h
• sr_getboardcnt( ) - retrieves the number of boards of a particular
type
Name: long sr_getboardcnt(class_namep, boardcntp)
Inputs: char *class_namep · pointer to class name
137
int *boardcntp · pointer where to return count of
boards in this class
Returns: 0 if success
-1 if failure
Includes: srllib.h
• sr_libinit( ) - initializes the Standard Runtime Library DLL
Name: long sr_libinit(flags)
Inputs: unsigned short flags · Specifies the programming
model
Returns: 0 if success
-1 if failure
Includes: srllib.h
• sr_GetDllVersion( ) - returns the SRL DLL Version Number
Name: long sr_GetDllVersion(dwfileverp, dwprodverp)
Inputs: LPDWORD dwfileverp · SRL DLL Version Number
LPDWORD dwprodverp · Product version of this release
Returns: 0 if success
-1 if failure
Includes: srllib.h
4.4.2. Các hàm thuộc tính chuẩn
Giới thiệu
Các hàm này trả về thông tin tổng quát về một thiết bị như device name,
board type và lỗi của lần gọi thư viện trước.
Các hàm thuộc tính chuẩn có phần tên đầu là ATDV_ và phần tên sau
dấu gạch là mô tả thuộc tính. Ví du: ATDV_IRQNUM ( ).
Ghi chú: SRL cung cấp một thiết bị biệt gọi là SRL_DEVICE có các
thuộc tính và có thể tạo ra các event như các thiết bị Dialogic. Để sử dụng các
hàm này, chúng ta phải include lần lượt các header files:
#include “srllib.h”
#include “dxxxlib.h” (đối với card Dialogic/4 đang xét)
138
Sau đây là danh sách các hàm thuộc tính chuẩn và thông tin do chúng
trả về
• ATDV_ERRMSGP( ) : Con trỏ chỉ đến chuỗi thông điệp báo lỗi.
• ATDV_IRQNUM( ) : Interrupt đã được dùng.
• ATDV_LASTERR( ) : Lỗi hiện thời trên thiết bi cuối cùng mà hàm
đã gọi.
• ATDV_NAMEP( ) : Con trỏ chỉ đến tên thiết bị.
• ATDV_SUBDEVS( ) : Số nhóm thiết bị con.
b. Mô tả:
• ATDV_ERRMSGP( ) - returns a pointer to an ASCIIZ string
Name: char * ATDV_ERRMSGP(dev)
Inputs: int dev · valid Dialogic device handle
Returns: pointer to string
Includes: srllib.h
• ATDV_IRQNUM( ) - returns the interrupt number (IRQ)
Name: long ATDV_IRQNUM(dev)
Inputs: int dev · valid Dialogic device handle
Returns: AT_FAILURE if failure otherwise
IRQ of device
Includes: srllib.h
ATDV_LASTERR( ) - indicates the last error that occurred
Name: long ATDV_LASTERR(dev)
Inputs: int dev · valid Dialogic device handle
Returns: AT_FAILURE if an invalid device handle;
otherwise a valid error number
Includes: srllib.h
ATDV_NAMEP( ) - returns a pointer to an ASCIIZ
string
Name: char * ATDV_NAMEP(dev)
139
Inputs: int dev · valid Dialogic device handle
Returns: pointer to string
Includes: srllib.h
ATDV_SUBDEVS( ) - returns the number of
subdevices for the device
Name: long ATDV_SUBDEVS(dev)
Inputs: int dev · valid Dialogic device handle
Returns: AT_FAILURE if failure, otherwise
number of subdevices
Includes: srllib.h.
4.4.3. Termination Parameter Table DV_TPT
Termination Parameter Table (TPT) thiết lập các điều kiện kết thúc
(termination) cho thiết bị Dialogic. Các điều kiện này nằm trong cấu trúc
DV_TPT được định nghĩa trong file srllib.h. Cấu trúc này có dạng như sau:
typedef struct DV_TPT
{
unsigned short tp_type;
unsigned short tp_termno;
unsigned short tp_legth;
unsigned short tp_flags;
unsigned short tp_data;
unsigned short rfu;
struct DV_TPT *tp_nextp;
}DV_TPT;
Mô tả các thông số:
tp_type :Mô tả cấu trúc hoặc là một phần của danh sách liên kết
(IO_LINK), một phần của dãy (IO_CONT) hoặc kết thúc của bảng DV_TPT.
Dựa vào phần này ta có thể liên kết nhiều cấu trúc DV_TPT lại với nhau.
tp_termno :Xác định những điều kiện để kết thúc hàm
140
tp_legth :Xác định chiều dài hoặc kích thước của mỗi điều kiện kết
thúc
tp_flags :Mô tả riêng của điều kiện kết thúc xác định trong
tp_termno
tp_data :Xác định dữ liệu chọn lựa thêm.
tp_nextp :Chứa con trỏ chỉ đến cấu trúc tiếp theo trong danh sách
liên kết.
Phụ thuộc vào loại thiết bị (ví dụ D/4x hayDTI/xxx) mà cấu trúc này có
thể có giá trị khác nhau.
Các hàm I/O sẽ kết thúc khi một trong những tập điều kiện thiết lập
trong DV_TPT xảy ra. Nếu thiết lập nhiều hơn một điều kiện kết thúc thì điều
kiện xảy ra đầu tiên sẽ làm kết thúc hàm I/O. Các cấu trúc trên có thể được
cấu hình thành dạng một mảng, hoặc một danh sách liên kết. Mỗi cấu trúc tả
một điều kiện kết thúc.
Nếu thành lập một danh sách liên kết các điều kiện kết
thúc, thì ở các cấu trúc đầu danh sách, tp_type phải có kiểu là
IO_LINK. Còn nếu thành lập một mảng các cấu trúc thì tp_type ở các
cấu trúc đầu mảng phải có kiểu là IO_CONT. Cả hai trường hợp, các
cấu trúc cuối cùng, tp_type có kiểu là IO_EOT.
Ta có thể truyền nhiều điều kiện kết thúc cho một hàm
I/O. Khi gặp một trong những điều kiện kết thúc này, hàm I/O sẽ lập
tức ngưng thi hành tác vụ. Các điều kiện kết thúc được chỉ ra trong
tham số tp_termno. Có giá trị hợp lệ như:
DX_MAXDTMF: Maximum number of digits
received
DX_MAXSIL: Maximum length of silence
DX_MAXNOSIL: Maximun length of non-silence
DX_LCOFF: Loop current drop
DX_IDDTIME: Maximum delay between digits
DX_DIGMASK: Specific digit received
DX_PMOFF: Pattern of non-silence
DX_PMON: Pattern of silencce
141
DX_TONE: Tone On/Off termination
tham số tp_length chỉ định độ dài của tham số kết
thúc.
Một số cờ cũng có thể được thêm vào, nhằm biểu diễn mặt
nạ bit cho những tính khác nhau của điều kiện kết thúc được sử dụng.
Thông thường, ta sử dụng giá trị mặc định. Các giá trị này là
TF_xxxxxx với xxxxxx là một trong những dạng theo sau
chuỗi DX… trong tp_termno
Tham số tp_data thông thường được gán là NULL, ngoại trừ điều
kiện kết thúc liên quan đến silence. Việc truy xuất dữ liệu qua mạng điện
thoại không cần đến điều kiện silence. Nó chỉ có tác dụng thực sự trong
vấn đề thu âm chẳng hạn.
Tham số rfu chỉ định con trỏ tới cấu trúc tiếp theo nếu tp_type
được thiết lập với giá trị IO_LINK.
4.4.4. Call status event block structure: DX_EBLK
Cấu trúc này được trả về bởi hàm dx_getevt( ) để biểu thị rằng sự kiện
CST nào đã xảy ra
Cấu trúc này có các thành phần như sau:
typedef struct DX_EBLK {
unsigned short ev_event /*event that occurred*/;
unsigned short ev_data /*event specific data*/;
unsigned char ev_rfu[12] /*reserved for future use*/
}DX_EBLK;
Trong đó, ev_event là các sự kiện có giá trị DE_xxx như đã bàn đến ở
trên. ev_data chứa dữ liệu tả cho sự kiện ở trên.
Đối với mỗi sự kiện, cần một kiểu dữ liệu khác nhau:
DE_DIGITS : Số và kiểu số
DE_LCOFF : thời khoảng delay trước khi loop current off
DE_LCON : thời khoảng delay trước khi loop current on
DE_LCREV : thời khoảng mà loop current bị reverse
trước khi sự kiện loop-current-reversal được phát hiện
142
DE_RINGS : return no data
DE_SILOFF: thời khoảng giữa im lặng và không im lặng
khi có sự kiện
DE_SILON : ngược lại với trên
DE_TONEOFF: chỉ số tone cho sự kiện tone-off
DE_TONEON :chỉ số tone cho sự kiện tone-on
DE_WINK : return no data
4.4.5. User digit buffer:DV_DIGIT
Cấu trúc này dùng để chứa những số được nhập vào khi ta gọi hàm dx_
getdig( ).
typedef struct DV_DIGIT {
Char dg_value [DG_MAXDIGITS+1]; /*ASCII value of digits*/
Char dg_type [DG_MAXDIGS+1]; /*type of digits*/
}
Giá trị trả về được tự động thêm vào giá trị NULL
Kiểu của các con số là một trong những kiểu sau:
DG_DTMF : DTMF digit
DG_LPD : Loop pulse digit
DG_MF : MF digit
DG_USER1: user defined tone…
DG_USER5: user defined tone
4.4.6. Thư viện âm thanh của C (Voice library of C functions)
Thư viện âm thanh chứa rất nhiều hàm. Chúng được phân hoạch ra thành
các nhóm chính chứa các hàm đáng quan tâm sau:
Device Management: Open and close devices
Trong nhóm hàm này chỉ có hai hàm phải sử dụng trước khi thi hành bất
cứ thao tác gì trên thiết bị đó:
dx_open( ): dùng để mở một kênh trên thiết bị
dx_close( ): đóng một kênh đã mở trên thiết bị
a. Configuration: alter configuration of devices
143
Nhóm hàm này bao gồm 6 hàm dùng để thay đổi luân phiên, thẩm tra và
điều khiển cấu hình vật lý của một thiết bị đã mở.
dx_clrdigbuf( ): clear the firmware digit buffer
dx_getparm( ): get a board/channel device parameter
dx_setdigtyp( ): set digit collection type
dx_sethook( ): set hookswitch state
dx_setparm( ): set device parameters
dx_wtring( ): wait for number of rings
b. I/O: transfer data to and from devices
Mục đích của một hàm I/O là chuyển dữ liệu đi và về thông qua một
kênh nhàn rỗi đã mở.
Nó hoạt động trên cả hai cơ chế: đồng bộ và bất đồng bộ. Khi hoạt động
trên cơ chế đồng bộ, không một lệnh nào sau nó có thể được thực thi trước khi
nó kết thúc. Khi hoạt động trên cơ chế bất đồng bộ, nó sẽ trả về ngay lập tức
một trị để báo rằng nó đã khởi động thành công hoặc lỗi và tiếp tục xử lý đến
khi hoàn tất hoặc một trong những điều kiện kết thúc được thỏa mãn. Trong
quá trình hoạt động của nó, kênh thông tin bị bận.
Có một số hàm trong lớp này như:
dx_ dial( ): dial an ASCIIZ string of digits
(enable/disable call analysis)
dx_getdig( ): get digits form channel digit buffer
dx_play( ): play voice data from one or more source
dx_playiottdata( ): play voice data from multiple source
dx_rec( ): record voice data to one or more destinations
dx_reciottdata( ): record voice data to multiple
destinations
dx_setdigbuf( ): set digit buffering mode
dx_stopch( ): stop current I/O.
c. Convenience: simplify play and record
144
Những hàm này chỉ đơn thuần play và record đồng bộ (và chỉ đồng bộ).
Nó tập hợp những hàm được đơn giản hóa đến tối đa các thủ tục của những
hàm I/O trên.
dx_playf( ): play voice data from single file
dx_playwav( ): play a Wave file
dx_playvox( ): play Vox file
dx_recf( ): record voice data to a single file
dx_recwav( ): record void data to a single Wave file
dx_recvox( ): record voice data to a single Vox file
d. Call status transition event: set and monitor events on devices
Những hàm này kiểm soát những sự kiện xảy ra trên một thiết bị. Những
sự kiện này biểu thị sự thay đổi về trạng thái của cuộc gọi.
dx_getevt( ): get call status transition event
dx_setevtmsk( ): set call status transition event
notification
e. Global Tone Detection: enable user defined tone detection
Những hàm trong tập hợp này cho phép định nghĩa và kích khởi việc
phát hiện single and dual frequency tones (những tones này không nằm trong
các tones chuẩn – nó là các user-defined tones). Chúng ta khôngcần quan tâm
đến những hàm này trong ứng dụng.
g. Global Tone Generation: enable user defined tone ganeration
Bao gồm các hàm cho phép định nghĩa và phát ra các user tones thay vì
sử dụng các tones chuẩn. Chúng ta cũng không cần quan tâm đến các hàm
này.
h. R2 MF Convenience: detect and generate R2 MF tones
Những hàm trong tập hợp này cho phép sự phát hiện và phát những tín
hiệu R2 MF… chúng ta không quan tâm đến các hàm này.
i. Speed and Volume: enable play speed and play volume control
Sử dụng những hàm này cho phép chúng ta điều chỉnh vận tốc và cường
độ của một hàm đang phát âm.
145
Một bảng hiệu chỉnh vận tốc và cường độ giao tiếp với mỗi kênh. Khi
mở kênh, các bảng này mang những giá trị mặc định. Chúng ta sử dụng các
hàm trong tập này để điều chỉnh các thông số theo ý muốn.
dx_adjsv( ): adjust speed or volume
dx_clrsvcond( ): clear speed or volume digits adjustment
conditions
dx_setsvcond( ): set speed or volume digit adjustment
conditions
dx_getcursv( ): get current speed and volume settings
dx_getsvmt( ): get Speed/Volume Modification Table
dx_setsvmt( ): set Speed/Volume Modification Table
k. Convenience: convennience functions for adjusting speed and volume
control
Những hàm này là sự đơn giản hóa đến mức tối thiểu các tham số của
các hàm điều chỉnh tốc độ và âm lượng.
dx_addspddig( ): add speed adjustment digit
dx_addvoldig( ): add volume adjustment digit
l. Structure Clearance: clear data structures
Các hàm này không ảnh hưởng trực tiếp đến thiết bị. Nó dùng để xóa đi
các cấu trúc tham số đã được đặt trong DX_CAP và trong DV_TPT.
dx_clrcap( ): clear DX_CAP structure
dx_clrtpt( ): clear DV_TPT structure
m. Extended attribute: retrieve device information
Có rất nhiều hàm trong lớp này. Chúng trả về những thông tin tả về
những thiết bị âm thanh được hiển thị trong hàm gọi.
4.4.7. Chi tiết một số hàm đã được đề cập
int dx_open(namep,oflags)
char *namep: tên thiết bị cần mở
int oflags: reserved
return: >0 thành công, -1:failure
146
include: <srllib.h>, <dxxxlib.h>
Một thiết bị có thể mở nhiều hơn một lần bởi nhiều process.
Ghi chú: Quá trình con không thừa kế được device handle của quá trình
cha, nếu muốn sử dụng phải open
Khi hàm trả về -1, nếu muốn biết nguyên nhân thì kiểm tra errno để biết:
EINVAL: Invalid Argument
EBADF: Invalid file descriptor
EINTR: A signal was caught
EIO: Error during a Windows 95 STREAM open
int dx_close(dev)
dev: device handle
return: 0 thành công, -1 thất bại
include <srllib.h>, <dxxxlib.h>
Chú ý: Hàm này chỉ giải phóng handle chứ không đóng thiết bị lại, chỉ
handle đó là không sử dụng được, các handle khác của cùng thiết bị vẫn hoạt
động bình thường.
Errno EINVAL: Invalid Argument
EBADF: Invalid file descriptor
EINTR: A signal was caught
int dx_setevtmsk(chdev, mask)
chdev: channel device handle
unsigned int mask: mặt nạ của những sự kiện chờ đợi
return: 0 thành công, -1 thất bại
include <srllib.h>, <dxxxlib.h>
Hàm này cho phép phát hiện một hoặc nhiều sự kiện. Có thể sử dụng
đồng bộ hoặc bất đồng bộ để đợi sự kiện CST.
Mặt nạ msk: có thể là một hoặc nhiều (OR các sự kiện lại với nhau) sự
kiện CST đã được chúng ta tìm hiểu trong phần các sự kiện. Ở đây ta chỉ thay
chữ DE_xxx bằng DM_xxx (device event bằng device mask)
Chú ý rằng hàm này không phát hiện được sự kiện tone.
147
int dx_getevt(chdev, eblkp, timeuot)
chdev: channel device handle
DX_EBLK *eblkp: Pointer to Event Block Structure
int timeout: timeout value in seconds
return: 0 if success, -1 if failure
include <srllib.h>, <dxxxlib.h>
Hàm này được sử dụng để kiểm soát các kênh truyền một cách đồng bộ
để chờ nhận những sự kiện được quy định rõ trong dx_setevtmsk( ). Hàm này
chặn sự thực thi của chương trình chính lại cho đến khi nó hoàn tất, tức là nó
đã nhận được một sự kiện thỏa đáng hoặc timeout xảy ra.
Thời khoảng timeout chỉ rõ số giây mà hàm phải chờ cho đến khi kết
thúc. Các giá trị có thể có là:
# of seconds: số giây chờ. Nếu sau khoảng thời gian này mà
không có sự kiện xảy ra, hàm sẽ kết thúc.
-1: nó sẽ chờ mãi mãi cho đến khi có một sự kiện xảy ra.
Không được timeout.
0: hàm sẽ trở về ngay lập tức nếu không có sự kiện hiện diện.
Nếu hàm timeout, nó sẽ trả về một lỗi và lỗi này được xác định bằng các
hàm định lỗi (ATDV_LASTERR ® EDX_TIMEOUT)
int dx_sethook(chdev, hookstate, mode)
chdev: channel device handle
hookstate: trạng thái hook, bao gồm hai trạng thái:
DX_OFFHOOK: nhấc máy.
DX_ONHOOK: gác máy.
mode: có hai kiểu, đồng bộ : EV_ASYNC, bất đồng bộ:
EV_SYNC.
return: 0 if success, -1 if failure
include <srllib.h>, <dxxxlib.h>
short dx_playvox(chdev, filenamep, tptp, xpbd, mode)
chdev: channel device handle
char *filenamep: pointer to name of file to play
148
DV_TPT *tptp: pointer to parameter block
DX_XPB *xpbp: pointer to I/O transfer parameter block
Unsigned short mode: play mode
return: 0 if success, -1 if failure
include <dxxxlib.h>
Hàm này play một file VOX có sẵn.
Tham số tptp dùng để chỉ điều kiện kết thúc. Khi đang play, gặp một
trong những điều kiện này, hàm sẽ kết thúc không điều kiện.
Tham số xpbp dùng để chỉ vào bảng tham số đường truyền, trong đó quy
định rõ dải âm tần, kiểu truyền… chúng ta nên đặt tham số này là NULL, nó
sẽ được sử dụng mặc định
Mode một/hoặc cả hai trong hai kiểu sau phải được chỉ định rõ (nếu là cả
hai phải dùng hàm OR):
PM_TONE: play 200ms audible tone
EV_SYNC: synchronous operation
int dx_getdig( chdev, tptp, digitp, mode);
chdev: channel device handle
DV_TPT *tptp: pointer to termination parameter
table structure
DV_DIGIT *digitp: pointer to user digit buffer
structure
unsigned short mode: asynchronous/synchronous
setting mode
return:
0 if success initiation (asyncronous).
Number of digits (+1 for NULL) if successful (in mode synchronous)
-1 if failure
• include <srllib.h>, <dxxxlib.h>
Hàm này đảm nhận chức năng nhận một loạt số từ kênh được chỉ định.
Khi hoạt động ở chế độ bất đồng bộ, hàm này sẽ trả về giá trị 0 ngay lập
tức để báo hiệu đã khởi động thành công. Nó sẽ phát ra một tín hiệu kết thúc
khi nhận xong.
Ở chế độ mặc định, hàm này hoạt động ở chế độ đồng bộ. Khi kết thúc
thành công, nó sẽ trả về một giá trị chính là số con số nhận được thực sự.
149
int dx_clrdigbuf(chdev)
• chdev: channel device handle
• return: 0 if success, -1 if failure
• include <srllib.h>, <dxxxlib.h>
Hàm này được dùng để xóa các số hiện diện sẵn trong digit buffer của thiết bị
cứng.
150
5. TÍCH HỢP MODULE TỔNG HỢP TIẾNG VIỆT VÀ
CÁC CHUẨN TÍCH HỢP TIẾNG NÓI
5.1. Hệ thống thông điệp tích hợp (Unified Message System)
Hệ thống UMS của Netnam được xây dựng cho các ứng dụng đọc thư
điện tử bằng tiếng Anh, tiếng Trung và tích hợp thêm phần tiếng Việt của
Vnvoice.
Phần ghép nối Vnvoice vào hệ thống được viết ở dạng thư viện liên kết
động DLL của Windows.
Gồm các hàm sau:
EsiTtsSetEngine
EsiTtsInitialize
int EsiTtsProcess
EsiTtsUninitialize
Tổ chức thư mục
Thư mục chứa ETTSVNAM.DLL (ETTSName)
Thư mục chứa VOICE.DAT (PathVoice)
Công thức: để thuận tiện, nên xác định thư mục chứa vnvoice.dat như sau:
Thư mục chứa
voice.dat=thư mục chứa ETTSVNAM.DLL+ \DBVOICE\KHANH_HN_48
Tham số voice: gồm tham số silence
silenceWord: khoảng lặng giữa 2 từ (1- 100ms)
silenceSentence: khoảng lặng giữa 2 câu (1- 300ms)
Chương trình test
Test ETTSVNAM.exe trên Windows 98 (debug version)
151
Hình 5-49- Giao diện chương trình kiểm tra ETTVSNAM
• Mục đích: kiểm tra modul ETTSVNAM.DLL
• Tính năng: tổng hợp từ tiếng Việt và Play ra Sound Card, file dữ liệu dạng Waveformat.
• Cách thực hiện:
Bước 1:
- Test-> Register
152
- Thoát khỏi chương trình, dùng tiện ích file, chẳng hạn Windows
Explorer
- Copy ETTSVNAM.DLL vào thư mục với giá trị của ETTSName
- Copy VNVOICE.DAT vào thư mục với giá trị của PathVoice
Bước 2:
- Soạn thảo text trong RichEdit
- Test-> Play-> To Sound Card
Mô tả chương trình nguồn bằng ngôn ngữ VC++
count of written words=0;for each word in the text{
if (count of written words > 128){
szCustPara[0]=1;SetFilePointer(hFile,0,NULL, FILE_BEGIN);
(*piFileSizeCounter)=0;count of written words=0;
153
} // ifcount of written words++;ConvertWordToRawData(word, pInt16, &lenInSamples);if(g_format==U_LAW_PCM_8KHZ_8BITS)RawToULaw(pInt16, lenInSamples, fs, lpOut, &lenOut);else if(g_format== A_LAW_PCM_8KHZ_8BITS)
RawToALaw(pInt16, lenInSamples, fs, lpOut, &lenOut);if(g_format!=-1){
WriteFile(hFile,(LPCVOID)lpOut,(DWORD)lenOut,&dwWritten,NULL);
(*piFileSizeCounter)+=(int)dwWritten;} // if
} // forUnmapViewOfFile(piFileSizeCounter);
Khi gọi hàm EsiTtsProcess nếu szCustPara[0]==1 thì đặt lại szCustPara[0]=0 && đọc tại đầu file
#define DLLEXPORT extern "C" __declspec(dllexport)// szCustPara, iCPSize hiện thời chưa sử dụng
// chưa hỗ trợ A_LAW format.
DLLEXPORT int EsiTtsSetEngine(int iFormat, int iLine, LPCSTR
szCustPara, int iCPSize)
{
if(iFormat==2)g_format=A_LAW_PCM_8KHZ_8BITS;
else if(iFormat==3)g_format=U_LAW_PCM_8KHZ_8BITS;
elseg_format=-1;
g_line=iLine;return 0;} // EsiTtsSetEngine
154
// szCustPara, iCPSize hiện thời chưa sử dụng// chưa hỗ trợ A_LAW format.DLLEXPORT int EsiTtsInitialize(int index,LPCSTR szCustPara,int iCPSize){// Đọc tham số đăng ký, nạp dữ liệu voice vnvoice.dat trong thư mục
\\dbvoice\\khanh_hn_48// ....//return 0;} // EsiTtsInitialize
// szCustPara, iCPSize hiện thời chưa sử dụng// chưa hỗ trợ A_LAW format.DLLEXPORT int EsiTtsUninitialize(int index, LPCSTR szCustPara, int iCPSize){// ...return 0;} // EsiTtsUninitialize// szCustPara, iCPSize hiện thời chưa sử dụng// chưa hỗ trợ A_LAW format.DLLEXPORT int EsiTtsProcess(int index, HANDLE hFile,
LPCSTR szInputText, int iInputSize, HANDLE hTtsFileSizePtrMapping, LPCSTR szCustPara, int iCPSize)
{extern __int16 *pInt16;extern LPBYTE lpOut;extern int fs; // 11025(KHz), 8000(KHz)...
int lenInSamples,lenOut;DWORD dwWritten;
int *piFileSizeCounter=(int*)MapViewOfFile(hTtsFileSizePtrMapping,FILE_MAP_ALL_ACCESS, 0, 0, 0);
if(piFileSizeCounter==NULL){
155
MessageBox(NULL,"MapViewOfFile","Error!",MB_ICONERROR);return ERROR_CODE;
} // iffor each word in the text{
ConvertWordToRawData(word, pInt16, &lenInSamples);
if(g_format==U_LAW_PCM_8KHZ_8BITS)RawToULaw(pInt16, lenInSamples, fs, lpOut, &lenOut);else if(g_format== A_LAW_PCM_8KHZ_8BITS)
RawToALaw(pInt16, lenInSamples, fs, lpOut, &lenOut);
if(g_format!=-1){
WriteFile(hFile,(LPCVOID)lpOut,(DWORD)lenOut,&dwWritten,NULL);
(*piFileSizeCounter)+=(int)dwWritten;} // if
} // forUnmapViewOfFile(piFileSizeCounter);return 0;
} // EsiTtsProcess
5.2. Cổng thoại 3i
5.2.1. Điều khiển voice menu – Callflow
Như cách tương tác thông thường với các ứng dụng thông qua thực đơn
(trong các giao diện văn bản, đồ hoạ…), các ứng dụng trả lời tự động bằng
tiếng nói trên điện thoại cũng giao tiếp với người dùng thông qua cấu trúc
menu bằng tiếng nói thuần tuý hoặc kết hợp với bàn phím số hạn chế trên
điện thoại. Tuy nhiên, cách xử lý các menu này khó khăn hơn nhiều so với
cách xử lý menu truyền thống. Voice menu có các đặc điểm sau:
- Phải kiểm soát thời gian người dùng lựa chọn chức năng trên menu
(nếu quá dài phải huỷ bỏ chức năng này hoặc hệ thống ngừng phục vụ cuộc
gọi này).
156
- Kiểm soát sự kiện nhấn phím trong khi vẫn phải ra các lời nhắc bằng
tiếng nói trên menu item. Việc này gây ra khó khăn trong khi đồng bộ hoá các
sự kiện riêng rẽ là nhấn phím, phát hoặc ngừng phát tiếng nói trên điện thoại.
- Kiểm soát số lần truy cập không hợp lệ, nếu vượt quá một giới hạn lần
hệ thống sẽ ngừng phục vụ.
Hình 5-50- Hệ thống thao tác dọc và duyệt thư thoại.
5.2.2. Xử lý đồng thời nhiều cuộc gọi
Để xử lý được nhiều cuộc gọi đồng thời (một card Diaglogic loại nhỏ có
từ 4-12 cổng IO, cho phép xử lý đồng thời 4-12 cuộc gọi) hệ thống sẽ được
thiết kế thành các luồng, tiến trình con chạy song song với nhau. Các tiến
trình này được đồng bộ hoá với nhau theo các sự kiện, chẳng hạn:
- Đồng bộ hoá các sự kiện người dùng (phím bấm, thời gian…)
- Đồng bộ hoá các sự kiện âm thanh, kết thúc bình thường hoặc do hệ
thống áp đặt (do quá thời gian quy định khi truy cập một chức năng của hệ
thống).
157
5.2.3. Phát tiếng nói trên điện thoại
Tiếng nói trên điện thoại có tần số thấp, từ 4KHz - 8KHz. Trên đường
truyền, tín hiệu có thể bị ảnh hưởng bởi nhiễu, ngoài ra với các tín hiệu điện
thoại di động người ta còn áp dụng các kĩ thuật mã hoá tiếng nói để tối ưu hoá
dải tần. Do vậy nói chung chất lượng âm thoại kém hơn so với chất lượng âm
thanh trên card âm thanh. Để nghe được tiếng nói rõ hơn, như truyền thống hệ
thống đã dùng một giọng phát thanh viên nữ.
Module tích hợp Vnvoice vào hệ thống viết ở dạng thư viện DLL với các
hàm API như sau:
BOOL WINAPI AddClientString(LPSTR st);
char** WINAPI GetSentence(int &countSentence,BOOL &bVietnamese);
void WINAPI SetFontAsDefault(char *);
void WINAPI FreeTTSResult(__int16* &pTTSSample)
BOOL WINAPI SentenceToRaw(char** sentence, int countSentence,
__int16* &pTTSSample, int &countTTSSample)
Cách tích hợp được thực hiện qua các lời gọi hàm:
Input: Bộ nhớ buff chứa văn bản text tiếng Việt hoặc tiếng Anh.
Output: Bộ đệm chứa sóng âm tổng hợp được pTTSSample
countTTSSample số mẫu tín hiệu tổng hợp được
Giải mã sau minh họa cách thực hiện lời gọi hàm:
DllAddClientString(buff);BOOL bVietnamese;char **sentence;__int16 *pTTSSample;int countTTSSample;
while(1){
bVietnamese=TRUE;sentence=GetSentence(bVietnamese, countSentence);if(sentence==NULL)
break;// Chuyen doi sang raw
158
if(bVietnamese==TRUE){
pTTS=NULL;DllSentenceToRaw(sentence, countSentence,
pTTSSample, countTTSSample);// do some thing// ...DllFreeTTSResult(pTTSSample);
}// ifelse
{// using English TTS Engine
}// else
}// while
Cách tích hợp trên là cho mô hình không đồng bộ, vì vậy khá dễ dàng
thực hiện ghép nối giao diện giữa các thành phần của hệ thống và cô lập lỗi.
5.2.4. Lập trình tích hợp card Dialogic vào ứng dụng
Tuy rằng các chức năng cho xử lý điện thoại và âm thanh đã được tích
hợp sẵn trên card Dialogic, việc lập trình xử lý card Dialogic khá phức tạp do
trên Dialogic đã tích hợp rất nhiều chuẩn. Lập trình trên Dialogic có liên quan
chặt chẽ với việc vận dụng các hàm API của thư viện chuẩn TAPI, lập trình
mức thấp cho card âm thanh (ở đây cũng chính là card Dialogic), chuyển đổi
định dạng âm thanh, điều khiển các sự kiện...
Thu tiếng nói vào từ telephone trong thời gian thực là không dễ dàng.
Hiển nhiên rằng không thể đủ bộ nhớ để lưu tín hiệu được nói vào liên tục.
Trong hệ thống này, chúng tôi đã sử dụng nhiều tính chất sâu về hệ thống của
Windows, tổ chức dữ liệu theo kiểu bộ đệm vòng đảm bảo việc đồng bộ dữ
liệu theo các khung tiếng nói, mỗi đoạn là 64 mẫu (xấp xỉ 8 mili giây nếu thu
tiếng với tần số lấy mẫu là 8KHz).
Số TT Tên card Hình
159
1Dialogic D 4PCI
Plug-in card - PCI, Cable - 64 Kbps
2Dialogic D 120JCT-LSPlug-in card - PCI, Cable
3Dialogic SingleSpan 240PCI
Plug-in card - PCI, Cable - 1.544 Mbps
4Dialogic D 80-PCI
Plug-in card - PCI, Cable - 64 Kbps
5Dialogic D 41EPCI
Plug-in card - PCI, Cable - 64 Kbps
Bảng 5-1- Danh sách một số card Dialogic.
5.2.5. Một số thuật ngữ
PBX - Private Board Exchange: tổng đài nội bộ
PSTN - Public Switched Telephony Network: mạng chuyển mạch
CTI - Computer Telephony Integrated: tích hợp máy tính và điện thoại
TAPI - Telephony Application Programming Interface (Microsoft API
dành cho các ứng dụng CTI)
DTMF - Dual tone multi-frequence: xung quay số đa tần
Port, Line: Tài nguyên điều khiển một cuộc gọi, một hệ thống với 8 port
có thể điều khiển được 8 cuộc gọi đồng thời. Trên mạng thoại các port này được
đăng ký theo nhóm (dịch vụ số trượt), người sử dụng chỉ cần nhấn một số điện
thoại trong nhóm. Mạng điện thoại sẽ tự động trượt sang port khác nếu đường
line này đang bận.
TTS – Text-to-Speech: bộ tổng hợp tiếng nói.
PSOLA – pitch synchronous overlap add.
TD-PSOLA – Time domain pitch synchronous overlap add : cộng chồng
đồng bộ tuyến tính tần số cơ bản F0 miền thời gian:
Đây là thuật toán kinh điển cho tổng hợp theo phương pháp ghép nối âm cơ
bản. Thuật toán này dùng để thay đổi tần số cơ bản F0, trường độ của âm gốc.
Text processing, text normalize: xử lý văn bản, chuẩn hoá văn bản.
GSM – Global system for mobile telecommunication protocol.
160
CELP – Code Excited Linear Prediction.
ASR - Automatic-speech-recognition: Nhận dạng tiếng nói tự động.
Speaker Dependent Recognition: hệ thống nhận dạng tiếng nói cho một
hoặc một vài người nói đã xác định. Các hệ thống này có thể có lượng từ vựng
rất lớn, nhưng yêu cầu thời gian huấn luyện lâu.
Speaker Independent Recognition: hệ thống nhận dạng tiếng nói cho một
người nói bất kỳ. Nói chung, những hệ thống này hoạt động tốt cho bộ từ vựng
nhỏ, sự đồng âm giữa các từ là thấp hoặc trong một ngữ cảnh xác định của các
câu nói.
Speaker verification – Speaker recognition: nhận biết người gọi dựa
trên đặc trưng giọng nói của người đó.
VoiceXML – Voice eXtensible Markup Language: một ngôn ngữ script để
viết các ứng dụng và dịch vụ Web với tính năng tiếng nói. Hiệp hội VoiceXML
có khoảng hơn 400 công ty trên thế giới tham gia.
Voice Portal: cổng tiếng nói hay còn gọi là cổng thoại.
NLP – Natural Language Processing: kĩ thuật xử lý ngôn ngữ tự nhiên,
trong các hệ thống TTS, Voice Portal thường áp dụng các kĩ thuật NLP để phân
đoạn văn bản thành các câu, câu thành các từ (tiếng Việt không có ranh giới giữa
các từ một cách rõ ràng) và hiểu câu (câu truy vấn thông tin...).
5.2.6. Tích hợp điện thoại và máy tính
Hiện nay, Công nghệ Thông tin và Viễn thông đã trở nên hội tụ, dễ nhận
thấy là các máy điện thoại di động cao cấp với tính năng truy cập Web, gửi e-
mail.
Ngược lại, khả năng xử lý của máy tính cũng có thể được sử dụng cho các
chuyển mạch điện thoại, như các tổng đài nội bộ PBX (xem phụ lục 4) thường
được xây dựng với các đường CTI. Các đường này chuyển các thông điệp từ các
chuyển mạch đến máy tính để thể hiện sự thay đổi trạng thái của cuộc gọi như
phát hiện cuộc gọi mới, kết thúc cuộc gọi, và ngược lại đường liên kết CTI sẽ
chuyển các lệnh từ máy tính tới chuyển mạch để thực hiện các thao tác như trả
lời, chuyển cuộc gọi…
Đường CTI có thể là đường RS-232, Ethernet…
161
Các hệ thống CTI cho phép truy cập cơ sở dữ liệu qua đường điện thoại
trong một hệ thống dữ liệu hợp nhất như fax, e-mail, voice-mail…
5.2.6.1 Chuẩn lập trình TAPI
Là một tập hợp các hàm API cho phép lập trình điều khiển, quản lý mọi
kết nối thông tin giữa máy tính và điện thoại. TAPI gồm các API cho line
(đường dây) và phone (điện thoại).
Chuẩn cho line: mô phỏng đường line, các ứng dụng TAPI có thể dùng
nhiều device hơn số line hiện có của PC, chẳng hạn một ứng dụng TAPI có thể
cung cấp các tính năng như nhận điện thoại, fax. Nếu PC chỉ có một line vào thì
TAPI sẽ chia xẻ đường truyền giữa các chuẩn thiết bị này. Cách chia xẻ tài
nguyên sẽ được thực hiện thông qua một hàng đợi.
Hình 5-51- Kiến trúc phân tầng TAPI
Chuẩn cho phone: Nó cho phép mô phỏng chức năng điện thoại trên máy
tính, với sound card và microphone có thể mô phỏng tất cả các chức năng của
điện thoại cố định. TAPI 3.0 tương thích với kiến trúc WOSA (Windows Open
Services Architcture)
5.2.6.2 Dialogic
Intel Dialogic là một trong những công ty cung cấp các giải pháp CTI lớn
nhất. Các họ sản phẩm của Dialogic rất đa dạng, bao gồm các giải pháp cho các
ứng dụng nhỏ tới ứng dụng lớn với hàng trăm cổng, thiết bị có thể ghép nối với
PC hoặc máy chủ với các ứng dụng tích hợp sẵn như tổng hợp, nhận dạng tiếng
nói, truyền và nhận fax, xử lý Internet phone.
162
Giao diện của Inter Dialogic bao gồm cac loại: D4/PCI, D/120JCTTM,
D/240JCT-T1TM ...
Có nhiều loại card Dialogic với tính năng khác nhau như:
+ card PCI 32 bit, PCI 64bit.
+ card có chức năng có thể đồng thời phát âm và ghi âm (song công)
hoặc chỉ thực hiện được một chức năng tại một thời điểm.
+ card tích hợp sẵn các dịch vụ Fax, Internet phone, nhận dạng tiếng nói..
Hệ thống cổng thoại 3i chỉ sử dụng card D4/PCI là loại card PCI 32bit,
không thể phát và thu đồng thời, không tích hợp sẵn các dịch vụ Fax, Internet
phone, nhận dạng tiếng nói...
5.2.6.3 Chuẩn VoiceXML
VoiceXML là một “HTML” cho các ứng dụng tích hợp điện thoại. Nó che
giấu chi tiết về nền điện thoại để cung cấp khả năng phát triển nhanh các ứng
dụng tiếng nói, truyền thông đa dạng. Nó sử dụng công nghệ nhận dạng tiếng nói
và DTMF như các đầu vào và dùng công nghệ tổng hợp tiếng nói để cung cấp
đầu ra.
VoiceXML có các đặc điểm sau:
• Ứng dụng logic tách biệt với giao diện tiếng nói vì thế các doanh nghiệp có
thể tận dụng lại các đầu tư về công nghệ Web và cơ sở hạ tầng.
• Các doanh nghiệp có thể tạo các giao diện tiếng nói trong khi vẫn có giữa
được các chức điều khiển trên ứng dụng logic.
• VoiceXML là một chuẩn cho phép lập trình viên viết một lần và chạy ứng
dụng tại mọi nền.
• VoiceXML độc lập với tiếng nói và môi trường điện thoại nền.
• VoiceXML là một ngôn ngữ script đơn giản. Lập trình viên có thể phát triển
ứng dụng dễ dàng, không phải bận tâm về độ phức tạp của nền…
Các bộ duyệt hỗ trợ chuẩn VoiceXML (gọi là VoiceXML browser) là
thành phần chính để diễn giải và điều khiển các hội thoại. Nó cũng điều khiển
tiếng nói và các tài nguyên thoại.
Thành phần thoại chịu trách nhiệm dò DTMF, thiết lập cuộc gọi, chuyển và
kết thúc cuộc gọi.
163
Để sinh tiếng nói đầu ra, VoiceXML sử dụng các bộ tổng hợp tiếng nói
TTS. Các module ASR được sử dụng để nhận dạng tiếng nói người dùng và
chuyển sang dạng text cho bộ duyệt VoiceXML…
5.2.6.4 Voice Portal
Các hệ thống Voice Portal cho phép truy cập thông tin trên Web site bằng
tiếng nói nghĩa là chúng cung cấp giao diện cho người dùng điện thoại để truy
cập và lấy thông tin từ Web site.
Một hệ thống Voice Portal được tích hợp cả phần cứng và phần mềm như
máy chủ, mạng điện thoại, card tích hợp CTI và các công nghệ tổng hợp, nhận
dạng tiếng nói, các cổng thông tin Web (Web portal).
164
6. CƠ SỞ DỮ LIỆU NGỮ ÂM CHO NHẬN DẠNG VÀ
TỔNG HỢP TIẾNG VIỆT
6.1. Giới thiệu
Phần này sẽ giới thiệu về tiến trình xây dựng các cơ sở dữ liệu (CSDL)
phân tích tham số âm học, gán nhãn đơn vị tiếng nói cho tiếng Việt. CSDL
tiếng nói này được xây dựng nhằm đáp ứng việc nghiên cứu tiếng Việt. Dữ
liệu được ghi âm bằng máy phân tích âm chuyên dụng CSL của Kay với định
dạng 16 bit, mono, 16 bit intel PCM (LSB, MSB) thu ở môi trường tự nhiên
và phòng bá âm của Trung tâm Ngữ âm học – Viện Ngôn ngữ học. Việc
nghiên cứu tiếng nói, phải dựa trên một nguồn dữ liệu lớn về tiếng nói bao
quát các ảnh hưởng như giới tính, tuổi tác, kiểu văn bản, kiểu đọc. CSDL
được lựa chọn để phục vụ cho việc nghiên cứu tiếng Việt tập trung vào 2 mục
đích chính 1) xây dựng một hệ thống dữ liệu cho tổng hợp tiếng Việt 2) xây
dựng hệ thống dữ liệu cho nhận dạng lệnh, đọc chính tả và bước đầu cho phân
lớp, nhận dạng người nói.
CSDL tiếng nói là cơ sở hạ tầng cho cả việc nhận dạng và tổng hợp tiếng
nói. Trong hệ thống nhận dạng, dữ liệu tiếng nói được sử dụng làm các tập
huấn luyện cho các bộ nhận dạng để xác định các tham số của các mô hình
nhận dạng, ví dụ như các hệ số trọng số của nơron trong mô hình mạng
Nơron, hay xác suất xuất hiện của các trạng thái, xác suất chuyển đổi trạng
thái trong mô hình Markov ẩn. Với một dữ liệu tiếng nói đủ lớn và thuật toán
hợp lý hiệu quả nhận dạng sẽ đạt được kết quả tối ưu. Hơn nữa, dữ liệu tiếng
nói sẽ còn được sử dụng để kiểm tra hiệu quả làm việc của hệ thống, qua đó ta
có thể đánh giá khả năng nhận dạng của hệ thống cũng như so sánh các hệ
thống khác nhau.
Đối với các hệ thống tổng hợp, dữ liệu tiếng nói sẽ cung cấp một hệ
thống các đơn vị âm cơ bản (phụ âm đầu, nguyên âm, vần) để có thể xây dựng
thành từ, đoạn hay câu để có thể phát âm.
Nguyên tắc chung khi xây dựng một dữ liệu tiếng nói là dữ liệu sẽ chứa
đựng các từ và câu thường xuyên sử dụng nhất. Ngoài ra, dữ liệu bao gồm đủ
lớn các biến thể để có thể hỗ trợ tạo ra ngôn ngữ nói tự nhiên và linh hoạt. Do
165
đó, mỗi dữ liệu tiếng nói bao hàm một trong những mục tiêu sau: bao quát về
mặt ngữ nghĩa, bao quát về mặt cú pháp, bao quát về mặt ngôn điệu và bao
quát về mặt từ. Tuy nhiên để đảm bảo được đồng thời những mục tiêu trên là
rất khó. Thông thường, các từ, các câu và các đoạn cố gắng được lựa chọn sao
cho chứa đựng tất cả các phụ âm, vần, phong phú về ngữ cảnh (context) và đa
dạng về từ vựng, ngữ nghĩa và cú pháp, đầy đủ về thanh điệu.
Cơ sở dữ liệu được chia thành ba phần:
- Dữ liệu dùng để huấn luyện. Bao gồm 60% tổng số dữ liệu của hệ cơ sở
dữ liệu.
- Dữ liệu phát triển. Bao gồm 20% tổng số dữ liệu của hệ cơ sở dữ liệu.
Dữ liệu này được dùng để hoàn thiện, điều chỉnh các thông số của hệ
thống nhận dạng trong quá trình phát triển hệ thống nhận dạng.
- Dữ liệu kiểm tra: Bao gồm 20% tổng số dữ liệu của hệ cơ sở dữ liệu. Dữ
liệu này được dùng để đánh giá độ chính xác nhận dạng của hệ thống.
Để cho khách quan giọng người nói trong tập dữ liệu phát triển và dữ
liệu kiểm tra không có mặt trong tập dữ liệu huấn luyện. Điều này tránh
hệ thống nhận dạng với giọng nói mà nó đã được huấn luyện trước.
6.2. Ghi âm cho CSDL
Để ghi âm và quản lý tín hiệu được ghi, chúng tôi sử dụng thiết bị CSL
của Kay với phần mềm chạy trên hệ điều hành Window9x và WindowsNT,
với micro Shure. Tín hiệu sẽ được lấy mẫu 16 bit, mono, tần số lấy mẫu
11025.
Hình 6-52. Phổ tiếng nói của câu
166
Mục tiêu của CSDL là ghi âm trong nhiều điều kiện môi trường khác
nhau, tuy nhiên ở giai đoạn đầu việc thu âm được thực hiện tại phòng thu và
môi trường văn phòng. Giai đoạn sau chúng tôi đã tiến hành thu âm ở môi
trường bình thường. Các tín hiệu thu được được phân tích và sử dụng, qua đó
được đánh giá và chỉnh sửa nếu cần thiết để có thể phục vụ cho những lần thu
tiếp theo.
Công việc ghi âm tưởng chừng là đơn giản nhưng lại là một công đoạn
tốn nhiều thời gian nhất trong việc xây dựng CSDL. Nhất là việc tiến hành
thu âm 300 giọng cho nhận dạng lệnh. Để đảm bảo số lượng dữ liệu chúng tôi
đã phải thu âm ở những môi trường khác nhau thậm chí môi trường có nhiều
nhiễu và tiếng ồn (trường học, kí túc xá, cơ quan…). Mỗi người đọc một bảng
từ gồm 193 âm theo đúng yêu cầu chậm rãi, rõ ràng khoảng cách giữa các âm
đều nhau. Chúng tôi đã mất khoảng 2-3 phút hướng dẫn và 4-5 phút đọc. 300
người với những cách đọc khác nhau (nhanh, chậm, to, nhỏ, ngọng, lẫn tiếng
ồn) đã gây rất nhiều khó khăn cho chúng tôi trong quá trình phân tích dữ liệu.
Kinh nghiệm cho chúng tôi nhận thấy rằng việc lựa chọn dữ liệu không nên
quá lớn trong một phiên ghi âm để tránh không gây mệt mỏi cho những người
thực hiện thu âm, bảng từ cần phải được bố trí một cách khoa học: những âm
tiết gần âm không nên xếp gần nhau, những âm tiết đọc rời được xếp cùng với
nhau, những âm đọc liền xếp cùng với nhau và cần có những hướng dẫn cụ
thể trước khi thu âm. Cho người đọc đọc thử một vài lần sau đó mới tiến hành
thu âm. Nếu người đọc đọc sai, nhầm âm tiết nào thì đọc lại âm tiết đó, nhất là
đối với những âm tiết có âm đọc gần giống nhau (ngờ, phờ, cờ, chờ, nhờ, thờ;
bê, xê, dê, đê, tê, vê, ngờ-kép, ngờ-ghép, gờ-kép, gờ-ghép…). Đối với nhận
dạng chính tả và tổng hợp thì quá trình thu âm có đỡ vất vả hơn vì chỉ tiến
hành thu với một người tuy nhiên khối lượng dữ liệu cần đọc tương đối lớn
tổng cộng hơn 800 câu cho cả nhận dạng và tổng hợp.
Việc đánh giá dữ liệu thu được thực hiện thông qua việc đánh giá chất
lượng mỗi trường thu, âm lượng và xem xét tỉ số tín hiệu trên nhiễu. Chúng
tôi nhận thấy rằng các kết quả thu là tương đối tốt và chấp nhận được.
167
6.3. Dữ liệu cho nhận dạng tiếng Việt
6.3.1. Nhận dạng lệnh
Để có được một CSDL tiếng nói, trước tiên chúng ta phải có một dữ liệu
văn bản dành cho ghi âm sao cho thoả mãn yêu cầu đặt ra. Trong nhận dạng
lệnh chúng tôi có yêu cầu người nói đọc một bảng từ gồm 193 âm tiết rời rạc
được chia thành các bộ lệnh khác nhau chẳng hạn bộ lệnh của IE (Internet
Explorer). Những lệnh này được chia thành hai kiểu đọc.
Tổ hợp từ: yêu cầu đọc liền
Ghi Trang ngầm địnhIn Tải lại trangTuỳ chọn in Xem mã nguồnXem để in Toàn màn hìnhGửi nội dung Trang ưa thíchGửi địa chỉ Gửi thưThuộc tính Đọc thưNgừng kết nối mạng Tuỳ chọnXoá Trợ giúpCopy Từ điển lệnhDán Ghi tệpChọn hết Ghi fileTìm kiếm
Âm tiết thành phần: yêu cầu đọc rời
Ghi NốiIn MạngTìm TừKiếm ĐiểnTuỳ LệnhChọn ThựcHết HiệnXem ĐóngĐể MởGửi DừngNội TiếnDung ĐóngĐịa TiếpChỉ Lùi
168
Thuộc FileTính TệpTrang ThoátNgầm ƯaĐịnh ThíchTải TrợLại GiúpMã NgừngNguồn KếtToàn HìnhMàn
Số và chữ cái: yêu cầu đọc rời, rõ ràng
bộ sốkhông sáumột bẩyhai bảyba támbốn chín năm mườibộ lệnhchấm europhẩy tổngtriệu hiệutrăm tíchnghìn thươngchục mốttá đômươi lalẻ việtlinh namnhăm đồngbộ chữ cáinguyên âm mờâ nờă rờê éte gờo hờô hátơ lét
169
ư rếcha rétu íchi xìphụ âm ngắnbê dàicờ khờca lờchờ ngờcu képdê ghépđê nhờdưới đêtrên đờdờ pêdi pờlờ phờquy quờrờ vêtê vờtờ xêthờ xờnặng nhẹ
chữ cái như là tổ hợp âm: yêu cầu đọc liền
tê e rờ i cờ rétgờ kép e lờgờ ghép e mờngờ ghép e nờngờ kép e rời dài ét xìi ngắn chờ nặngxờ nặng chờ nhẹxờ nhẹ dê đêích xì dê dướii cờ lét dê ii cờ rếch dê trên
Việc lựa chọn người nói cũng là một trong những vấn đề quan trọng.
Những chỉ tiêu quan trọng trong việc lựa chọn người nói là giới tính, tuổi tác,
170
vị trí địa lí, trình độ học vấn, sức khỏe. Những người đọc bảng từ của đề tài
phần lớn là các sinh viên của các trường đại học trên địa bàn Hà Nội. Việc lựa
chọn đáp ứng những yêu cầu sau:
- Giới tính: Nhằm đảm bảo sự cân đối về giới tính, chúng tôi đã cố gắng
lựa chọn sao cho đảm bảo sự cân bằng nam nữ. Tổng số người được lựa chọn
là 300, tuy nhiên số giọng nam là 120 và nữ là 180.
- Tuổi: Tuổi có ảnh hưởng nhiều đến chất lượng tiếng nói, tiếng nói của
con người sẽ ổn định một cách tương đối trong lứa tuổi trưởng thành từ 18
đến 40 tuổi. Đối với CSDL, tuổi được lựa chọn từ 18 đến 50.
- Vị trí địa lý: Việc đáp ứng đủ tất cả các giọng của từng địa phương là
chưa thể thực hiện với điều kiện hiện tại, do đó bước đầu số người lựa chọn
chỉ là những người miền Bắc, mà chưa chọn những người nói giọng từ Thanh
Hóa trở vào.
Với mỗi người chúng tôi yêu cầu đọc bảng từ như đã trình bày ở trên,
thời gian cho một người đọc khoảng 4-5 phút.
Hệ thống nhận dạng lệnh đã thu 300 giọng khác nhau với định
dạng11025Hz, 16 bit, mono trong môi trường bình thường có nhiễu. Dữ liệu
được đánh giá tương đối tốt. Sau khi thu dữ liệu chúng tôi tiến hành hiệu
chỉnh dữ liệu theo các bước sau:
- Với mỗi người đọc chúng tôi lưu vào một file riêng sau khi đã lọc bỏ
nhiễu.
- Sau đó chúng tôi cắt rời từng âm tiết (nếu đó là đọc rời) và tổ hợp âm tiết
(nếu là đọc liền) và mỗi âm lại được ghi thành một file con.
- Trong danh sách các file con của một người đọc chúng tôi tạo một file
Listword liệt kê tất cả tên, số lượng các file dữ liệu của một người đọc.
Như vậy với 300 người đọc chúng tôi sẽ có 300 file, mỗi file người đọc
chứa 193 đơn vị. Tổng cộng chúng tôi sẽ có 57900 đơn vị âm.
- Sau khi dữ liệu được xử lí chúng tôi tiến hành huấn luyện bằng các
phương pháp khác nhau để hiệu chỉnh tham số cho đến khi đạt yêu cầu.
6.3.2. Nhận dạng chính tả
Đối với nhận dạng chính tả phụ thuộc người nói với tập từ vựng là toàn
bộ các âm tiết tiếng Việt về khả năng kết hợp có thể có hơn 19.000 âm tiết
171
nhưng chỉ có hơn 6000 âm tiết có nghĩa được liệt kê trong từ điển. Đầu tiên
chúng tôi tạo khoảng 800 câu text. Các câu text cần đảm bảo:
Tính âm học
Số lượng âm tiết trong câu không nhiều quá tối đa là 40 âm tiết trong
một câu.
Số cú đoạn trong câu.
Hiện tượng ngôn điệu: thanh điệu, trường độ, tính dừng để ngắt hơi
(pause).
Hiện tượng ngôn ngữ: các câu text có đầy đủ các loại câu hỏi, cảm thán,
mệnh lệnh..., đầy đủ các loại từ: từ kép, từ láy, tính từ, trạng từ, danh từ, động
từ…
Phân bố của các đơn vị căn cứ vào:
Tần số xuất hiện lớn nhất của một âm tiết trong câu.
Tần số xuất hiện lớn nhất của một vần trong câu.
Tần số xuất hiện lớn nhất của một phụ âm đầu trong câu.
Tần số xuất hiện lớn nhất của một nguyên âm (đơn, đôi, ba) trong câu.
Phân bố thanh điệu trong câu.
Yêu cầu cụ thể
- Số cú đoạn của mỗi câu (<=2)
- Số âm tiết trên toàn bộ câu. (<= 25).
- Khái quát được các hiện tượng ngôn ngữ nói tiếng Việt.
- Số lượng câu từ 800-1000 câu
Chúng tôi tiến hành thu dữ liệu với một người, là phát thanh viên của
Đài tiếng nói Việt Nam, yêu cầu đọc chậm rãi, rõ ràng từ câu 1 tới câu 800
liên tiếp nhau, giữa các âm tiết khác nhau trong câu có đoạn nghỉ khoảng
300ms. Giữa các ngữ đoạn trong câu (tách nhau bởi các dấu ngắt như dấu ,)
giữa các âm tiết khác nhau trong câu có đoạn nghỉ khoảng 300ms, giữa các
ngữ đoạn trong câu (tách nhau bởi các dấu ngắt như dấu ,) có đoạn nghỉ
khoảng 500ms (0.5s), giữa các câu có đoạn nghỉ dài khoảng 700-1000 ms
(0.7s -1s).
- Số lần đọc: Đọc hết 100 câu thì nghỉ và sau đó lại tiếp tục. Yêu cầu đọc
lại lần 2, như trên, lại lần 3 cho dữ liệu Testing.
172
6.3.2.1 Phân đoạn và gán nhãn
Phân đoạn và gán nhãn là quá trình phân chia tín hiệu tiếng nói thành các
đoạn âm không chồng nhau. Các đoạn âm này tương ứng với một đơn vị ngôn
ngữ được lựa chọn trước và được ghi lại các thể hiện của đơn vị ngôn ngữ đó.
Nói cách khác, đó là quá trình mô tả tín hiệu tiếng nói và lấy ra cấu trúc âm vị
của một ngữ đoạn trực tiếp từ tín hiệu tiếng nói và còn được gọi là quá trình
phân tích âm vị. Như chúng ta đều biết, tín hiệu tiếng nói rất phức tạp. Quan
hệ giữa âm vị và thành phần âm thanh tương ứng không phải là một - một.
Các biên của các đoạn âm thanh không rõ vì tín hiệu chuyển tiếp liên tục từ
âm vị này sang âm vị khác. Vì vậy, sự thể hiện của tiếng nói thành chuỗi các
đoạn được gán nhãn cần được hiểu một cách tương đối hơn là tuyệt đối.
Cấu trúc âm tiết tiếng Việt gồm năm thành phần là phụ âm đầu, vần và
thanh điệu cộng thành. Phần vần lại bao gồm các âm đệm, âm chính (là nguyên
âm đơn hoặc nguyên âm đôi) và âm cuối. Trong một âm tiết tiếng Việt có thể có
nguyên âm ba (triphthong). Việc phân xuất đoạn âm này ra thành từng âm vị rất
khó khăn. Ngoài ra thanh điệu là thành phần siêu đoạn tính lại trải dài trên toàn
âm tiết khi các phụ âm đầu là phụ âm hữu thanh. Vì vậy việc phân xuất âm tiết
được tiến hành cho phụ âm và vần trong CSDL âm.
Một số nguyên tắc được thống nhất nhằm đảm bảo độ chính xác và tính
nhất quán khi phân âm đoạn như sau:
• Sau đoạn nghỉ: Tại điểm bắt đầu của biên độ đầu tiên lớn hơn nhiễu nền
nhìn thấy trên tín hiệu.
• Trước khi nghỉ: Tại điểm cuối của biên độ cuối cùng lớn hơn nhiễu nền
nhìn thấy trên tín hiệu.
• Chuyển tiếp phụ âm hữu thanh - vần: Đánh dấu sự chuyển tiếp dựa trên
âm thanh, năng lượng và ảnh phổ.
• Giữa phụ âm vô thanh - vần: Tại điểm chu kỳ cao độ tần số cơ bản tần
số cơ bản thứ hai của phần vần.
• Đối với các âm tắc: Phân đoạn trước khoảng 20ms cho giai đoạn tắc âm.
173
Hình 6-53. Ảnh phổ của âm tiết kết thúc bằng âm tắc /p/: “hấp tấp”
Khi tiến hành phân đoạn, các tham số tiếng nói như ảnh phổ, năng lượng
và tần số âm cơ bản phối hợp với việc nghe âm thanh để quyết định biên của
các đơn vị ngôn ngữ như trên.
Định vị tiến biên cho các phụ âm xát vô thanh hay phụ âm mũi
/m,n,ng,nh/ tương đối dễ dàng. Phần âm vô thanh không có F0 và điểm phân
âm ở điểm cao độ tần số cơ bản tần số cơ bản thứ hai như đã thống nhất ở
trên. Mức năng lượng của các âm mũi thấp, chuyển tiếp đen - trắng trên ảnh
phổ nhìn rõ, ngoài ra các âm mũi còn tạo ra biến đổi vi ngôn điệu (micro-
prosodic) thể hiện thành các nét gẫy trên hình tuyến của tần số F0.
Quyết định để tách các âm tắc như /b/, âm xát hữu thanh /d/ trong âm tiết
rất khó khăn, tương tự đối với các ngôn ngữ khác, cần phải sử dụng nhiều
màn hình tham số và nghe âm thanh để định biên chúng. Ký hiệu cho nhãn
tiếng Việt sử dụng mã ký tự ASCII và với kiểu bỏ dấu telex quen thuộc. Dấu
và âm cuối được viết hoa để tiện cho việc xử lý sau này. Dấu # đánh dấu điểm
nghỉ ở mỗi ngữ đoạn.
174
Hình 6-54. Ảnh phổ của âm tiết “bắt”
Nói chung, việc phân âm đoạn và gán nhãn là bắt buộc cho nghiên cứu
phân tích, nhận dạng và tổng hợp tiếng nói. Công việc này đòi hỏi nhiều kình
nghiệm và thời gian. Vì vậy, ở các phòng thí nghiệm nghiên cứu tiếng nói
trên thế giới, người ta sử dụng các bộ nhận dạng tiếng nói để tự động hoá
phân đoạn và gán nhãn CSDL âm.
Gán nhãn bằng tay
Gán nhãn (labeling) là công việc xác định ra các ranh giới (boundary)
các âm vị trong một từ. Các nhãn thời gian (time-align label) được tạo bằng
hai cách: gán nhãn bằng tay do người gán nhãn (labeler hay transcriber) thực
hiện bằng tay dựa vào việc đọc các thông tin trên biểu đồ sóng (waveform) và
biểu đồ phổ (spectrogram) hoặc gán nhãn tự động bằng phương thức gán nhãn
cưỡng bức (force-alignment labeling). Sau khi các file dữ liệu được thu,
chúng tôi tiến hành gán nhãn CSDL tiếng nói theo các bước sau:
- Đánh chỉ mục cơ sở dữ liệu
Tập câu 1: 265 câu gồm hai loại, Tập 2 là 800 câu
Loại đọc rời rạc
Loại đọc như tiếng nói tự nhiên
Mỗi tập có 02 giọng nữ
Cơ sở dữ liệu bao gồm các cặp các tệp gồm ba loại tệp:
- Tệp âm thanh lưu ở dạng .raw
175
- Tệp văn bản chứa phiên âm chính tả của các tệp âm thanh ghi ở dạng
.txt
- Tệp chỉ mục được lưu trong các tệp có đuôi .idx
Các cặp được định danh bằng một mã ID duy nhất tương ứng với người
nói. Ngoài ra, tên của tệp còn chứa đựng thông tin về loại thông tin của tệp.
Các tệp văn bản .txt chứa phiên âm chính tả của các từ trong bộ tự điển của hệ
thống nhận dạng. Tệp chỉ mục chứa danh sách các từ, âm tiết tương ứng của
các từ trong phát âm đó và được phân theo từ loại (danh từ, động từ, tính từ,
loại từ...). Mỗi âm tiết, từ sẽ được gán cho hai nhãn thời gian, thời gian đầu và
thời gian kết thúc sự tồn tại của âm tiết, từ đó. Đơn vị đo các nhãn thời gian là
sample và các nhãn thời gian được xác định bởi quá trình gán nhãn bằng tay.
Ví dụ sau là một số các tệp trong cơ sở dữ liệu.
Ví dụ:
utt1.raw : file tiếng nói, 11025Hz, 16 bit, mono
utt1.txt : xâu text nội dung của file tiếng nói (ví dụ : tại sao cậu lại để
râu ria xồm xoàm thế kia)
utt1.idx
Ví dụ
11: chỉ số âm tiết của utt1
9 : chỉ số từ của utt1
trường độ của utt1 đo bằng số sample
tại sao : từ đầu
từ loại : 0-noun, 1- verb,
2 : chỉ số âm tiết của từ đầu
trường độ của từ : đo bằng số nguyên các sample
tại : âm tiết 1 của từ 1
trường độ trong sample
điểm chia âm đầu trong sample
số điểm pitch, nếu chưa quan tâm tới pitch, nó được đặt =0
giá_tri_pitch1
giá_tri_pitch2
176
giá_tri_pitch3…
sao : âm tiết 2 của từ 1
trường độ trong sample
điểm chia âm đầu trong sample
số điểm pitch, nếu chưa quan tâm tới pitch, nó được đặt =0
giá_tri_pitch1
giá_tri_pitch2
giá_tri_pitch3…
cậu : từ thứ hai
từ loại :
1 : chỉ số âm tiết
trường độ của từ : đo bằng số nguyên các sample
cậu : âm tiết 1 của từ 2
trường độ trong sample
điểm chia âm đầu trong sample
số điểm pitch, nếu chưa quan tâm tới pitch, nó được đặt =0
giá_tri_pitch1
giá_tri_pitch2
giá_tri_pitch3..
Việc đánh chỉ mục khá phức tạp do nhiều nguyên nhân:
Thứ nhất, trong tiếng Việt các từ loại không được phân định một cách
rõ ràng. Để xác định chính xác các từ loại trong câu đòi hỏi phải có một tiêu
chuẩn cụ thể và có một hiểu biết đầy đủ về ngữ pháp tiếng Việt.
Thứ hai, công việc đánh chỉ mục chỉ thực hiện được bằng tay mà không
thể dùng tự động nên mất rất nhiều thời gian.
Thứ ba, số lượng dữ liệu tương đối lớn (hơn 800 câu) việc đánh chỉ
mục lại tỉ mỉ đến từng từ, âm tiết nên chắc chắn không tránh khỏi có những
sai sót.
Tuy nhiên, chúng tôi cũng đã hoàn thành công việc này trong vòng 6
tháng với kết quả tương đối tốt.
177
- Sau khi đánh chỉ mục cho tập câu mẫu, chúng tôi tiến hành tiếp tục
phân chia dữ liệu thành các file nhỏ hơn: từ, phụ âm, vần….bằng cách
cắt các âm tiết thành từng phần nhỏ hơn: phụ âm đầu, vần, âm cuối.
Việc phân định ranh giới phụ âm đầu và phần vần không phải lúc nào
cũng thực hiện được vì còn phụ thuộc vào tốc độ đọc, sự luyến âm.
Hình 6-55. Ảnh phổ của hai âm tiết đọc liền nhau
Hình 6-56. Ảnh phổ của một phụ âm đầu
178
Hình 6-57. Ảnh phổ của một vần
- Chúng tôi tạo dữ liệu khoảng 1915 file dữ liệu Training và 421 file dữ
liệu testing cho 19 phụ âm đầu. Đối với vần chúng tôi có 155 vần với 4651
file dữ liệu Training và 1500 file dữ liệu Testing. Đối với vần và phụ âm mỗi
phần lại có file ListWord liệt kê danh sách và tổng số các phụ âm và vần.
6.3.2.2 Danh sách một số câu mẫu
1. Đôi mắt kèm nhèm của bà ta không bao giờ dám nhìn thẳng mọi
người.
2. Nhân dân ta khắc cốt ghi xương, tưởng nhớ những người con đã
hi sinh cho cuộc kháng chiến này.
3. Trông cậu ta khặc khừ như người ốm dở.
4. Giọng nói khô không khốc của ông ta càng làm cho người nghe
thêm khó chịu.
5. Nhân dân vùng lũ lụt đã khôi phục được đường giao thông sau
trận lũ.
6. Hai đoàn đại biểu đã hội đàm trong bầu không khí hiểu biết lẫn
nhau.
7. Nó suốt ngày mất thì giờ vào những việc không đâu vào đâu.
8. Sau câu nói của thủ trưởng, cậu ta không nói không rằng lặng lẽ
bước ra khỏi phòng.
9. Nó lớn rồi nhưng vẫn khờ khạo lắm. Lão ta ôm khư khư cái túi
như sợ bị mất cắp.
179
10. Đêm hôm ấy, tắt đèn lên giường nằm, tôi vẫn thấy cờ đỏ sao
vàng tung bay trước mặt.
11. Được mọi người tin, Nghĩa càng cố gắng.
12. Giặc Mỹ ném thuốc độc, cây chết khô thành củi nỏ.
13. Nghĩa mừng ít, lo nhiều, mà sợ nhất là khó giữ gìn đoàn kết.
14. Hôm nay, tôi tạm ứng cho anh một ít.
15. Dưới nữa, cánh cửa sắt mắt cao đang đóng im lìm.
16. Đào Vân ngồi lầm lầm ở ghế, giọng đanh lại chứ không còn sụt
sùi nữa.
17. Các thứ ấy chỉ bán quanh quẩn trong mấy đường ngõ tối tăm.
18. Buổi tập cày đầu tiên phải bỏ, Nghĩa lủi thủi ra về.
19. Con đường rải nhựa thẳng tắp phẳng phiu.
20. Đường phố hôm nay nườm nượp người qua kẻ lại.
21. Cô ta đã quá lứa lỡ thì, chỉ mong lấy được một tấm chồng.
22. Lão ta rít một hơi điếu cày sòng sọc.
23. Đồng chí thương binh này chỉ bị thương sơ sơ ở phần mềm.
24. Mái tóc dài óng ả xoả phủ bờ vai cô bé.
25. Bà ta là cái gì mà lúc nào cũng tác oai tác quái với mọi người.
26. Phạm Quỳnh nói xong, Bảo Đại hỏi ai có ý kiến gì không.
27. Bếp tắt ngấm tắt ngầm thế này làm sao nấu ăn.
28. Làm gì mà mặt dài đuồn đuỗn ra thế.
29. Hôm nay bị vợ mắng hay sao mà bộ mặt sườn sượt ra thế.
30. Việc ai người nấy làm tại sao cậu phải ôm rơm nặng bụng.
31. Người có bệnh phải ăn uống kiêng khem.
32. Làm cán bộ thấy việc phải giải quyết, chứ không phải quen nghe
người ta ngồi vào mâm.
33. Trời ơi sao lại bắt nhau lên cái nơi sơn lam chướng khí ấy.
34. Đường đến quán trọ nghỉ chân gập ghềnh khúc khuỷu.
35. Chú mèo ngoao ngoao chẳng biết có ý định gì.
180
36. Mười bảy năm với đủ lo toan bận rộn, loay hoay với cuộc mưu
sinh khiến chúng tôi chẳng còn tâm trí nào mà nghĩ về nhau nữa.
37. Đấy, nắng vừa lên, bà đã gánh toòng teng hai cái thúng đậy hai
cái mẹt.
38. Lô đất quy hoạch khu công nghiệp khoảng ba mươi héc ta.
39. Cụ Lý toét hôm nay không say rượu.
40. Đám người chạy huỳnh huỵch ra chỗ hai họ lớn nhất làng đánh
nhau.
41. Trưa nay ông muốn ăn món gì, để tôi chạy ra chợ.
42. Bà Vượng ghé mắt nhìn mâm cơm, mặt cau lại.
43. Lần này thì Thư thật sự bị dồn vào chân tường rồi, không còn
lượn lờ dựa dẫm vào ai được nữa.
44. Đêm qua về đến nhà không thiết rửa ráy, Thư vào ngả người
ngay xuống giường.
45. Đào đi sầm sầm lên nhà trên.
46. Đã sáng một lúc lâu nhưng Thư vẫn chưa muốn dậy.
47. Bên ngoài cửa khoá trái.
48. Anh vẫn mải mê ngắm người bạn đường.
49. Các anh ở chi uỷ ra chỉ thị phải thuyết phục, địch vận chuẩn bị
làm binh biến.
50. Liên không thưa, lững thững từ trong buồng ló ra.
51. Liên lừ thừ lách qua giậu rậm, lần sang với bà Nhẫn.
52. Nó ốm khật khà khật khừ cả tuần nay rồi.
53. Nó ngửa cổ cười khằng khặc một cách khoái chí.
54. Tôi đứng nghe, lòng hồi hộp.
55. Để nguyên chỗ nó phá, đừng lấp.
56. Đám người đi đến đâu, đêm vỡ ra đến đấy trong ánh lửa và tiếng
hò hét thịnh nộ.
57. Cặp má của cô ta núng na núng nính như muốn gợi cho sự ham
muốn của các chàng trai.
58. Con lợn nhà bà ta béo núc ních.
59. Những hạt kim cương bày trong tủ óng a óng ánh.
181
60. Chàng cầm lấy chén nước, lắp bắp cảm ơn, rồi như e thẹn về sự
bất lực của mình, chàng khe khẽ gõ ngón tay lên bàn.
61. Phải biết kiềm chế mình trước những cám dỗ của đồng tiền.
62. Tất cả giải tán ngay.
63. Nên trả lời anh đi thôi.
64. Phất cờ phải theo gió.
65. Không nên làm bận đến thu an.
66. Tất cả im lặng, mọi việc đã có tôi.
67. Dạ xin bác bắt đầu cho.
68. Dứt khoát như thế anh nhé.
69. Anh ghi địa chỉ vào đây để khi cần bộ sẽ có điện gọi anh.
70. Đừng quan trọng hoá vấn đề mà làm cho nó thêm phức tạp.
71. Cậu đừng giả ngô giả ngọng, biết thì nói cho anh em nghe.
72. Ngày mai cậu phải thanh toán các khoản nợ nần đấy nhé.
73. Đừng có đánh bài chuồn là không xong đâu.
74. Dong chúng nó lên xã.
75. Ôi cái thái độ khinh khi của cậu thật khó chịu.
76. Đích thị là nhốt những thằng tù.
77. Đàn ông mà nhận xét tinh ghê.
78. Tôi ra về thích thú vì đã xối lên đầu nhiều tên thực dân cao cấp
một gáo nước lạnh.
79. Nhìn thấy gỗ đẹp gỗ tốt là cứ mắt la mày lét như háu sắc thấy
gái.
80. Thủ đứng lặng lòng tan nát.
81. Lòng nặng trình trịch những lo âu.
82. Sung sướng quá ông ơi.
83. Bây giờ thì biết nó ở góc biển chân trời nào mà tìm.
84. Bác lái đò ơi.
85. Thanh Hóa là tỉnh lớn nhất cả nước, cờ đến tay không phất thì
uổng ông ạ.
182
6.4. Dữ liệu tiếng nói cho phân tích và nhận dạng thanh điệu
6.4.1. Thanh điệu tiếng Việt trong câu
Việc xác định đường nét thanh điệu tiếng Việt và phân tích chúng có một
ý nghĩa quan trọng trong nhận dạng và tổng hợp tiếng nói. Nếu phân loại
chính xác thanh điệu thì số lượng âm tiết phải nhận dạng sẽ giảm được 1/6
lần. Trong tổng hợp tiếng nói theo mô hình tham số hay tổng hợp formant
theo quy luật nếu không xác định chính xác tần số cơ bản thì có khả năng khi
tổng hợp tiếng Việt sẽ tạo ra các âm tiết sai nghĩa so với từ định tổng hợp.
Trong câu liên tục, đường nét của tần số cơ bản F0 của các âm tiết không
còn giữ nguyên như khi phát âm rời rạc. F0 bị biến đổi. Sự biến đổi phụ thuộc
nhiều vào yếu tố ngư âm. Nếu không được mô hình hoá một cách thích hợp
thì tiếng nói tổng hợp không tự nhiên, thậm chí trong trường hợp xấu có thể
nghe không hiểu được.
Thanh điệu tiếng Việt trên các âm tiết phát âm rời rạc đã được nghiên
cứu nhiều và dáng điệu của chúng được khái quát ở dạng sau bởi nhiều nhà
nghiên cứu ngữ âm:
• Thanh ngang: thanh không dấu là thanh tương đối cao, có âm điệu bằng
phẳng, ổn định, không bị yết hầu hoá giống nhau ở tất cả các âm tiết.
Hình 6-58. Mô hình phân tích thanh ngang
183
• Thanh huyền: Thanh huyền được phát âm ở âm vực thấp hơn so với
thanh ngang. Đường nét đi xuống thoai thoải đều từ đầu đến phần cuối
âm tiết.
Hình 6-59. Mô hình phân tích thanh huyền
• Thanh ngã: Thanh ngã có âm vực cao đường nét gãy. Bắt đầu ở độ cao
cao hơn thanh huyền, thấp hơn thanh ngang. Ở giữa ân tiết giảm xuống
đột ngột, hoặc có hiện tượng bị đứt, sau đó lại tăng lên đạt tần số cao
nhất ở cuối âm tiết.
Hình 6-60. Mô hình phân tích thanh ngã
184
• Thanh hỏi: Thanh hỏi bắt đầu với mức cao của thanh huyền, đi xuống
thoai thoải đến giữa vần, giữ bằng phẳng trong một thời gian ngắn và
sau đó lại đi lên cân đối với đường đi xuống. Cao độ tần số cơ bản ở
đầu và cuối âm tiết khoảng bằng nhau.
Hình 6-61. Mô hình phân tích thanh hỏi
• Thanh sắc: Thanh sắc là thanh thuộc âm vực cao đường nét đi lên phụ
thuộc vào loại hình âm tiết và độ dài ngắn của nguyên âm. Ở các âm
tiết không khép, thanh sắc tương đối bằng phẳng đến giữa vần và sau
đó đi lên ở phần cuối âm tiết. Ở các âm khép, thanh sắc có âm vực cao
hơn và có thể đi ngang phụ thuộc vào độ dài âm tiết.
Hình 6-62. Mô hình phân tích thanh sắc
185
• Thanh nặng: Thanh nặng thuộc âm vực thấp, đường nét đi xuống. đối
với các âm không khép, đường nét đi xuống đột ngột ở phần cuối âm
tiết. Còn đối với âm khép đường nét bằng phẳng ở âm vực thấp.
Hình 6-63. Mô hình phân tích thanh nặng
Các hệ thống tổng hợp tiếng Trung Quốc, một ngôn ngữ đã được nghiên
cứu nhiều, đều nghiên cứu tìm các quy luật biến thanh và áp dụng để thay đổi
tần số cơ bản khi tổng hợp để đảm bảo độ tự nhiên của tiếng nói. Để rút ra các
quy luật chính của sự biến đổi thanh điệu trong ngữ lưu đề tài đã tiến hành
thực hiện các bước như sau:
• Cách điệu tần số cơ bản của các âm tiết trong CSDL M1 nhằm nêu bật
được các đường nét đặc trưng của thanh điệu.
• Xác định đường nét đặc trưng tần số cơ bản của các âm tiết mang thanh
điệu khác nhau.
• Xác định sự phụ thuộc của thanh điệu vào thanh điệu các âm tiết đứng
trước và đứng sau nó.
Các thay đổi về cao độ tần số cơ bản chủ yếu được phân biệt bởi vị trí,
điểm cực đại, thời gian và sườn dốc của các đoạn F0 được cách điệu hoá. Cho
đến nay đã ra đời rất nhiều mô hình thanh điệu khác nhau. Các mô hình thanh
điệu này có thể được cho bởi mô hình Fujisaki.
Mô hình âm thanh của Fujisaki đã áp dụng thành công cho nhiều ngôn
ngữ trên thế giới (tiếng Nhật, tiếng Trung Quốc, tiếng Đức…). Fujisaki phân
186
biệt hai loại tác động gọi là lệnh cụm từ và lệnh trọng âm được mô hình hoá
bằng hàm xung và hàm bậc thang. Hai loại lệnh này được tác động qua bộ lọc
tuyến tính bậc hai và tạo ra tần số cơ bản F0 ở đầu ra.
6.4.2. Xác định đường nét đặc trưng của thanh điệu
Việc xác định các đường thanh điệu cũng được diễn ra tương tự như độ dài
phương pháp thống kê trên toàn bộ CSDL. Mục tiêu của phần này là tìm ra độ
dốc của giá trị trung bình cũng như độ lệch tiêu chuẩn cho từng thanh điệu ở các
vị trí khác nhau, trong và cuối một phát âm. Các đường nét đặc trưng cho các
thanh được chuẩn hoá theo thời gian lấy mẫu là 1 giây.
Các số liệu được tính toán để xác định mức độ ảnh hưởng của loại thanh
điệu thuộc các âm tiết ngay trước và ngay sau lên thanh điệu của âm tiết quan
sát. Qua đó rút ra những nhận định về hiện tượng liên cấu âm từ góc độ thanh
điệu và quy luật của sự biến thanh trong câu nói liên tục.
Theo số liệu ở thực nghiệm, các thanh sắc và ngã có đường nét đi lên.
Thanh ngã có độ dốc lớn hơn 66Hz/giây. Nếu với độ dài trung bình của âm tiết
mang thanh ngã là 270ms như thống kê phần độ dài thì thanh ngã có độ dốc hơn
thanh sắc là 20 Hz/s. Thanh không dấu hơi đi xuống, sau đó là thanh huyền,
thanh nặng và thanh hỏi. Như vậy, theo mô hình thanh điệu như trình bày ở phần
này, sau khi phân tích xác định tần số cơ bản, áp dụng cách điệu tuyến tính và
tính độ dốc tiêu chuẩn hoá theo thời gian, ta có thể nhận dạng được loại thanh
điệu của âm tiết đó. Tuy nhiên, như số liệu ở cột độ lệch tiêu chuẩn bẳng trên
cũng cho thấy rằng các thanh có độ dung sai rất lớn phụ thuộc vào vị trí của
chúng trong các điều kiện ngữ cảnh khác nhau.
6.4.3. Xác định ảnh hưởng của thanh điệu do ngữ cảnh
Độ cao bắt đầu của các thanh bị ảnh hưởng bởi thanh điệu đi trước và độ
cao kết thúc bị ảnh hưởng của thanh điệu đi sau nó. Những thanh điệu có kết
thúc cao (thanh ngã, sắc) sẽ kết thúc thấp (gần như không dấu, thậm chí có một
số trường hợp có thể bị chuyển thành thanh nặng) nếu sau nó là âm tiết cũng có
âm vực cao.
Quan sát đường nét thanh điệu một cách có hệ thống, chúng ta có thể rút ra
nhiều quy luật về sự biến thanh của tiếng Việt. Khác với ngữ âm học với mục
tiêu xác định các đặc trưng riêng biệt của thanh điệu, khi tổng hợp tiếng nói, hệ
187
thống phải mô hình hoá được các biến đổi thanh điệu này càng chính xác, càng
chi tiết bao nhiêu thì độ tự nhiên được tăng cao bấy nhiêu.
Xem xét độ dốc của thanh sắc ở bảng trên ta thấy rõ ràng rằng, đường nét
của thanh sắc đứng sau các thanh thuộc âm vực cao là thanh ngã và thanh không
dấu có độ dốc thấp hơn so với thanh thuộc âm vực thấp như nặng, huyền, hỏi.
Tương tự như vậy ta có thể phân tích cho tât cả các loại thanh điệu khác dựa theo
các kết quả thống kê này và xây dựng đường dốc đặc trưng cho từng tổ hợp
thanh. Ảnh hưởng của các thanh sau kế tiếp được thống kê theo bảng dưới đây.
Nói chung các thanh thuộc âm tiết phía sau không tác động gây ảnh hưởng nhiều
vào sự biến thiên thanh như thanh trước đó.
Thông qua quan sát trực tiếp hình dáng và tần số cơ bản đặc trưng cho
thanh điệu trong ngữ lưu và các số liệu phân tích chúng tôi rút ra một số nhận xét
để mô hình hoá sự biến thanh trong phát ngôn liên tục phục vụ cho việc tổng hợp
tiếng Việt như sau.
- Phần tần số cơ bản ở nửa trước của âm tiết thay đổi để đảm bảo thực hiện được
phần đặc trưng của thanh điệu ở nửa sau. Đường nét của phần này không mang ý
nghĩa về cảm thụ thanh. Như âm “mẹ” ở trên phần đầu đi lên để đủ cao độ tần số
cơ bản cần thiết thể hiện đặc trưng đi xuống của thanh nặng.
- Đặc trưng của thanh điệu được thể hiện rõ ở nửa sau của âm tiết và về cơ bản
đường nét lên xuống của các thanh vẫn giữ được như đường nét của các âm tiết
phát âm rời rạc.
- Các thanh ngã, thanh hỏi trong ngữ lưu chỉ diễn tiến theo một hướng chứ không
có hiện tượng đổi chiều lên xuống như trong các miêu tả đã được công bố trước
đây cho âm rời rạc. Trong nhiều trường hợp, các thanh cùng một âm vực, có
đường nét cao độ tần số cơ bản giống nhau (như sắc với ngã, hay hỏi và nặng).
- Thanh ngang không dấu có đường nét đi xuống như trường hợp âm tiết “khuya”
trước nó thuộc âm vực cao. Nó đi lên trong trường hợp thanh trước nó là thanh
hỏi hay nặng thuộc âm vực thấp mà âm đầu của âm tiết lại là âm hữu thanh.
- Thanh sắc ở các âm tiết khép kết thúc bằng phụ âm tắc vô thanh có đường đi
xuống cho thấy rằng ở các âm này, âm vực cao của thanh này đóng vai trò quyết
188
định chứ không phải là đường nét thanh điệu. Cũng tương tự như vậy đối với
thanh nặng ở các âm tiết khép trong âm vực thấp.
- Thanh của các âm tiết phụ thuộc rất lớn vào âm vực của thanh ngay trước nó.
Đặc biệt nếu âm tiết sau là âm hữu thanh. Mức động phụ thuộc vào thanh của âm
tiết ngay sau thấp hơn. Ví dụ âm tiết /nay/ với phát âm của từ “hôm nay” và
“sáng nay” sẽ có cao độ tần số cơ bản khác nhau. Và vần /ay/ trong trường hợp
này sẽ có các biến thể khác nhau về cao độ tần số cơ bản.
6.5. Dữ liệu tiếng nói cho tổng hợp
Để tạo một số dữ liệu phục vụ cho phân tích và tổng hợp tiếng Việt cần
phải xây dựng một cơ sở dữ liệu âm. Khác với phân tích nhận dạng hay phân
tích ngữ âm tìm nét đặc trưng khu biệt của các âm được tiến hành cho nhiều
giọng nói, CSDL cho tổng hợp tiếng nói xích chuỗi thường chỉ được thực hiện
với một giọng nói vì tổng hợp tiếng nói xích chuỗi thường chỉ tái tạo và mô
phỏng đặc trưng giọng của một cá thể. Để có được tập hợp đầy đủ các trường
hợp ngữ âm, ngữ cảnh khác nhau của một ngôn ngữ là vấn đề hoàn toàn không
đơn giản. Ý tưởng phát triển hệ thống tổng hợp tiếng Việt dựa theo nguyên tác
học đọc của con người chia nhiều giai đoạn khác nhau, giai đoạn đầu tiên là học
vần và ghép thành từ. Để làm điều đó, cần phải có đủ số vần của tiếng Việt. Số
vần có đủ thanh điệu của tiếng Việt là khoảng 800 vần. Vì vậy văn bản tạo
CSDL hơn 1000 câu được đặt ra để bao phủ số vần có khả năng trong tiếng Việt.
Ngoài ra, các vần bị thay đổi khi được ghép với các phụ âm do nguyên tắc
của sự tiếp hợp. Ví dụ như vần uya ở khuya khác với vần uya ở xuya. Do vậy,
cần nhiều biến thể của vần trong CSDL. Để có một CSDL âm tốt cần phải xem
xét đến nhiều yếu tố khác ví dụ như vị trí của vần trong âm đoạn hay các loại âm
tiết trước sau… Việc xem xét tối ưu CSDL cho tổng hợp xích chuỗi tiếng Việt là
một đề tài nghiên cứu rất có ý nghĩa sau này, nhằm đóng góp cho sự hoàn thiện
của hướng nghiên cứu tổng hợp tiếng Việt trong tương lai.
Người đọc có giọng nói theo phương ngữ Bắc Bộ với các phụ âm đầu /s/,
/r/ và /tr/ đặc trưng của tiếng nói Hà Nội. Ghi âm được thực hiện trong phòng bá
âm chất lượng cao.
Yêu cầu dữ liệu thu cho tổng hợp tiếng nói đủ các phần vần trong đó, đủ
các phụ âm đầu, đủ các tổ hợp dấu theo bộ 3: Thanh không dấu, huyền, sắc, hỏi,
189
ngã, nặng cho các vần không tận cùng là p, t, k, -ch. Thanh sắc, thanh nặng cho
các vần tận cùng là p, t, k, ch. Các nguyên âm a, e, i, o, u, â, ă, â, ô, ơ, ư. Phong
phú từ đôi, từ ba…
Các tham số thống kê của câu: Số ngữ đoạn <=2, số âm tiết trên toàn bộ
câu <=25, số phụ âm đầu trong câu và tần số xuất hiện <=25, tần số xuất hiện
của một phụ âm đầu <=6. Số phần vần không kể dấu trong câu và tần số xuất
hiện <=25, tần số xuất hiện <=6. Số âm tiết không kể dấu trong câu và tần số
xuất hiện <=25, <=6. Số lượng các câu thu 161 câu đọc tự nhiên trong môi
trường văn phòng, ít nhiễu với giọng đọc chuẩn phát thanh viên.
Sau khi dữ liệu thu được chúng tôi tiến hành cắt các phụ âm đầu trong các
ngữ cảnh khác nhau. Tổng cộng chúng tôi có 208 phụ âm đầu trong ngữ cảnh và
760 vần trong ngữ cảnh.
6.5.1. Xác định đơn vị âm cho tổng hợp tiếng Việt
Để tổng hợp xích chuỗi, kích cỡ của các đơn vị tổng hợp thường được chia
thành hai loại ngắn và dài. Đơn vị âm dài có lợi thế căn bản hơn đơn vị âm ngắn
bởi nó bao phủ được các hiệu ứng của liên cấu âm, số điểm xích chuỗi ít hơn,
tiếng nói tổng hợp dễ trơn tru hơn. Nhưng khi sử dụng đơn vị âm dài số lượng
đơn vị lớn, trong trường hợp đó vốn từ vựng của một ngôn ngữ rất nhiều, số
lượng ngữ cảnh là vô hạn nên không có thể biên soạn, ghi âm và lưu trữ đủ để
tổng hợp văn bản bất kỳ. Ngoài ra, do giao lưu quốc tế và phát triển của khoa
học kĩ thuật hiện nay đã xuất hiện rất nhiều từ mới cần bổ sung thêm vào CSDL
từ vựng. Vì vậy cho đến nay đơn vị âm ngắn hơn một từ được tập trung nghiên
cứu nhiều hơn.
Phần lớn các hệ thống TTS cho các ngôn ngữ đa âm tiết như tiếng Anh,
tiếng Pháp đều sử dụng đơn vị âm tương đối nhỏ như biến thể âm vị (allophone),
âm đôi (diphone) và âm ba (triphone) vì chúng linh hoạt hơn, dễ điều khiển, với
số lượng không lớn có thể tổng hợp được văn bản bất kỳ.
- Âm vị là loại đơn vị âm được ứng dụng rất hiệu quả trong tổng hợp formant theo
luật.
- Âm đôi là đơn vị âm thanh có kích cỡ của âm vị. bắt đầu từ giữa một âm vị này
và kết thúc ở giữa âm vị kế tiếp. Sử dụng âm đôi được giả thiết rằng “hiệu ứng
âm thanh của âm vị chỉ tác động đến nửa độ dài của hai âm vị kế bên”. Đơn vị
190
âm loại này bảo toàn được sự chuyển tiếp từ âm vị này sang âm vị khác. Các
biên của âm đôi khi xích chuỗi nằm giữa âm vị. Điều này có khuynh hướng làm
cho tiếng nói tổng hợp bị gián đoạn ở điểm xích chuỗi vì ở giữa âm vị, phổ tín
hiệu tiếng nói tuy ổn định hơn nhưng có mức năng lượng tương đối cao. Âm đôi
là loại đơn vị có thể mô hình hoá cho hiệu ứng liên cấu âm ở cả trong âm tiết lẫn
giữa các âm tiết.
- Sonone: trong những nghiên cứu mới đây về các hệ thống TTS huấn luyện
(trainable), sử dụng công nghệ nhận dạng tiếng nói xuất hiện một loại đơn vị
mới có tên là sonone. Sonone được định nghĩa là đơn vị phụ thuộc ngữ cảnh
tương ứng với một trạng thái của HMM (Hidden Markov Model) của một âm ba
(triphone).
- Tổng hợp tiếng Nhật sử dụng đơn vị là C-V (phụ âm - nguyên âm) với
khoảng 100 đơn vị hay C-V-C (phụ âm - nguyên âm - phụ âm) với vài trăm
đơn vị.
- Âm tiết: phần lớn hệ thống TTS tiếng Trung Quốc sử dụng đơn vị là âm tiết.
Một trong những lý do sử dụng âm tiết làm đơn vị là tiếng Trung Quốc có số
lượng âm tiết tương đối ít chỉ vào khoảng 400 âm tiết không tính thanh điệu và
khoảng 1200 gồm cả thanh điệu. Đơn vị là âm tiết có nhược điểm rất lớn là
không mô hình hoá được hiệu ứng liên cấu âm giữa các âm tiết. Các hệ thống
TTS tiếng Trung Quốc sử dụng âm tiết phải chèn thêm một khoảng thời gian
nghỉ giữa các âm tiết liên tiếp và do vậy tạo thành các “sóng thanh bập bềnh”
làm giảm chất lượng âm tổng hợp.
Qua phân tích trên ta thấy việc lựa chọn đơn vị âm cơ bản phụ thuộc rất
nhiều vào ngôn ngữ tổng hợp. Đối với tiếng Việt, với đặc trưng riêng biệt của
loại ngôn ngữ thanh điệu đơn tiết tính không thể áp dụng cấu trúc âm vị hay âm
đôi như các ngôn ngữ châu Âu. Trong các phần phân tích về độ dài và thanh
điệu ở trên phần nào làm sáng tỏ sự phức tạp và bất hợp lý nếu sử dụng âm vị
làm đơn vị tổng hợp. Trên khía cạnh của thanh điệu thì âm vị hay âm đôi có kích
cỡ như âm vị, không phải là thành phần mang thanh đặc trưng của âm tiết mà
trái lại thanh trải dài trên toàn bộ âm tiết. Về độ dài, khoảng thay đổi độ dài âm
vị rất lớn nhằm bảo toàn độ dài cố định của âm tiết.
191
6.5.2. Hiện tượng liên cấu âm giữa âm tiết tiếng Việt
Tương tự trường hợp tổng hợp tiếng Trung Quốc, nếu sử dụng đơn vị là
phụ âm đầu và vần cần phải quan tâm đến hiện tượng liên cấu âm giữa các âm
tiết. Âm tiết tiếng Việt được chia là bốn loại là mở, nửa mở, nửa đóng và đóng.
Giữa các âm tiết mở hay nửa mở và các âm tiết tiếp sau không có phụ âm đầu
hay phụ âm đầu hữu thanh thì trong ngữ lưu liên tục sẽ xuất hiện hiệu ứng liêu
cấu âm tác động đáng kể đến chất lượng âm tổng hợp.
6.6. Kết luận
Khi phân tích và xử lý tiếng nói, việc tạo lập CSDL âm có tầm quan trọng
đặc biệt. Phần đầu mô tả phương pháp tạo số liệu với chất lượng cao với độ
chính xác cần thiết. Phần này đã trình bày kết quả nghiên cứu phân tích về độ dài
của các âm tiết tại các vị trí khác nhau như ở đầu, ở giữa và ở cuối một ngữ
đoạn. Kết quả nghiên cứu nhằm định lượng đường nét thanh điệu trên các loại
âm tiết trong ngữ lưu liên tục bằng phương pháp thống kê.
Trên đây chúng tôi đã trình bày bước đầu quá trình xây dựng. Cho đến thời
điểm hiện tại chúng tôi đã có CSDL với 300 người nói cho nhận dạng lệnh, 1
người nói cho nhận dạng chính tả và dữ liệu cho tổng hợp.
Phương pháp sử dụng để lựa chọn dữ liệu là hợp lý. Dữ liệu được chọn để
ghi âm đáp ứng được các yêu cầu đề ra, phong phú về từ, ngữ, đầy đủ về các đơn
vị âm học. Hơn nữa, sự phân bố của các đơn vị âm học phù hợp với phân bố thu
được từ một tập dữ liệu lớn các văn bản từ truyện, sách, báo. Do đó có thể nói
rằng có thể đại diện cho tiếng Việt phổ dụng về mặt ngữ âm. Tín hiệu đã thu âm
có chất lượng tốt, đáp ứng được yêu cầu đặt ra, trong một môi trường không
nhiễu.
Việc đạt được một số kết quả như vậy sẽ giúp chúng tôi tiếp tục nghiên cứu
những bước tiếp theo. Dữ liệu văn bản này đã được bổ sung đảm bảo tốt hơn các
yêu cầu về mặt ngữ âm và ngữ nghĩa.
192
7. TỔNG HỢP TIẾNG VIỆT
7.1. Nhập môn
Tạo tiếng nói bằng máy là một ước mơ của loài người và là mục tiêu
thách thức các nhà khoa học trên thế giới nhiều thế kỷ qua. Máy nói bằng cơ
khí đầu tiên do Wolfgang Von Kempelen chế tạo năm 1791 mô phỏng bộ máy
phát âm của người đã có thể phát ra được một vài âm tố. Ở đầu thế kỷ này,
vào năm 1939, máy VODER của nhà khoa học Dudley, phòng thí nghiệm
AT&T BELL LABS, đã thành công trong việc mô hình hoá cộng hưởng của
ống thanh bằng linh kiện điện tử. Hệ thống điều khiển nhân công 10 bộ cộng
hưởng bằng các phím và chiết áp đã có thể tạo ra một số câu nói nghe hiểu
được. Từ giữa những năm 1950 trở lại đây, sự ra đời của máy tính điện tử số
đã cho phép tạo ra một cách có hệ thống các tham số điều khiển bộ tổng hợp
tiếng nói. Cùng với sự phát triển như vũ bão của khoa học và công nghệ ở
thập kỷ 80 và 90, kĩ thuật tổng hợp tiếng nói đã có những bước phát triển rất
quan trong có sự đóng góp rất lớn của máy tính và xử lý tín hiệu số. Sự tiến
bộ này được thúc đẩy do:
• Khả năng tính toán của máy tính nhanh lên gấp nhiều lần, số lượng
dữ liệu được lưu giữ ngày càng lớn và giá thành ngày càng hạ.
• Khả năng xây dựng và truy cập tới các cơ sở dữ liệu âm thanh và văn
bản ngày càng dễ dàng.
• Công nghệ nhận dạng tự động tiếng nói được hoàn thiện với độ chính
xác ngày càng cao hơn trợ giúp việc tự động phân đoạn âm tiếng nói
cho phép tạo ra các cơ sở dữ liệu ngữ âm rất lớn phục vụ cho phân
tích tiếng nói.
Nếu tiếng nói cũng như chữ viết là chuỗi các dấu cơ bản được định nghĩa
rõ ràng thì các vấn đề về nhận dạng và tổng hợp tiếng nói đã có thể đã được
giải quyết từ lâu. Bản chất tiếng nói rất khác biệt, hiệu ứng liên cấu âm quyện
các âm tố thành dòng thanh liên tục rất phức tạp mang thông tin ở mọi thành
phần của nó nên tổng hợp và nhận dạng tiếng nói trở nên đặc biệt khó khăn.
Việc tổng hợp tiếng nói từ bất kỳ văn bản nào, tổng hợp với số lượng từ
193
không hạn chế của một ngôn ngữ thành tiếng nói trôi chảy, có độ tự nhiên như
con người vẫn là vấn đề chưa được giải quyết và đang là một lĩnh vực được
quan tâm nghiên cứu nhiều.
Chất lượng âm thanh của các hệ thống tổng hợp tiếng nói từ văn bản đến
nay còn rất hạn chế so với tiếng nói tự nhiên của con người. Mặc dù mới chỉ
đạt mức độ nghe - hiểu rõ nhưng tổng hợp tiếng nói cũng đã tìm thấy ứng
dụng trong nhiều lĩnh vực khác nhau. Chẳng hạn:
• Trợ giúp cho người tàn tật
Hệ thống TTS kết hợp cùng với hệ thống quang học nhận dạng chữ viết
(OCR) có thể đọc các văn bản in cho người khiếm thị.
• Truyền thông tin bằng âm thanh
Một hệ thống TTS rất hữu ích cho việc kiểm tra chính tả các văn bản
trên máy tính vì khi nghe, phát hiện lỗi dễ dàng hơn nhiều so với đọc bằng
mắt.
• Ứng dụng trong Viễn thông
- Các hệ thống thông tin tích hợp (Unified Messaging) có khả năng đọc
tự động nội dùng các bức thư điện tử E-Mail và các bức FAX và các thông tin
trên Internet qua máy điện thoại cố định và di động thông thường.
- Truy cập thông tin, cơ sở dữ liệu qua điện thoại và tự động tra cứu
bằng máy điện thoại…
Tổng hợp tiếng nói từ văn bản là một ngành khoa học liên quan đến
nhiều chuyên ngành như ngôn ngữ, ngữ âm, xử lý tín hiệu số và khoa học
máy tính. Hiện nay, với nỗ lực nghiên cứu của các nhà khoa học công nghệ
trên thế giới, giao diện giữa người và máy ngày càng thân thiện hơn. Xử thế
giao lưu quốc tế đã xuất hiện ngày một nhiều các ứng dụng. Chất lượng âm
thanh tổng hợp hiện tại đã vượt qua ngưỡng “nghe hiểu được” và đang tiến
dần đến mức độ tự nhiên của tiếng nói con người. Trong một số lĩnh vực ứng
dụng ngôn ngữ hẹp, chất lượng âm thanh tổng hợp đã không thể phân biệt
được với tiếng nói tự nhiên.
Công nghệ để phát triển các hệ thống tổng hợp tiếng nói từ văn bản có số
từ vựng không hạn chế không những rất phức tạp, mà còn phụ thuộc rất nhiều
194
vào đặc trưng của ngôn ngữ tổng hợp. Nói cách khác, mặc dầu về nguyên tắc
các phương pháp cơ bản để tổng hợp tiếng nói là tương tự như nhau nhưng
mỗi loại ngôn ngữ đều có những đặc trưng ngữ âm riêng biệt, các quy luật cấu
âm tạo thành từng âm tố của mỗi ngôn ngữ là không giống nhau. Như vậy,
các ngôn ngữ khác nhau sẽ phải có các công nghệ tổng hợp khác nhau, theo
các luật tổng hợp khác nhau. Điều này có nghĩa là không thể lấy hệ thống
tổng hợp tiếng nước này để tổng hợp tiếng nước khác hoặc ngược lại. Nói
cách khác là không thể lấy bộ tổng hợp cho các ngôn ngữ đa âm Âu - Ấn để
tổng hợp nên tiếng Việt, một ngôn ngữ đơn âm có thanh điệu.
Khái niệm tổng hợp tiếng nói tương đối rộng. Nó có thể bao gồm cả các
hệ thống ghép từ đơn giản với số lượng xử lý tính toán thấp, ví dụ như hệ
thống thông báo giờ của tổng đài điện thoại. Tổng hợp theo cách từng từ, có
thể tạo ra tiếng nói với chất lượng âm thanh cao nhưng chỉ được sử dụng khi
tập bản tin cần tạo ra nhỏ với trật tự các từ tạo thành được định ra trước đó.
7.2. Khái quát về tổng hợp tiếng nói từ văn bản TTS (Text To
Speech)
Vấn đề đặt ra khi thiết kế hệ thống tổng hợp tiếng Việt là số lượng cho
mỗi một đơn vị âm. Với mỗi đơn vị âm, chúng ta cần bao nhiêu mẫu để đạt
được chất lượng “tối ưu” cho một ứng dụng đích. Các tiêu chí quan trọng
được cân nhắc “tối ưu” ở đây là:
• Dung lượng bộ nhớ cần thiết để lưu trữ dạng sóng đơn vị âm cũng như
các tham số về phổ và ngữ điệu của chúng.
• Thời gian cần thiết để xây dựng hệ thống hay khi phải thiết lập một
giọng nói mới. Khác với tổng hợp formant theo quy luật, có thể thay
đổi tương đối linh hoạt giọng nói, tổng hợp xích chuỗi phải xây dựng
cho mỗi giọng nói một CSDL. Trên lý thuyết, có thể thông qua xử lý
tín hiệu để thay đổi giọng nói nhưng chất lượng tiếng nói tổng hợp
giảm đi nhiều, vì vậy chưa được áp dụng thực tế.
• Khả năng xử lý thời gian thực và đồng thời nhiều tiến trình tổng hợp
trên một máy tính PC.
195
Để tổng hợp tiếng Việt, chúng ta có thể xem xét lựa chọn một số lượng
tệp đơn vị tổng hợp với ba khả năng:
- Thứ nhất với số lượng âm tối thiểu, các đơn vị sẽ là phần phụ âm đầu
và phần vần không mang thanh điệu. Tần số cơ bản F0 của các vần là đặc
trưng cho thanh điệu có thể thay đổi từ các vần đã có, tổng hợp theo các
đường nét đặc trưng tần số cơ bản F0 khác đi thành các vần mang thanh điệu
mới được không? Từ đó, chúng ta sẽ tổng hợp được các từ mới.
- Thứ hai là số lượng đủ cho các vần mang dấu. Khi ấy bộ tổng hợp phải
thay đổi các thành phần ngữ điệu như độ dài âm tiết và thanh điệu theo các
quy luật biến thanh và quy luật về độ dài của âm tiết.
- Thứ ba là tổng hợp trên cơ sở số liệu của nhiều mẫu cho một đơn vị âm
theo ngữ cảnh khác nhau và các thuật toán tự động để điều khiển được sự xích
chuỗi theo ngữ âm mong muốn.
7.2.1. Các loại âm
Các nhà ngữ âm học thường phân chia các loại âm của tiếng nói theo vị
trí cấu âm và phương thức cấu âm tạo nên chúng. Phân chia theo phương thức
cấu âm, tiếng nói được phân làm nguyên âm, phụ âm tắc, phụ âm xát, phụ âm
tắc xát và phụ âm mũi…
Nguyên âm khác với phụ âm về độ mở của ống thanh. Nếu ống thanh
được mở toàn bộ để cho không khí từ phổi thoát ra hoàn toàn không gặp sự
ngăn cản nào thì sẽ tạo ra nguyên âm. Khoang miệng chỉ còn nhiệm vụ để
thay đổi âm sắc.
- Ngược lại với nguyên âm, khi ống thanh bị thu hẹp lại hay tạm thời
khép lại, dòng không khí bị hạn chế tạo ra tiếng ồn là phụ âm, khi ấy các
khoang âm trở thành cơ quan chính tạo tiếng nói.
- Trong trường hợp các âm mũi, khi lưỡi gà đóng lại thì khoang mũi trở
thành ống dẫn thanh chủ yếu.
- Âm xát khởi đầu bằng sự thắt lại của ống thanh, hoặc là ở thanh môn,
ngạc cứng, răng hay môi.
- Âm xát vô thanh được tạo ra bởi khí thay đổi bất thường từ thanh môn.
196
- Âm xát hữu thanh bao gồm cả phần tuần hoàn và phần không tuần
hoàn, có nghĩa là dây thanh có chấn động nhưng thanh môn không được đóng
hẳn lại.
- Âm tắc được hình thành theo ba bước. Đầu tiên, ống thanh được đóng
lại ở một điểm nào đó, áp suất không khí trước đó tăng lên và sau đó đột ngột
thoát ra tạo thành âm nổ trong một giai đoạn ngắn.
- Âm tắc hữu thanh khác với âm tắc vô thanh ở chỗ là có hay không có
sự dao động của dây thanh trong quá trình nén khí.
- Âm tắc xát bao gồm âm tắc và tiếp sau đó là âm xát tuy nhiên thời gian
tắc rất ngắn.
7.2.2. Các tham số âm thanh
Các bộ phân tích tín hiệu xử lý âm thanh tiếng nói lấy ra các đặc trưng
của tín hiệu như tần số âm cơ bản F0, tần số formant, cường độ âm hay các
tham số từ phân tích phổ như LPC, Cepstrum… phục vụ cho quá trình nghiên
cứu về ngữ âm âm thanh, mã hoá, tổng hợp và nhận dạng tiếng nói.
Khi quan sát dạng sóng tín hiệu âm thanh tiếng nói ta thấy có các đoạn
tín hiệu biên độ lớn, tương đối tuần hoàn. Đó là phần âm hữu thanh của tiếng
nói. Còn các âm đoạn như nhiễu băng rộng có biên độ thấp là phần tín hiệu vô
thanh. Ở phần hữu thanh, tần số âm cơ bản F0 thay đổi chậm và có giá trị ở
khoảng từ 120Hz đến 200Hz cho nam, 150Hz đến 400Hz cho nữ. Phổ của tín
hiệu tiếng nói có thể được xác định thông qua chuyển đổi Fourier thời gian
ngắn (STFT), tức chuyển đổi Fourier rời rạc (DFT) tín hiệu âm thanh x(n) với
cửa sổ w(n) có đội dài hữu hạn (khoảng 30ms, trong thời gian này, tín hiệu
được giả thiết là không đổi do quán tính của cơ quan phát âm).
7.2.3. Nhắc lại các khái niệm ngữ âm
Âm vị là một đơn vị trừu tượng nhỏ nhất của cơ cấu âm thanh ngôn ngữ,
được định nghĩa làm chức năng phân biệt hình thức ngữ âm của những đơn vị
có nghĩa như từ và hình vị.
Âm tố: Một âm thanh vật lý được tạo ra khi cấu âm một âm vị được gọi
là âm tố. Âm tố là đơn vị âm thanh nhỏ nhất của tiếng nói có thể tách ra về
mặt cấu âm - thính giác.
197
Âm tiết là đơn vị phát âm nhỏ nhất được phân định tự nhiên trong tiếng
nói của con người.
Biến thể âm vị hình thành ra do có nhiều dạng cấu âm để phát thành âm
cho một âm vị. Biến thể tự do là những biến thể không mang thông tin về ngữ
nghĩa (như tiếng địa phương). Biến thể kết hợp do ảnh hưởng bởi động học
của ống thanh khi tạo ra các âm xung quanh. Đó là các hiện tượng giảm âm,
nuốt âm, thay đổi dạng âm từ hữu thanh sang vô thanh và ngược lại…
Liên cấu âm: Hiện tượng liên cấu âm xảy ra khi các cơ quan phát âm
chuyển liên tục ở các vị trí để cấu âm từ âm vị này đến âm vị khác. Mức độ
liên cấu âm phụ thuộc vào tốc độ nói và kiểu nói. Trong tiếng nói của con
người, sự chuyển tiếp các động tác cấu âm từ vị trí này sang vị trí khác tạo ra
độ tự nhiên cho tiếng nói.
Ngữ điệu: Tiếng nói không chỉ bao gồm chuỗi các động tác cấu âm mà
còn kèm cả những điểm nghỉ lấy hơi, nâng cao hay hạ thấp giọng, tăng hay
giảm cường độ âm thanh. Các biến đổi này đều có chứa thông tin, mang ý
nghĩa biểu cảm nhất định.
Thanh điệu: Việc tăng, giảm, uốn và nhấn trên một âm vị tạo ra thông tin
mới cho từ trong quá trình diễn đạt ngôn ngữ ta gọi là thanh điệu. Tiếng Việt,
Trung Quốc, Thái Lan,… là những ngôn ngữ có thanh điệu. Thanh điệu được
tạo ra từ sự thay đổi tần số cơ bản F0.
Vần: Tiếng nói có thanh điệu thường được liên kết một nguyên âm với
một phụ âm cuối hay độc lập nguyên âm, bán âm cuối, nguyên âm ghép cộng
với thanh tạo nên vần. Khi nghiên cứu ngôn ngữ có thanh điệu, vần được xem
là một cấu thành rất quan trong, có nhiều ý nghĩa trong lĩnh vực tổng hợp
tiếng nói.
198
7.2.4. Tổng hợp tiếng nói từ văn bản
Hình 7-64- Sơ đồ tổng quát hệ thống TTS
TTS bao gồm việc chuyển đổi các mô tả về ngữ âm và ngữ điệu một văn
bản ở đầu vào thành dạng sóng tiếng nói, sử dụng các thuật toán xử lý tín hiệu
số. Các số liệu về tiếng nói có thể được mã hoá hay tham số hoá theo một
dạng nào đó và được lưu giữ trước đó trong bộ nhớ. Văn bản có thể được
nhập vào máy tính bằng bàn phím, bằng bộ nhận dạng tự động chữ viết, truy
xuất từ cớ sở dữ liệu hay truyền về từ mạng Internet.
Một hệ thống TTS bao gồm hai quá trình tương đối độc lập có liên quan
đến nhau là phần xử lý văn bản và phần xử lý tín hiệu số. Đầu tiên, hệ thống
phải phân tích văn bản đầu vào tạo ra mô tả về ngữ âm và ngữ điệu của văn
bản. Sau đó khối xử lý tín hiệu phải chuyển đổi các thể hiện ngôn ngữ dạng
trừu tượng này thành dạng sóng tiếng nói theo kĩ thuật tổng hợp tiếng nói.
Các quá trình chuyển đổi
Theo sơ đồ tổng quát, để thực hiện việc chuyển đổi văn bản thành tiếng
nói phải thực hiện bốn bước sau đây:
1. Chuẩn hoá văn bản (Text Normalization): Xác định biên của câu và
từ, chuyển chữ số trong văn bản thành dạng chữ, chuyển đổi các
chữ viết tắt và ghi nhận một số dấu quan trọng cho phần xử lý ngữ
điệu.
199
2. Chuyển đổi từ chữ sang âm vị (Grapheme to Phoneme) dựa trên từ
điển phát âm hay theo quy luật ngôn ngữ. Quá trình chuyển đổi
“phiên âm” này rất quản trọng, chiếm tới hơn 30% khối lượng cộng
việc cho phần lớn các ngôn ngữ và chữ viết không phải là loại chữ
viết ghi âm. Chữ viết của tiếng Việt là loại chữ viết ghi âm nên việc
phát triển một hệ thống TTS tiếng Việt giảm được rất nhiều.
3. Dự báo ngữ điệu từ văn bản: độ dài, cao độ tần số cơ bản của các
ngữ đoạn tổng hợp phải phù hợp với các quy luật về ngữ điệu của
một ngôn ngữ. Đó là việc xác định vị trí trọng âm của từ được phát
âm. Lên xuống giọng ở các vị trí khác nhau trong câu, như đầu câu,
cuối câu vv… và xác định các biến thể khác nhau của các âm phụ
thuộc vào ngữ cảnh khi được phát âm trong một ngữ lưu liên tục.
Bước này bao gồm cả việc xác định điểm dừng nghỉ lấy hơi khi
phát âm, nói hoặc đọc một văn bản. Từ đó tạo ra các thông tin để
điều khiển ngữ điệu thích hợp cho bộ tổng hợp tiếng nói.
4. Tổng hợp tiếng nói là giai đoạn cuối cùng thực hiện việc giải mã
các thông tin từ chuỗi mô tả ngữ âm nhận được từ khối xử lý văn
bản, tạo ra chuỗi các tham số cho bộ tổng hợp (phụ thuộc vào
phương pháp tổng hợp). Bộ tổng hợp tạo ra tín hiệu tiếng nói dạng
sóng.
Theo sơ đồ trên thì giao diện giữa hai khối NLP và DSP được định nghĩa
rõ ràng và việc nghiên cứu về hai quá trình có thể được thực hiện riêng rẽ, độc
lập với nhau. Bây giờ chúng ta giả thiết rằng thông tin chất lượng cao nhất đã
được cùng cấp tại đầu vào của bộ phận xử lý tín hiệu số (DSP) giống như
những gì con người đọc cảm nhận được. Phần DSP trên phương diện nào đó
phải xét đến các hạn chế phát âm, bởi vì ta đã biết rằng sự biến đổi ngữ âm
(phần động, chuyển tiếp giữa các âm) quan trong đối với việc hiểu lời nói hơn
là các phần tĩnh của lời nói (Liberman, 1959). Tổng hợp tiếng nói có thể đạt
được cơ bản theo hai phương pháp:
- Phương pháp thứ nhất được thực hiện dưới dạng một loạt các quy tắc
mô tả một cách chính thức các âm vị, ảnh hưởng lẫn nhau giữa các âm vị khi
phát ra một âm.
200
- Phương pháp thứ hai là lưu giữ những mẫu âm vị, biến đổi âm vị và
đồng phát âm vào cơ sở dữ liệu tiếng nói và sự dụng chúng như chúng vốn có
là các đơn vị âm học cơ bản (ở vị trí của âm vị).
Hai hệ TTS đã xuất hiện từ hai phương pháp này. Hai phương pháp này
nhanh chóng trở thành hai triết lý tổng hợp với sự khác biệt thể hiện trong nội
dung và mục tiêu của chúng. Đó là: tổng hợp bằng quy luật và tổng hợp xích
chuỗi.
Theo các tài liệu đã công bố ta có thể chia phuơng pháp tổng hợp tiếng
nói trong các hệ thống TTS thành ba loại là tổng hợp cấu âm (articulatory
synthesis), tổng hợp formant theo quy luật (rule based formant synthesis) và
tổng hợp xích chuỗi (concatenation synthesis).
7.3. Các phương pháp tổng hợp tiếng nói
7.3.1. Tổng hợp theo cấu âm
Tổng hợp theo cấu âm sử dụng mô hình phỏng sinh học. Trong mô hình
này, tiếng nói được đặc trưng không chỉ bằng tín hiệu âm thanh mà cả bằng vị
trí của các cơ quan cấu âm, sự tham gia của khoang mũi, áp suất không khí
trong phổi, lực căng của dây thanh. Nó bao gồm hoạt động tương tác phi
tuyến giữa nguồn kích (chấn động dây thanh hoặc hỗn loạn không khí) và trở
kháng đầu vào thay đổi theo thời gian của ống thanh. Phương pháp này còn
được gọi là tổng hợp theo mô hình hệ thống.
Để xây dựng đặc trưng âm thanh của cơ quan phát âm, hệ thống phải
tham số hoá được hình khối ống thanh và ống mũi, phải lựa chọn được một
mô hình để mô tả sự lan truyền của sóng trong ống thanh và mô hình hoá
nguồn âm (chấn động dây thanh, dòng không khí hỗn loạn) và sự tương tác
của nó với ống thanh. Phương pháp này hiện nay chỉ hình thành trên lý
thuyết, thực tế ngành khoa học phỏng sinh chưa có đủ thông tin đầu đủ để mô
phỏng theo cấu âm.
Mô hình ống thanh
Cho các âm không phải là âm mũi ta chỉ cần xem xét ống thanh có thiết
diện biến thiên từ thanh môn cho tới môi. Ống thanh thay đổi liên tục, hình
dáng của chúng phải được xác định trong khoảng thời gian vài mini giây một
201
lần. Hình không gian của ống thanh được mô tả theo vị trí của các cơ quan
phát âm, lưỡi, môi, hàm…
Mô hình được ứng dụng nhiều nhất là mô hình của Mermelstein với các
tham số mô tả vị trí cơ quan cấu âm. Giá trị của các tham số được liệt kê chi
tiết ở bảng 7.1. Từ mô tả cấu âm này, có thể tính được các số liệu cho hàm
mặt cắt ngang ống thanh A(x) là hàm số phụ thuộc khoảng cách dọc theo ống
thanh từ thanh môn cho tới môi
STT Tên Ý nghĩa Ngưỡng dưới Ngưỡng trên1234567891011
RtpTejpXcpStpXclpXhpYcpTelpCylpYhpVel
Bán kính lưới (cm)Góc mở hàm (độ)Trung tâm lưỡi trục x (cm)Chiều dài lưỡi (cm)Nhô ra của môi (cm)Vị trí xương trục x (cm)Trung tâm lưỡi trục y (cm)Độ nâng lưỡi (deg)Chiều cao môi y (cm)Vị trí xương trục y (cm)Độ mở vòm miệng (cm2)
Bảng 7-2- Các tham số của mô hình cấu âm Mermelstein
Lan truyền sóng trong ống thanh
Trong nhiều cách tính đặc trưng truyền sóng trong ống thanh thì phương
pháp ma trận chuỗi được áp dụng nhiều nhất. Ma trận chuỗi (còn gọi là ma
trận ABCD) thể hiện ống thanh ở miền tần số. Với bất kỳ phần nào của ống
thanh hay của ống mũi ta có:
×=
×
=
in
in
in
in
out
out
U
PK
U
P
DC
BA
U
P
Ma trận chuỗi K có thể thể hiện bất kỳ phần nào của bất kỳ độ dài hay
mặt phẳng cắt ngang nào của ống thanh. Tính các phần tử của K rất đơn giản
nên ống có mặt cắt không đổi.
Mô hình nguồn kích thanh
Nguồn kích thanh cho tổng hợp cấu âm sử dụng mô hình hai khối lượng
của Ishizaka và Flanagan.
Nguyên lý của tổng hợp cấu âm
202
Thuật toán tổng hợp theo mô hình cấu âm gồm các bước như nhau. Từ
đặc tả về các tham số cấu âm, ta tính được ma trận chuỗi từ thanh môn đến
môi. Sau đó tính hàm truyền và trở kháng đầu vào từ các phần tử A,B,C,D
của ma trận. Chuyển đổi Fourier ngược hàm truyền H và tỉ số trở kháng ta
nhận được các giá trị tương ứng ở miền thời gian. Sau đó tính áp suất ∆p = P5-
p1. Giá trị áp suất này tác động vào bộ cộng hưởng điều khiển chuyển động
dây thanh của mô hình hai khối lượng tạo ra âm thanh tiếng nói.
Như vậy, ngoài việc mô hình hoá các cơ quan phát âm, tổng hợp theo cấu
âm cần phải xây dựng hai loại quy luật ngôn ngữ và luật vật lý. Luật vật lý mô
tả như ở trên xác định ánh xạ cấu hình ống thanh cụ thể cho tín hiệu âm thanh,
xác định mối quan hệ giữa hoạt động cấu âm và tín hiệu âm thanh tiếng nói.
Còn luật ngôn ngữ xác định mối quan hệ giữa mô tả ngữ âm và các hoạt động
cấu âm. Thông thường, luật ngôn ngữ được thực hiện cho từng âm vị. Khi cấu
âm cho một đơn vị, luật này xác định thời điểm các cơ quan chuyển động, tốc
độ chuyển động và mối quan hệ giữa cơ quan này và cơ quan khác. Vì phát ra
một âm vị không nhất thiết phải có sự chuyển động của tất cả các cơ quan nên
trong cùng một thời điểm cơ quan phát âm có thể được xác định cho âm vị
khác. Theo cách này thì tổng hợp theo cấu âm có thể tạo ra các giải pháp hoàn
hảo cho các trường hợp ngữ âm khó như cụm phụ âm, nguyên âm ba.
Mô hình cấu âm và hai luật ngôn ngữ, vật lý này quyết định chất lượng
tiếng nói tổng hợp. Hiện nay, chúng ta chưa có kiến thức đầy đủ về từng chi
tiết của các loại luật, mô hình cấu âm cũng còn đơn giản vì vậy chất lượng
tiếng nói tổng hợp theo cấu âm còn rất thấp. Phương pháp tổng hợp cấu âm
hiện nay chỉ dừng ở trong phòng thí nghiệm hay sản phẩm mẫu mà chưa được
ứng dụng thực tế. Các bộ tổng hợp theo cấu âm là công cụ lý tưởng để nghiên
cứu về cấu âm của tiếng nói và hứa hẹn về lâu dài là giải pháp hoàn thiện nhất
để tổng hợp ra âm thanh tiếng nói giống như tiếng nói tự nhiên của con người.
7.3.2. Tổng hợp formant theo quy luật
Quy trình để xây dựng bộ tổng hợp formant theo luật gồm hai quá trình
riêng biệt là quá trình phân tích âm thanh tiếng nói để tìm ra các quy luật và
tổng hợp lại tiếng nói dựa vào các quy luật này.
Phân tích tìm quy luật
203
Quá trình phân tích được tiến hành trên cơ sở dữ liệu tiếng nói tự nhiên
chủ yếu bao gồm các âm tiết có dạng C-V (phụ âm – nguyên âm) hay C-V-C
(phụ âm – nguyên âm – phụ âm) của nhiều giọng nói. Cơ sở dữ liệu này tốt
nhất phải bao phủ được tất cả các hình thái ngữ âm của một ngôn ngữ.
Thuật toán tiên đoán tuyến tính LPC, được sử dụng trong quá trình phân
tích phổ để xác định mẫu của tần số formant, băng thông formant, tần số âm
cơ bản F0 của tín hiệu tiếng nói. Tần số từ F1 đến F5 và băng thông W1 đến W5
ở phần ổn định của các âm tố được lưu giữ dưới dạng bảng. Đó là các giá trị
“đích” để tạo ra một âm vị.
Trong tiếng nói, phần mang thông tin được quan tâm nghiên cứu nhiều
hơn là các phần chuyển tiếp giữa các âm vị từ nguyên âm sang phụ âm và
ngược lại (C-V và V-C). Tần số formant chuyển tiếp từ âm vị nọ sang âm vị
kia được mô hình hoá và tạo thành các quy luật tổng hợp cho kĩ thuật tổng
hợp formant. Như vậy về cơ bản các quá trình phân tích tìm luật để mô tả sự
thay đổi liên tục phổ của một ngữ lưu bằng các formant và sự chuyển tiếp của
các formant từ âm vị này sang âm vị khác. Hệ thống quy luật bao gồm:
- Luật để xác định vị trí đích các formant của mỗi âm vị trong một ngữ
lưu cũng như thời gian tồn tại của các vị trí đó.
- Luật nhằm làm trơn các formant đích.
- Luật để chuyển đổi các hàm thời giam thành dạng sóng thanh.
Tổng hợp formant
Hệ thống tổng hợp formant sẽ căn cứ vào các tham số điều khiển từ bảng
tra cứu và cùng với thuật toán được xây dựng cho sự chuyển tiếp là các tín
hiệu điều khiển bộ tổng hợp để tạo các âm đoạn tính.
Thiết kế của bộ tổng hợp formant được dựa trên mô hình tương tự đầu
cuối tạo tiếng nói do Frant đề xuất.
Tổng hợp formant được phân loại theo cấu hình mắc các bộ cộng hưởng
song song hay nối tiếp. Hàm truyền của bộ tổng hợp khi mắc nối tiếp bộ cộng
hưởng tương tự như hàm truyền ống thanh vì vậy bộ tổng hợp nối tiếp mô
hình hoá rất tốt cho các âm hữu thanh. Còn bộ tổng hợp với các bộ cộng
hưởng mắc song song sẽ tạo ra cho các âm tắc, âm xát và âm mũi một chất
lượng âm thanh tốt hơn.
204
Sơ đồ khối bộ tổng hợp Mitalk
Bộ tổng hợp âm đoạnv tính sử dụng phần mềm của Klatt bằng cả cách
nối song song và nối tiếp các bộ cộng hưởng. Đây là hệ thống tổng hợp
formant khá hoàn thiện cho đến nay.
Phương pháp của Klatt sử dụng các giá trị đích của tham số điều khiển
và thuật toán để tính toán sự chuyển tiếp. Các giá trị đích cho mỗi âm vị
không chỉ nhận được từ bảng tra mà còn được tính theo luật về vị trí, cách cấu
âm và ngữ cảnh của các âm vị đó. Cũng như vậy, các hằng số thời gian cho sự
chuyển tiếp được tính từ các luật về thông tin ngữ cảnh. Ba formant và băng
thông của nguyên âm, bán nguyên âm và nguyên âm đôi được chuyển cho
phần tổng hợp nối tiếp. Hệ thống còn xác định thêm sáu tham số phụ khác để
điều khiển phần cộng hưởng mắc song song khi tổng hợp âm tắc, âm xát và
âm tắc xát.
Trong 39 tham số điều khiển xác định đặc tính của tín hiệu ở đầu ra của
bộ tổng hợp, có 22 tham số biến đổi. Ax là các giá trị biên độ, Rx là các bộ
cộng hưởng và phản cộng hưởng có tần số cổng hưởng và băng tần thay đổi.
Bộ tổng hợp sử dụng hai nguồn kích, một là bộ tạo xung tuần hoàn với tần số
cơ bản F0 (chấn động dây thanh) để tạo âm hữu thanh, nguồn kích thứ hai là
bộ tạo nhiễu ngẫu nhiên với điều chỉnh tần số AF và bộ lọc số băng tần thấp
LPF cho các âm xát và âm gió.
Hiện nay, với những công cụ thích hợp chúng ta hoàn toàn có thể xác
định tần số formant cho các âm vị của tiếng Việt. Đi theo hướng này có ưu
điểm là tiết kiệm được bộ nhớ, song chất lượng tiếng nói không tự nhiên và
phụ thuộc nhiều vào chất lượng của quá trình phân tích tiếng nói của từng
ngôn ngữ.
7.3.3. Tổng hợp xích chuỗi
Phương pháp xích chuỗi nhằm vượt qua sự không thoả đáng của các hệ
thống sử dụng quy luật bằng cách loại bớt sự cần thiết của một số quy luật
thậm chí tất cả các quy luật. Để thực hiện điều này, cách hiệu quả nhất là lưu
trữ trong kho dữ liệu không phải hệ thống quy luật mô tả các đơn vị âm hay
quy luật của các tham số để tạo ra đơn vị âm mà trực tiếp từng âm đoạn của
âm thanh tiếng nói.
205
Trong ba phương pháp nêu trên, tổng hợp theo cấu âm, tổng hợp formant
theo quy luật và tổng hợp xích chuỗi thì tổng hợp xích chuỗi mang nhiều tính
công nghệ, được quyết định bởi sự phát triển của máy tính. So sánh về chất
lượng trong ba phương pháp, thì tổng hợp xích chuỗi hiện nay đã thành công
nhất trong việc tạo ra tiếng nói không chỉ nghe hiểu rõ mà đạt được độ tự
nhiên gần với tiếng nói của con người hơn cả. Phần lớn các hệ thống TTS
chất lượng cao cho các ngôn ngữ có trên thị trường hiện nay đều sử dụng
phương pháp tổng hợp xích chuỗi này.
Khi xây dựng một hệ thống tổng hợp xích chuỗi, tiếng nói chứa tập hợp
các đơn vị âm thanh cơ bản của một ngôn ngữ, thông thường tương ứng với
một chuỗi ngắn các âm vị có lựa chọn được đọc, ghi âm và lưu giữ trong
CSDL. Các đơn vị âm được lựa chọn, phân tích các tham số đặc trưng và sau
đó có thể được mã hoá bằng một phương pháp mã hoá tiếng nói nào đó tạo
thành các mẫu cho một đơn vị âm thanh. Các mẫu hoặc các tham số phân tích
của cúng được lưu giữ lại trong kho dữ liệu đơn vị tổng hợp.
Khi tổng hợp một phát ngôn mới, cho trước mô tả ngữ âm của phát ngôn
đó, hệ thống sử dụng các quy luật để định vị đơn vị thích hợp, truy xuất chúng
ra khỏi kho dữ liệu và xích chuỗi chúng lại với nhau.
Thông thường, một hệ thống tổng hợp xích chuỗi có ít nhất là một hoặc
hai mẫu cho mỗi một đơn vị cơ bản. Do các tham số về cao độ tần số cơ bản,
độ dài và cường độ của các đơn vị này rất khác nhau (chúng được trích ra từ
tín hiệu tiếng nói trong ngữ cảnh khác nhau) cho nên, khi tổng hợp, hệ thống
theo phương pháp tổng hợp xích chuỗi phải thực hiện hai công việc chính.
- Một là phải thay đổi các tham số siêu đoạn tính của các đơn vị để tiếng
nói tổng hợp thể hiện được ngữ điệu thích hợp như mong muốn.
- Hai là phải thực hiện việc lựa chọn hay thay đổi các đặc tính của âm
đoạn đơn vị tại các biên ghép nối của chúng sao cho việc ghép nối là mịn nhất
để đảm bảo chất lượng âm thanh tổng hợp tạo ra gân với tiếng nói tự nhiên.
Giả sử có hai âm đoạn được xích chuỗi là L và R. Chúng ta xem xét tập
hợp P của các tham số {p1,p2,…, pN}, các giá trị PLo là ở điểm cuối cùng của
đoạn L và P(r,0) là ở điểm đầu tiên của đoạn R. Làm trơn được thực hiện
tuyến tính là phân bố đều khoảng cách (P-P) cho số ML vector {PL-(ML-1), …,
206
PL-1,PL
0} của đoạn L và MR vector {PL0, PR
1, PL(ML-1)}. Với P’ là tham số sau
khi làm trơn thì nội suy được bằng công thức tính như sau:
( ) ( )L
LLRLL M
iMPPPP
2' 0011 −−+= −−
( ) ( )R
RRL
JLR M
jMPPPP
2' 001 −−+=−
với i = 0 … ML-1 và j = 0 … MR-1;
Như vậy chất lượng của một hệ thống TTS sử dụng phương pháp tổng
hợp xích chuỗi được quyết định bởi các yêu tố sau:
- Sự lựa chọn tập âm đơn vị cơ bản. Trong đó ngữ âm của ngôn ngữ tổng
hợp là yếu tố chính quyết định loại đơn vị cơ bản.
- Chất lượng âm thanh và mức độ bao phủ các tổ hợp âm đoạn cần thiết
cho một ngôn ngữ của CSDL âm.
- Khả năng cung cấp các tham số về ngữ điệu như đường nét tần số cơ
bản cường độ âm thanh và độ dài các âm cho bộ tổng hợp. Các tham số này
được tiên đoán trong phần xử lý ngôn ngữ của bộ tổng hợp từ văn bản.
- Khả năng thay đổi tần số cơ bản F0 và độ dài các đơn vị âm cơ bản phù
hợp với ngữ điệu được miêu tả ở đầu vào của bộ tổng hợp mà không ảnh
hưởng tới chất lượng cảm thụ của âm đó.
- Thuật toán xích chuỗi và mô hình tín hiệu cho phép dễ dàng làm trơn
hai điểm ghép nối của các âm đoạn được xích chuỗi.
Chính vì hai yếu tố sau nên một số hệ thống tổng hợp xích chuỗi thực
hiện mã hoá tham số tiếng nói. Với cách thể hiện bằng các tham số, đặc trưng
phổ và ngữ điệu của tiếng nói được thay đổi dễ dàng hơn mà không thay đổi
đặc tính nhận dạng âm đơn vị cơ bản. Phương pháp mã hoá tham số đặc trưng
nhất là mã hoá tiên đoán tuyến tính LPC cũng như các biến thể của chúng.
207
Tổng hợp xích chuỗi xử dụng mã tiên đoán tuyến tính LPC
Mô hình LPC có nguồn kích Gu(n) được cho bởi công thức sau:
)()()(1
1 nGuinsansp
i
+−= ∑=
trong đó, u(n) là nguồn kích tiêu chuẩn và G là hệ số khuếch đại của
nguồn kích.
Chuyển đổi sang miền z cho ta quan hệ là:
)()()(1
1 zGUzSzazSp
i
i += ∑=
−
và hàm truyền:
)(
1
1
1
)(
)()(
1
zAza
zGU
zSzH
p
i
ii
=−
==∑
=
−
Theo mô hình này, nguồn kích u(n) được khuếch đại với hệ số G là đầu
vào tác động vào một hệ thống lọc toàn cực có hàm truyền
)(
1)(
zAzH =
sẽ tạo ra tiếng nói.
Nguồn kích là bộ tạo tần số cơ bản cho các âm hữu thanh hay tạo nhiễu
ngẫu nhiên cho âm vô thanh.
Các tham số thay đổi chậm theo thời gian để điều khiển mô hình bao
gồm một bit phân biệt âm hữu thanh/ vô thanh, chu kỳ cao độ tần số cơ bản F0
cho âm hữu thanh, hệ số khuếch đại G và các hệ số tiên đoán tuyến tính của
bộ lọc số thay đổi theo thời gian {ap}. Quá trình phân tích LPC thực tế là để
tính các hệ số của mô hình này.
Kĩ thuật cộng chồng đồng bộ cao độ tần số cơ bản – PSOLA
Phương pháp thay đổi cao độ tần số cơ bản và độ dài tiếng nói ở miền
thời gian có lợi thế hơn hẳn về chất lượng âm thanh tổng hợp và khả năng
thực hiện thay đổi thời gian thực. Như chúng ta đã biết, tổng hợp xích chuỗi
bao gồm hai quá trình là quá trình giải mã và xích chuỗi.
208
Quá trình giải mã: tái tạo lại dạng sóng của tín hiệu tiếng nói từ dạng
tham số trong kho dữ liệu.
Xích chuỗi: một chuỗi các đơn vị âm được xích chuỗi sau khi đã thay đổi
các đặc trưng siêu đoạn tính của chúng phù hợp với miêu tả ngữ âm.
Xích chuỗi dùng mã tiên đoán tuyến tính LPC kết hợp hai quá trình nay
làm một. Thay đổi thanh điệu được thực hiện bằng cách thay đổi tần số cơ
bản F0, nguồn kích thanh trước khi đưa vào bộ lọc tổng hợp. độ dài được thay
đổi bằng cách cập nhật các tham số cho bộ tổng hợp theo tần suất khác với tần
suất phân tích.
Kĩ thuật xử lý tín hiệu miền thời gian để thay đổi cao độ tần số cơ bản và
độ dài tiếng nói trực tiếp trên dạng sóng tiếng nói là cộng chồng đồng bộ chu
kỳ cao độ tần số cơ bản (PSOLA).
Khung phân tích tổng hợp – PSOLA
Kĩ thuật cộng chồng đồng bộ chu kỳ cao độ tần số cơ bản thực hiện việc
thay đổi các thành phần ngữ điệu của tiếng nói thành ba bước liên tiếp nhau
được trình bày dưới đây.
Tín hiệu phân tích thời gian ngắn
Bước đầu tiên là quá trình phân tích dạng sóng tiếng nói x(n) thành chuỗi
của các tín hiệu phân tích thời gian ngắn được ghi là x(s,n), s là chỉ số tín hiệu
thời gian ngắn và n là chỉ số mẫu trong tín hiệu thời gian ngắn đó. Các tín
hiệu thời gian ngắn nhận được bằng cách nhân tín hiệu dạng sóng x(n) với
chuỗi cửa sổ phân tích theo thời gian dịch chuyển như sau:
)),(()()( stnxnhnx as −=
Trong đó, hs(n) là cửa sổ phân tích ở tại thời điểm gốc n=0 còn ta(s) là
thời điểm phân tích thứ s. Thời điểm ta(s) còn được gọi là điểm cao độ tần số
cơ bản phân tích. Chúng đồng bộ với chu kỳ cao độ tần số cơ bản ở phần âm
hữu thanh của tiếng nói và có tần số không đổi ở phần âm vô thanh.
Chiều dài cửa sổ phân tích T tỉ lệ với chu kỳ cao độ tần số cơ bản tại chỗ
P(s), có nghĩa là T=µP(s). Hệ số tỉ lệ µ có giá trị là 2 cho kĩ thuật PSOLA
miền thời gian. Cửa sổ phân tích hs(n) được lựa chọn trong thực tế là loại cửa
sổ Hamming.
209
10 ,1
2cos12
1)( −≤≤
−−= Nn
N
nnh π
Tín hiệu tổng hợp thời gian ngắn
Bước thứ hai của phân tích tổng hợp PSOLA là thay đổi chuỗi tín hiệu
phân tích thời gian ngắn thành chuỗi tín hiệu tổng hợp thời gian ngắn đồng bộ
ở các thời điểm ts(u), gọi là điểm cao độ tần số cơ bản tổng hợp. Chuỗi của
các điểm cao độ tần số cơ bản tổng hợp ts(u) được xác định từ điểm cao độ tần
số cơ bản phân tích ta(s) theo tỉ lệ thay đổi cao độ tần số cơ bản và độ dài.
Cùng với chuỗi các điểm cao độ tần số cơ bản tổng hợp, là việc xác định ánh
xạ giữa điểm chu kỳ phân tích và tổng hợp ts(u)→ta(s), từ đó xác định xem cần
phải lựa chọn tính hiệu phân tích nào cho điểm chu kỳ tổng hợp mong muốn.
Đơn giản nhất là sử dụng ánh xạ một ↔ một giữa tín hiệu phân tích và tổng
hợp. Có nghĩa là tạo ra các tín hiệu tổng hợp bằng cách loại bỏ hoặc thêm vào
tín hiệu phân tích thời gian ngắn. Giả sử rằng điểm chu kỳ tổng hợp ts(u) được
ánh xạ với điểm chu kỳ phân tích ta(s) thì tín hiệu tổng hợp y(u,n) liên quan
đơn giản là y(u,n) = x(s,n). Đối với các hệ thống hoàn thiện hơn, ánh xạ
không phải một ↔ một mà là quá trình nội suy tuyến tính giữa hai tín hiệu
phân tích thời gian ngắn liên tiếp nằm gần điểm chu kỳ tổng hợp tương ứng
ts(u).
Tín hiệu tổng hợp thời gian ngắn y(u,n) được tính là:
),1()1(),(),( nsxnsxnuy nu +−+= αα
với 0≤ αu ≤ 1 là hệ số nội suy tuyến tính.
Tín hiệu tổng hợp đầu ra
Ở bước cuối cùng, tín hiệu tổng hợp y(n) được tạo thành bằng cách kết
hợp các tín hiệu tổng hợp thời gian ngắn đồng bộ chuỗi các điểm cao độ tần
số cơ bản tổng hợp ts(u). Sơ đồ tổng hợp được áp dụng trong thực tế là thủ tục
cộng chồng đơn giản:
∑∑
−=
qqq
qqq
nth
nx
nx)(
)(
)(
α
với hq là cửa sổ tổng hợp. Hệ số αq được sử dụng để cân bằng sự thay đổi
năng lượng khi thay đổi cao độ tần số cơ bản. Trong băng tâng hẹp, sự thay
210
đổi về năng lượng là không đáng kể đặc biệt khi chọn độ rộng cửa sổ bằng hai
lần chu kỳ cao độ tần số cơ bản. Ở trường hợp nay, nếu giả thiết αq = 1, còn
tổng các cửa sổ Hamming=1 thì công thức tổng hợp trên đơn giản lại chỉ còn:
∑=q
q nxnx )()(
Như vậy tín hiệu tổng hợp chính là sự kết hợp tuyến tính của các tín hiệu
gốc nhân với các cửa sổ Hamming và được dịch chuyển tuyến tính.
Tính điểm cao độ tần số cơ bản tổng hợp
Xác định điểm cao độ tần số cơ bản tổng hợp được thực hiện theo hai
bước, đầu tiên điểm cao độ tần số cơ bản được tính từ hệ số thay đổi cao độ
tần số cơ bản và độ dài. Sau đó mỗi một điểm chu kỳ tổng hợp được gán với
một hay nhiều điểm chu kỳ phân tích.
Thay đổi cao độ tần số cơ bản
Khi thay đổi cao độ tần số cơ bản, các điểm chu kỳ tổng hợp ts(u) phải
được tính từ các chu kỳ phân tích ta(s) và hệ số thay đổi cao độ tần số cơ bản
βs=β(ta(s)) theo cách sau. Giả sử tín hiệu là âm hữu thanh với điểm chu kỳ
phân tích và đồng bộ thì với ta(s+1)-ta(s)= P(ta(s)), P(t) là hàm biển diễn hình
tuyến cao độ tần cơ bản không đổi t → P(t)
).1()( )),(()( +≤≤= sttststPtP aaa
điểm chu kỳ tổng hợp phải được định vị đồng bộ với hình tuyến cao độ
tần số cơ bản tổng hợp t → P’(t). Vấn đề còn lại là xác định chuỗi các cao độ
tần số cơ bản tổng hợp ts(u) sao cho ts(u+1) = ts(u) + P’(ts(u)) và P’(ts(u)) xấp
xỉ bằng 1/β(ts(u)) nhân với cao độ tần số cơ bản của tín hiệu ở thời điểm ts(u):
))((
))(())(('
ut
utPutP
s
ss β
≈
Tính toán đệ quy, chúng ta tìm giá trị của ts(u+1) thoả mãn điều kiện:
)1( t(s)for t ;(s))(t(t)
,)(
)(
)()1(
1)()1(
aasa
)1(
)(
+≤≤==−+
=−+ ∫+
st
dtt
tP
utututut
ut
utss
ss
s
s
ββββ
Chu kỳ cao độ tần số cơ bản tổng hợp ts(u+1)-ts(u) bằng giá trị 1/β(t) –
chu kỳ cao độ tần số cơ bản thay đổi của tín hiệu nguyên thuỷ được tính trên
211
khung thời gian ts(u+1)-ts(u). Phương trình tích phân trên có thể giải được dễ
dàng vì P(t), β(t) là hàm bất biến từng đoạn.
Thay đổi độ dài
Thay đổi độ dài tín hiệu được thực hiện bằng cách áp hệ số thay đổi αs >
0 vào mỗi một điểm cao độ tần số cơ bản phân tích, từ đó hàm sai lệch thời
gian t→D(t) có thể suy ra như sau:
D(ta(1)) = 0,
D(t) = D(ta(s) + αs(t-ta(s)))
ta(s) ≤ t ≤ ta(s+1),
t → D(t) tuyến tính từng đoạn.
sau khi đã xác định hàm chuyển thời gian, bước tiếp theo là tạo ra chuỗi
các điểm tổng hợp ts(u) từ chuỗi điểm phân tích khi đó vẫn giữ nguyên đường
nét cao độ tần số cơ bản. Cũng như trong trường hợp trên, các điểm phân tích
được đồng bộ với chu kỳ cao độ tần số cơ bản, nghĩa là ta(u+1) – ta(u) =
P(ta(s)). Đường nét cao độ tần số cơ bản tổng hợp đích được định nghĩa là t → P’(t) = P(D-1(t)). Cao độ tần số cơ bản của tín hiệu dãn thời gian ở thời điểm t
phải gần giống với cao độ tần số cơ bản tín hiệu nguyên thuỷ ở thời điểm D-
1(t).
Bây giờ ta phải tìm chuỗi các điểm chu kỳ tổng hợp ts(u) sao cho ts(u+1)
= ts(u) + P’(D-1(ts(u))). Để giải quyết vấn đề này, cần phải định nghĩa một
chuỗi các điểm chu kỳ ảo t’s(u) ở tín hiệu gốc liên quan đến điểm chu kỳ tổng
hợp bằng:
ts(u) = D(t’s(u)), t’s(u) = D-1(ts(u)).
Giả sử biết trước ts(u) và t’s(u) chúng ta có thể xác định ts(u+1), t’s(u+1)
sao cho ts(u+1) – ts(u) xấp xỉ bằng với cao độ tần số cơ bản của tín hiệu gốc ở
thời điểm t’s(u). Điều đó được thể hiện như sau:
∫+
−+=−+
)1('
)(')(
)(')1('
1)()1(
ut
utss
ss
s
s
dttPutut
utut
với )).1('()1( +=+ utDut ss
Chu kỳ cao độ tần số cơ bản tổng hợp ts(u+1)-ts(u) ở thời điểm ts(u) bằng
với giá trị cao độ tần số cơ bản trung bình của tín hiệu gốc được tính trong
212
khoảng thời gian t’s(u+1) – t’s(u). Chú ý rằng, khoảng thời gian t’s(u+1)-t’s(u)
được ánh xạ với ts(u+1) –ts(u) bằng hàm ánh xạ D(t).
Cũng như thay đổi cao độ tần số cơ bản, hàm tích phân này có thể được
tính dễ dang vì D(t) và P(t) là hàm tuyến tính từng đoạn.
Thay đổi đồng thời cao độ tần số cơ bản và độ dài
Thay đổi đồng thời cao độ tần số cơ bản và độ dài được thực hiện tương
tự như trên. Giả thiết rằng hệ số thay đổi cao độ tần số cơ bản là βs và thay
đổi độ dài là αs, ta có:
∫+
−+=−+
)1('
)(' )(
)(
)(')1('
1)()1(
ut
utss
ss
s
s
dtt
tP
utututut
β
với β(t) = βs, và ta(s) ≤ t ≤ ta(s+1)
Ánh xạ giữa điểm cao độ tần số cơ bản tổng hợp và điểm cao độ tần số
cơ bản phân tích
Bước cuối cùng là áp các tín hiệu tổng hợp thời gian ngắn vào các điểm
đồng bộ tổng hợp. Các trình bày trên chỉ rõ rằng một điểm chu kỳ tổng hợp
nói chung không liên quan tới một điểm chu kỳ phân tích. điểm chu kỳ ảo
t’s(u) (bằng với điểm chu kỳ tổng hợp ts(u) cho thay đổi cao độ tần số cơ bản )
không nhất thiết tương ứng với điểm cao độ tần số cơ bản tổng hợp. Một giải
pháp đơn giản là lấy trung bình có trọng số hai tín hiệu phân tích gần nhau.
giả thiết rằng ta(s)≤ t’s (u) ≤ ta(s+1) thì
)()1(
)()('
),,1(),()1(),(
stst
stut
nsxnsxnuy
aa
asu
uu
−+−=
++−=
α
αα
đơn giản hơn nữa khi thay hệ số αu bằng một số nguyên dương gần giá
trị đó, tức là bằng 0 hay 1. Nếu bằng 1 có nghĩa là tương ứng với việc lựa
chọn điểm phân tích thời gian ngắn nằm gần nhất so với điểm chu kỳ ảo t’s(u).
Trong trường hợp này, nếu thay đổi độ dài, phương pháp PSOLA sẽ loại bỏ
hay thêm vào tín hiệu phân tích thời gian ngắn.
Thay đổi độ dài âm thanh vô thanh
Vấn đề thay đổi cao độ tần số cơ bản đối với các âm vô thanh không cần
thiết đặt ra vì đối với các loại thanh này, dây thanh không chấn động, không
tạo ra tần số cơ bản. Khi kéo dài tín hiệu vô thanh, đặc biệt là âm xát, việc
213
thêm vào các tín hiệu phân tích tạo ra dạng nhiễu, vì bản thân các tín hiệu này
vốn giống như nhiễu và nó tạo ra hiệu ứng tự tương quan thời gian dài ở đầu
ra. Để xử lý vấn đề này, Moulines đề xuất việc cách đảo ngược trục thời gian,
khi ấy xs(m) được thay bằng xs(-m). Phép đảo này cho phép giữ được phổ
biên độ thời gian ngắn, đồng thời thay đổi dấu của phổ pha sẽ giảm được sự
tương quan của tín hiệu đầu ra.
Tổng hợp với bộ đơn vị tối thiểu
Như chúng ta đã biết tiếng Việt gồm 22 phụ âm đầu và 155 vần. Phần
vần là phần mang nét đặc trưng chính của thanh điệu. Nếu chúng ta có thể
tổng hợp được các âm tiết mới từ âm tiết đã có trên cơ sở thay đổi thanh điệu
thì không gian bộ nhớ chứa tập âm đơn vị giảm được rất nhiều. Dung lượng
nhớ có thể tính được đơn giản như sau. giả sử số âm phải lưu trữ dưới dạng
sóng là 300 đơn vị bán âm tiết. Độ dài trung bình của mỗi âm là 150 ms, nếu
đơn vị âm được lấy mẫu với chất lượng âm thanh thoại 8KHz, 8 bit ta cần một
dung lượng nhớ là S = 300*0,15s*8Kbyte /s = 360 Kbyte. Hay với chất lượng
âm thanh cao 16KHz, 16 bit cũng chỉ cần 1,44 Mbyte. Với dung lượng nhớ
như vậy, hệ thống tổng hợp tiếng nói có thể được xây dựng thành ứng dụng
nhúng (Embedded Applications), ví dụ như trong các thiết bị đầu cuối viễn
thông hay máy nói cho những người khiếm ngôn.
Đối với âm tiết mở và nửa mở
Âm tiết mở và nửa mở (không đóng) có khả năng mang cả sáu thanh.
Giả sử lấy âm gốc là âm tiết mang thanh không dấu. Như ta đã biết, đường nét
tần số cơ bản F0 của thanh ngang hơi đi xuống. Nếu thay đổi đường nét thanh
ở khoảng thời gian của âm chính theo đường nét cách điệu tuyến tính và độ
dốc như trình bày ở chương hai thì việc tạo thành các vần mang thanh huyền,
thanh hỏi, thanh sắc tương đối dễ dàng. Chất lượng âm thanh tuy hơi giảm,
âm nhàu đi nhưng vẫn nghe hiểu rõ.
Đối với âm đóng
Các âm đóng có tận cùng bằng âm tắc vô thanh /p,t,k/ chỉ mang hai
thanh là sắc và nặng. Hình tuyến của thanh sắc và nặng lúc này không quan
trọng cho cảm thụ thanh bằng âm vực của chúng. Như kết quả phân tích ở
chương 3, thì thanh sắc ở âm vực cao, giá trị F0 > 200 Hz, và thanh nặng ở
âm vực thấp F0 = 100 Hz. Thay đổi F0 của các âm tiết đóng từ sắc sang nặng
214
hay ngược lại đều tương đối đơn giản. Chất lượng âm tổng hợp được cảm thụ
không khác nhiều so với âm gốc.
Kết quả tổng hợp thử nghiệm này một lần nữa làm sáng tỏ tính chất phi
thanh tính mang ý nghĩa riêng biệt ở một số thanh điệu (thể hiện rõ nhất ở
thanh ngã và thanh nặng) trong hệ thống thanh điệu tiếng Việt.
Tổng hợp với một âm cho một đơn vị
Số lượng đơn vị ít nhất để tổng hợp xích chuỗi cho tiếng Việt phải gồm
một âm cho mỗi một nửa âm tiết. Ví dụ âm tiết /nha/ của từ /nha khoa/ được
tổng hợp bằng hai bán âm /#nha - a#/ (# là khoảng lặng của tín hiệu), hay
tương tự như vậy cho âm tiết /nhanh/ ta cần hai bán âm là /#nha - anh#/. Hai
âm tiết này có cùng một bán âm /#nha-/ và phần âm của vần. Các bán âm này
được lưu trữ trong CSDL và được dùng xích chuỗi cho tất cả các âm bắt đầu
bằng /#nha-/ như /nhan, nhát, nhạt, v.v…/.
Việc tìm đủ các bán âm thích hợp là toàn bộ nghệ thuật của tổng hợp
xích chuỗi. Trong các kết quả nghiên cứu phân tích thanh điệu tiếng Việt trình
bày chương 2 có hai kết luận:
Phần thanh điệu ở nửa trước của âm tiết đi lên hay đi xuống không mang
ý nghĩa quyết định đặc trưng của thanh điệu.
Điểm giữa âm chính của âm tiết là điểm thay đổi tần số cơ bản thể hiện
đặc trưng thanh điệu.
Việc thu thập các âm đơn vị chỉ có thể thực hiện thủ công với các công
cụ thích hợp bằng phương pháp lựa chọn và loại trừ lỗi. Đây là một công việc
mất rất nhiều thời gian và công sức. Thời gian để thay đổi một giọng nói mới
cho bộ tổng hợp có thể kéo dài hàng năm. Tuy vậy, so với việc tìm các quy
luật biến đổi tần số formant của phương pháp tổng hợp formant còn nhẹ
nhàng hơn nhiều lần.
Đối với tiếng Việt, tần số cơ bản F0 thay đổi trên diện rộng và lại mang
đặc trưng của thanh điệu trong ngữ lưu nên để tìm được các tổ hợp bán âm
phù hợp hoàn toàn cả về năng lượng, cao độ tần số cơ bản và phổ mà thực
hiện bằng cách làm thủ công thì hết sức khó khăn và mất nhiều thời gian.
Khi đã thu thập đủ số bán âm cần thiết, bộ tổng hợp áp dụng kĩ thuật
cộng chồng đồng bộ cao độ tần số cơ bản PSOLA để thay đổi độ dài và cao
215
độ tần số cơ bản của các đoạn âm thanh phù hợp với quy luật ngữ cảnh ngữ
âm. Cho tiếng nói liên tục, chất lượng của đoạn âm được thay đổi với kĩ thuật
PSOLA trong trường hợp tổng hợp sao chép gần như tuyệt hảo nếu hệ số thay
đổi cao độ tần số cơ bản và độ dài lớn hơn 0,5 và nhỏ hơn hai lần. Trong nói
xích chuỗi, một khi trung tâm cửa sổ phân tích không được đồng bộ với chu
kỳ cao độ tần số cơ bản chất lượng sẽ giảm đi đáng kể. Tổng hợp xích chuỗi
theo phương pháp cộng chồng đồng bộ cao độ tần số cơ bản PSOLA là
phương pháp tổng hợp rất hiệu quả, chất lượng âm thanh nghe hiểu rõ. Độ tự
nhiên của bộ tổng hợp lúc này phụ thuộc vào khả năng mô hình hoá đối với
các quy luật về sự biến đổi của ngữ âm, ngữ điệu theo các ngữ cảnh khác
nhau. Tuy nhiên, chỉ với một mẫu cho một đơn vị âm, độ tự nhiên chắc chắn
sẽ bị giới hạn vì trong tiếng nói tự nhiên số lượng âm tạo ra của một đơn vị là
vô hạn. Loại tập đơn vị này hứa hẹn khả năng phát triển một hệ thống tổng
hợp tiếng nói theo thời gian thực, đa tiến trình, đồng thời trên một máy tính
cho các ứng dụng thương mại.
Tổng hợp theo mô hình số liệu corpus-based
Nguyên lý tổng hợp mô hình số liệu
Như trình bày ở trên, nếu xây dựng hệ thống tổng hợp tiếng nói với số
lượng đơn vị âm tối thiểu và đủ ta phải dựa vào các công nghệ xử lý tín hiệu
số để thay đổi các tham số ngữ điệu của câu tổng hợp theo quy luật thay đổi
ngữ âm để tăng độ tự nhiên của tiếng nói. Kĩ thuật điều khiển trực tiếp dạng
sóng tiếng nói trên cơ sở cộng chồng đồng bộ cao độ tần số cơ bản PSOLA.
PSOLA cho phép thay đổi dễ dàng cao độ tần số cơ bản và đô dài của tiếng
nói, không làm ảnh hưởng đáng kể đến chất lượng âm thanh so với kĩ thuật
tham số LPC.
Tuy nhiên, với bất kỳ một kĩ thuật xử lý tín hiệu số nào, chất lượng tiếng
nói cũng bị giảm đi. Như vậy, để tổng hợp ra tiếng nói có độ tự nhiên gần với
tiếng nói con người, chúng ta cần phải có thật nhiều các đơn vị âm nguyên
bản phù hợp cho mọi ngữ cảnh để giảm thiểu sự tác động để thay đổi tín hiệu
làm giảm chất lượng âm thanh tổng hợp. Đây chính là điểm xuất phát của ý
tưởng xây dựng phương pháp số liệu corpus-based cho tổng hợp tiếng nói.
Khi dựa trên cơ sở dữ liệu lớn có nhiều biến thể âm thì chúng ta không
tạo ra mà chỉ lựa chọn và sắp xếp lại các đơn vị âm một cách thích hợp. Các
216
âm này được thiết lập chỉ số theo đặc tả ngữ âm và ngữ điệu được lưu trữ
trong kho dữ liệu trước đó. Khi lựa chọn phải giảm thiểu sự gián đoạn về phổ
và tăng tối đa tiệm cận về các tham số ngữ điệu giữa đơn vị âm trong cơ sở dữ
liệu tới ngữ đoạn đích cần tổng hợp. Ngữ đoạn đích được mô tả với các thuộc
tính về ngữ âm và ngữ điệu của nó được xử lý tạo lập ở khối xử lý ngôn ngữ.
Với phương thức tiếp cận này, ta thấy rằng, bất kỳ một khối dữ liệu tiếng
nói nào cũng có thể được sử dụng làm nguồn cho đơn vị tổng hợp, chỉ cần có
điều kiện là đã có bản ghi âm và mô ta chính tả của tiếng nói. Như vậy, ta có
thể tổng hợp được tiếng nói có cùng giọng và thậm chí giống cả cách của
người nói tạo ra nguồn âm đó. Chất lượng tiếng nói tổng hợp ở phương pháp
này phụ thuộc vào sự cân bằng ngữ âm của số liệu và vào độ sẵn sàng của các
đơn vị đại diện trong khối dữ liệu. Nguồn âm càng giàu, độ tự nhiên càng cao;
nguồn âm nghèo thì tiếng nói bị gián đoạn và chất lượng không ổn định. Số
lượng lớn đơn vị âm đặt ra các yêu cầu mới về quản trị các âm đơn vị này
trong cơ sở dữ liệu như thế nào, qua trình lựa chọn được tiến hành ra sao để
đảm bảo tốc độ và khả năng ứng dụng thời gian thực. Bộ tổng hợp dựa trên cơ
sở số liệu được xây dựng theo ba giai đoạn chính là:
Tự động tạo lập chỉ số cho tiếng nói tự nhiên bao gồm việc định vị trí
của các đơn vị âm tổ hợp và xác định ngữ cảnh của chúng ví dụ như vị trí
trong ngữ đoạn, loại âm tiết, thanh điệu của các âm tiết ngay trước và sau
vv… Như vậy, trong giai đoạn này, các quy luật thay đổi của các âm phụ
thuộc vào ngữ cảnh trong quá trình tạo tiếng nói được phát hiện và tích hợp
vào trong chỉ số tham số của các đơn vị âm.
Xây dựng cơ sở dữ liệu đơn vị âm - Việc tạo lập CSDL đơn vị tổng hợp
được thực hiện một lần cho một khối dữ liệu mới. CSDL chứa vector đặc tính
về phổ và ngữ điệu cũng như các trọng số của đơn vị âm theo chỉ số đã được
thiết lập ở giai đoạn trước. CSDL tổng hợp được được tái sử dụng để thực
hiện vô số các tổng hợp khác nhau.
Bộ tổng hợp thực hiện chức năng lựa chọn đơn vị âm trên cơ sở so sánh
đặc tả đích được chuẩn bị ở phần xử lý văn bản với các đặc tính đơn vị âm
chứa trong CSDL, truy xuất khỏi CSDL, xích chuỗi chúng lại với nhau.
Các độ đo đặc trưng ở biên đơn vị âm
217
Điểm mấu chốt ở xích chuỗi miền thời gian trên cơ sở corpus là lựa chọn
đơn vị âm thích hợp. Đơn vị thích hợp là các đơn vị có chỉ số ngữ âm phù hợp
và khi xích chuỗi phải đảm bảo được sự liên tục về năng lượng, sự liên tục về
cao độ tần số cơ bản cũng như khoảng cách phổ giữa hai đơn vị xích chuỗi là
nhở nhất. Vì vậy, các thông tin về phổ như hệ số cepstrum, thông tin về ngữ
điệu như cao độ tần số cơ bản, năng lượng ở biên xích chuỗi của các đơn vị
âm phải được tính toán và lưu trữ khi thiết lập CSDL đơn vị âm.
• Tính cao độ tần số cơ bản
Giá trị cao độ tần số cơ bản ở hai biên của một âm có N điểm chu kỳ cao
độ tần số cơ bản được lưu trữ dưới dạng tần số cơ bản:
)(1
),(1
2112
HzTT
FHzTT
FNN
EB−− −
=−
=
•Tính độ dài của các âm (đơn vị ms)
•Tính năng lượng
Năng lượng của các khung tín hiệu ở biên được tính với công thức tổng
quát như sau:21
0
)2
()(1
)( ∑−
=
+−=
SN
m
s
s
mN
nsmwN
nP
Với Ns là số mẫu tín hiệu được tính năng lượng, s(n) là tín hiệu, w(n) là
hàm trọng số, và n là chỉ số mẫu. Hàm trọng số là hàm cửa sổ Hamming được
dùng để tính năng lượng.
• Hệ số Cepstrum
Từ tập hệ số mã tiên đoán tuyến tính LPC am ta có thể chuyển đổi trực
tiếp sang hệ số Cepstrum cm theo đệ quy sau:
( )
( )
>=
≤≤+=
=
∑
∑−
=−
−
=−
pmacmkc
pmacmkac
c
m
kkmkm
m
kkmkmm
;/
1 ;/
lg
1
1
1
1
20 δ
trong đó δ2 là hệ số khuếch đại của mô hình mã tiên đoán tuyến tính.
Trọng số hoá hệ số Cepstrum
218
Sau khi tính được Q hệ số Cepstrum, ta đặt trọng số chúng bằng một
hàm cửa sổ thích hợp để giảm bớt độ nhạy vì các hệ số cepstrum bậc nhất rất
nhạy với hình bao phổ còn hệ số bậc cao lại nhậy với nhiễu (hay với những
phần âm có dạng như nhiễu).
Qmcwc mmm ≤≤= 1 ;ˆ ,
Hàm trọng số là bộ mở băng thông (bộ lọc ở miền cepstrum)
QmQ
mQwm ≤≤
+= 1 ; sin
21
π
7.4. Chuẩn hoá văn bản
Chuẩn hoá văn bản là quá trình tiền xử lý văn bản trong thiết lập đầu vào
của mô đun tổng hợp tiếng Việt.
Phần cơ bản của hệ thống TTS tiếng Việt chuyển đổi mọi văn bản đọc
được bằng tiếng Việt thành dạng tín hiệu âm thanh. Tuy nhiên, do đa dạng
hoá khâu lấy văn bản đầu vào, trong văn bản có khá nhiều từ phi chữ số như
ngày tháng, chữ viết tắt, có các từ tiếng Anh xuất hiện xen kẽ trong văn bản
tiếng Việt… Vì thế, chúng ta cần phải thực hiện “Chuẩn hoá văn bản” để
chuyển các đối tượng này sang dạng đọc được.
Các bước chuẩn hoá văn bản:
• Chuyển đổi các biểu thức số, giờ, ngày tháng, chữ viết tắt theo
một chuẩn thống nhất để hệ thống có thể đọc đúng văn bản
• Phát hiện tự động các cụm từ Việt - Anh
• ….
Chữ tiếng Việt lại có chung một số đặc điểm với tiếng Anh như nhận
biết biểu thức phi từ như số, ngày tháng, chữ viết tắt… Do vậy, chúng ta phải
giải quyết một phần có tính đặc thù như:
• Độc lập với bộ mã tiếng Việt
• Tìm kiếm biên của cụm từ
• Trong một văn bản, chương trình sẽ dựa vào dấu hiệu kết thúc
như dấu: , . và enter trong đó chúng ta giả định các dấu kết thúc
không được đọc.
219
• Tách cụm từ tiếng Anh trong một văn bản thuần Anh, thuần Việt
hay có hỗn hợp tiếng Việt Anh
• Sự nhập nhằng trong văn bản thuần Việt hay trong văn bản hỗn
hợp Việt - Anh là những khó khăn trong việc hiểu đúng văn bản
cũng như phân hoạch tự động tiếng Việt - Anh.
Mô hình máy trạng thái tìm kiếm biên cụm từw=getFirstWord(the text);token=getToken(w);while(true){
switch(state){
case NUMBER:if(token==PHAY&& isNumeric(nextWord(the
text))==NUMBER {
state = SEQUENCE;w = nextWord(the text);token = getToken(w);
} // ifbreak;
case SEQUENCE:if(token!= NUMBER && token!=PHAY){
state=FINISHED;} // if
default:break;
} // switch
} // while
220
côm tõ
INTEGER
NUMBER
ALPHA
WORD Biªn cña tõ
MAY BE SEQUENCE
' '
Biªn cña tõ
' '
' , ', ' . '
dÊu hiÖu kÕt thócSEQUENCE
' , ', ' . '
NUMBER
' '
' '
Hình 7-65- Mô hình máy trạng thái tìm kiếm biên cụm từ không có ngữ cảnh.
Phông chữ Việt Nam
Có nhiều mã kí tự trùng nhau trong các bộ mã tiếng Việt khác nhau VNI,
TCVN-3, UNICODE.
Mã TCVN-3 VNI UNICODE210 ề ị ò211 ể ĩ Ã
Bảng 7-3- Bảng liệt kê một số mã được hiển thị trong các font
Mã TCVN3 biểu diễn bởi 1 byte, VNI là 1 hoặc 2 byte, UNICOIDE là 2
byte.
Chúng tôi sử dụng biểu diễn telex độc lập với các bộ mã tiếng Việt,
“miền sơn cước” “mi2eenf s2own c2uw2owcs”.
Biểu thức và sự nhập nhằng nghĩa
• 12,3 là định dạng số thập phân,
• 7 560 537 là ba số nguyên hay số điện thoại,
• 12.320 là “mười hai chấm ba hai” hay “mười hai nghìn ba trăm hai mươi”,
• 8/5 “tám phần năm” hay “ngày tám tháng năm”.Biểu thức thời gian
• 27/5/2002 khác với định dạng chuẩn 27/05/2002
221
• 12:30:23 định dạng giờ điện tử, dấu “:” ở đây không là dấu hiệu kết thúc của cụm từ.
• 12/5 ngày 12 tháng 5, phân số 12/5 cũng là cách viết trong văn bản tiếng Anh.
Có nhiều kiểu định dạng theo cách viết tự nhiên:
Dạng đầy đủ: 27/05/2002, 27-05-2002, ngày 27/05/2002, ngày
27/05/2002
Dạng không đầy đủ: ngày 27/5, ngày 27-5, tháng 5/2002, tháng 5-2002,
Biểu thức đo lường, biểu thức nhiệt độ, biểu thức tiền Việt Nam
“nhiệt độ hôm nay đến 33,5oC” “nhiệt độ hôm nay đến ba ba phẩy
năm độ xê”,
“tài sản trị giá 30000đ” “tài sản trị giá ba mươi nghìn đồng”.
Văn bản hỗn hợp Việt - Anh
Do tiếng Việt là ngôn ngữ được latinh hoá, dùng chung phần lớn bộ mã
tiếng Anh nên sự nhập nhằng giữa hai ngôn ngữ Việt - Anh rất lớn. Để phân
biệt các cụm từ tiếng Việt - Anh yêu cầu phải hiểu văn bản ở một mức độ nhất
định.
Có nhiều âm tiết xuất hiện trong cả tiếng Anh và tiếng Việt,
Chẳng hạn,
• “I go to the school.” là câu tiếng Anh nhưng các âm tiết “I”,
“go”, “to”, “the” cũng là âm tiết tiếng Việt.
• “ Con chó mon men đến gần cô chủ.” là câu tiếng Việt, các âm
tiết “con”, “mon”, “men” có thể là âm tiết tiếng Anh.
• “Tôi, Mary, Tom và Hằng cùng hay hát.”, là câu hỗn hợp Việt
Anh có các âm tiết nhập nhằng “Tom”, “hay”.
Để khử sự nhập nhằng giữa hai ngôn ngữ, chúng tôi đã sử dụng từ điển,
xây dựng một bộ luật đơn giản và mối quan hệ từ loại của âm tiết hiện thời
với các âm tiết lân cận.
R1. Các âm tiết có dấu hoặc có chứa các kí tự ê, ư, ô, ơ, ă, â là âm tiết
tiếng Việt.
R2. Các âm tiết có phụ âm đầu là kh, nh, ngh là âm tiết tiếng Việt.
222
R3. Các âm tiết có âm cuối là nh là âm tiết tiếng Việt.Kĩ thuật này chưa đề cập đến cú pháp, ngữ nghĩa của câu nhưng cũng đã
nhận biết được phần lớn các âm tiết là Anh hay Việt.
text
côm tõ côm tõ côm tõ
sèdate côm tiÕng ViÖt ®èi t î ng më réng
®Çy ®ñ kh«ng ®Çy ®ñ côm tiÕng Anhd· y sè sè nguyªn sè thËp ph©n tªn tÖp ©m thanh
Hình 7-66- Phân cấp đối tượng trong chuẩn hóa văn bản
7.5. Phân tích văn bản
Mục đích của phân tích văn bản là để hiểu văn bản và dự báo mối quan
hệ giữa văn bản và phát âm (khả năng biến thanh, thay đổi trường độ phát âm
của từ và âm tiết). Tiếng Việt là ngôn ngữ đơn âm không có hình thái, trong
đó biên của từ không được xác định bằng các dấu trắng ngăn cách. Theo cách
tiếp cận thông thường, giai đoạn gán nhãn được thực hiện sau khi đã xác định
được biên của từ, nhưng cách làm này có thể không hợp lý.
Chẳng hạn, “Cậu có bảo đảm bí mật không ?”Cậu / có / bảo đảm / bí mật / không?Hoặc là, “Anh biết điều chỉnh lại cho hợp lý.”- Anh / biết / điều chỉnh / lại / cho / hợp lý. - Anh / biết điều / chỉnh / lại / cho / hợp lý.“Chúng tôi nghi vấn đề thi thử không tác dụng.”- Chúng tôi / nghi / vấn đề / thi / thử / không / tác dụng.- Chúng tôi / nghi vấn / đề thi / thử / không / tác dụng.
223
Trong câu đầu, không xảy ra sự nhập nhằng trong cách tách từ nhưng từ
“bảo đảm” có ba từ loại: danh từ, động từ và tính từ. Ở hai câu sau rất khó xác
định cách tách từ nào hợp lý hơn cả nếu không kết hợp với từ loại.
Một từ tiếng Việt có thể có một hoặc nhiều từ loại, rất khó xác định từ
loại phù hợp nhất.
Sự phân đoạn khác nhau, dẫn tới việc thay đổi chuyển trạng từ loại, cách
phân đoạn đúng sẽ phụ thuộc vào từ loại của các từ khác trong cả câu, như
vậy, theo chúng tôi, sự phân đoạn và gán nhãn là hai quá trình không tách rời
nhau.
Mô hình 2-gram
Cách tiếp cận phân đoạn từ và gán nhãn từ loại của chúng tôi dựa trên
phương pháp thống kê theo kiểu “Mô hình ngôn ngữ”.
Theo mô hình 2-gram
Giả sử S = w0 w1 ... wn là dãy các từ đa âm tiết wi có trong từ điển tiếng
Việt
P(S) = max Π P(wi)P(wi|wi-1)
P(wi) = xác suất xuất hiện từ wi.
P(wi|wi-1) = xác suất xuất hiện wi có wi-1 xuất hiện trước nó.Để dùng cho bài toán nhận biết từ loại, mô hình 2-gram gốc được sửa lại
như sau:Giả sử S = w0 w1 ... wn là dãy các từ đa âm tiết wi có trong từ điển tiếng
Việt
P(S) = max Π P(wi|ti)P(ti|ti-1)(t1, ..., tn)
T = {ti} là tập tất cả các nhãn từ loại có thể có.
P(wi|ti) = xác suất xuất hiện từ wi với từ loại ti.
P(ti|ti-1) = xác suất xuất hiện nhãn ti có ti-1ở trước.
Các xác suất được tính trên một tập corpus xác định.
Luật quyết địnhCách phân hoạch đúng theo mô hình này là cách ghép các âm tiết tạo với
các từ loại t1,.., tn tương ứng sao cho: P(S) -> max
224
Để cài đặt cho mô hình ngôn ngữ 2-gram này chúng tôi đã dùng thuật
toán Viterbi quen thuộc.
Tiền xử lý
Trước khi áp dụng được cách phân loại theo mô hình ngôn ngữ, chúng ta
phải qua giai đoạn xử lý câu, chia một câu thành những câu đơn, xử lý các tên
riêng, các số…
Bảng từ loại
STT Từ loại Ví dụ
001 Danh từ chỉ số đếm Một, một vài, ...
002 Danh từ chỉ vật đơn Con đường, con thuyền, ...
003 Danh từ hiện thực hoá Sách, gỗ, ...
004 Danh từ chỉ loại Người, ông, đứa, đống, lít, quyển, ...
005 Danh từ đếm được Làng, khu, nhóm, tổ, ngày ...
006 Danh từ tổng hợp Nhà cửa, máy móc, đất đai, ...
007 Danh từ chỉ ngôi(Đại từ) Tôi, hắn, ta, ...
008 Động từ tình thái đã, hãy, có, không, mến, lại, được, ...
009 Động từ được xác định Ngủ, nghỉ, cười, ...
010 Động từ không xác định định, thành, là, bầu, tưởng, mong, ...
011 Tính từ mức độ Rất, hơi, cực kì, ...
012 Tính từ xác định Riêng, lạnh lẽo, ...
013 Tính từ không xác định Tốt, đẹp, cao, thấp, ...
014 Phó từ Hãy, đừng, khẽ, mới, không, ...
015 Phụ từ Rồi, cho, với, đã, ...
016 Từ nối Bởi vì, do đó, cho nên, vì, nhưng, ...
017 Từ chỉ định Này, nọ, kia, ấy, ...
Bảng 7-4- Bảng từ loại tiếng Việt.
Văn phạm ngữ pháp tiếng Việt
<Cụm từ >= (<Cụm từ chủ vị >|< Cụm từ đẳng lập>|<Cụm từ chính phụ>
<Cụm từ chính phụ >= (<Cụm danh từ>|<Cụm động từ >|<Cụm tính từ>
225
<Cụm danh từ >= <DN_trước ><danh từ><DN_sau>
<DN_trước>= <Từ chỉ tổng lượng><Từ chỉ lượng><Từ chỉ xuất: cái, con, cây, ...>
<DN_sau>=<Cụm từ><Từ chỉ định>
<Từ chỉ định>='này', 'nọ', 'kia', 'ấy', ...
<Cụm động từ>=<Phó từ>([<Động từ không độc lập>]<Động từ độc
lập>)<Định ngữ sau>
<Định ngữ sau>=(<Từ>|<Cụm từ>)<Phụ từ>
<Phụ từ>='rồi', 'cho', 'với', 'đã', ...
<Động từ không độc lập>=(<chỉ khả năng: có thể>|<sự cần thiết: cần,
nên, phải>|<ý chí: toan định>|<mong muốn chúc tụng: mong, muốn, chúc,
...>|<chỉ sự chịu đựng: bị, được, chịu, mắc, phải, ...>|<chỉ sự bắt đầu tiếp tục
kết thúc: bắt đầu, tiếp tục, thôi, kết thúc, ...>
<Phó từ>=(<thức mệnh lệnh: hãy, đứng, chớ, ...>|<phương thức thực
hiện hành động: khẽ, chóng, ...>|< đã, sẽ, đang, vừa, mới, vẫn, còn,...> | <phủ
định: không, chẳng, chưa, ...>
<Cụm tính từ>=<TN_trước><tính từ>(<TN_sau>|<Cụm từ chính phụ>)
<TN_trước> ='rất', 'khí', 'hơi', ...
<TN_sau>= 'quá', 'cực kì', 'cực', 'tuyệt', 'vô cùng', ...
<Cụm từ>=(<Cụm từ chủ vị>|<Cụm từ đẳng lập>|<Cụm từ chính phụ>)
<Cụm từ chính phụ>=(<Cụm danh từ>|<Cụm động từ>|<Cụm tính từ>)
<Câu>=(<Câu đơn>|<Câu phức>|<Câu ghép>)");
<Câu đơn>=(<Cụm từ chủ vị>|<Cụm từ chính phụ>
<Câu ghép> =[<Từ nối>]<Câu đơn>[<Từ nối>]<Câu đơn>
<Từ nối>=‘bởi vì’, ‘tại vì’, ‘do’, ‘sở dĩ’, ‘cho nên’, ‘nhưng’, ‘thì’, ‘mà còn’, ‘là vì’, ....
226
Hình 7-67- Giao diện module phân tích văn bản tiếng Việt
7.6. Các mô hình ngôn ngữ
Trong nhận dạng tiếng nói thì sử dụng các mô hình ngôn ngữ là bắt
buộc. Nó giới hạn không gian tìm kiếm để có các giải pháp tối nhất có thể có
trong khoảng thời gian ngắn.
Chúng ta cần ước lượng độ hợp lý của câu đưa ra trong ngôn ngữ. Trong
thực tế, chúng ta có thể thực hiện từng phần, mỗi phần là một chuỗi các từ. Vì
ngôn ngữ thực ra chỉ được học từ sự quan sát và vì chúng ta không bao giờ
quan sát hết được ngôn ngữ tự nhiên để có thể xem xét tất cả các câu có thể
xảy ra.
Các mô hình ngôn ngữ
Các mô hình ngôn ngữ được sử dụng trong nhận dạng tiếng nói có thể
được phân ra thành các loại sau:
• Mô hình Uniform: Trong các mô hình này, các từ tương đương nhau và xác
suất của một từ là 1/|V| trong đó |V| là độ lớn từ vựng.
• Ngôn ngữ trạng thái hữu hạn: Đây là ngôn ngữ nhân tạo, sử dụng một mạng
hữu hạn các trạng thái lưu dãy các từ.
• Mô hình ngôn ngữ văn phạm: mô hình này dựa trên việc hiệu chỉnh văn
phạm phi ngữ cảnh, hoặc dựa trên cấu trúc ngữ nghĩa của các cụm từ hay
ngôn ngữ đồng nhất.
227
• Mô hình stochastic: mô hình này dựa trên khả năng kết hợp của một từ và
những từ đứng trước nó.
• Các mô hình ngôn ngữ khác dựa trên khái niệm như CART(cây phân loại và
hồi quy) và entropy cực đại.
Mô hình N-gram
Các mô hình ngôn ngữ cần đánh giá xác suất tiên nghiệm P(W) của dãy các từ W = w1, …, wN .
P(W) có thể tính như sau:
P(W) =P( w1 , w2 ,…, wN ) = P(w1) ∏=
N
i 2P(w1 |wi-1 ,…, w1)
Đánh giá một tập xác suất lớn như vậy từ một tập dữ liệu training hữu
hạn không có tính khả thi.
Hạn chế đó có thể được khắc phục bằng cách sử dụng mô hình N-
GRAM. Trong trường hợp này, xác suất điều kiện của một từ wi ở vị trí i chỉ
được đánh giá dựa vào các từ đứng trước N-1 trong cụm từ đó. Trong điều
kiện cần thiết, ngôn ngữ này được xem như N-1 Markove tĩnh và xác suất
P(w1 |wi-1 ,…, w1) xem như là xác suất P(w1 |wi-1 ,…, wi-N)
N định nghĩa được số xác suất ước lượng (=|V|N),các giá trị nhỏ của N
đòi hỏi độ chính xác và đầy đủ từ tập training hữu hạn. Các mô hình unigram,
bigram và trigram sẽ được xét đến phù hợp với các bộ nhớ nhỏ. Các mô hình
có bộ nhớ lớn hơn cần tập training lớn hơn bởi vì mỗi dãy từ của N cần được
xem xét đầy đủ để có được tính chính xác tương đối khi đánh giá.
Khi dữ liệu training không đủ cho việc ước tính, các giá trị lớn của N sẽ
giảm trong khi thực hiện. Kết quả thực nghiệm cho thấy mô hình bigram rất
hài hoà đồng thời mang lại kết quả thoả đáng mà không gây quá nhiều rắc rối
trong quá trình đánh giá xác suất.
228
Mô hình Unigram
Bộ nhớ của mô hình Unigram có giới hạn là một, vì thế không xét sự ảnh
hưởng của những từ đứng trước từ hiện thời. Xác suất của mỗi từ được ước
lượng bởi tần số của nó:
( ) ( )( )
|]|,...,1[,)(||
1
)(
)()( ViVw
wN
wNwP i
V
j
j
ii ∈∈∀=
∑=
∧
trong đó N(w(i)) là số lần từ w(i) xuất hiện trong tập training. Mô hình này
hiếm khi được sử dụng độc lập. Nó thường được kết hợp với các xác suất
bigram và trigram sử dụng các kĩ thuật làm trơn như Good-Turing, linear,
nonlinear, …
Mô hình Bigram
Mô hình Bigram dựa trên cách tính xấp xỉ, tức là một từ chỉ phụ thuộc
cách tính toán thống kê những từ tạm thời đứng trước nó. Từ giả định trên, có
hai mô hình có thể thực hiện được:
• mô hình cặp từ
• mô hình Bigram
Mô hình cặp từ là một mô hình được đơn giản hóa trong đó xác suất
chuyển trạng giả định là 0 hoặc 1. Mô hình chỉ rõ dãy từ được thừa nhận.
Trong mô hình bigram ta có :
P(W) ≡ P(w1)∏=
N
i 2P(wi | wi-1)
trong đó xác suất để có được từ w(m) tại thời điểm i xác suất từ đứng trước nó w(m’) là:
∧P (w1 = w(m)| wi-1 = w(m’ )) =
( )( ))'(
)'(1
)( |m
mi
mi
wN
wwwwN == −
trong đó, N(wi =w(m) | wi-1 = w(m’ )) N(wi-1, wi) là số lần xuất hiện dãy
<wi = w(m), wi-1 = w(m’) > trong tập training.
Mô hình Trigram
Trong mô hình Trigram, giả sử xác suất ước lượng của một dãy từ là:
P(W) = P(w1,w2,…,wN) ≡ P(w1)P(w2|w1)∏−
N
i 3P(w1| wi-1,wi-2)
229
Xác suất ước lượng là:
( ) ( )( ))''(
2)'(
1
)''(2
)'(1
)()''(
2)'(
1)(
,
,|,|
mi
mi
mi
mi
mim
im
im
i wwwwN
wwwwwwNwwwwwwP
=====
====−−
−−−−
∧
Văn phạm phi ngữ cảnh Stochastic
Văn phạm phi ngữ cảnh Stochastic(SCFGs) đơn giản là văn
phạm(CFGs) có các xác suất cho mỗi sản xuất. Chúng là các mô hình “top-
down” hoặc là các mô hình có khả năng sinh ra, chúng dễ hiểu và các xác suất
có thể huấn luyện từ dữ liệu. Các tham số trong mô hình SCFG ít hơn trong
mô hình N-gram. Vì cấu trúc của SCFG được xác định trước khi cố định số kí
tự không kết thúc; chỉ các xác suất trong các luật phải học từ dữ liệu. Việc
giảm các tham số tự do là điều chúng ta mong muốn khi mà nó cho phép ước
lượng thô các tham số từ dữ liệu training. Mặt khác, cấu trúc cố định không
nói lên tổng quan nên mô hình không thể học để có các sản xuất mới. SCFGs
không thích hợp cho việc sử dụng trực tiếp trong nhận dạng nhưng có thể biến
đổi cho mô hình N-gram.
Mô hình phụ thuộc ngữ cảnh trái
Mô hình cặp từ
Dạng đơn giản nhất của phụ thuộc ngữ cảnh trái là mô hình ngôn ngữ
cặp từ, nó là một danh sách chứa dãy các từ đúng. Tất cả các cặp từ đúng có
xác suất như nhau; tất cả các cặp còn lại không phù hợp. Trong một số bài
toán, như bài toán quản lý tài nguyên, mô hình căp từ đơn giản cho kết quả rất
tốt. Khi bài toán có văn phạm cứng tức là tập các câu có khả năng thì cố định,
và các câu khác không phù hợp, mô hình cặp từ mang tính tổng quan với
perplexity thấp. Trong mô hình này, vì không có xác suất nên không cần ước
lượng, do đó không cần tập dữ liệu training lớn.
Mô hình N-gram đã trình bày ở trên cũng là một trong những mô hình
phụ thuộc ngữ cảnh trái.
230
Mô hình trạng thái hữu hạn
Có thể tạo trực tiếp mô hình trạng thái hữu hạn. Với các bài toán nhỏ,
chẳng hạn nhận dạng các số điện thoại thì có thể làm bằng tay. Ưu điểm của
mô hình này là không quan tâm tới độ bao phủ. Mô hình tạo bằng tay phi thực
tế cho hầu hết các bài toán thế giới thực.
Mô hình xác suất
Mô hình ngôn ngữ dùng để tính các xác suất dãy các từ. Chúng có ý
nghĩa trong việc giới hạn danh sách dãy từ được lựa chọn theo thứ tự độ hợp
lý, sắp xếp và làm giảm việc tìm kiếm. Một ứng dụng phân loại kiểu phát
ngôn dựa trên dãy từ sử dụng mô hình ngôn ngữ. Khi đó, mô hình ngôn ngữ
xác suất tốt hơn mô hình ngôn ngữ phi xác suất.
Mô hình với perplexity thấp
Perplexity là độ đo trung bình hệ số nhánh hoặc số từ tiêu biểu từ dãy từ
đã cho. Trong nhận dạng tiếng nói, nếu số từ tiêu biểu ít có nghĩa bài toán
nhận dạng dễ dàng hơn. Vì vậy, mô hình ngôn ngữ với perplexity thấp bị ràng
buộc hơn và cho kết quả nhận dạng nhanh và chính xác hơn. Mối quan hệ
giữa perplexity và độ chính xác của từ không được đảm bảo mặc dù chúng ta
mong đợi với perplexity thấp hơn thì sinh từ chính xác hơn.
Trước tiên, xét mô hình ngôn ngữ đơn giản gồm NV từ có trong từ điển
với xác suất của một từ với một từ bất kỳ khác là 1/NV. Perplexity của mô
hình này là NV. Perplexity cũng được định nghĩa trong mô hình xác suất mà
xác suất của các từ với mỗi từ tiếp theo không duy nhất là 1/NV. Perplexity B
được định nghĩa trong số hạng entropy H. Trong thực tế, chúng ta có thể ước
lượng các xác suất qua dữ liệu test. Vì vậy, ước lượng được perplexity. Hơn
nữa, càng dùng dữ liệu training và thử nghiệm mô hình thì ước lượng càng tốt
hơn. Dữ liệu test nên để thành tập held-out.
B = 2H
và chúng ta ước lượng H là HP trên từ Q:
HP = -Q
1 log P(ω1,ω2, ..., ωQ)
231
và cho mô hình N-gram là
HP = -Q
1 ∑
=
Q
i 1
log P(ωi|ωi-1,ωi-2, ..., ωi - N+1)
Phương pháp held-out
Tập dữ liệu test đòi hỏi perlexity của mô hình ngôn ngữ. Chúng ta không thể
dùng tập dữ liệu thực, vì vậy sơ đồ held-out được dùng trong một số phần của dữ
liệu training là held-out tức là nó không dùng trong việc ước lượng các tham số
của mô hình. Dữ liệu held-out có thể dùng để ước lượng perplexity của mô hình.
Việc dùng dữ liệu tương tự để ước lượng các tham số của mô hình và perplexity
sẽ cho kết quả sai. Nói chung, perplexity trên dữ liệu training sẽ thấp hơn trên dữ
liệu test. Theo đánh giá lạc quan, perplexity mô hình trên tập training dẫn đến mô
hình ngôn ngữ “tuned” cho tập training và kém phù hợp cho perplexity trên dữ
liệu test. Trong thực tế, phương pháp held-out dùng để đánh giá khách quan quá
trình ước lượng - lựa chọn độ dài N-gram. Mô hình khi đó được ước lượng lại sử
dụng phương pháp này từ tập training. Phương pháp này tránh được dữ liệu
training không có giá trị. Phần held-out của tập training có thể luân chuyển nếu dữ
liệu training chia theo ba cách, khi đó tập held-out thứ ba có thể dùng để lấy được
ước lượng khác của quá trình tốt nhất.
Mô hình ngôn ngữ n-gram markov
Mặc dù ưu thế của mô hình ngôn ngữ trong nhận dạng tiếng nói được thừa
nhận nhưng gần đây mô hình ngôn ngữ thống kê được sử dụng rộng rãi trong
nhiều phạm vi ứng dụng khác bao gồm cả phục hồi thông tin.
Mục đích của mô hình ngôn ngữ là dự đoán xác suất dãy từ tự nhiên hay đơn
giản là cho xác suất cao vào dãy từ có thể xảy ra trong thực tế và cho xác suất thấp
vào dãy từ không bao giờ xảy ra. Cho dãy từ ω1 ω2…ωT là tập test, chất lượng
của mô hình ngôn ngữ đo bởi perplexity (hoặc entropy) trên corpus này:
Perplexity = T
T
i iiP∏= −1 11 )...|(
1
ωωω
Entropy = log2 Perplexity
Mục đích của mô hình ngôn ngữ là có được perplexity nhỏ. Mô hình ngôn
ngữ đơn giản nhất và thành công nhất là mô hình ngôn ngữ n-gram. Chúng ta có
thể viết lại xác suất của dãy từ bất kỳ:
232
P(ω1 ω2…ωT) = ∏=
T
i 1P(ωi |ω1…ωi-1)
Mô hình n-gram xấp xỉ xác suất này bằng giả thuyết chỉ có các từ phù hợp để
dự đoán P(ωi |ω1…ωi-1) là n từ trước tức giả thuyết độc lập n-gram Markov
P(ωi |ω1…ωi-1) = P(ωi |ωi-n+1…ωi-1)
Dễ hiểu, ước lượng hợp lý cực đại của xác suất n-gram từ corpus tính bởi tần
số quan sát được:
P(ωi |ωi-n+1…ωi-1) = )...(#
)...(#
11
1
−+−
+−
ini
ini
ωωωω
trong đó #(.) là số lần xuất hiện gram đặc biệt trong tập training. Không may,
dùng gram dài đến n dẫn đến ước lượng xác suất của Wn sự kiện, trong đó W là
kích thước từ vựng.
233
8. ĐẶC TRƯNG ÂM HỌC VÀ ÂM VỊ HỌC CỦA TIẾNG NÓI
8.1. Đặc trưng âm học của tiếng nói
8.1.1. Bản chất của âm
Tất cả các âm đều bắt nguồn từ dao động thuộc kiểu này hay khác. Đến
lượt nó, dao động lại phụ thuộc vào một nguồn năng lượng nào đó tạo ra nó.
Fry (1979) đưa ra ví dụ về nhạc giao hưởng: những người chơi nhạc biểu diễn
các hành động kiểu như cử động tay hay thổi mồm, và hoạt động của họ (có
sự điều khiển cừ khôi) tạo ra nhiều kiểu loại dao động khác nhau mà chúng ta
nghe thành các âm.
Dao động không thôi thì không đủ để tạo ra âm nghe được, và ba tiêu
chí đi kèm sau đây phải được thoả mãn đồng thời. Ở vị trí trước hết, nhất thiết
phải có phương tiện lan truyền, một cái gì đó mà âm thanh có thể đi qua.
Thông thường nhất phương tiện lan truyền này là không khí, nhưng bất kì một
vật chất có quảng tính nào, bao gồm gỗ, kim loại, chất lỏng, hay mô sống
chẳng hạn như xương, đều có thể, với việc làm thay đổi các mức độ hiệu quả,
đóng vai trò là phương tiện lan truyền. Nếu không có phương tiện lan truyền -
trong môi trường chân không, nghĩa là - không thể nghe thấy một âm nào.
Một thí nghiệm trước đây đã chứng minh điều này. Nếu đặt một chiếc còi hay
một cái chuông điện vào trong một chiếc hộp chuông và hút hết không khí ra
khỏi hộp thì âm thanh của chuông sẽ tắt. (Một âm ngân nào đó thường vẫn
còn vì cái chuông vẫn ngân lên trong hộp do có liên kết với không khí ở phía
bên ngoài).
Hai tiêu chí khác phải được thoả mãn liên quan đến các thuộc tính của
âm có quan hệ đến sự nhạy cảm của tai. Chúng tôi sẽ nói nhiều hơn về những
thuộc tính này ở chương sau, nhưng chúng ta cần chú ý ở đây là những dao
động khác nhau về tốc độ hay tần số từ rất nhanh đến rất chậm. Tai chỉ thu
nhận một vùng xác định các tần số này, thông thường dưới đến khoảng 20
rung động trên một giây và trên đến khoảng 20.000 rung động một giây, mặc
dù vùng/ dải này có khác nhau ở các cá nhân và thực tế bị quy định bởi tuổi
tác. Vì vậy tiêu chí thứ hai là tiêu chí mà một âm phải nằm ở trong vùng tần
số nghe được bình thường.
234
Thứ ba, một dao động không chỉ có tần số mà còn có một biên độ- một
đại lượng đo chiều kích của dao động hay mức độ chuyển động trong dao
động. Biên độ liên quan đến cái mà chúng ta thường gọi là độ lớn (loudness),
và vì biên độ của một dao động thường giảm dần cho nên nó trở nên không
nghe được nữa. Vì vậy tiêu chí thứ ba là tiêu chí mà một dao động phải có
một biên độ đủ lớn để có thể thu nhận được (bằng tai). Đây không phải là một
vấn đề thuộc mức độ dao động tại bản thân nguồn phát ra âm, bởi vì việc
nghe được cũng giảm xuống nhanh chóng do khoảng cách giữa nguồn phát ra
âm và người nghe tăng. Hơn nữa, mức độ dao động nói chung của âm trong
nhiều môi trường có thể có một hiệu suất (masking), và sự liên kết hay kết nối
giữa nguồn tạo ra dao động và phương tiện lan truyền cũng có thể vô hiệu. Có
thể chứng minh một cách dễ dàng tác động của liên kết vô hiệu bằng một
thanh mẫu. Nếu đánh và cầm thanh mẫu giữa ngón tay cái và một ngón khác
trong không khí, thì hầu như chúng ta không nghe thấy gì bởi vì những chiếc
răng dao động của thanh mẫu không có liên kết hiệu quả với không khí. Nếu
cũng chiếc thanh mẫu đó đặt lên trên mặt bàn gỗ thì âm phát ra nghe rất to vì
những dao động của thanh mẫu được truyền đến không khí hiệu quả hơn rất
nhiều nhờ có phương tiện là vùng bề mặt rộng của cái bàn.
Về chất lượng các âm không được tiếp nhận hoàn toàn giống nhau. Ở
phạm trù khái quát, chúng ta có thể phân biệt hai bình diện cơ bản. Thứ nhất
phân biệt giữa các âm liên tục và các âm xung. Âm thanh của chiếc máy bay
phản lực và chiếc giàn khoan điện là những ví dụ về các âm liên tục trong khi
đó tiếng sập cánh cửa hay tiếng bắn súng là các ví dụ về các âm xung. Các âm
liên tục có chứa các dao động kéo dài suốt trong một khoảng thời gian nào đó,
từ đơn vị giây đến tiếng đồng hồ. Ở các âm xung, các dao động bắt đầu rất đột
ngột và lên đến biên độ cực đại của chúng rất nhanh (thường chỉ trong một
phần của giây). Các dao động này tắt dần tương đối nhanh chóng nhưng
không nhanh bằng giai đoạn lên đến cực đại.
Phân biệt thứ hai chia những âm thường được gọi là các âm nhạc tính
(musical sounds) từ các âm ồn (noise - like sound). Hầu hết tất cả các nhạc cụ
đều tạo ra các âm có chu kì (periodic), gọi là có chu kì vì dao động của chúng
tuân theo một mô hình xác định và được lặp đi lặp lại. (Chúng ta sẽ xem ở
dưới đây chỉ ra các kiểu loại mô hình dao động nào). Số lượng các lần mô
hình dao động lặp lại trên một giây sẽ xác định việc chúng ta thẩm nhận
235
chúng là các âm có cao độ cao hay thấp. Vì vậy một chiếc kèn tuba, chiếc kèn
foghorn và một chiếc ghi ta trầm tất cả đều tạo ra các âm mang cao độ thấp,
có số lượng các mô hình dao động lặp lại ít trên một giây, trong khi đó một
chiếc đàn vi - ô - lông, tiếng reo của ấm nước sôi và chiếc sáo kim tất cả lại
đều phát ra các âm mang cao độ cao có rất nhiều lần lặp lại của các mô hình
dao động trên một giây. Trái lại, các âm tiếng ồn là các âm không có chu kì
(APEORIDIC) và sinh ra do các dao động vốn rất lung tung/ lộn xộn và
không lặp lại mô hình dao động của chúng một cách thường xuyên. Tiếng xì
của một ống hơi nước và tiếng gào thét của một cái thác nước lớn đều là
những ví dụ điển hình về các nguồn phát ra âm có mô hình dao động liên tục
nhưng rất lung tung.
Mặc dù những phân biệt trên là hữu ích, nhưng thực tế chúng không
phải lúc nào cũng gọn gàng như thế. Ví dụ, một tiếng nổ đơn, sẽ có đặc điểm
của một âm xung, nhưng nếu có một loạt các tiếng nổ liên tục và kéo dài (như
trong động cơ đốt trong đang chạy nhanh) thì hệ quả là đặc điểm của một âm
liên tục. Thực tế nhiều âm có bản chất rất phức tạp. Ví dụ, hơi nước hoặc khí
nén được giải phóng đột ngột ra khỏi van (như trong chiếc máy xay cà phê
hơi) âm xung ban đầu phân huỷ thành một âm liên tục. Hơn nữa còn có cả các
yếu tố nhạc tính và tiếng ồn trong âm vì một dao động nào đó phát ra âm
được lặp lại đều đặn và một dao động nào đó khác rất lung tung trong mô
hình.
Một phương cách quan trọng nữa mà nhờ đó các âm phân biệt nhau là ở
chất lượng hay âm sắc của chúng. Hãy xem một chiếc vĩ cầm và một cái sáo
đều chơi cùng một nốt nhạc. Cả hai nhạc cụ này đều phát ra một tập hợp các
dao động âm thanh liên tục có chu kì lặp đi lặp lại ở cùng một tốc độ - nếu
không như thế - chúng không thể nghe thành là chơi cùng một nốt nhạc. Tuy
nhiên có sự khác nhau về chất lượng âm của chúng, khiến chúng ta có thể
nghe thấy được nhiều nhạc cụ đang được chơi. Sự khác nhau này, thường
được mô tả là sự khác nhau về âm sắc, có thể đánh giá bằng các thuật ngữ gây
ấn tượng là - chiếc vĩ cầm có lẽ là “góc cạnh” trong khi đó chiếc sáo là “tròn
trịa và mượt mà” - nhưng như chúng ta sẽ thấy ở dưới đây, có thể phân tích và
giải thích sự khác nhau này ở khía cạnh mô hình các dao động.
236
Những bình luận trên đây về bản chất của âm là cực kì quan trọng đối
với tiếng nói, vốn là một dạng âm thanh rất phức tạp. Tiếng nói có các âm
xung (như trong các âm tắc miệng <stop>, chẳng hạn như [t] hay [k]) và các
chuỗi liên tục (như trong các nguyên âm, chẳng hạn như [i] hay [a]). Nó có
các thành phần có chu kì (như trong các nguyên âm), các thành phần không
có chu kì (như trong các âm xát, chẳng hạn như [f] hoặc [s]), và sự hoà trộn
cả hai (như trong các âm xát hữu thanh, chẳng hạn như [v] hoặc [z]). Những
khác biệt giữa các nguyên âm (chẳng hạn như [i] đối lập với [a] đối lập với
[u]) được nghe theo cách tương tự giống như chúng ta phân biệt tiếng vĩ cầm
và tiếng sáo. Vì vậy cần phải hiểu bản chất của chính bản thân các âm nếu
như chúng ta muốn nắm vững âm học lời nói.
8.1.2. Các thuộc tính biên độ cơ bản của sóng âm
Biên độ là một thuật ngữ thường dùng để chỉ độ lớn của sự dịch chuyển
trong một dao động âm. Thông thường nhất, đó là áp suất không khí bị thay
đổi bởi sự dịch chuyển này. Áp suất được định nghĩa là lực trên một đơn vị
diện tích và được đo bằng đơn vị Pascals (Pa). Áp suất khí tĩnh ở mực nước
biển là khoảng 100.000 Pa, nhưng những thay đổi áp suất tạo ra âm nghe
được ở các ngưỡng nghe bình thường là nhỏ/ bé hơn rất nhiều so với áp suất
này. Ví dụ, những thay đổi khí áp của một cuộc giao tiếp bằng lời nói ở
khoảng cách khoảng 1 mét từ môi người nói sẽ nằm trong khoảng 0.1Pa.
Khi một âm được thu bằng một chiếc microphone thông thường, chẳng
hạn như một chiếc microphone điện gắn với nhiều chiếc máy ghi âm băng từ
thì những thay đổi áp suất của âm lan truyền trong không khí được chuyển
thành một điện áp (voltage) tương ứng. Điều này cho chúng ta một sự thể hiện
bằng điện tử về các sóng áp suất âm, tại đây nảy sinh câu hỏi cái gì là phương
pháp phù hợp nhất để đo và mô tả sự thể hiện này.
Hãy xem các sóng phức hình sin ở hình 2.16. Một cách đo biên độ đơn
giản là lấy các giá trị cực đại của dịch chuyển trong sóng đó. Điều này là có
lợi nếu như chúng ta muốn biết các giá trị đỉnh hay đỉnh - đối - đỉnh của một
dạng sóng có chu kì, hoặc chúng ta muốn đo các giá trị đỉnh của các âm xung.
Đây là loại đại lượng đo mà chúng ta cần phải biết để tránh làm quá tải khi
ghi âm hay xử lí chúng bằng một dạng phân tích nào đó trên máy tính. Tuy
nhiên, đại lượng đo này cho chúng ta biết rất ít về toàn bộ phần còn lại của
237
dạng sóng. Để giải thích cho toàn bộ dạng sóng, chúng ta cần các số đo tất cả
các điểm dọc theo chiều dài của một chu kì, một loạt các giá trị tức thời, như
hình 2.16.
Hình 2.16- Biên độ dạng sóng
Cần lưu ý là các giá trị phía trên trục đều là dương, dưới trục là âm. Các
giá trị mẫu này cho chúng ta bức tranh về ứng xử của sóng, và có thể sẽ hữu
ích nếu tính tổng hoặc tính giá trị trung bình theo một cách nào đó. Nhưng
cần chú ý điều gì sẽ xảy ra nếu chúng ta đơn thuần chỉ tính tổng và tính trung
bình một loạt các giá trị dọc theo sóng sin: các giá trị dương và âm triệt tiêu
lẫn nhau nếu đem cộng lại, và tổng là bằng không (zê rô). Chúng ta có thể
238
tránh tình trạng này bằng cách làm cho tất cả các giá trị đều là dương, nhưng
thậm chí là ích lợi hơn nếu như chuyển sang một kiểu tính khác.
Chúng ta có thể lấy từ biên độ một thuộc tính gọi là cường độ. Cường
độ là năng lượng trên một đơn vị diện tích, hay là cách thức năng lượng phân
bố trong một khoảng không gian quảng tính. Bản thân năng lượng là thước đo
của mức độ mà ở tại mức độ này năng lượng đang bị tiêu thụ - đối với chúng
ta, là để phát ra âm. Bây giờ có thể chỉ ra rằng cường độ tỉ lệ với bình phương
áp suất. Vì vậy, nếu chúng ta lấy các giá trị mẫu của mình (như ở hình 2.17),
đem bình phương chúng lên, sau đó cộng lại và tìm giá trị trung bình, chúng
ta sẽ có số đo biên độ trên một chu kì có quan hệ gắn bó với cường độ đang
tồn tại. Sau đó nếu chúng ta bình phương căn bậc hai của giá trị trung bình
này, chúng ta sẽ có thể mô tả áp suất hơn là áp suất bình phương. Giá trị này
gọi là bình phương trung bình căn bậc hai hay hay giá trị RMS. Phương
pháp tính toán này, sử dụng các mẫu như đã chỉ ra ở hình 2.17, là như sau:
Hình 2.17- Các giá trị tức thời của biên độ dạng sóng
Giả sử chúng ta có một tập hợp các mẫu N về các giá trị tức thời của
một dạng sóng được xác định là X1, X2, X3...Xn. Gọi Z = tổng các giá trị bình
phương của các mẫu N, ví dụ:
Z = (X1)2 + (X2)2 + (X3)2 + (Xn)2
Gọi A = trung bình của các giá trị mẫu bình phương này, ví dụ:
239
A = Z/ N
Khi đó, giá trị trung bình căn bậc hai (RMS) của dạng sóng là bình
phương căn bậc hai của A. Ví dụ, giả sử các giá trị mẫu là:
1, 3, 5, 3, 1, -1, -3, -5, -3, -1.
Các giá trị bình phương là 1, 9, 25, 9, 1, 1, 9, 25, 9, 1 và tổng Z của
chúng là 90. Có 10 giá trị (N = 10) do đó A bằng 90/ 10. Giá trị RMS là bình
phương căn bậc hai của A, là 3.
Đối với các sóng sin, giá trị RMS của biên độ trong suốt khoảng thời
gian của sóng là 0.707 của biên độ đỉnh. Đối với một dạng sóng phức khác
bất kì, giá trị RMS phải được tính từ các mẫu như trên. Với lợi ích của một
gói phân tích và hiệu chỉnh dạng sóng tiếng nói bằng máy tính mục đích
chung hiện đại, phép tính rất dễ.
Giá trị RMS của áp suất âm do vậy tỉ lệ với cường độ của âm. Thực tế,
khi đo trong những điều kiện sóng phẳng (ví dụ với những thay đổi áp suất
chỉ trong một miền phẳng) và dùng 20 micro Pascals làm áp suất quy chiếu
thì áp suất RMS có thể cân bằng với cường độ. (20 µPa là giá trị ngưỡng
thông thường của áp suất âm được một người lớn khoẻ mạnh nhận ra). Người
ta thường cho rằng cường độ và áp suất RMS là tương đương, mặc dù tổng sẽ
chính xác chỉ khi một âm được thu đặt sát vào microphone có giao thoa cực
tiểu từ âm dội lại.
Biết cường độ của một âm trong suốt khoảng thời gian dài hơn một chu
kì dao động thì thường hữu ích hơn. Ví dụ, người ta thường muốn biết cường
độ của cả một âm tiết hoặc một từ hoặc một mệnh đề có quan hệ với một
mệnh đề khác. Cường độ RMS của toàn bộ một từ có thể được tính một cách
dễ dàng từ dạng sóng tiếng nói được lưu có độ dài xác định bất kì bằng cách
dùng các mẫu thích hợp từ dạng sóng lời nói. Hầu hết các phần mềm phân
tích tiếng nói cho phép người sử dụng đặt thước hay dấu ghi trên trục thời
gian của dạng sóng tiếng nói và để tính cường độ RMS trong cả quãng thời
gian trong vùng đặt thước. Hình 2.18 đưa ra hai ví dụ về các dạng sóng đã
được đặt thước. Có thể hi vọng cường độ của một sóng tiếng nói thay đổi theo
thời gian - trong suốt một âm tiết hay dài hơn là một phát ngôn, nhưng có thể
được tính dựa vào một cơ sở liên tục. Một cách hữu hiệu, phương pháp xác
240
định cường độ trên một cửa sổ xác định và vì vậy không cho một chi tiết nào
về thay đổi cường độ ở trong giới hạn của cửa sổ.
Có thể thu được một đầu ra kiểu như vậy từ cao độ truyền thống và
thiết bị đo cường độ của một típ điện tương tự độc lập có trong hầu hết các
phòng thí nghiệm ngữ âm học, cũng như bằng các gói phân tích bằng máy
tính. Khoảng thời gian trong đó cường độ được tính tức thời và liên tục gọi là
thời gian tích phân của công cụ và thường có thể điều chỉnh được từ khoảng
5 ms đến khoảng 50 ms. Thông thường, người ta dùng thời gian tích phân
trong khoảng từ 10 đến 20 ms, đủ ngắn để nhận ra các dao động cần thiết
trong âm tiết, nhưng đủ dài để tránh bao gồm những ảnh hưởng bất kì nào của
khoảng thời gian hay tần số cơ bản của bản thân sóng tiếng nói. Hình 2.19
cho thấy đường bao cường động tính từ dạng sóng của Hình 2.18 (b) bằng
một gói xử lí tiếng nói bằng máy tính.
Hình 2.18- Đánh dấu các dạng sóng để tính cường độ RMS: (a) juice
(nước ép trái cây); (b) farm (nông trang). Cường độ chung của dạng sóng (a)
giữa hai thước xấp xỉ bằng 1,5 lần cường độ chung của dạng sóng (b)
241
Hình 2.19- Đường bao cường độ của dạng sóng ở hình 16 (b)
8.1.3. Các thuộc tính trường thời gian của các sóng âm
Khi chúng ta phân tích sóng âm, chúng ta có thể “ngắm nghía” chúng
để có các thuộc tính khác nhau, trong đó một số thuộc tính gắn liền với thời
gian và một số thuộc tính gắn liền với tần số. Tất cả các ví dụ mà chúng ta có
cho đến nay được xem xét trong phần nàytrên thực tế đều là các dạng sóng
trường thời gian: chúng thể hiện những thay đổi (ví dụ, về giá trị của áp suất)
theo thời gian. Trong thời gian này chúng tôi sẽ tập trung vào bản thân thời
gian như một thuộc tính.
Trường độ của một âm hay một phát ngôn tiếng nói thường quan trọng
về mặt ngữ âm học. Các trường độ chúng ta cần phải xem xét có thể bé ngang
với một phiến đoạn của một chu kì của một dạng sóng có chu kì, hoặc có thể
là một chu kì dao động trọn vẹn, hoặc có thể sẽ lớn hơn nữa. Trong một số ví
dụ chúng ta muốn biết trường độ của cả từ hoặc phát ngôn, hay thậm chí
trường độ của một khoảng lặng chẳng hạn như có thể xuất hiện trong giai
đoạn khép của một âm tắc miệng vô thanh.
Để đo trường độ từ một dạng sóng tiếng nói chúng ta phải có thể đặt
các thước quy chiếu lên trên dạng sóng đó mà có quan hệ về nghĩa với cấu
trúc ngữ âm của một tín hiệu lời nói được đo. Điều này thông thường có nghĩa
là biểu diễn dạng sóng trên màn hình máy tính (thường dùng một gói phân
tích và chỉnh sửa tiếng nói) hoặc trên đồ thị viết trên giấy (hầu hết thường
dùng một máy ghi tia mực hay một thiết bị tương tự). Máy tính thường cung
cấp độ chính xác cao hơn, đặc biệt nếu nó cho phép người thực nghiệm tái
hiện lại phần dạng sóng giữa hai thước. Người làm thực nghiệm khi đó có thể
242
đặt thước một cách chính xác và xác nhận bằng tai phần thích hợp xét về mặt
ngữ âm học của dạng sóng được đặt thước. Hình 2.20 cho thấy dạng sóng của
từ seat /si:t/ (chỗ ngồi), đã đặt thước để xác định trường độ của hạt nhân
nguyên âm. Nếu các trường độ lớn hơn và không cần phải có độ chính xác tối
cao thì thiết thực hơn là nên dùng một đồ thị cường độ thay đổi theo thời gian
để xác định sự bắt đầu và kết thúc của từ hay phát ngôn được đo. Vấn đề lớn
hơn đối với kĩ thuật này nằm ở việc thiết lập một phương tiện xác định tin cậy
và nhất quán các ngưỡng cường độ thích hợp để đánh dấu sự bắt đầu và kết
thúc đoạn lời nói cần đo.Hình 2.21 chỉ ra một ví dụ về việc cắt khúc dựa vào
cường độ (vận dụng vào câu I said “pen” not “pan” - Tôi nói là “bút” chứ
không phải là “chảo”).
Có thể trở thành rất điêu luyện trong việc đọc các dạng sóng theo
trường thời gian và gắn kết chúng với cấu trúc ngữ âm mà chúng là các hiện
thực hoá, nhưng nhiều bộ phận của tiếng nói không thể cắt khúc ra và gán
nhãn một cách dễ dàng như ví dụ đơn giản ở Hình 2.20. Trên thực tế, phương
pháp đo trường độ chính xác nhất và phương pháp cắt khúc và gán nhãn
trường thời gian của một tín hiệu lời nói âm học, bao gồm việc sử dụng kết
hợp cả thông tin về trường thời gian lẫn thông tin về trường tần số. Những kĩ
thuật này sẽ được thảo luận ở các phần dưới đây.
Hình 2.20- Cắt dạng sóng từ /si: t/ seat (ngồi, danh từ)
243
Hình 2.21- Cắt đường bao cường độ của câu: I said “pen”, not “pan”
(Tôi nói là “bút” chứ không nói là “chảo”)
8.1.4. Các thuộc tính trường tần số của các sóng âm
Nếu chúng ta quan tâm đến các thuộc tính có liên quan đến trường tần
số của sóng âm thì có thể, chí ít là trong những trường hợp đơn giản nhất, lấy
một phần cắt xác định của dạng sóng (phân xuất từ trường thời gian) và phân
tích nó mà không cần quy chiếu đến trường thời gian.
Như chúng ta đã thấy, các dao động hình sin là dạng dao động đơn giản
nhất, và có thể coi và lấy chúng làm các bộ phận cấu thành kết hợp lại với
nhau để tạo thành tất cả các dạng dao động khác. Trong toán học, kĩ thuật bẻ
gẫy một sóng phức ra thành các sóng bộ phận hình sin được gọi là phương
pháp phân tích fourier, sau khi một nhà toán học người Pháp đã phát triển cơ
sở toán học của nó. Ví dụ đã cho trước đây như hình 2.20 minh hoạ một dao
động có chu kì phức bao gồm ba sóng bộ phận hình sin. Sóng bộ phận hìn sin
có tần số thấp nhất là tần số cơ bản và hai sóng bộ phận khác có tần số cao
hơn là các hoạ Âm (harmonics) thứ hai và thứ ba. Cả ba tạo thành các bộ
phận hoạ âm của sóng, tần số cơ bản là hoạ âm thứ nhất. Lưu ý ở các sóng có
chu kì như sóng này, các giá trị tần số của các hoạ âm là các bội số nguyên
của tần số cơ bản. Các dao động không có chu kì cũng có thể được phân tích
thành các bộ phận hình sin nhưng sẽ không có một mối quan hệ số học nào
giữa các bộ phận cấu tạo nên nó, mà khi đó được dùng để chỉ không phải là
các hoạ âm mà là các âm cao hay đơn giản chỉ là các bộ phận tần số. Trong
các âm thanh lời nói, các nguyên âm là có chu kì một cách đặc trưng, trong
khi đó các âm xát là các ví dụ về các âm không có chu kì.
244
Sự phân bố tần số và biên độ của các bộ phận hoạ âm của một sóng
phức có thể được trình bày như là phổ tuyến của nó. Đối với cách biểu diễn
này, trục ngang thể hiện tần số và trục dọc thể hiện biên độ: mỗi hoạ âm xuất
hiện như một đường kẻ đứng đơn định vị tại một điểm thích hợp dọc theo trục
ngang, và chiều cao của đường hoạ âm chỉ ra biên độ của nó. Sóng phức ở
hình 2.20 có một phổ tuyến như trình bày ở hình 2.22. Lưu ý cách biểu diễn
này không chứa bất kì một thông tin nào về pha. Hình 2.23 đưa ra một số ví
dụ nữa về các dạng sóng phổ biến.
Các phân tích phổ trong các ví dụ này giả định rằng các sóng phức là có
chu kì và giả định dạng sóng tương tự được lặp đi lặp lại một cách vô hạn.
Trong thực tiễn, cách phân tích trên là có căn cứ miễn là dạng sóng vẫn nhất
quán trong suốt các chu ki liên tục. Tuy nhiên, nhiều âm, bao gồm cả một số
âm trong lời nói, không thể hiện sự liên tục từ chu kì dao động này đến chu kì
dao động khác. Một loại sóng thường hay xuất hiện là loại sóng được gọi là
gần như thể có chu kè (quasiperiodic). Hình dung ta đẩy con lắc một lần, sau
đó cho nó lắc tự do một vài chu kì trước khi đẩy lần thứ hai. Các chu kì xảy ra
sau mỗi lần đẩy sẽ giảm xuống về biên độ ở tốc độ phụ thuộc vào mức độ tắt
dần trong hệ thống; và nó vẫn duy trì đến lần đẩy tiếp theo để giữ biên độ dao
động trở lại giá trị ban đầu của nó. Nếu các lần đẩy thực hiện ở các khoảng
bằng nhau thì sóng tạo thành sẽ có một chu kì có thật ấn định bởi mỗi khoảng
này, với một chuỗi các sóng hình sin tắt dần xảy ra ở giữa.
Hình 2.22- Đường ảnh phổ
245
Hình 2.23- Các đường ảnh phổ của hai dạng sóng thông thường:
(a) sóng vuông góc; (b) sóng răng cưa
Hình 2.23 đưa ra hai ví dụ, trong đó (a) chỉ có một đại lượng tắt dần
nhỏ, còn (b) có đại lượng tắt dần lớn. Các thuộc tính phổ của các sóng như thế
được xác định bằng ba yếu tố:
1 tần số dao động hay cộng hưởng tự nhiên của hệ thống
2 mức độ tắt dần (hay hao phí) trong hệ thống
3 chu kì/ tần số của nguồn năng lượng bên ngoài tác động vào
Hình 2.25 đưa ra các phổ tuyến của các dạng sóng ở Hình 2.24.
Khoảng cách giữa các đường hoạ âm được xác định bởi tần số mà nhờ nó
năng lượng được khôi phục (là tần số cơ bản có thật); tần số của biên độ cực
đại của năng lượng hoạ âm bị quy định bởi tần số cộng hưởng tự nhiên của hệ
thống dao động; và mô hình của các đỉnh biên độ (tạo thành một dạng thường
được đề cập đến như là đường bao) được xác định bởi mức độ tắt dần trong
hệ thống đang dao động. Trong những ví dụ này sự khác nhau giữa hai phổ là
ở hình dạng đường bao của chúng, bởi vì nó chỉ là mức độ tắt dần trong các
hệ thống cộng hưởng mà thay đổi.
246
Hình 2.24- Các dạng sóng cận chu kì: (a) tắt dần chậm; (b) tắt dần
nhanh
Mặt khác, nếu sự tắt dần được duy trì thường xuyên, và chỉ có tần số
của năng lượng phục hồi bị thay đổi, thì các phổ hợp lực có các đường bao
biên độ có dạng giống nhau và có các tần trung tâm giống nhau; chỉ có
khoảng cách tần số giữa các đường hoạ âm của chúng là khác nhau. Hình 2.26
chỉ ra các ví dụ có các dạng sóng như vậy cùng với các phổ tương ứng của
chúng. Cuối cùng, nếu sự tắt dần và tần số phục hồi năng lượng mà bất biến,
và chỉ có tần số dao động là bị thay đổi, thì chỉ có thay đổi quan trọng sẽ là
tần số trung tâm của đỉnh biên độ đường bao phổ. Các dạng sóng và các phổ
minh hoạ cho điều này được chỉ ra ở hình 2.27.
247
Hình 2.25- Các đường phổ: (a) hình 2.24 (a); (b) hình 2.24 (b)
Có thể thấy hình dáng của các đường bao phổ như đã chỉ ra ở trên phụ
thuộc vào tần số và các thuộc tính tắt dần của riêng hệ thống cộng hưởng, và
không phụ thuộc vào tần số của sự khôi phục năng lượng. So sánh giữa các
đường bao ảnh phổ này với các đường bao ảnh phổ của đường cong cộng
hưởng ở hình 2.24 sẽ chỉ ra rằng chúng tương ứng về hình dáng một cách rất
trực tiếp. Điều này hoàn toàn chính xác khi nó: những ảnh phổ kiểu như vậy
biểu diễn một cách có hiệu quả các thuộc tính có lựa chọn về tần số của các
hệ thống đang dao động cộng hưởng.
Các âm không chu kì có ảnh phổ phức tạp hơn nhiều so với bất kì một
ví dụ nào dẫn ra ở trên. Trường hợp đơn giản nhất là trường hợp một dao
động hình sin tắt dần đơn. Các ví dụ có độ tắt dần cao và thấp sẽ được dẫn ra
ở Hình 2.28. Các ảnh phổ của hai dạng sóng này đều không có các đường hoạ
âm, đơn giản là vì các sóng đều không có chu kì. Dao động (hình sin trong
các ví dụ này) đồng quy tại biên độ zê rô ở một loạt các chu kì và không có
một sự lặp đi lặp lại có chu kì nào của dạng sóng. Mặc dù vậy, ảnh phổ của
chúng vẫn thể hiện một đỉnh năng lượng ở đường bao biên độ có tần số trung
tâm ngang bằng với tần số trung tâm của dao động hình sin tắt dần, và độ sắc
nét của đỉnh đường bao vẫn phụ thuộc vào mức độ tắt dần.
248
Hình 2.26- Các dạng sóng có sự tắt dần liên tục và tỉ lệ tích năng lượng
khác nhau cùng với các đường phổ của chúng
(a) (b)
Hình 2.27- Các sóng 500 Hz tắt dần không có chu kì và các ảnh phổ
tương quan của chúng: (a) tắt dần chậm; (b) tắt dần nhanh
Lí do của sự vắng mặt của cấu trúc hoạ âm ở những ảnh phổ này là,
trong thực tế, có một vô cực của các hoạ âm; chu kì phỏng đoán của những
dạng sóng như vậy tự bản thân nó là vô cực. Kết quả là, có sự phân bố đều
năng lượng phổ trong toàn bộ vùng tần số của phổ. Những âm loại này, có thể
nói, là đang trên đường trở thành tiếng ồn thuần tuý, trong đó không có một
dấu hiệu nào thể hiện tính có chu kì ở bất kì phương diện nào của dạng sóng.
Trong trường hợp cực đoan là tiếng ồn trắng, thì ảnh phổ không có đỉnh năng
249
lượng, nhưng đơn cho thấy sự phân bố đều của năng lượng biên độ trên toàn
ảnh phổ tần số quan trọng. Các tần số bộ phận của tiếng ồn thay đổi liên tục
và lung tung ở biên độ và tần số của chúng và ở các quan hệ pha của chúng
với nhau.
Tất cả các loại quang phổ được thảo luận trong phần này đều có mặt ở
trong lời nói. Cụ thể, loại gần như có chu kì - vì thế là một cái gì đó phức tạp
hơn so với các ví dụ ở đây - tạo thành cơ sở âm học của các nguyên âm, trong
khi đó các phổ không có chu kì khác nhau là chủ yếu đối với các âm tắc và
các âm xát.
8.1.5. Một số thuộc tính thẩm nhận cơ bản của sóng âm
Đặc điểm tri nhận của người là ở chỗ các cảm giác mà chúng ta trải qua
trong phản xạ với các kích thích hiếm khi tương ứng một cách trực tiếp với
các giá trị mà chúng ta rút ra được từ những kết quả đo đạc về chính những
kích thích ấy. Ví dụ, sự tri nhận của chúng ta về sáng (light) và tối (dark),
không giống như sự vận hành của một chiếc đồng hồ đo độ sáng, nhưng lại rất
nhạy cảm với môi trường: màu xám trông có vẻ sáng hơn trên một nền tối,
ánh nắng mặt trời dường như có vẻ chói hơn khi bạn đi từ trong toà nhà tối ra,
một số màu sắc dưới sự chiếu sáng nhất định là dễ phân biệt hơn nhiều so với
các màu sắc khác, và v.v. Những quan niệm tương tự áp dụng đối với sự tri
nhận âm, được nghiên cứu dưới tiêu đề tâm lí âm học. Ở đây chúng tôi chỉ đề
cập đến sự tri nhận về độ lớn (loudness), cao độ (pitch) và cái mà chúng ta
trước đây gọi là âm sắc (timbre).
Hệ thính giác người có khả năng đáp lại một dải lớn các cường độ âm
thanh, và ngưỡng trên của dải này lớn hơn gấp triệu lần so với cường độ được
lĩnh hội thấp nhất. Điều này không chỉ dẫn đến một số giá trị số bất tiện, mà,
do bản chất tri nhận trời sinh, các con số không có liên hệ hữư hiệu với những
kết quả tri nhận về sự khác nhau về cường độ. Nếu cường độ của một âm
được tăng gấp đôi về giá trị số theo một tỉ lệ tuyến tính đơn thuần, thì điều đó
không nhất thiết có nghĩa là có sự gia tăng gấp đôi trong cảm giác về độ lớn.
Mối quan hệ giữa độ lớn được tri giác và cường độ âm học mang tính lô ga
(logarithmic) hơn. Trong hệ thống lô ga, các số gia là các luỹ thừa của 10, ví
dụ, 2 tương đương với 102 (= 100), 3 tương đương với 103 (= 1000), và v.v.
Do đó cách mô tả cường độ tiện lợi hơn cả sao cho nó có tương quan với độ
250
lớn được tri giác là theo một tỉ lệ lô ga, so sánh âm với một cường độ quy
chiếu. Để tưởng nhở Alexander Graham Bell (người phát minh ra máy điện
thoại) thuật ngữ BEL được đặt cho một đơn vị của hệ thống lô ga này: 1 Bel
thể hiện tỉ lệ 10:1, 2 Bel tương đương với tỉ lệ 100:1. Hoá ra đơn vị này là quá
lớn vì những mục đích thực tiễn, và vì thế tỉ lệ một phần mười của nó là
DECIBEL (dB) đã được chấp nhận làm đơn vị đo thông thường. Vì vậy, một
decibel bằng 10 lần lô ga (log10) của cường độ đo được (Ia) chia cho cường độ
quy chiếu (Ib):
1 dB = 10log10 (Ia/ Ib)
Chú ý cường độ của âm bất kì được mô tả bằng dB luôn luôn có quan
hệ với một mức cường độ quy chiếu nào đó.Khi các giá trị dB được mô tả mà
không chỉ rõ ra mức quy chiếu này (như chúng thường là như vậy) thì người
ta thường giả định rằng mức quy chiếu là ngưỡng thính giác. Có thể lấy
ngưỡng này có cường độ là 10 – 16 Watt trên cm2, tương ứng với áp suất âm
20µPa, thống kê cho thấy ngưỡng thính giác tuyệt đối là một âm cao hình sin
1 kHz.
Vì cường độ tỉ lệ với bình phương áp suất âm, cho nên một decibel
cũng tương đương với 20 lần lô ga (log10) của áp suất được đo (Px) chia cho
mức áp suất âm quy chiếu (Py):
Cường độ được tính theo áp suất âm theo cách này, sử dụng ngưỡng
thính giác làm mức quy chiếu, gọi là mức áp suất âm hay SPL. Một số mức
áp suất âm điển hình là:
130dB các âm rất lớn, chẳng hạn như nốt nhạc của kèn trôm pet ở
tiếng chuông của khí cụ, hay nhạc kim to;
100 dB tiếng nhạc đồng hoặc tiếng xa cứu thương hoặc tiếng còi cảnh
sát
80 dB tiếng ồn trong buồng lái máy bay phản lực;
70 dB lời nói bình thường;
60 dB tiếng ồn nền trong phòng tĩnh;
40 dB tiếng nói rất trầm;
20 dB tiếng ồn còn dư lại trong phòng xử lí âm chẳng hạn như phòng
bá âm;
251
0 dB ngưỡng thính giác.
Mặc dù tỉ lệ dB theo hàm lô ga liên kết cường độ với độ lớn được tri
giác tốt hơn nhiều so với tỉ lệ tuyến tính đơn giản, nhưng vẫn có sự khác nhau
đáng kể về độ lớn được tri giác của các âm ở các tần số khác nhau. Hệ thống
thính giác của một người lớn khoẻ mạnh sẽ đáp lại những âm ở các tần số
trong vùng từ khoảng 20 Hz đến khoảng 20.000 Hz, nhưng hệ thống thính
giác không nhạy cảm một cách như nhau với các âm ở tất cả các tần số trong
dải này. Ngay các âm cao hình sin đơn giản với các tần số khác nhau cũng có
thể thay đổi khoảng 40 dB hoặc hơn ở cường độ của chúng để sinh ra độ lớn
được tri giác giống nhau. Điều này đặc biệt đúng đối với các âm có tần số
thấp dưới 200 Hz; ở mức độ ít hơn, nó cũng có thể đúng đối với các âm trên
5000 Hz. (Nhưng hầu hết các thông tin hữu ích trong lời nói nằm trong vùng
tần số từ 200 - 5000 Hz). Độ lớn của các âm phức là một vấn đề khó hơn, và
sẽ không được nghiên cứu kĩ ở đây. Trong các thuật ngữ đại cương, độ lớn là
một hàm số về vùng tần số và sự phân bố năng lượng của các bộ phận tần số
trong âm đang xét.
Cao độ là chu kì tần số được tiếp nhận hay của một sóng âm. Cao độ
được tiếp nhận phần lớn bị quy định bởi tần số cơ bản của âm, và ở một phạm
vi nhỏ hơn, bởi cường độ của âm, nhưng mối quan hệ giữa cao độ và tần số
cơ bản lại không mang tính chất tuyến tính và thường thay đổi cùng với tần số
đi kèm.
Sự nhạy cảm của chúng ta đối với những thay đổi về tần số của một âm
cao hình sin - nói cách khác sự phân biệt cao độ của chúng ta - thay đổi lớn
khi chúng ta nâng tỉ lệ tần số nghe được lên. Dưới 1000 Hz, người nghe có
thể nghe thấy một cách dễ dạng những thay đổi tần số từ 4 - 5 Hz; trên tần số
này, khả năng nhận ra những thay đổi cực nhỏ về tần số của chúng ta giảm
xuống liên tục và đáng kể. Ở khoảng 8000 Hz người nghe có thể gặp khó
khăn trong việc phân biệt những thay đổi dưới 40 hoặc 50 Hz. Hình 2.27 chỉ
ra những khác biệt đáng chú ý một cách chính xác (JND) về cao độ tỉ xứng
với tần số trắc nghiệm, minh hoạ đặc điểm này.
Vì mối quan hệ giữa tần số và cao độ không mang tính chất tuyến tính
do đó một đơn vị thẩm nhận được gọi là Mel đã được đề xuất để tái hiện các
số gia tương đương của cao độ và gắn kết chúng với tần số. Hình 2.28 cho
252
biết các giá trị mel đối lập với tần số: dưới 1000 Hz có sự tương ứng khác
trực tiếp giữa cao độ tiếp nhận và tần số, còn trên 1000 Hz thì mối quan hệ
này về cơ bản là theo hàm lô ga. Bạn đọc nào muốn biết cách tính có thể lưu ý
đến công thức sau đâu của Fant (1968):
P = (1000/ log10 2) (log10 (1 + f/ 1000))
trong đó P = cao độ đo bằng đơn vị mel và f = tần số đo bằng đơn vị
hertz.
Hình 2.28- Những khác biệt đáng chú ý về tần số (JND) đối với tần số
Có nhiều phép cải biên khác từ tần số sang đơn vị mel do Beranek đưa
ra (1949), Lindsay và Norman (1977) và O’ Shaughnessy (1987).
Các âm phức gây ra một vấn đề tò mò. Cao độ tiếp nhận phụ thuộc vào
tần số cơ bản, hay bộ phận tần số thấp nhất trong cấu trúc phổ của âm. Biên
độ của tần số cơ bản đó dù có nằm trong mối quan hệ với các bộ phận hoạ âm
khác của âm thì cũng không có vấn đề gì. Quả thực, thậm chí nếu gỡ bỏ tần số
cơ bản bằng một hình thức xử lí điện tử nào đó chẳng hạn như lọc, thì một
cao độ tương đương với tần số cơ bản, được gọi là “tần số cơ bản ảo”
(phantom fundamental), vẫn sẽ được tri nhận. (Nhớ rằng nó là tần số cơ bản
xác định khoảng cách của các hoạ âm). Dường như thông tin cao độ chủ yếu
có thể được giải mã bởi người nghe từ cấu trúc hoạ âm của âm phức, chí ít ra
cũng là đối với các tần số lên đến khoảng 5000 Hz.
253
Cuối cùng chúng ta quay trở lại với âm sắc và ví dụ về chiếc đàn vi ô
lông và chiếc sáo, chơi cùng một nốt nhạc nhưng nghe rất khác nhau. Thực
chất, âm sắc là chất lượng tiếp nhận trong các âm phức: chúng ta nghe thấy
những khác biệt của âm sắc trong các âm phức, cho dù khi cao độ và độ lớn
tiếp nhận của chúng là như nhau, bởi vì do sự khác nhau trong phân bố năng
lượng của quang phổ của chúng.
Hình 2.29- Mel so sánh với tần số
Có thể chỉ cần phân biệt các âm thanh tiếng nói theo cách này, ví dụ
đơn giản nhất là các âm nguyên âm thuần tuý. Một người có thể phát ra nhiều
nguyên âm khác nhau ở cùng cao độ và độ lớn, nhưng các nguyên âm được
tiếp nhận như là các âm khác nhau vì lí do là chiếc đàn vi ô lông và cây sáo
nghe khác nhau, tức là sự phân bố các nguồn năng lượng quang phổ của
chúng có khác nhau. Như chúng ta sẽ thấy ở dưới đây, còn những phức tạp
khác nữa trong các âm lời nói, nhưng các quá trình thẩm nhận lệ thuộc vào
các nguyên lí cơ bản này. Những thông tin sâu về sự thẩm âm có thể thấy ở
Lindsay và Norman (1977), Moore (1982) và Warren (1982).
8.1.6. Mô hình âm học của quá trình phát âm lời nói
Hoạt động âm học và các thuộc tính của bộ máy phát âm (vocal tract)
trong quá trình phát âm lời nói trong truyền thống được nghiên cứu thành mô
hình nguồn và lọc có dạng khái quát như trình bày ở Hình 2.30.
254
N
guồnB
ộ lọc
Tín
hiệu lời nói
Điều
khiển xỏt và
giọng
Điều
khiển bộ máy
phát âm
Hình 2.30- Mô hình nguồn và bộ lọc của quá trình sản sinh lời nói
Theo mô hình này, tín hiệu lời nói xét về mặt âm học có thể được xem
như là kết quả của các thuộc tính của nguồn phát ra âm, bị thay đổi bởi các
đặc điểm của bộ máy phát âm đóng chức năng như một bộ lọc tần số có tính
chất lựa chọn. Cả các thuộc tính của nguồn phát ra âm lẫn các thuộc tính của
bộ máy phát âm đều có thể bị thay đổi - và bị thay đổi một cách liên tục -
trong suốt quá trình nói năng.
Một mô tả lời nói tất nhiên nên gắn kết các thuộc tính âm học của tín
hiệu lời nói với thông tin âm vị học mà tín hiệu chuyển tải. Đây hiển nhiên là
một nhiệm vụ đơn giản, nhưng mô hình lọc và nguồn phát ra âm đem lại một
cách phân chia có tính chức năng của các cơ chế vốn chủ động tham gia vào
quá trình sản sinh các âm lời nói.
8.1.7. Bộ lọc bộ máy phát âm trong quá trình sản sinh nguyên âm
Mô hình nguồn và lọc coi bộ máy phát âm là một bộ lọc: bộ lọc là tần
số - có lựa chọn và thường xuyên thay đổi các đặc điểm quang phổ của các
nguồn âm trong suốt quá trình phát âm. Các thuộc tính của bộ lọc thay đổi
luôn tục, vì chúng được xác định bởi cấu trúc hình học của bộ máy phát âm,
mà bản thân nó cũng bị thay đổi khi người nói dịch chuyển và định vị các cơ
quan cấu âm chẳng hạn như lưỡi và môi.
Chúng tôi bắt đầu bằng việc nghiên cứu âm học quá trình tạo sản
nguyên âm - các phụ âm có phần phức tạp hơn - và lấy một trong số các ví dụ
đơn giản nhất, nguyên âm giữa dài [] chẳng hạn như nghe thấy ở trong từ
fur (lông vũ) hay bird (chim) ở cách phát âm chấp nhận được (Received
Pronounciation). Nguyên âm này được hình thành bởi lưỡi, hai môi và hàm ở
vị trí mở giữa tương đối, còn giao diện của bộ máy phát âm phía trên yết hầu
ít nhiều đồng nhất dọc theo chiều dài của nó, như thấy ở Hình 2.36(a). Trong
cấu trúc nguyên âm này, hình thể của bộ máy phát âm gần giống đường ống
một cạnh song song được khép lại một đầu (thanh quản) và mở ở một đầu
255
khác (hai môi), như sẽ chỉ ra ở Hình 2.36 (b). Với một đầu khép, đường ống
này hoạt động như một khoang cộng hưởng.
Hình 2.36- Cấu hình hộp cộng hưởng đối với nguyên âm giữa []: (a)
bộ máy phát âm thực; (b) ống tương ứng với (a)
Hình 2.37- Áp suất tần số cộng hưởng sóng 1/ 4 và các mô hình tốc độ
hạt trong khoang cộng hưởng hình ống đơn giản
Trong trường hợp này, sự cộng hưởng nằm trong cột khí bên trong
đường ống, do sự dội lại của áp suất khí từ một đầu ống này đến đầu kia trong
cái được coi là sóng thẳng (standing wave) hay sóng tĩnh. Miễn sao chiều dài
của đường ống lớn hơn nhiều so với đường kính của nó, áp suất khí sẽ được
dội lại khi một lượng áp suất tối thiểu diễn ra ở đầu mở của đường ống và một
lượng áp suất cực đại diễn ra ở đầu khép của ống. Điều kiện này sẽ được thoả
256
mãn ở một phần tư một chu kì trọn vẹn của một dao động hình sin và ở mỗi
nửa của từng chu kì sau đó, như chỉ ra ở Hình 2.37. Kết quả là, cột khí trong
ống sẽ cộng hưởng ở tần số cơ bản tương đương với 4 lần chiều dài của ống
(vì một phần tư chu kì dao động) và ở các tần số tương đương với một nửa
chu kì kế tiếp sau đó - nói cách khác, ở các tần số gấp 3, 5, 7 (và v.v) lần tần
số cộng hưởng cơ bản.
Nếu chúng ta lấy s thay thế cho các bội số quan yếu 1, 3, 5, 7, v.v. và C
là tốc độ của âm trong không khí (khoảng 340 m/s ở mực nước biển), sau đó
đem nhân s với C, chia cho 4 lần chiều dài của ống, sẽ cho đáp số tần số cộng
hưởng:
Fres = sC/ 4l
Phương trình này thực sự không tuyệt đối chính xác, vì sóng thẳng
không dừng lại một cách chính xác tại đầu mở của ống. Nói cách khác, “đầu
âm học” của ống vượt qua một chút đầu vật lí của ống. Phương trình này do
vậy cần có một “end correction”, mà một phần có liên quan đến đường kính
của ống; chi tiết hơn có thể xem Wood (1964). Cũng nên lưu ý những pha dội
lại trong cột khí là không hoàn hảo, và một nguồn năng lượng âm học nào đó
bị bức xạ. Tất nhiên là muốn điều này xảy ra - sao cho âm được lan truyền -
nhưng nó thực sự sinh ra những hao phí trong cột khí thể hiện ở sự tắt dần của
các dao động cộng hưởng.
Vì vậy sự khác nhau cơ bản giữa khoang cộng hưởng ống khép như
vừa mô tả và các hệ thống đang cộng hưởng như đã dẫn là ở chỗ ở trường hợp
đầu sự cộng hưởng xảy ra ở một loạt các tần số. Dạng thức cộng hưởng theo
cấp bội số phức tạp hơn này là cực kì quan trọng trong quá trình sản sinh lời
nói.
Bây giờ chúng ta trở lại nguyên âm ở Hình 2.36 và khoang cộng hưởng
hình ống tương ứng của nó. Chiều dài của khoang cộng hưởng này chính là
chiều dài của bộ máy phát âm từ môi đến thanh môn. Tất nhiên bộ máy phát
âm người có chiều dài không giống nhau, và có một sự khác nhau rõ rệt, phụ
thuộc vào việc người đó là nam hay nữ, vào sự trưởng thành về thể chất và
v.v. Với những suy nghĩ như vậy chúng ta có thể lấy bộ máy phát âm của một
người đàn ông điển hình có chiều dài là 17,6 cm (Fant 1960). Theo tư liệu của
Pickett (1980), chiều dài của bộ máy phát âm của nữ bằng khoảng 80 - 90
257
phần trăm chiều dài bộ máy phát âm của nam, trong khi đó chiều dài của bộ
máy phát âm của trẻ em, phụ thuộc vào tuổi, có thể bằng khoảng 50 phần trăm
chiều dài bộ máy phát âm của người lớn (nam).
Dùng phương trình cộng hưởng hình ống ở trên - gồm cả những sửa
chữa ảnh hưởng ở đầu mút - chúng ta có thể chỉ ra rằng một bộ máy phát âm
có chiều dài là 17,6 cm sẽ cộng hưởng ở các tần số 500Hz, 1500 Hz, 2500 Hz
và tiến đến vô hạn.
Hình 2.38- Phản xạ tần số của hộp cộng hưởng hình ống đối với bộ máy
phát âm nam đối với nguyên âm []
Hình 2.38 cho thấy sự dội lại tần số của khoang cộng hưởng hình ống
này. Hình này cho thấy các đặc điểm có lựa chọn của tần số tương tự với các
đặc điểm của khoang cộng hưởng đơn giản, nhưng với một ngoại lệ là một
loạt các đỉnh cộng hưởng giờ đây xuất hiện ở các tần số được tính bằng
phương trình cộng hưởng hình ống. Về các đỉnh cộng hưởng này, có ba đỉnh
thấp nhất là đóng vai trò quan trọng trong việc xác định chất lượng nguyên
âm. Các đỉnh cộng hưởng cao hơn tham gia nhiều hơn vào chất giọng cá
nhân, và càng trở thành ít quan trọng hơn khi ở trên khoảng 5 kHz.
Các thuộc tính cộng hưởng này của bộ máy phát âm tất nhiên phải được
xem xét trong mối tương quan với nguồn âm, mà đối với các nguyên âm
chính là sinh âm bình thường ở thanh quản. Trên thực tế, tín hiệu lời nói phát
ra từ hai môi thực sự phản ánh các thuộc tính âm học tổng hợp của sinh âm,
258
sự cộng hưởng bộ máy phát âm và các thuộc tính bức xạ âm học của đầu
người. Hình 2.39 cho thấy các bộ phận này đối với nguyên âm [], là:
a ảnh phổ của sinh âm thanh quản
b sự hồi đáp tần số cộng hưởng của bộ máy phát âm
c ảnh phổ sinh âm do những ảnh hưởng của sự cộng hưởng bộ máy
phát âm
d ảnh phổ của sóng áp suất âm âm học bị bức xạ cuối cùng
e bản thân sóng áp suất âm tính theo trường thời gian
Trong ví dụ lí tưởng này, ảnh phổ sinh âm (a) được giả định có độ dốc
là - 12 dB trên một quãng tám, còn các đỉnh cộng hưởng trong bộ máy phát
âm (b) có các biên độ ngang bằng nhau. Kết quả là một ảnh phổ (c) với các
đỉnh năng lượng gây ra do sự cộng hưởng. Các đỉnh năng lượng này, sinh ra
do sự gia tăng có lựa chọn của nguồn nhờ sự cộng hưởng bộ máy phát âm,
được gọi là các phóoc măng. Bản thân các cộng hưởng bộ máy phát âm đôi
khi được đề cập đến với tư cách như là các formant, nhưng điều này về mặt kĩ
thuật là không chính xác. Các formant là 1 hệ quả của sự cộng hưởng, chứ
không phải là bản thân sự cộng hưởng. Các formant mang tải thông tin của
ảnh phổ lời nói được đánh số một cách quy ước lần lượt từ tần số thấp nhất
trở đi (F1, F2 .v.v.); 3 formant thấp nhất là các thông số quan trọng trong một
mô tả chất lượng nguyên âm.
Ảnh phổ cuối cùng (d) của sóng áp suất âm bị bức xạ có một độ dốc tần
số cao chỉ ở một nửa được chỉ ra ở (c). Điều này là do âm phát ra từ môi, và
hai môi tạo thành một điểm duy nhất có quan hệ với vùng mặt của đầu. Đầu
đóng chức năng như một loại mặt phản chiếu, hay, một cách chính xác hơn,
như một vách ngăn hình cầu có bán kính khoảng 9 cm. Điều này tạo ra sự lan
truyền của âm cao tần và khiến cho tín hiệu phát ra tăng lên khoảng + 6 dB
trên một quãng tám từ khu vực vài trăm Hz trở lên. Độ dốc – 12 dB trên một
quãng tám của nguồn giọng do đó được giảm xuống – 6 dB trên một quãng
tám hữu hiệu, cũng làm nâng cao các khía cạnh mang tải thông tin của tín
hiệu.
Ví dụ của chúng tôi về nguyên âm [] giả định rằng có một sự tắt dần
(dải) bằng nhau trên mỗi một cộng hưởng. Là như vậy chỉ nếu điều kiện này
được thoả mãn là các biên độ của các đỉnh cộng hưởng là bằng nhau. Thực tế
259
trong những điều kiện bình thường, với thức sinh âm cung cấp cho nguồn âm,
thường có độ tắt dần lớn hơn (dải rộng hơn) ở những cộng hưởng cao hơn,
sinh ra các biên độ formant không bằng nhau.
Sau khi nhìn vào các đặc điểm tần số, chúng ta cũng có thể xem xét quá
trình tạo sản nguyên âm dưới ánh sáng của dạng sóng theo trường thời gian
được chỉ ra ở Hình 2.39 (e). Đây là một sóng gần giống chu kì tắt dần tương
tự như sóng được chỉ ra ở trên trong Hình 2.33 (a) (dạng sóng) và Hình 2.33
(b) (đường ảnh phổ). Trong cả hai trường hợp, chỉ có một đỉnh duy nhất ở
đường ảnh phổ, còn các đường năng lượng hoạ âm được xác định bởi mức độ
lặp lại của hoạt động khôi phục năng lượng. Nhưng dạng sóng nguyên âm là
phức tạp hơn: do các cộng hưởng theo cấp số nhân của bộ máy phát âm, có
một vài sóng sin tắt dần chồng lên nhau, và chỉ có một sóng diễn ra ở tần số
thấp nhất là nhìn thấy rõ.
Hình 2.39- Các thuộc tính âm học của nguyên âm []: (a) phổ hoạ âm
của nguồn sinh âm; (b) phản xạ cộng hưởng của bộ máy phát âm; (c) đường
bao phỏ từ hoạt động lọc của nguồn bởi sự cộng hưởng bộ máy phát âm; (d)
đường bao phổ của sóng áp suất âm bức xạ; (e) sóng áp suất âm theo trường
thời gian
260
Theo cách nhìn này, quá trình tạo sản nguyên âm có thể được xem như
là một loạt các xung từ thanh quản, gây chấn động khoang cộng hưởng cấp số
nhân thành một loạt các dao động hình sin tắt dần xảy ra đồng thời ở các tần
số khác nhau. Điều này cho chúng ta một cái nhìn khác về quá trình sản sinh
lời nói, một cái nhìn không có cơ sở vững chắc hơn so với dựa vào tần số.
Cần lưu ý thêm một điều nữa là thực tế là rất phong phú và không thể rút
ngắn lại thành một phương diện đơn lẻ. Chúng ta phải có chuẩn bị trước để
nghĩ theo hai cách về tín hiệu ngôn ngữ để hiểu cách thức cấu trúc âm vị học
được lập mã như thế nào trong nó.
Tất cả các âm nguyên âm đều có ảnh phổ phản ánh các đặc điểm nguồn
phát, bộ lọc và bức xạ như đã mô tả ở trên, nhưng còn có nhiều nguyên âm
khác phức tạp hơn ví dụ về nguyên âm [] của chúng tôi. Một lần nữa khi
các cơ quan cấu âm đi chuyển từ vị trí ít nhiều trung hoà của một nguyên âm
chẳng hạn như nguyên âm [] thì giao diện của bộ máy phát âm không thay
đổi nữa dọc theo chiều dài của nó và bộ máy phát âm gần giống như một cái
ống đơn giản có hai cạnh song song. Các đặc điểm cộng hưởng của bộ máy
phát âm do đó sẽ phức tạp hơn. Sự thay đổi vị trí của lưỡi, sự nâng lên và hạ
xuống của hàm, và sự chúm hay tròn của môi tất cả đều có thể tham gia vào
sự thay đổi ở khu vực giao diện. Đối với nguyên âm [], vùng giao diện có
diện tích là 6 cm2; nhưng một số nguyên âm, đặc biệt là các nguyên âm cao,
bao gồm một phần việc thu lại cực hẹp của bộ máy phát âm, và vùng giao
diện ở điểm hẹp nhất có thể nhỏ bằng một phần mười lăm của vùng giao diện
ở vùng rộng nhất trong bộ máy phát âm. Đối với nguyên âm [u:], được phát
âm với hai môi chúm tròn và lưỡi rụt lại hoàn toàn, Fant (1960) tính những
vùng này nhỏ bằng 0.32 cm2 ở khu vực hai môi và lớn bằng 13 cm3 ở khoang
trước. Hệ quả của những biến đổi như vậy là việc định vị của các đỉnh cộng
hưởng trên thang tần số không còn được phân bố mồt cách đồng đều nhau
nữa. Các biên độ có liên quan của chúng cũng không đồng đều, và được xác
định bằng các mối quan hệ tần số của chúng. Một điều phức tạp nữa là ở chỗ
có thể có những khác biệt tuyệt đối về biên độ của các đỉnh riêng lẻ, do những
khác biệt về bề rộng dải tần của chúng gây ra. Ở đây không thể dùng phép
tính khoang cộng hưởng hình ống đơn thuần để tìm ra vị trí của các cộng
hưởng của bộ máy phát âm.
261
Để tính áng khoảng bộ máy phát âm thay đổi theo khu vực dọc theo
chiều dài của nó, chúng ta có thể tưởng tượng ra hai đường ống có kích cỡ
khác nhau nối với nhau. Và có thể ước tính các mô hình cộng hưởng được
phân bố một cách không đồng đều của bộ máy phát âm từ một phép tính áng
khoảng đơn giản như vậy, một đôi ghép lại của các khoang cộng hưởng ống.
Fant (1960) cung cấp những cái gọi là cách tính các giá trị số bằng sơ đồ
(nomograph), những cách biểu diễn bằng sơ đồ mà từ đó có thể tính được các
giá trị. Cách tính giá trị bằng sơ đồ của Fant cho phép chúng ta dẫn xuất 4
cộng hưởng thấp nhất từ chiều dài của các khoang cộng hưởng và các vùng
giao diện của chúng. Hình 2.40 cho thấy các khoang cộng hưởng ghép/ kết
hợp kiểu như vậy đối với các nguyên âm khác nhau với các vị trí áng khoảng
của các đỉnh cộng hưởng của chúng.
Tuy nhiên cũng cần phải hết sức lưu ý là cách trình bày bằng hai đường
ống như trên chỉ là một cách tính gần đúng thô thiển của hệ thống khoang
cộng hưởng của bộ máy phát âm của người trong quá trình tạo sản nguyên
âm. Cách tính gần đúng trên có thể được cải tiến bằng cách dùng nhiều hơn
hai khoang cộng hưởng - quả thực, càng nhiều ống thì phép tính gần đúng
càng tốt hơn - nhưng các phép tính cũng sẽ trở nên phức tạp hơn khi số lượng
các đường ống tăng.
Nhiều học thuyết âm học về quá trình tạo sản nguyên âm trước đây
thực tế đã cố gắng giải thích các mô hình cộng hưởng của các nguyên âm
trong bộ máy phát âm được tạo thành bởi hai khoang cộng hưởng kết hợp lại
với nhau.Sẽ tiện lợi hơn nếu chúng ta kết hợp các cộng hưởng (và ở đây là các
formant) với các khoang cụ thể được hình thành bởi hình dáng bộ máy phát
âm đặc trưng cho một âm cụ thể. Mô hình thực sự hoạt động tốt hơn đối với
các nguyên âm cao chẳng hạn như [i:] trong đó lưỡi chia bộ máy phát âm ra
thành một khoang trước nhỏ và một khoang sau to. Trong trường hợp này
cộng hưởng thứ nhất do đó sẽ rất thấp và cộng hưởng thứ hai sẽ rất cao.
Nhưng thật không may, mô hình này hoạt động không tốt một là đối với các
cộng hưởng ở tần số cao hai là đối với các nguyên âm mở nói chung.
Hình 2.41 cho thấy các hình thể của bộ máy phát âm và các phổ điển
hình của các nguyên âm [i], [a] và [u]. Các sơ đồ về bộ máy phát âm được lấy
từ dữ liệu tia - X và thể hiện vùng giao diện đang thay đổi của bộ máy phát
262
âm từ hai môi đến thanh môn. Như đã lưu ý ở trên, nó là sự phân bố của ba
formant thấp nhất trong các ảnh phổ này khiến cho các nguyên âm phân biệt
nhau. Lưu ý là các trị tuyệt đối của các tần số formant là không quan trọng,
nhưng mối quan hệ lẫn nhau của chúng đang phản ánh đặc trưng hệ thống cố
hữu của thể đối lập âm vị và sự lập mã của nó trong tín hiệu lời nói âm học.
Cần phải hiểu một điều là các tần số của các đỉnh cộng hưởng bộ máy
phát âm thực sự không trùng khớp cần thiết một cách chính xác với các
đường năng lượng hoạ âm từ nguồn giọng. Chúng sẽ trùng hợp chỉ khi tần số
cộng hưởng là một bội số của tần số sinh âm (F0); bởi vì cả tần số sinh âm lẫn
các mô hình cộng hưởng đều thay đổi một cách liên tục trong khi nói, các tần
số sẽ không có quan hệ với nhau một cách hệ thống và nhất quán. Có hai hệ
quả quan trọng của điều này. Thứ nhất là đối với tần số của một formant cho
trước (ví dụ, tần số biên độ năng lượng cực đại của nó) có thể không trùng
hợp một cách chính xác với tần số của cộng hưởng bộ máy phát âm. Thứ hai
đối với các giọng có dải tần F0 cao (đặc biệt là đối với giọng nói của trẻ con
và của một số phụ nữ) có thể sẽ có rất ít đường hoạ âm trong vùng biên độ -
nâng cao của một đỉnh cộng hưởng bộ máy phát âm đã cho, và vì vậy formant
tạo thành có thể sẽ không được xác định một cách rõ ràng. Hình 2.42 minh
hoạ hai trường hợp cực đoan.
Cho đến đây chúng tôi đã bỏ qua các nguyên âm mũi - các nguyên âm
trong đó hệ thống khoang cộng hưởng miệng - yết hầu được kết hợp với hệ
thống khoang cộng hưởng của các khoang mũi nhơ việc hạ thấp xuống của
ngạc mềm.
263
Hình 2.40- Tính xấp xỉ các hộp cộng hưởng ống đôi của bộ máy phát âm
đối với các nguyên âm khác nhau: (a) các miền hộp cộng hưởng; (b) mô hình
formant
Khi kết hợp mũi xảy ra thì hệ thống khoang cộng hưởng phụ làm thay
đổi các mô hình cộng hưởng đơn giản một cách tương đối đối với các nguyên
âm miệng: một số cộng hưởng, nhất là các cộng hưởng thấp nhất, được nâng
lên và các cộng hưởng khác bị yếu đi do cái gọi là các phản cộng hưởng
trong hệ thống khoang cộng hưởng kết hợp. Mặc dù các khoang mũi về giải
264
phẫu là ổn định, hình dáng nói chung của chúng bị tác động bởi các yếu tố
sinh lí và, như Fant (1960) đã chỉ ra, sự phân bố cộng hưởng mũi do đó là
không thể đoán trước được. Từ quan điểm người nghe, khía cạnh quan trọng
nhất của việc kết hợp mũi là ở chỗ nó làm biến dạng ảnh phổ nguyên âm cơ
bản đi. Nó là một sự khác nhau đáng kể giữa phổ bị biến dạng và không bị
biến dạng vốn rất quan trọng trong việc thẩm nhận một thế đối lập. Hình 2.42
cho thấy (a) hệ thống khoang cộng hưởng phức tạp của một nguyên âm bị mũi
hoá điển hình, và (b) loại ảnh phổ mà có thể là kết quả của quá trình này.
Cuối cùng, cần lưu ý với bạn đọc là chí ít đối với các nguyên (dù có bị
mũi hoá hay không), là sự phân bố tương đối của các đỉnh cộng hưởng trong
bộ máy phát âm mới là vấn đề đáng quan tâm. Vì vậy nếu sinh âm giọng thì
thào (whisper) chứ không phải là sinh âm giọng nói bình thường được sử
dụng với từ cách là nguồn phát âm thì đặc điểm nguyên âm có thể vẫn được
bảo toàn. Trong các nguyên âm được phát âm thì thào, các formant là các
đỉnh của năng lượng không có chu kì, chứng minh rằng bản thân các đỉnh
năng lượng vốn phản ánh các đặc điểm bộ lọc của bộ máy phát âm và cho
phép người nghe thấy rõ đặc điểm của các nguyên âm.
Hình 2.41- Các ảnh phổ và các cấu hình của bộ máy phát âm đối với các
nguyên âm (a) [i]; (b) [a]; (c) [u]
265
Hình 2.42- Hiệu ứng giãn cách hoạ âm trên cấu trúc đỉnh phổ
Hình 2.43- Nguyên âm mũi hoá: (a) hệ thống cộng hưởng bộ máy phát
âm; (b) nguyên âm miệng và phổ nguyên âm mũi tương ứng đối với nguyên
âm [a]
8.1.8. Những thuộc tính âm học của chất lượng nguyên âm
Từ lâu người ta đã biết được rằng những nét khu biệt thính giác ở trong
chất lượng mỗi nguyên âm khiến cho chúng ta có thể gán cho chúng các nhãn
khu biệt về âm vị học phần lớn được xác định dựa vào những phân bố tần số
của ba formant đầu tiên. Vào thế kỉ thứ 19, các nhà nghiên cứu chẳng hạn như
266
Willis và Helmholt đã nhận thấy vai trò của cộng hưởng trong bộ máy phát
âm và cấu trúc formant - mặc dù thuật ngữ “formant” lúc đó chưa có - cũng
như Miller, Stumpf, Paget và nhiều người khác ở nửa đầu thế kỉ thứ 20.
Stewart (1922) đã thành công trong việc chứng minh giá trị của mô hình
nguồn và bộ lọc đối với nghiên cứu âm học lời nói bằng một chiếc máy điện
thô sơ giống như bộ máy phát âm. Chiếc máy này đã sử dụng một thiết bị
phát âm như một cái máy phát ra xung có chu kì làm nguồn (thanh quản) phát
âm, và các mạch điện cộng hưởng đơn giản (mỗi mạch có duy nhất một đỉnh
cộng hưởng) làm màng lọc của bộ máy phát âm, để tạo ra các âm nguyên âm
tổng hợp có thể nhận biết được. Thành công của Stewart là đã chỉ ra vai trò
của formant trong việc xác định chất lượng nguyên âm. Delattre et al. (1952)
và Miller (1953) đã xác nhận điều này bằng các nghiên cứu về thẩm âm
chuyên sâu có sử dụng các kĩ thuật tổng hợp nguyên âm phức tạp hơn nhiều,
và những nghiên cứu của họ đã được nhiều người sau này đi theo, sử dụng
các phương pháp bao gồm cả phát âm và thẩm âm.
Tuy nhiên, chất lượng nguyên âm không chỉ là vấn đề của các giá trị
formant tĩnh. Miller (1953), Linblom và Studdert-Kennedy (1967), Millar và
Ainsworth (1972) và nhiều người khác đã chỉ ra rằng chúng ta cũng phải dựa
vào mô hình động toàn diện cấu trúc âm tiết để bổ sung thêm cho thông tin
formant trong việc thiết lập đặc điểm âm vị học của các âm nguyên âm.
Những yếu tố quan yếu bao gồm F0 và những biến đổi formant khi đứng cạnh
các phụ âm.
Trước khi máy phân tích phổ ra đời vào những năm 1940, việc phân tích
âm học lời nói khó nhọc và hạn chế do những hạn chế về công cụ đến nỗi cấu
trúc formant và mối quan hệ của nó với chất lượng thính giác của các âm lời
nói hầu như được khám phá không đáng kể trong lời nói tự nhiên. Từ năm
1946 máy phân tích phổ đã mang lại một thay đổi lớn lao. Người ta sớm nhận
thức được rằng nếu tần số 2 formant đầu tiên của các nguyên âm mà được vẽ
đối lập nhau trên các trục với tỉ lệ và hướng thích hợp, thì kết quả sẽ là 1 bản
đồ nguyên âm giống với bản đồ nguyên âm của một bản đồ thính giác của
chất lượng nguyên âm. Lí luận được công bố sớm nhất về mối quan hệ việc
lập đồ thị này có thể coi là của Essner (1947), mặc dù có nhiều người biết đến
công trình của Joos (1948) hơn. Ladefoged (1967, chương 2) và Catford
(1981) đưa ra một số chi tiết về lịch sử này.
267
Giả sử những vấn đề của việc đưa ra một mô tả thính giác có thể tin cậy
được về chất lượng nguyên âm, sự sẵn có một kĩ thuật phân tích âm học có vẻ
khách quan, không phụ thuộc vào thiên kiến chủ quan của con người, là một
bước quan trọng trong mô tả ngữ âm học và âm vị học. Kĩ thuật cơ bản để có
một đồ thị về chất lượng nguyên âm là vẽ đồ thị F2 trên trục ngang, với các
giá trị tăng lên từ phải sang trái, còn F1 trên trục dọc với các giá trị tăng lên từ
đỉnh xuống đáy. Ngoài ra, thang tần số của F1 tối thiểu phải gấp đôi thang tần
số của F2 để đảm bảo đồ thị vẽ xong có tỉ lệ bề ngoài phù hợp.
Hình trên cho thấy các nguyên âm theo một trật tự sắp xếp thính giác
chuẩn, được phân bố từ trước ra sau theo phương nằm ngang và từ cao xuống
thấp theo phương nằm dọc. Trong sơ đồ này, nguyên âm đứng trước được
trình bày cân xứng với giá trị của F2, trong khi đó chiều cao nguyên âm, trái
lại, cân xứng với giá trị của F1. Vì vậy các nguyên âm sau được xem là có các
giá trị F2 thấp hơn, còn các nguyên âm cao được xem là có các giá trị F2 thấp
hơn. Sơ đồ trên ngẫu nhiên chỉ ra một số đặc điểm của tiếng Anh Úc, cụ thể
nét tương ứng âm học của [a:] (như trong từ clam (bình tĩnh) hay từ heart (trái
tim) và [] (như trong từ come (đi) hay hut (cái lều): đây là 1 phần của một
bằng chứng cho việc xác nhận hai nguyên âm này phân biệt nhau thuần tuý
chỉ bằng trường độ (duration) trong tiếng Anh Úc (Bernard 1967). Nó cũng
cho thấy sự dịch chuyển nguyên âm trước có thật diễn ra ở trong tiếng Anh
New Zealand.
Mặc dù các đồ thị kiểu như trên là cực kì hữu ích, nhưng chúng vẫn
không dựng được một đồ thị chính âm sát đúng như hi vọng. Điều này đã
được nhận thức ngay từ những năm 1940 và Joos (1948) đã sử dụng các tỉ lệ
logarith để biểu diễn các trục formant, trong khi đó Delattre (1951) lại bình
luận rất nhiều về vấn đề gắn kết (relating) các mô tả nguyên âm theo thính
giác và phát âm vào các mô tả âm học, trong bối cảnh các đồ thị logarith
thuộc kiểu mà Joos đã dùng. Trong công trình nguyên cứu sâu về chất lượng
nguyên âm của mình Ladefoged (1967) đã chuyển dữ liệu formant thành tỉ lệ
cao độ hay mel nhằm cố gắng tiến đến gần hơn một biểu đồ âm học theo định
hướng thính giác và do đó thật hơn về mặt thính giác. Ladefoged lưu ý, mặc
dù dùng phép cải biến này, một đồ thị hai formant không hiển thị một cách
thoả đáng những khác biệt thính giác giữa các nguyên âm tại các vùng cực
268
cao và sau của khoảng trống nguyên âm; ở một chỗ khác thì nó thoả đáng một
cách hợp lí.
Gần đây hơn Lindau (1978) và Ladefoged (1982, đặc biệt là ở các trang:
177-80), dựa vào sức mạnh của các phân tích thống kê rất phức tạp, đã thay
miền biểu diễn F2 bằng sự khác nhau giữa F2 và F1 (ví dụ: F2 – F1). Lập luận
này tuyên bố rằng sự khác nhau này có liên quan trực tiếp hơn đến khái niệm
thính giác “trước” và “sau” hơn so với riêng F2. Họ cũng vẫn giữ thang tỉ lệ
cao độ (mel) của các giá trị tần số trên cả 2 trục.
Catford (1981) đã đề xuất một giải pháp khác cho vấn đề này. Ông đã
bóp méo các mối quan hệ giữa thang tỉ lệ tần số và trục góc của đồ thị
formant để phù hợp với đồ thị nguyên âm chính truyền thống (trong đó tất cả
các nguyên âm đều là hoặc không tròn môi hoặc tròn môi, vì vậy cắt bỏ một
biến thể khỏi vấn đề lập đồ thị). Mặc dù đây là một ý kiến rất thú vị, và đưa
lại một hoà hợp rất tuyệt giữa dữa liệu thính giác và âm học của Catford, nó
dựa trên một giả thuyết cho rằng một bảng nguyên âm chính là một đồ thị
tuyến tính một cách hợp lí (một cách tiền giả định) và nhất quán thể hiện chất
lượng thính giác và có thể lấy đó làm chuẩn. Cho thành tố nét võ đoán thường
thấy trong khi chọn các nguyên âm chính gốc, và một cái gì đó mang bản chất
toàn thánh của việc sử dụng và bảo vệ tiếp sau của họ, một bảo vệ khoa học
của giả định này rất có thể sẽ rất khó khăn. Việc tách các nguyên âm thành
phạm trù tròn môi và không tròn môi có một phẩm chất về mặt âm học,
nhưng không phải không có những hạn chế, bởi vì cách làm đó thường là của
âm vị học thích trình bày tất cả các nguyên âm của một ngôn ngữ trong một
cái bảng duy nhất và thể hiện được các mối quan hệ hệ thống của chúng. Sự
thực là hầu hết các ngôn ngữ đều có các âm nguyên âm tròn môi và không
tròn môi, và vị trí môi thường có tính chất trung gian giữa các âm tròn môi và
không tròn môi hoàn toàn.
Ladefoged (1967) đã quan sát và thấy rằng một bản đồ nguyên âm 2
chiều bất kì nào đều sẽ có những bất chắc, cụ thể là nơi các nguyên âm có các
giá trị trước và chiều cao giống nhau nhưng lại có các vị trí môi khác nhau.
Vấn đề âm học cơ bản đối với một bản đồ hai formant là ở chỗ nó không thể
hiện F3, vốn cũng tham gia vào chất lượng nguyên âm. Ví dụ, trong khi di
chuyển từ nguyên âm 5 đến nguyên âm 6, thì sẽ có thể có một tụt giảm F3
269
hàng trăm Hz nhưng điều này thường không được hiển thị trên bản đồ hai
formant. Các chất lượng nguyên âm giữa 5 và 6 có thể cần nhiều hơn hai
formant đầu để đưa ra một đồ thị tương xứng về các mối quan hệ thính giác
có thật của chúng. Fant (1968, 1973) đã đề cập đến vấn đề này, một phần từ
quan điểm tổng hợp lời nói, và đã đề xuất cần phải sử dụng F2 weighted, đã
biện luận F3 là F2 gia tăng về tần số, nhưng phương hướng tiếp cận cũng có
những hạn chế của nó và không được phổ biến rộng rãi. Cũng cần phải lưu ý
là cả hai phác đồ này đều không biện luận cho việc chuẩn hoá trường độ của
bộ máy phát âm. Các đồ thị thính giác về chất lượng nguyên âm dường như
phổ biến trên hàng loạt các cá nhân và vì thế ám chỉ một sự chuẩn hoá như
vậy; nhưng vẫn không rõ là cách thức dữ liệu từ các giọng khác nhau (nam,
nữ, trẻ con) đích thực sẽ được làm tương thích như thế nào.
Trên thực tế, tốt hơn hết là chấp nhận một bản đồ formant cơ bản như nó
vẫn thường có, và thêm vào đấy trục F3 như một sự mở rộng của trục F1, vì
vậy một đồ thì đôi sẽ cho thấy tầm quan trọng tương đối của những đóng góp
của tất cả 3 formant trong một tập các nét khu biệt bất kì nào. Như sẽ thấy ở
sau đây, chiến lược này cũng có một giá trị nhất định trong việc lập bản đồ
phụ âm. Chúng ta trở lại những phương diện động học của phổ lời nói liên
tục. Dữ liệu formant sử dụng được lấy từ các nguồn là các nguyên âm thuần
tuý một cách chính danh, tức là các nguyên âm có một giá trị đích thính giác
và cấu âm ổn định. Đích âm học của 1 nguyên âm có thể được nhận ra trên 1
ảnh ghi phổ bằng cấu trúc phổ ổn định trong 1 hạt nhân âm tiết - mặc dù đây
không luôn là một vấn đề hoàn toàn đơn giản. Từ [ha:d] hình như có một
nguyên âm dài, thấp với một đích trường độ có thật ổn định. Đích này được
xác định bằng chuỗi phổ mà trong đó các formant được sắp song song với
trục thời gian và do vậy không thay đổi. Thường lấy các giá trị formant đích
từ khoảng giữa của chuỗi này (Trong ảnh phổ này có nhiều thay đổi phổ khác
liên quan đến các phụ âm ở đỉnh và phần kết, nhưng sẽ tạm thời bỏ qua những
vấn đề này). Các phép tính đích chính xác ít phức tạp hơn khi đỉnh âm tiết có
trường độ ngắn và không có đủ thời gian để các cơ quan cấu âm thiết lập một
đích ổn định, mà thường dẫn đến kết quả nửa vời; hoặc có thể là những ảnh
hưởng của các phụ âm đứng trước và đứng sau làm cản trở đích ổn định.
Trong ảnh phổ của từ kit, có thể thấy các formant dịch chuyển về phía vị trí
nguyên âm có tính chất ngoại vi, nhưng không bao giờ ổn định ở đó. Cách
270
tính đích nguyên âm tốt nhất như đã chỉ ra, là lấy ở vị trí biện nhất (về mặt âm
học). Trong ảnh phổ của từ bag, sự ảnh hưởng phụ âm lại ngăn cản đích ổn
định, và vùng được chỉ ra nằm ở khu vực giữa của hạt nhân âm tiết, trong đó
những ảnh hưởng của hai phụ âm hoà nhập vào vùng đích nguyên âm. Những
vấn đề tương tự của việc phân tích các đính nguyên âm bên trong các phổ
động học của các âm tiết đã được Stevens et al. (1966) thảo luận sâu.
Việc lập bản đồ âm học các nguyên âm không phải bị ràng buộc vào
những thông tin tĩnh trong ảnh phổ. Có thể được chỉ ra một cách sáng rõ các
âm lướt và những dịch chuyển phát âm các nguyên âm đôi bằng cách dùng
một bản đồ formant. Việc nghiên cứu kinh điển về việc lập biểu đồ nguyên
âm được tiến hành ngay sau khi xuất hiện máy phân tích phổ lời nói, do hai
tác giả Peterson và Barney tiến hành (1952), đã phân tích một tập hợp gồm 10
nguyên âm đơn của mỗi người trong tổng số 76 người (bao gồm nam, nữ và
trẻ em). Các biểu đồ 2 formant của những nguyên âm này cho thấy lượng gối
lên nhau có thể đánh giá được giữa các nguyên âm kế cận, chứng tỏ việc phân
biệt tuyệt đối về mặt âm học giữa một số nguyên âm là không đặc biệt tốt.
Sự giải thích cho điều này có tính chất nước đôi. Thứ nhất, những người
khác nhau thể hiện/ hiện thực hoá về mặt ngữ âm (âm học) rất khác nhau các
nguyên âm của họ, nhưng họ vẫn duy trì các đối lập hệ thống một cách bình
thường. Vì vậy hai người phát âm có thể thay đổi về hình dáng khoảng cách
nguyên âm của họ, và các giá trị formant đối với âm [], chẳng hạn, ở người
này có thể gần với các giá trị formant đối với âm [] ở người kia; nhưng cả
hai người đều sẽ thể hiện nét khu biệt âm học thoả đáng giữa [] và []
trong hệ thống nguyên âm của họ. Thứ hai, mọi người khác nhau có thật về
trường độ của bộ máy phát âm của họ, và những khác biệt này có ảnh hưởng
cố hữu lên mô hình các giá trị formant theo nhiều cách mà người phát âm
thực sự không thể kiểm soát nổi. Vì thế không có một phân biệt tuyệt đối về
mặt âm học giữa các nguyên âm cận kề hoặc gần nhau đối với nhiều người
khác nhau. Là người sử dụng ngôn ngữ chúng ta hầu như không gặp khó khăn
gì trong việc giải quyết vấn đề này, vì chúng ta có thể, chỉ cần một mẫu lời
nói rất nhỏ của một người, bình thường hoá đối với hệ thống nguyên âm của
người đó. Nói cách khác chúng ta quen điều chỉnh bản đồ này ở tất cả mọi
người.
271
Sự thực khả năng ứng xử với các hệ thống khác nhau của chúng ta không
bị hạn chế trong một nhóm tương đối thuần nhất, nhưng có thể mở rộng sang
các phương ngữ hay các biến thể khu vực khác nhau một cách triệt để. Mặc
dù có nhiều chuyện đùa về những hiểu nhầm trong thế giới nói tiếng Anh,
nhưng những lộn xộn có thật là tương đối ít. Ấn tượng hơn cả là cho rằng có
những chồng chéo và khác biệt có thật giữa các biến thể khu vực của tiếng
Anh: nguyên âm trong từ catch (bắt) của người New Zealand, chẳng hạn, có
thể sát với nguyên âm trong từ ketch (thuyền buồm) của một người London;
khi một người Úc nói từ clerk (thư kí), nhiều người Mỹ ở miền Bắc có thể
nghe chất lượng nguyên âm của từ đó giống như từ clock (cái đồng hồ) của
họ. Tất nhiên vấn đề là nằm ở chỗ nhiều người vẫn duy trì các mẫu khu biệt
của riêng họ: một người New Zealand thường phân biệt từ catch với từ ketch,
và một người London cũng vậy, nhưng họ phân biệt như vậy theo nhiều cách
khác nhau, với một đối lập về chất lượng nguyên âm khác nhau. Vì vậy việc
bình thường hoá phản ánh một nguyên lí phổ quát là khu biệt âm vị học là
một vấn đề thuộc một thế đối lập tương đối nội trong một hệ thống chứ không
phải là một vấn đề thuộc các giá trị ngữ âm phổ quát hay tuyệt đối. Ladefoged
và Broadbent (1957) đã chứng minh khả năng đối với việc bình thường hoá
bằng một thí nghiệm khá khéo léo bao gồm lời nói tổng hợp: sự thực, họ đã
chỉ ra rằng cùng một âm có thể được tiếp nhận thành những nguyên âm khác
nhau, phụ thuộc vào việc bình thường hoá của người nghe gây ra bởi một âm
được phát ra ngay trước âm đang bàn. Lấy ví dụ có tính chất giai thoại về
nguyên lí trên đây chúng ta có thể nói rằng một và cùng một phát ngôn có thể
được nghe thành clock nếu những người nghe đang nghĩ đó là tiếng Mỹ miền
Bắc hoặc thành clerk nếu họ đang nghĩ đó là tiếng Úc. Vì vậy mà không nên
kết hợp dữ liệu formant từ nhiều người khác nhau, như Peterson và Barney đã
làm.
Cho đến nay đã có một loạt các thuật toán đã được đề xuất cho việc biểu
diễn các chuẩn hoá toán học dữ liệu formant nhằm tháo gỡ một số nguồn biến
thể. Một trong những thuật toán đầu tiên việc cân đối theo tỉ lệ dữ liệu formant
trong quan hệ với chiều kích của bộ máy phát âm của Fant (1966). Rất nhiều kĩ
thuật khác cũng đã được phát triển kể từ đó, trong đó Gerstman (1968) và
Nearey (1977) là được biết đến nhiều nhất. Có thể thấy một đánh giá sâu và bài
điểm sách các quy trình chuẩn hoá của tác giả Disner (1980). Disner thấy rằng
272
việc giản lược biến dữ liệu không có bất kì một giá trị tự thân nào nếu làm thô
bạo đối với các mối quan hệ chất lượng nguyên âm ở trong hay giữa các ngôn
ngữ.
Nhiều công trình nghiên cứu đi vào các khía cạnh âm học của các
nguyên âm đã tập trung vào việc sử dụng các thuộc tính khoảng (space) gian
thời gian - tần số tuyến tính của các nguyên âm, vì được cung cấp một cách
khá trực tiếp từ việc phân tích phổ theo quy ước. Một vài năm trước đây, có
sự quan tâm ngày càng tăng lên đối với hướng tiếp cận dựa vào người nghe
nhiều hơn đến các quy trình phân tích và những biểu diễn âm học chất lượng
nguyên âm. Đặc biệt, được biết chắc chắn là hệ thống thính giác của người có
một hoá giải tần số tụt giảm một cách nhanh chóng đối với những dải tần trên
1 kHz, và cũng biết kết quả là khả năng phân biệt các đỉnh năng lượng
formant của chúng ta sẽ trở nên nghèo nàn hơn ở những tần số cao hơn này.
Rất có thể nghiên cứu hiện tại sẽ tạo ra những kĩ thuật chuẩn cho cả việc lập
biểu đồ lẫn chuẩn hoá dữ liệu nguyên âm, dựa vào việc chuyển đổi dữ liệu
thành biểu diễn phổ lập mẫu...... trong bản thân hệ thống thính giác người
(xem Christovich et al. 1979, và Bladon và Lindblom 1981). Những quy trình
kiểu như vậy nhằm hướng sự chú ý của chúng ta vào những khía cạnh quan
yếu nhật về mặt thẩm nhận của dữ liệu, nhưng những quy trình này hiện vẫn
còn đang tranh cãi và chưa được thấu hiểu một cách đầy đủ, như Bladon
(1987) đã chỉ ra.
Để kết thúc phần này, chúng ta đưa ra 1 ví dụ về việc phân tích phổ và lập
biểu đồ, phân tích các nguyên âm sau của tiếng Anh Úc và giác quan - bối cảnh
của họ đối với âm bên mạc hoá sau. Bộ lọc bộ máy phát âm trong quá trình tạo
sản phụ âm
Việc phát âm các phụ âm được đặc trưng một cách khái quát bởi động
tác thắt và việc phân chia bộ máy phát âm từ miệng đến hầu, với một bổ sung,
trong trường hợp các phụ âm mũi hoặc mũi hoá, và trong trường hợp cặp đôi
của hệ thống khoang mũi. Các phụ âm nước trong nhiều trường hợp giống
như các nguyên âm, nhưng nhiều phụ âm khác có một hệ thống cộng hưởng
trong bộ máy phát âm phức tạp hơn (mặc dù việc nhắc đến các nguyên âm
mũi hoá ở phần trên đã lường trước một số phức tạp nào đó). Trong phần này
chúng ta sẽ xem xét các bình diện tĩnh của các thuộc tính bộ lọc của bộ máy
273
phát âm trong quá trình tạo sản phụ âm; chúng ta sẽ liên kết các thuộc tính
này với các mô hình phổ động học vốn lập mã các nét âm vị học của các phụ
âm trong âm tiết.
Các thuộc tính bộ lọc bộ máy phát âm giống nguyên âm nhất là ở các âm
nước, chia thành hai nhóm. Thứ nhất, ở đây không cần phải phân tích thêm,
bao gồm các âm nước giữa bền vững vốn có các thuộc tính âm học chỉ khác
một chút với các nguyên âm cực cao; chúng được phân loại thành các phụ âm
nhờ vai trò chức năng của chúng trong cấu trúc âm tiết nhiều hơn là các thuộc
tính âm học của chúng. Các ví dụ điển hình nhất là [w] và [j]. Nhóm thứ hai
bao gồm các phụ âm vốn chia hay bóp/ thắt bộ máy phát âm một cách triệt để
hơn so với các âm nguyên âm tính, tạo nên các thuộc tính cộng hưởng khác
nhau có thể chứng minh được. Những đại biểu điển hình nhất của các phụ âm
này là các âm bên chẳng hạn như [l] và các âm nước giữa chẳng hạn như
[].
Các âm bên chia khoang miệng ra thành 2 phần xung quanh vị trí “đút
nút” của lưỡi. Khoang miệng vẫn không bị phân chia thành hai phần trước và
sau điểm đút nút này. Việc phân tích âm [l] của Fant (1960) cho thấy hệ thống
khoang cộng hưởng đã bị phân chia phức tạp này sinh ra một phổ nằm trong
vùng khoảng trên dưới 2000 Hz, do lực phản cộng hưởng trong bộ lọc bộ máy
phát âm gây lên.
Ví dụ về 1 âm nước giữa là âm [] trong tiếng Anh, như trong từ rag
(giẻ rách) hay từ ruck (nếp nhăn) (khi được người London hay người Úc phát
âm chứ không phải người Scot, vì người Scot có thể dùng một âm vỗ hoặc 1
âm rung). Các âm nước giữa có các mô hình cộng hưởng lệch hướng một
cách rõ ràng so với các âm nguyên âm tính. Đặc điểm chính của những âm
này là có F3 rất thấp, sinh ra từ sự cộng hưởng kết hợp với khoang trước tạo
thành bởi đầu lưỡi và sự siết lại của thân lưỡi. Sự khác biệt ở giá trị F3 thường
là một bằng chứng quan trọng phân biệt [] với các âm nước khác chẳng
hạn như [w] và [l].
Các hoạt động thắt lại khi phát âm âm xát tạo ra các thuộc tính cộng
hưởng bộ máy phát âm khác với các thuộc tính cộng hưởng của các nguyên
âm. Nét khác biệt quan trọng với các âm khác là ở chỗ nguồn kích thích của 1
âm xát không nhất thiết là ở thanh môn. Khoang bộ máy phát âm được phân
274
chia một cách hữu hiệu ở điểm xảy ra hoạt động xát. Các âm xát ngạc và ngạc
sau là các ví dụ điển hình về dạng hệ thống khoang cộng hưởng này: theo
phân tích của Heinz và Stevens (1961) khoang phía trước chỗ siết hoạt động
như một hộp cộng hưởng hình đường ống ngắn khép kín (1/4 sóng), kết hợp
với động tác thắt xát vốn hoạt động như một hộp cộng hưởng hình đường ống
mở (nửa sóng). Toàn bộ hệ thống bộ lọc và nguồn xát này rất ngắn, điển hình
nhất là ngắn hơn 4 cm đối với các vị trí cấu âm trước ngạc; còn hệ thống
khoang miệng-hầu rộng đằng sau điểm thắt phần lớn được tách riêng ra khỏi
hệ thống bộ lọc và nguồn. Ở các âm vô thanh, sự cộng hưởng thấp nhất cũng
bị tụt giảm một cách ghê gớm bởi thanh môn mở. Nói chung, khi tính đến
những hiệu ứng của phản cộng hưởng thắt, chỉ có hiệu ứng cộng hưởng nhỏ ở
các âm xát vô thanh thấp hơn hiệu ứng cộng hưởng của hệ thống đằng trước.
Các phổ âm xát nhìn chung đều thể hiện một dải cao tần, năng lượng cường
độ cao và sự suy giảm năng lượng rất nhanh ở các tần số thấp hơn những tần
số đó do sự cộng hưởng ở khoang trước.
Mặc dù những hiệu ứng cộng hưởng trong khoang ở các âm xát phức tạp
hơn so với những hiệu ứng cộng hưởng trong khoang ở các nguyên âm, năng
lượng formant cao tần tổng hợp cho thấy sự tính liên tục với cấu trúc đỉnh âm
tiết liên đới của nó, như Heinz và Stevens (1961) đã chỉ ra. Điều này phản ánh
nguyên lí tính liên tục của cộng hưởng trong bộ máy phát âm, mọi thay đổi động
học trong cấu hình hình học của nó trong suốt quá trình phát âm. Nơi có bước bị
đánh dấu trong biên độ năng lượng xát trong phổ âm, thì vùng tần số tại nơi nó
diễn ra cho chúng ta một manh mối tĩnh mạnh về vị trí cấu âm của âm xát (xem
Stevens 1960, Heinz và Stevens 1961, Clark et al. 1982, và Karjalainen 1987).
Tất cả những điều chúng ta nói về các âm xát cho đến nay đem áp dụng một
cách rõ ràng nhất cho các âm xát có các điểm siết sau răng.
275
8.2. Các đặc trưng âm vị học của tiếng nói
8.2.1. Phân tích tiếng nói thành các đơn vị cơ bản
Trong một lần thí nghiệm điển hình về tính dễ hiểu của tiếng nói, một
phát thanh viên nói tiếng Anh phát âm các từ căn tách rời (bill, put, fig,...) và
một người nghe nói tiếng Anh cố gắng hiểu đúng các từ đó. Đối với người
nghe thì tình huống theo một nghĩa nào đó là đơn giản hơn so với giao tiếp
tiếng nói bình thường bởi vì các mẫu từ mà anh ta nghe được không thể bẻ
gãy ra thành các đơn vị ngắn hơn mà lại có nghĩa và không được nhóm lại
thành các đơn vị lớn hơn. Vì thế việc phân chia câu thành các từ và việc phân
chia các từ thành các thành tố ngữ pháp không hề liên can gì hơn đến người
nghe này. Anh ta không cần thiết phải biện hộ cho mối quan hệ lẫn nhau của
các từ trong một câu và cho các thành tố ngữ pháp khác nhau trong một từ
phức (ex - port - s, im - port - ed, re - port - ing, mid - night).
Tuy nhiên, theo một nghĩa khác thì thí nghiệm này là phức tạp hơn so với
giao tiếp tiếng nói thông thường. Nếu từ bill mà xuất hiện trong tổ hợp one
dollar bill hay với tư cách một từ đơn nói với người bồi bàn sau bữa ăn, thì
người nghe cũng đoán trước được sự xuất hiện của nó. Trong một tình huống
như vậy, các âm tố tạo thành từ là thừa đối với cấp độ cao, bởi vì chúng “có
thể được suy ra là căn nguyên của mọi vấn đề”. Tuy nhiên, nếu từ mà bị tách
ra khỏi một ngữ cảnh bất kì, dù là ngữ cảnh ngôn ngữ hay ngữ cảnh phi ngôn
ngữ thì chỉ cần thông qua hình dạng âm thanh người nghe vẫn có thể nhận ra
nó. Kết quả là, trong tình huống này thì các âm thanh tiếng nói chuyển tải một
khối lượng thông tin tối đa.
Câu hỏi đặt ra là: Có bao nhiêu đơn vị có nghĩa, ví dụ, các đơn vị phù
hợp với việc tách biệt các mẫu, liệu các mô hình âm thanh có chứa không?
Liên quan đến việc lĩnh hội các âm tiết chẳng hạn như bill và pull, người nghe
nhận ra chúng là hai từ khác nhau có thể phân biệt được nhờ phần đầu của
chúng /bi/ và /pu/. Tuy nhiên, phiến đoạn khu biệt này lần lượt có thể được
phân tích theo trình tự. Người Anh, và bất kì một thành viên nào của cộng
đồng Anh ngữ, đều có trong vốn từ vựng của mình chẳng hạn như bill và pull.
Một mặt, các yếu tố giống nhau đều được sử dụng để phân biệt bill với pill và
bull với pull. Mặt khác, sự khu biệt giữa bill và bull tương tự như sự khu biệt
276
giữa pill và pull. Vì thế để phân biệt giữa bill và pull thì cần thiết phải có một
thao tác đúp. Phiến đoạn /bi/ trong bill chứng tỏ có thể tách ra thành các chiết
đoạn /b/ và /i/, minh hoạ cho chiết đoạn đầu là cặp bill - pill và chiết đoạn thứ
hai là bill - bull.
Một trong hai chiết đoạn đều đóng vai trò là cơ sở để phân biệt từ bill với
hàng loạt từ, toàn bộ các đơn vị tương đương khác.* Mỗi một chiết đoạn có
thể được thay thế bằng nhiều chiết đoạn khác. Sự thay thế của một chiết đoạn
này bằng nhiều chiết đoạn khác được gọi là giao hoán.
Chúng ta có thể liệt kê toàn bộ một tập giao hoán. Hoán đổi chiết đoạn
thứ nhất chúng ta có các loạt bill - pill - vill - dill - till - thill - sill - nil - gill/gil/
- kill - gill /il/ - chill - hill - ill - rill - will. Nghiên cứu tỉ mỉ hơn về những
loạt như thế cho phép ta có những suy luận nhất định.
Đối với một số cặp từ trong tập hợp này thì sự phân tách cực tiểu là đồng
nhất; vì thế một người nào đó có quyền nói bill đi với pill, cũng như vill đi với
fill, hay dill đi với till, hay gill đi với kill, v.v... hay để cho cách biểu diễn
mang tính hình học hơn ta có: bill:pill - vill:fill - dill:till - gill:kill,
v.v...
Hoàn toàn tương tự như vậy,
1) bill:vill - pill:fill - till:sill,...
2) bill:mill - dill:nil,...
3) bill:dill - pill:till - fill:sill - mill:nil,...
Một nét khu biệt được gọi là tối thiểu nếu nó không thể được phân tích
thành các nét khu biệt nhỏ hơn nữa dùng để phân biệt các từ trong một ngôn
ngữ nào đó. Chúng tôi đã lấy thuật ngữ này của Daniel Jones, cũng từ ông
chúng tôi đã mượn định nghĩa sau đây*: “Những khác biệt lớn hơn có thể gọi
bằng các thuật ngữ nhân đôi (duple), nhân ba (triple), v.v... tuỳ theo số lượng
các nét khu biệt tối thiểu mà có chứa toàn bộ sự khác biệt. Những nét khu biệt
đôi là kết quả của hai nét khu biệt tối thiểu.”
Những nét khu biệt giữa bill và pill, hay giữa bill và vill hoặc bill và dill
là những nét khu biệt tối thiểu vì chúng không thể phân tích thành các nét khu
biệt đơn giản hơn mà theo trình tự lần lượt chúng có thể phân biệt các âm vị
tiếng Anh. Mặt khác, mối quan hệ của bill với till là nét khu biệt nhân ba:
277
ngoài hai nét khu biệt trên, nó còn có một nét khu biệt thứ ba nữa: bill - vill
(tương đương với pill - fill và tương đương với till - sill).
Sự khác biệt giữa các từ bill và fell ám chỉ một nét khu biệt đôi ở các
chiết đoạn đầu của chúng (/b/ - /f/) và một nét khu biệt cực tiểu ở các chiết
đoạn giữa (/i/ - /e/). Để phân biệt các từ như bit và said, chúng ta cần một nét
khu biệt nhân ba ở chiết đoạn đầu tiên của chúng và một nét khu biệt cực tiểu
ở một trong hai chiết đoạn kia.
Khỏi cần phải đưa thêm dữ liệu nữa, rõ ràng là người nghe nghe một
mẫu tiếng nói (speech sample) phải thường đối mặt với hàng loạt sự lựa chọn
hai khả năng. Để xác định thông điệp là bill, anh ta phải xác định xem khởi
âm phi nguyên âm tính đối lập với nguyên âm tính và xem phụ âm tính đối
lập với phi phụ âm tính. Nhờ thao tác nhân đôi này, các nguyên âm, các âm
nước, các âm lướt bị loại bỏ bởi vì nếu từ bắt đầu bằng một nguyên âm, thì sự
khởi âm sẽ được xác định là nguyên âm tính và phi phụ âm tính; nếu mở đầu
bằng một âm nước, thì khởi âm sẽ được xác định là cả phụ âm tính lẫn
nguyên âm tính, và nếu khởi âm bằng một âm lướt, thì khởi âm sẽ là phi
nguyên âm tính lẫn phi phụ âm tính.
Quyết định tiếp theo là giữa bill và gill /gil/ - loãng hay đặc, giữa bill và
dill - trầm hay bổng, và cuối cùng, giữa bill và mill - không mũi hoá hay có
mũi hoá. Quyết định về hai khả năng sau sẽ không còn sự lựa chọn nào nữa,
bởi vì /m/ chỉ là một kết hợp của tính chất trầm và tính chất mũi trong tiếng
Anh. Nhưng có thể lựa chọn ngược lại, tiếp theo sự lựa chọn giữa bill và pill -
yếu hay mạnh (bằng các thuật ngữ khái quát hơn, chùng hay căng), và, cuối
cùng, sự lựa chọn giữa bill và vill - tắc hoặc siết (bằng các thuật ngữ khái quát
hơn, gián đoạn hay liên tục). Chuỗi các thao tác tương tự cư xử hai chiết đoạn
kế tiếp nhau của mẫu /i/ và /l/. Tuy nhiên, tập hợp các lựa chọn sẽ được thực
hiện hạn chế hơn so với chiết đoạn mở đầu. Ví dụ, khi một chuỗi bắt đầu bằng
một âm tắc, chẳng hạn như chuỗi bill, thì việc chọn nét nguyên âm tính là bắt
buộc, bởi vì trong tiếng Anh có thể có các âm đầu tắc và các âm đầu nước đi
sau.
Một nét khu biệt cực tiểu bất kì nằm trong thông điệp khiến cho người
nghe đứng trước một tình huống lựa chọn hai khả năng. Trong một ngôn ngữ
mỗi một đối lập này đều có thuộc tính riêng phân biệt nó với hết thảy các đối
278
lập khác. Người nghe bắt buộc phải lựa chọn giữa hai phẩm chất cực đoan của
cùng một phạm trù, chẳng hạn như trầm đối lập với bổng, đặc đối lập với
loãng, hay giữa sự có mặt và vắng mặt của một phẩm chất xác định, chẳng
hạn như hữu thanh đối lập với không hữu thanh, mũi hoá đối lập với không
mũi hoá, điếc đối lập với không điếc (bằng phẳng). Sự lựa chọn giữa hai đối
lập có thể gọi bằng thuật ngữ là đặc trưng khu biệt hay nét khu biệt (distintive
feature). Các đặc trưng khu biệt là những thực thể khu biệt cuối cùng của
ngôn ngữ bởi vì không có một thực thể khu biệt nào lại có thể chia nhỏ ra
thành các đơn vị nhỏ hơn nữa được. Các đặc trưng khu biệt kết hợp lại thành
một chùm xảy ra đồng thời, hay như Twaddell đề nghị, là một chùm cùng
xuất hiện tạo thành một âm vị (phoneme).
Ví dụ, từ bill bao gồm 3 chùm đặc trưng khu biệt kế tiếp nhau: các âm
vị /b/, /i/ và /l/. Chiết đoạn thứ nhất của từ bill là âm vị /b/ bao gồm các đặc
trưng sau: 1) phi nguyên âm tính, 2) phụ âm tính, 3) loãng, 4) trầm, 5) phi mũi
hoá (miệng), 6) chùng, 7) ám chỉ cả 1) lẫn 2), 2) gồm hai đặc trưng/ nét có
tính chất dư. Tương tự, 3) là dư bởi vì nó đã được 4) ám chỉ.
Một thông điệp tiếng nói chuyển tải thông tin ở hai phương diện. Một
mặt, các đặc trưng khu biệt bị gối lên nhau, ví dụ, xảy ra một cách đồng thời
(chập lại thành các âm vị), và, mặt khác, chúng kế tiếp nhau theo trình tự thời
gian. Cả hai loạt sắp xếp này thì chủ yếu là chúng xuất hiện theo kiểu gối lên
nhau bởi vì nó có thể hoạt động mà không cần có chuỗi; chuỗi là thứ yếu bởi
vì nó ám chỉ cái chủ yếu. Ví dụ, các từ tiếng Pháp òu /o/ “đâu, ở đâu”, eu /y/
“có, thể hoàn thành”, y /i/ “đó, có”, eau /o/ “nước”, oeufs // “trứng”, et /e/
“và, còn”, aie /e/ “có”, un // “một”, an /a/ “năm”, v.v... mỗi từ chỉ bao
gồm một âm duy nhất.
Sự khác nhau giữa các đặc trưng khu biệt của các chùm kế tiếp nhau cho
phép phân chia một chuỗi thành các âm vị. Sự khác nhau này có thể là không
hoàn toàn, vì giữa hai âm vị cuối cùng /i/ và // trong từ wing “cánh” (mà
không có các đặc trưng khu biệt chung hay bộ phận, bởi vì giữa hai âm vị của
từ apt “có thiên hướng” - /p/ và /t/ toàn bộ các đặc trưng khu biệt của hai âm
vị này là giống nhau trừ một đặc trưng khu biệt duy nhất: /p/ trầm còn /t/
bổng.
279
Việc mở rộng siêu đoạn tính của các đặc trưng nhất định chẳng hạn như
nét tắc, nét loãng hay phi mũi tính là có tính lựa chọn: đối lập với, chẳng hạn
như các tổ hợp asp (lưu thông và tắc), act (đặc và loãng), và ant (mũi và
miệng). Mặt khác, các phụ âm mạnh (căng) và yếu (chùng) không thể đứng kế
tiếp nhau trong một từ đơn tiếng Anh: dẫn ví dụ: nabs /nabz/, nabbed /nabd/
và naps /naps/, napped /napt/. Ý muốn nói là, trong các tổ hợp phụ âm thì các
đặc trưng căng và chùng là siêu đoạn tính.
Một mã ngôn ngữ bất kì đều có một tập hợp hữu hạn các đặc trưng khu
biệt và một tập hợp hữu hạn các qui luật để nhóm chúng lại thành các âm vị
và cũng để nhóm các âm vị thành các chuỗi âm vị; tập hợp bội số này được
gọi bằng thuật ngữ là mô hình âm vị (phonemic pattern).
Một chùm các đặc trưng/ nét bất kì (âm vị) được dùng trong một thông
điệp tiếng nói tại một vị trí xác định trong một chuỗi nhất định là một sự lựa
chọn trong số một tập hợp các chùm khu biệt có thể hoán đổi nhau. Vì vậy
bằng cách hoán đổi một nét khu biệt ở âm vị thứ nhất của chuỗi pat chúng ta
sẽ có được một loạt bat - fat - mat - tat - cat. Một chuỗi các âm vị xác định bất
kì là một sự lựa chọn từ trong một tập hợp các chuỗi có thể hoán vị nhau: ví
dụ pat - apt - tap. Tuy nhiên, /tpa/ không những không, mà còn không thể
tồn tại với tư cách như một từ trong tiếng Anh, bởi vì nó có một tổ hợp âm
đầu tắc và một nguyên âm đơn cuối mang trọng âm, cả hai âm này đều không
thể chấp nhận được theo các qui luật lập mã của tiếng Anh hiện đại.
Bất biến và những biến dưCác từ coo và key của tiếng Anh, coup và qui của tiếng Pháp đều có các
phụ âm rất khác nhau. Trong cả hai ngôn ngữ này cách phát âm lùi sau hơn
(mạc) đã được dùng trước /u/ và cách cấu âm trước hơn (ngạc) trước /i/. Các
formant của một phụ âm đều được điều chỉnh triệt để theo các formant của
các nguyên âm đi sau, để ảnh phổ tần số xuất hiện của /k/ trước /u/ có một
tâm vùng thấp hơn và gần hơn với tâm vùng của /p/ so với trường hợp đứng
trước /i/, trong khi đó nó có một tâm vùng cao hơn và gần hơn với tâm vùng
của /t/. Cả trong tiếng Anh và tiếng Pháp, /p/ và /t/ đều là các âm vị riêng biệt
đối lập nhau theo tiêu chí trầm và bổng, trong đó hai biến thể của âm vị /k/ chỉ
thể hiện một âm vị. Điều dường như không nhất quán này là do một thực tế là
sự đối lập của /p/ và /t/ là có tính tự do, ví dụ, cả /p/ và /t/ đều xuất hiện trong
280
những ngôn cảnh giống nhau (pool - tool, pea - tea), trong khi đó sự khác
nhau giữa hai âm tố k là do nguyên âm đi sau gây nên: nó là một biến thể
ngữ cảnh. Động tác cấu âm thụt vào và tần số xuất hiện thấp của một trong
những âm tố k và động tác cấu âm tiến trước hơn và tần số xuất hiện cao
hơn của một âm tố khác không phải là những đặc trưng khu biệt nhưng lại là
những đặc trưng dư, bởi vì nét khu biệt được thực hiện bởi các nguyên âm nối
tiếp nhau. Trong tiếng Rumani, cả hai âm tố k đang đề cập đều xuất hiện
trong cùng một ngôn cảnh (ví dụ, trước /u/: cu “với”, với một động tác cấu âm
lùi lại phía sau và chiu “khóc” với một động tác cấu âm tiến trước hơn) và vì
thế, chúng thể hiện hai âm vị khác nhau.
Theo cách tương tự, sự khác nhau giữa các loạt biến thể gọi là “trong” và
“đục” của /l/ trong tiếng Anh là dư: biến thể “trong” ám chỉ có một nguyên
âm đi sau và biến thể “đục” ám chỉ không có nguyên âm đi sau; vì vậy trong
từ lull, âm đầu /l/ là “trong” còn âm cuối là “đục”. Trong tiếng Ba Lan hai âm
tố này có thể xuất hiện ở trong cùng một ngôn cảnh giống nhau và tạo thành
một thế đối lập khu biệt: ví dụ /l/ “trong” trong từ laska “mía, lau” và âm tố
gần với loạt biến thể “đục” của tiếng Anh trong từ aska “duyên”.
Mối quan hệ giữa tart và dart, try và dry, bet và bed trong tiếng Anh thể
hiện cùng một nét khu biệt tối thiểu không kể sự khác nhau về mặt cấu âm và
âm học có thể nhận thấy được giữa 3 âm tố [t]. Bất biến thể là sự đối lập giữa
mạnh và yếu. Trong tiếng Anh yếu tố luôn đi kèm của thế đối lập này là nét
vô thanh của các phụ âm mạnh và nét hữu thanh của các phụ âm yếu. Nhưng
đặc trưng dư này đôi khi có thể không tồn tại; ví dụ các biến thể vô thanh
của /b d z/ theo quan sát của các nhà ngữ âm học Anh.
Cần lưu ý là những biến đổi về độ mạnh không đóng vai trò là nét khu
biệt: chúng phụ thuộc hoàn toàn vào ngôn cảnh. Ví dụ, sự hút hơi mạnh của
âm đầu /p, t, k/ trước một nguyên âm mang trọng âm như trong từ tart, và
ngược lại sự thiếu hút hơi trước các âm vị khác như trong từ try chỉ là những
biến thể ngôn cảnh vốn không thể nào ngăn cản được việc nhận dạng bất kì
một âm nào trong số /p, t, k/ mạnh đối lập với các âm tố /b, d, g/.
Tiếng Đan Mạch là một ngôn ngữ khác có sự đối lập giữa các âm mạnh và
yếu. Sự đối lập này được thực hiện theo nhiều cách khác nhau phụ thuộc vào vị
trí của phụ âm trong một từ. Có thể thấy rõ hai vị trí trong từ tiếng Đan Mạch -
281
mạnh và yếu. Ở những từ đơn tiết thì vị trí mạnh của một phụ âm là ở đầu âm
tiết và vị trí yếu của nó là ở cuối âm tiết. Ở vị trí mạnh thì các âm tắc mạnh
thông thường được tạo ra bằng một động tác xát mạnh, trong khi đó thì các
biến thể yếu đối lập của chúng xuất hiện như những âm tắc yếu (khác với /b d
g/ tiếng Anh thông qua nét vô thanh); ví dụ tag “mái nhà” - dag “ngày”. Ở vị trí
yếu, âm /t/ mạnh bị nhược hoá thành ngang với /d/; trong khi đó thì âm đối lập
yếu của nó lại bị nhược hoá tiếp nữa từ /d/ thành dạng yếu nhất là // tạo
thành một phụ âm như the tiếng Anh; ví dụ hat had “mũ” - had ha
“ghét”. Kết quả là, sự đối lập giữa âm vị mạnh và yếu vẫn bất biến ở cả hai
vị trí, điều đó chỉ ra rằng không có nguyên âm dài hay nguyên âm mang trọng
âm đi sau. Mặc dù âm vị yếu ở vị trí mạnh và âm vị mạnh ở vị trí yếu về mặt
ngữ âm gối lên nhau, xét về mặt quan hệ nghiêm ngặt của các đặc trưng khu
biệt thì không có sự gối lên nhau.
“Hai mô hình là giống nhau nếu cấu trúc quan hệ của chúng có thể đặt
vào thế tương ứng một - đối - một, để đối với mỗi một vế của một thế tương
ứng, tương ứng với một vế của một thế tương ứng khác”.
Do đó, một yếu tố dò tự động được thiết lập để phân biệt giữa hai vị trí
và giữa hai thái cực ở một trong chúng sẽ “nhận ra” một cách chính xác cả âm
vị vừa mạnh vừa yếu:
Những ví dụ trên cho thấy sự bất biến của các nét khu biệt tối thiểu có
thể có được tách ra khỏi các đặc trưng dư mà bị qui định bởi các âm vị kế cận
trong chuỗi như thế nào.
Sự sắp xếp theo trật tự tuyến tính của các đặc trưng khu biệt không tạo ra
một kiểu loại những nét dư duy nhất. Một lớp các nét dư khác ít được phân tích
hơn vì vậy mà rất quan trọng bị qui định bởi vị trí gối lên nhau của các nét khu
d
d
t
Âm vị Vị
trí
/t/
mạnh
/d/
yếu
m
ạnh
y
ếu
282
biệt đồng thời. Có nhiều ngôn ngữ có âm mạc k nằm trong thế phân bố bổ
sung với một âm tắc ngạc tương ứng hoặc vẫn với một âm xát tiền ngạc trước
hơn (được phát âm như trong từ chew của tiếng Anh). Ví dụ, âm mạc chỉ xuất
hiện trước các nguyên âm sau và âm ngạc (hay tiền ngạc) chỉ xuất hiện trước
các nguyên âm trước. Trong những trường hợp như vậy, yếu tố trước và yếu tố
sau đều được xem là hai biến thể ngữ cảnh cùng thể hiện một âm vị. Lí do
tương tự, nếu trong tiếng Pháp chúng ta có âm tắc mạc /k/, âm mũi ngạc //
(như trong từ ligue) và âm siết tiền ngạc // (như trong từ chauffeur), thì
chúng ta phải xem sự khác nhau giữa các động tác cấu âm mạc, ngạc và tiền
ngạc là dư hoàn toàn, vì sự khác nhau này là có tính bổ sung cho các nét khu
biệt tự do khác. Toàn bộ các phụ âm này lại đối lập với các phụ âm tạo ra ở
phần trước của miệng như đặc đối lập với loãng. Khi các đặc trưng của nét tắc,
mũi hoá và nét liên tục nằm gối lên nét đặc, thì trong các phụ âm tiếng Pháp,
chúng thường có các đặc trưng dư như nét mạc, nét ngạc và nét tiền ngạc đi
kèm. Vì vậy /p b/ và /t d/ tiếng Pháp mang gánh nặng quan hệ giống như /k
g/, hay /f v/ và /s z/ với / /, và /m/ và /n/ đối với //.
Đặc trưng dư của nét mạc và tiền ngạc của các phụ âm đặc tiếng Anh có
thể được chứng minh theo cách tương tự. Tuy nhiên, trong tiếng Czech hay
tiếng Slovak, thì sự khác biệt tương tự giữa các âm mạc và âm ngạc (bao gồm
cả các âm tiền ngạc và lớp âm ngạc) là có tính khu biệt, bởi vì những ngôn
ngữ này đều có các âm mạc và ngạc, ceteris paribus. Âm tắc mạc /k/ đối lập
với âm tắc ngạc /c/ và âm xiết mạc // đối lập với âm // (tiền) ngạc. Kết
quả là, ở những ngôn ngữ này thế đối lập trầm và bổng không những đặc
trưng cho mối quan hệ giữa các âm môi với các âm răng mà còn đặc trưng
cho cả mối quan hệ giữa các âm mạc và các âm ngạc: /k/ đối lập với /c/ như
/p/ đối lập với /t/.
Bội số của các nét khu biệt truyền thống được chấp nhận trong quá trình
phân tích tiếng nói có thể bị lược bỏ nhiều như chúng ta bỏ bớt những nét dư
liên quan đến thế đối lập cần yếu của các nguyên âm và phụ âm. Ví dụ, có thể
chỉ ra mối quan hệ của các nguyên âm mở và khép, một đằng, và mối quan hệ
của các phụ âm môi và các phụ âm răng đối với các phụ âm được tạo ra đối
lập với ngạc cứng và mềm, một phía, là toàn bộ những biểu hiện của một thế
đối lập duy nhất: loãng đối lập với đặc; miễn là vô số các nét dư tuỳ thuộc vào
283
sự khác biệt cơ bản giữa đặc trưng nguyên âm tính và phụ âm tính bị lược bỏ.
Đến lượt mình các mối quan hệ giữa các nguyên âm trước và sau, và giữa các
phụ âm môi và răng thuộc về thế đối lập chung trầm và bổng.
Trong khi kết cấu quan hệ của những đặc trưng này, vốn dĩ chung cho cả
nguyên âm và phụ âm biểu thị một hình vị tách rời xác định (thế tương ứng
một - đối - một), chuyển đổi là đều nằm trong thế phân bố bổ sung. Điều đó
nói lên rằng, chúng được xác định bởi những ngữ cảnh khác nhau mà ở đó
chúng xuất hiện; những chuyển đổi phụ thuộc vào việc liệu các nét trầm -
bổng và đặc - loãng nằm chồng lên một nguyên âm hay một phụ âm.
Bằng cách bỏ bớt liên tục các dữ liệu dư đi (vốn không chuyển tải những
thông tin mới) thì việc phân tích ngôn ngữ thành các đặc trưng khu biệt vượt
lên “tính chất không nhất nguyên của các giải pháp âm vị”. Thuyết đa ngôn
này, như Y.R. Chao đã chỉ ra, giao thoa với việc phân tích miễn sao âm vị vẫn
lưu giữ đơn vị thao tác cuối cùng và không bị bẻ gãy ra thành các thành tố của
nó. Phương pháp tiếp cận hiện đại thiết lập lên một tiêu chí đơn giản của một
giải pháp cụ thể nào đó, vì khi hai giải pháp khác nhau, thì một trong hai giải
pháp thường không chính xác bằng giải pháp kia vì có sự rườm rà hơn.
Nguyên lý thế phân bố bổ sung, vốn đã được chứng minh là có hiệu quả
nhất trong việc phân tích tiếng nói, mở ra nhiều khả năng mới khi có thể đưa
ra những hàm ý lô-gic cuối cùng một cách hiển nhiên. Vì vậy nếu các nét khu
biệt âm vị cụ thể xử lý một mẫu số (denominator) chưa bao giờ được nghiên
cứu là cùng tồn tại trong một ngôn ngữ, vậy thì chúng có thể được hiểu một
cách thuần tuý là những biến thể của một thế đối lập. Hơn nữa, có thể đặt ra
câu hỏi là liệu việc lựa chọn một biến thể có sẵn trong một ngôn ngữ cụ thể
nào đó không liên can đến một số nét khác đúng như cùng một mô hình ngôn
ngữ.
Bằng cách này yêu cầu cần thiết phải rút gọn danh sách các nét khu biệt
không xác định chắc chắn trong các ngôn ngữ thế giới. Trubetzkoy phân biệt 3
thế đối lập phụ âm tính sau đây: thứ nhất, thế đối lập các phụ âm mạnh và yếu,
các phụ âm mạnh có đặc trưng là bền hơn đối với luồng hơi và có áp suất lớn
hơn; thứ hai, thế đối lập của chính độ bền yếu hơn và mạnh hơn mà không có
những khác biệt áp lực nào đi kèm; thứ ba, thế đối lập xát và không xát. Tuy
nhiên, vì không bao giờ có hơn một trong ba thế đối lập trên được sử dụng để
284
hành chức một cách tự do trong một ngôn ngữ bất kỳ, cho nên cả ba thế đối lập
nên được xem như là những biến thể của một thế đối lập duy nhất. Hơn nữa, sự
biến đổi này rõ ràng là thừa bởi vì nó phụ thuộc vào các nét phụ âm tính xác
định khác có mặt trong cùng một mô hình. Một tập hợp hữu hạn một cách cực
đoan các nét khu biệt đặc trưng cho một ngôn ngữ, những chế ngự liên quan
đến những kết hợp thực của chúng vào các chùm và các chuỗi và, cuối cùng là
số lượng lớn các nét dư, giảm bớt gánh nặng làm đánh tráo các yếu tố của một
sự kiện lời nói.
Trong hệ thống thang độ các đặc trưng âm tố các nét khu biệt là hết sức
quan trọng. Tuy nhiên, vai trò của các nét rườm không thể bị đánh giá thấp.
Những cảnh huống thậm chí khiến chúng có thể thay thế được cho các nét
khu biệt. Trong tiếng Nga, nét khu biệt giữa các phụ âm vòm hoá và không
vòm hoá đóng một vai trò quan trọng trong việc phân biệt các từ. Nét vòm
hoá làm tăng các formant. Âm vị /i/ được thể hiện là một nguyên âm sau
sau các phụ âm không vòm hoá s và âm s vòm hoá mà là
phương tiện phân biệt giữa các âm tiết s và s. Nhưng khi một
người thợ nề gọi điện cho một kỹ sư nói rằng những bức tường sr’ejut
“đang bị ẩm” và sự chuyển tiếp đã làm biến dạng nhiều tần số xuất hiện cao
của âm s để khó mà có thể hiểu được liệu những bức tường đó “đang bị
ẩm” “đang bị mốc” sr’ejut, khi đó bác thợ nề sẽ lặp lại từ với một
trọng âm đặc biệt nhấn vào âm và thông qua nét rườm này người
nghe sẽ lựa chọn đúng được. Trong công thức của S.S Stevens:
“... Sự thực nét rườm làm tăng độ tin cậy của giao tiếp ngôn ngữ và làm
cho nó chống chọi lại được với nhiều kiểu biến dạng. Bằng cách hạn chế số
lượng những thay đổi cần thiết của người nghe và bằng việc giúp cho anh ta
lựa chọn thông qua việc lập mã thông tin thặng dư, chúng ta có thể nói chuyện
được với nhau về một công việc một cách hợp lý”.
Xác định các nét khu biệtMột nét khu biệt bất kỳ thường được người nhận nhận tức nếu nó thuộc
về một mã giống với anh ta và giống với người gửi, được truyền đi một cách
chính xác và đến người nhận.
Giả sử cả hai thành viên tham gia của một sự kiện giao tiếp lời nói (speech
event) cùng dùng tiếng Anh Chuẩn và giả sử người nghe nghe được các từ gip,
285
gib và gid mà vốn không quen với anh ta và đối với nhiều người nói tiếng Anh
khác. Anh ta không biết rằng gip có nghĩa là “to clean (fish)” “làm (cá)”, gid có
nghĩa là “con trasted - tom cat” “mèo thiến không giá trị”, và gid có nghĩa là
“một căn bệnh động vật”. Tuy nhiên, thông tin anh ta nhận được từ 3 mẫu này
mà chúng có thể là những từ tiếng Anh, bởi vì cả hai nét khu biệt và những kết
hợp của các nét đều không chứa trong chúng mâu thuẫn với mã Anh ngữ. Hơn
nữa, 3 mẫu từ này đều chuyển tải thông tin là, nếu chúng là các từ, thì một
trong số chúng có một nghĩa khác, bởi vì có một nét khu biệt đôi giữa gib và
gid và hai nét khu biệt tối thiểu khác nhau tách gib ra khỏi gip và gid. Người
nghe nói tiếng Anh sẽ nghe được câu rất không có thực sau: “The gib with the
gid shall not gip it”, anh ta sẽ hiểu được từ vốn kiến thức của mình về các qui
luật của mã Anh ngữ, rằng /gib/ ≠ /gip/ ≠ /gid/. Các mẫu đó sẽ được chuyển
sang tiếng Đức, thì gib và gid sẽ được xác định là hai biến thể tuỳ chọn của cái
có thể là cùng một từ, bởi vì trong tiếng Đức nét khu biệt của /b/ và /p/ thường
bị lược bỏ ở vị trí cuối từ. Tiến hành xác định tương tự trong mã giao tiếp lời
nói tiếng Phần Lan, bởi vì trong mã tiếng Phần Lan thì sự khác biệt giữa các
âm tố b và p không có giá trị khu biệt.
Lí thuyết thông tin sử dụng chuỗi các lựa chọn đôi làm cơ sở hợp lí nhất
để phân tích các quá trình giao tiếp khác nhau. Nó là một công cụ có tính chất
thao tác do nhà nghiên cứu đánh tráo liên quan đến vấn đề chủ thể vì những lí
do dụng học. Tuy nhiên, trong trường hợp đặc biệt của lời, thì một tập hợp các
lựa chọn đôi như thế là có tính chất cố hữu trong bản thân quá trình giao tiếp
như là một chế ngự do mã đánh tráo liên quan đến các thành viên tham gia
trong một sự kiện giao tiếp lời nói, những người mà có thể gọi là người lập mã
và người giải mã.
Điều này tiếp theo từ một thực tế là thông tin chủ yếu được chuyển tải
bởi nét khu biệt là nét khu biệt của nó. Người nghe phân biệt từ /gib/ với từ
/gid/ bằng một nét: đặc điểm trầm của /b/ đối lập, cách phát âm của ngôn ngữ
gốc (ceteris paribus), đối lập với đặc điểm bổng của /d/. Tương tự từ /gib/
phân biệt với /gip/ bằng một nét khác nhau: đặc điểm yếu của /b/ đối lập với
đặc điểm mạnh của /p/. Trong hai ví dụ này, các cặp từ thể hiện một nét khu
biệt tối thiểu bằng các chiết đoạn tương ứng về mặt phát âm. Các cặp từ khác
có thể thể hiện số lượng lớn hơn các nét khu biệt hoặc bằng một chiết đoạn
286
hoặc bằng hơn một chiết đoạn. Khi chúng tôi xem lại các nét khu biệt tối
thiểu này được dùng để phân biệt giữa các cặp từ này thì chúng tôi chỉ thấy
hai khả năng: a) Những xuất hiện của cùng một đối lập (gib:gid - fat: sat) và
b) Một trong hai nét khu biệt có đặc tính riêng của nó (gib: gid ≠ gib: gid).
Để chắc chắn, về mặt cấu âm, vật lí và thẩm nhận tồn tại một dãy liên
tiếp các cấp độ từ mức thì thào đến mức nói hoàn toàn rõ ràng nhưng chỉ hai
thái cực - sự có mặt và vắng mặt của nét hữu thanh - mới được chọn ra làm
các nét khu biệt. Có sự chuyển đổi không ngừng ở hình dáng của đôi môi từ
tròn khép đến bẹt/ dẹt và ở những ảnh hưởng âm học tương ứng, nhưng đối
lập ngôn ngữ dẹt (flat) đối lập với bằng phẳng (plain) (ví dụ từ Küste “bờ” -
kiste “hộp” trong tiếng Đức) là sự ấn định ngôn ngữ của một giá trị khu biệt
đối với hai vị trí của môi và đối với những hiệu quả âm học đối lập của
chúng. Nói chung, không có một ngôn ngữ nào lại xử lí hơn một nét khu biệt
tối thiểu dựa vào kích cỡ lỗ môi.
Tỉ lệ lưỡng phân là nguyên tắc tối quan trọng của cấu trúc ngôn ngữ. Mã
ngôn ngữ đánh tráo nó vào âm tố.
Chỉ có một mối quan hệ âm vị thể hiện một cái gì đó theo một khía cạnh
khác. Đây là mối quan hệ giữa các nguyên âm có ảnh phổ đặc và những
nguyên âm có ảnh phổ loãng (theo thuật ngữ cấu âm, là mở và khép). Trong
một ngôn ngữ chẳng hạn như tiếng Thổ Nhĩ Kì, các nguyên âm được nhóm
thành các cặp đặc và loãng, các đơn vị khác là bình đẳng: /kes/ “cắt!” đối
với /kis/ “khối u” như /kol/ “cánh tay” đối với /kul/ “nô lệ”. Nhưng một ngôn
ngữ chẳng hạn như tiếng Hungari, phân biệt về mặt phát âm 3 mức đặc. So
sánh /tar/ “hói” với một nguyên âm sau tròn môi mở - /tor/ “bữa tiệc” với
một nguyên âm giữa tương ứng - /tur/ ”cào gọn lại thành đống” với một
nguyên âm khép và, tương tự, ở loạt trước không tròn môi, /n/ “Thư thả
đã!” - /ne/ “Cấm!” - /ni/ “Nhìn kìa!” *. Nét khu biệt tối thiểu vẫn giữ nguyên
giống như trong tiếng Thổ Nhĩ Kì: /o/ và /e/ đối lập với /u/ và /i/ như là đặc
tương đối đối lập với loãng tương đối. Tuy nhiên, trong tiếng Hungari, đối lập
tương tự (đặc tương đối đối lập với loãng tương đối) xuất hiện lại trong nhiều
cặp như /tar/ - /tor/ và /n/ - /ne/; tức ý muốn nói là /a/: /o/ _ /o/:/u/.
Trong thế “cân đối âm vị “này /o/ (hoặc /e/) có chức năng như là “tính cân
xứng trung gian”. Nó mang hai đặc trưng đối lập - /u/ (hay /i/) đặc đối lập với
287
loãng và /a/ (hoặc //) đặc đối lập với loãng. (Theo cách giải quyết những
âm vị lưỡng cực kiểu như vậy trong nhiều qui trình phân tích.
Không có những đối lập âm vị cố hữu thể hiện những phức thể lưỡng
cực như vậy. Tuy nhiên, có nhiều nét khu biệt cùng gốc thiên về hợp nhất, ví
dụ, các cặp thông - tắc, và giọng the thé - giọng dịu mượt. Khi hai đối lập
cùng gốc hợp nhất lại thành một đối lập là tốt nhất. Vì vậy, các phụ âm lưu
thông tốt nhất là có tính the thé; các phụ âm tắc tốt nhất là có tính chất dịu
mượt, bổng bằng phẳng hoặc thấp bằng phẳng và cách cách cư xử chúng
trong nhiều qui trình phân tích.
Nó là tỉ lệ lưỡng phân của các nét khu biệt và toàn bộ mô hình của một
mã ngôn ngữ, nói chung, mà nói riêng, một phạm vi lớn xác định sự tri nhận
của chúng ta đối với các âm tố lời nói. Chúng ta tri nhận thính giác chúng
không chỉ là các âm thanh thuần tuý mà như là các thành tố của tiếng nói. Còn
hơn cả điều này nữa là cách mà chúng ta tri nhận chúng được xác định bằng
mô hình âm vị quen thuộc nhất với chúng ta. Vì vậy, một người Slovak đơn
ngữ xác định nguyên âm trước tròn môi // của từ jeu tiếng Pháp như là /e/,
bởi vì chỉ có thế đối lập khu biệt trong tiếng mẹ đẻ của anh ta là bổng (trước)
đối lập với trầm (sau) và không dẹt (tròn môi) đối lập với bằng phẳng (không
tròn môi). Ngược lại, một người Nga đơn ngữ tri nhận nguyên âm đó của
tiếng Pháp như là /o/ bởi vì tiếng mẹ đẻ của anh ta chỉ có một trong hai đối
lập đang đề cập, đó là dẹt đối lập với bằng phẳng. Ngay cả chuyên gia nhà
ngôn ngữ học người Pháp Meillet cũng tri nhận âm /t/ sắc của tiếng Nga
như một chuỗi gồm /t/ và /i / phi âm tiết tính và không như một phụ âm
với nét sắc chồng lên nhau đồng thời (vòm hoá), bởi vì nhận xét của Meillet
dựa vào tiếng mẹ đẻ của mình là tiếng Pháp vốn không có đặc trưng sắc
nhưng lại có /i/ phi âm tiết tính. Vì thế chỉ có thể nghĩ rằng khi các âm tiết
không có nghĩa được sử dụng trong các lần thí nghiệm dễ hiểu (truyền thống
gọi là “những thí nghiệm phát âm”) những kết quả phụ thuộc vào việc liệu có
các tổ hợp này có được mô hình phù hợp với những qui luật kết hợp của một
mã ngôn ngữ cụ thể nào đó hay không.
Sự suy luận nhờ mô hình ngôn ngữ có ảnh hưởng đến những phản ứng
của chúng ta đối với các âm thanh không phải là ngôn ngữ. Những tiếng gõ
cửa chốc chốc, cứ 3 tiếng một lần, được tri nhận thành các tổ hợp gồm 3 yếu
288
tố tách biệt nhau bằng một chỗ ngừng. Điểm ngừng thường được người Czech
cho là sẽ giảm xuống trước một tiếng gõ to hơn, nhưng một người Pháp thì lại
cho rằng nó sẽ giảm sau tiếng gõ lớn hơn; trong khi đó một người Ba Lan lại
nghe một điểm ngừng thành một tiếng gõ sau một tiếng gõ lớn hơn. Những tri
nhận khác nhau tương ứng chính xác với vị trí của trọng âm từ trong các ngôn
ngữ của những người thí nghiệm: trong tiếng Czech trọng âm nằm ở âm tiết
đầu, trong tiếng Pháp trọng âm rơi vào âm tiết cuối còn trong tiếng Ba Lan
trọng âm lại rơi vào âm tiết áp chót. Khi những tiếng gõ cửa được tạo ra với
độ lớn bằng nhau nhưng với khoảng cách dài hơn sau 3 tiếng một lần, thì
người Czech sẽ qui tiếng thanh lớn hơn vào tiếng gõ thứ nhất, người Ba Lan
lại qui vào tiếng thứ hai, còn người Pháp lại qui vào âm tiết thứ ba.
Nếu cũng trên bình diện thính giác (tai), việc phân tích tiếng nói sẽ được
kiến trúc xét về các đối lập âm vị lưỡng phân, thì nhiệm vụ thực chất sẽ được
làm thành dễ hiểu và có thể đáp ứng những tương liên mới nhất (most
instructive) của các nét khu biệt.
Còn đối với việc nghiên cứu âm thanh tiếng nói ở khía cạnh âm học, thì
toàn bộ sự phát triển của nó là thiên về hướng miêu tả có tính chất lựa chọn
hơn các kích thích âm thanh. Cả những công cụ sử dụng lẫn cách hiểu dữ liệu
do họ ghi có thiên hướng tách các đơn vị thích hợp. Các nhà nghiên cứu đã đi
đến một cách hiểu là các đường sóng có chứa rất nhiều thông tin và phải cung
cấp những yếu tố đó cho việc lựa chọn những thông tin cơ bản. Miễn sao mọi
người hiểu là tiêu chí đúng của sự lựa chọn là cần yếu ngôn ngữ (được thể
hiện bằng các thuật ngữ lưỡng phân), những vấn đề âm học của các âm thanh
lời nói tìm thấy một giải pháp xác định hơn trong tương lai. Tương tự giai
đoạn cấu âm của lời nói phải được xác định xét về phương tiện sử dụng để
nắm bắt một cặp hiệu quả đối lập bất kì. Ví dụ, vì ngôn ngữ sử dụng đối lập tự
do là trầm và bổng, nên chúng ta nghiên cứu những tương liên âm học của các
giá trị ngôn ngữ đang bàn và những điều kiện cấu âm tiên quyết của những
kích thích này.
Tóm lại, về việc nghiên cứu các âm thanh tiếng nói ở bình diện bất kì thì
chức năng ngôn ngữ của chúng là có tính quyết định.
Một cố gắng thú vị do B. Bloch đề nghị nhằm giải đoán mô hình âm vị
của một ngôn ngữ chỉ từ công trình nghiên cứu về số lượng vừa đủ các phát
289
ngôn đã ghi. Tuy nhiên, nó hàm chỉ hai giả thuyết ngôn ngữ một cách nghiêm
ngặt. Giả thuyết thứ nhất là của Wienner: “Trong vấn đề giải mã, thông tin
quan trọng nhất mà chúng ta có thể xử lí là tri thức mà chúng ta đang đọc
không phải là câu sai ngữ pháp”. Điều này tương ứng với kiến thức mà một
người nghe nào đó dành được từ việc đạt tới cái gọi là ngưỡng tri giác, khi
các âm thanh đã nghe bắt đầu được tri nhận là các âm thanh tiếng nói. Do nó
là tiếng nói, nên giả thuyết thứ hai tiếp theo sau với tư cách như một ceteris
paribus của giả thuyết thứ nhất: trong mô hình âm thanh một ngôn ngữ bất kì
hoạt động với các nét khu biệt cực đoan và riêng biệt, và sự cực đoan này
khiến chúng ta có thể phát hiện ra một đặc trưng bất kì có chức năng là sự cấu
âm.
Rõ ràng là một nhiệm vụ giải đoán như thế trở nên khó hơn trong nhiều
trường hợp thường được gọi là “ mã chuyển đổi” (switching code) bởi các kỹ
sư truyền thông hay “các hệ thống âm vị cùng tồn tại” bởi các nhà ngôn ngữ
học. Tầng lớp quí tộc Nga ở thế kỉ trước bằng sự chuyển mã tiếng nói giữa hai
ngôn ngữ một cách liên tục của mình từ tiếng Nga sang tiếng Pháp và ngược
lại ngay trong một câu đơn cho ta một ví dụ minh hoạ điển hình. Một ví dụ
khác lấy từ một số ngôn ngữ văn hoá Mohamedan bằng một số từ tự ý thêm
vào. Hai phong cách của cùng một ngôn ngữ có thể có nhiều mã phân ly và có
liên kết qua lại trong một phát ngôn hoặc thậm chí trong một câu. Ví dụ, tiếng
Czech trong giao tiếp khẩu ngữ ở đô thị thường hay dao động bất thường giữa
ngôn ngữ văn chương và tiếng nói dân tộc Czech, mỗi một loạt biến thể đều
thể hiện một mô hình âm vị riêng của nó.
Tỉ lệ lưỡng phân được ngôn ngữ đặt lên trên vấn đề âm tố rất nhiều theo
cách tương tự như gam âm nguyên được khuông nhạc đặt lên trên vấn đề âm
thanh. Nhưng chỉ là một gam nhạc không thôi thì lại không thể nào nắm bắt
được nếu không đề cập đến vấn đề âm thanh, vì vậy trong khi phân tích các
nét khu biệt thì sự qui chiếu như thế là không thể nào tránh được. Knut
Togeby đã chứng minh điều này một cách hùng biện bằng một giả thuyết
vững chắc về đối lập. Không thể nào xác định được một nét khu biệt mà lại
không viện đến các đặc điểm riêng của nó.
Một công trình nghiên cứu như vậy sẽ được bổ sung nhưng không thể
nào thay thế nó chỉ do nhu cầu thẩm định thế phân bố của các nét khu biệt này
290
trong nhiều chuỗi lời nói. M. Joos đã quan sát, và cho rằng âm đôi /au/ (được
đánh vần là ou như trong từ council “hội đồng”) trong một từ đơn tiếng Anh
không bao giờ có các âm tố p b f v m đứng sau, đặc điểm phân bố này
xác định lớp các phụ âm môi môi tiếng Anh. Tuy nhiên, một quan niệm như
vậy thường tiền giả định việc xác định một phụ âm ở nhiều lần xuất hiện khác
nhau. Chúng ta phải biết rằng /t/ trong từ rout là giống với /t/ trong từ rite đối
lập với /p/ trong từ ripe là trầm đối lập với bổng xét về mặt phát âm. Ngược
lại, chúng ta sẽ không biết được rằng trong từ rout thì âm đôi /au/ có /t/ đi sau
chứ không phải là /p/, và chúng ta không thể nào chứng minh được quan niệm
trên.
Vì vậy, đối với việc xác định âm /p/ và các âm vị khác, thì việc đề cập đến
đặc tính riêng của mỗi một nét khu biệt trong chùm các nét khu biệt của nó là
bắt buộc. Nhưng còn về các giai đoạn chuyển tiếp âm thanh có tính chất liên
tục thì chúng ta sẽ đề cập đến cái gì đây? Trong khi giải mã một thông điệp
nhận được từ (A), người nghe thường phải thao tác ngôn liệu thẩm nhận (B)
nhận được từ những phản ứng của tai (C) đối với những kích thích âm học (D)
do các cơ quan cấu âm của (A) phát ra. Chúng ta càng nghiên cứu sâu hơn vào
đích đến của thông điệp (ví dụ như sự tri nhận thông điệp của người nhận) thì
chúng ta càng có được những thông tin chính xác được chuyển tải bởi mô hình
âm thanh của thông điệp. Điều này xác định hệ thống thao tác của các cấp độ
thích hợp giảm dần: thẩm nhận, thính giác, âm học và cấu âm (cấu âm không
truyền tải thông tin trực tiếp đến người nhận). Sự khám phá mang tính hệ thống
của hai bình diện: thẩm nhận và thính giác thuộc về tương lai và là một nhiệm
vụ cấp thiết hiện nay.
Một trong bốn giai đoạn liên tục, từ cấu âm đến thẩm nhận, có thể được
dự đoán từ giai đoạn trước. Bởi vì với mỗi giai đoạn liên tục thì việc lựa chọn
tăng lên, thì việc dự đoán này là không thể đảo lộn được và một số thường
biến của một giai đoạn trước là không cần yếu đối với giai đoạn sau. Việc đo
đạc chính xác luồng âm thanh cho phép tính toán sóng âm nhưng có thể thu
được hiện tượng âm học tương tự bằng các phương tiện khác nhau cùng lúc.
Tương tự, thuộc tính xác định bất kì của một cảm giác thính giác có thể là kết
quả của các thường biến vật lí khác nhau để không có mối quan hệ một - đối -
một giữa các phương diện của một kích thích âm học và thuộc tính thính giác.
291
Cái trước không thể đoán được từ cái sau, nhưng tổng các phương diện của
một kích thích thường cho ta thuộc tính có thể dự đoán được.
Tóm lại, việc xác định các đối lập âm vị có thể được thực hiện trong mối
quan hệ với một giai đoạn bất kì của một sự kiện lời nói từ cấu âm đến thẩm
nhận và việc giải mã, dựa trên điều kiện cơ bản cho rằng các thường biến của
các giai đoạn trước được chọn lựa và tương liên về phía các giai đoạn sau, cho
ta một thực tế hiển nhiên là chúng ta nói để nghe và để hiểu.
8.2.2. Các nét khu biệt ngôn điệu và cố hữu
Các nét khu biệt được chia thành hai lớp: 1. cố hữu và 2. ngôn điệu. Nét
sau gối lên nét trước và gộp lại cùng với chúng tạo thành các âm vị. Thế đối
lập trầm và bổng, đặc và loãng, hay hữu thanh đối lập với vô thanh, và bất kì
một đối lập nào khác của các nét khu biệt cố hữu xuất hiện trong một chuỗi
các âm vị nhưng, ngược lại, có thể xác định được mà không cần đề cập đến tổ
hợp. Không tiến hành so sánh hai điểm trong một loạt thời gian. Ngược lại,
các nét ngôn điệu chỉ có thể xác định được có liên quan đến loạt thời gian.
Một vài ví dụ có thể làm rõ quan niệm này.
Một âm vị âm tiết tính đối lập với âm vị phi âm tiết tính của cùng một
âm tiết nhờ nét trội của mối quan hệ. Phần lớn âm tiết là một chức năng duy
nhất của các nguyên âm. Những trường hợp khi một số nguyên âm và âm
nước, về mặt phát âm, mang đối lập khu biệt âm tiết tính đối lập với phi âm
tiết tính là cực hiếm. Ví dụ, chuỗi tiếng Czech cổ b r d u thay đổi ý nghĩa
phụ thuộc vào đặc điểm âm tiết tính hay phi âm tiết tính của /r/.
Rõ ràng dù /r/ có tạo thành một độ lớn âm thanh cực đại hay không thì
cũng chỉ có thể được xác định bằng cách so sánh với độ lớn âm thanh của các
âm vị khác của cùng một chuỗi.
Trong một chuỗi các âm tiết nét nổi bật quan hệ tính đối lập một âm vị
âm tiết tính với các âm vị khác của cùng một chuỗi như có trọng âm đối lập
với không có trọng âm. Trong nhiều ngôn ngữ, về mặt phát âm, nhiều từ có vị
trí trọng âm khác nhau, ví dụ, từ billow /b’ilou/ - below /bil’ou/ của tiếng Anh.
Nét trội lớn hơn và kém hơn của các nét âm tiết tính là một khái niệm tương
đối mà chỉ có thể được xác định bằng cách so sánh toàn bộ các nét âm tiết
tính thuộc cùng một chuỗi. Tương tự như vai khu biệt của mối quan hệ không
phải của các mức âm lượng mà là của các mức cao độ của giọng nói. Trong
292
công thức của K. L. Pike “đặc trưng quan trọng là độ cao tương đối của một
âm tiết trong mối quan hệ với các âm tiết đứng trước hoặc đứng sau”.
Khi ở trong hay bên cạnh vị trí thang độ thì mô hình đóng vai trò làm vai
khu biệt, thì chúng ta xác định được đường nét cao độ hay âm lượng của một
âm vị bằng cách so sánh hai điểm với nhau trong một loạt thời gian. Ví dụ,
cao độ xuống của tiếng Lát - vi, đối lập với cao độ lên và tuỳ thuộc vào động
tác hạ thấp của tần số, mà thường kèm theo sự giảm xuống của biên độ, được
xác định bằng cách so sánh các phiến đoạn đầu và cuối mà nguyên âm tác
động. Bằng phép so sánh tương tự chúng ta xác định được “âm lượng xuống
của giọng nói” trong tiếng Đan Mạch (cái gọi là std*) tuỳ thuộc vào sự
giảm xuống của biên độ thường kèm theo sự giảm xuống của tần số.
Đối lập điệu tính dài và ngắn (phân biệt các âm vị đơn với bền vững hay
các âm vị đơn với các âm vị rút gọn) dựa trên trường độ tương đối, chứ không
phải tuyệt đối, của các âm vị trong một tổ hợp xác định. Thời lượng tuyệt đối
của chúng là một chức năng của tốc độ của lời nói. Ví dụ, trong các từ
pravá/práva/ prava: pra: va/ có nghĩa là “phải, đúng” trong tiếng Czech,
nguyên âm đầu của từ thứ nhất được xác định là ngắn trong mối quan hệ với
nguyên âm thứ hai là nguyên âm dài, trong khi đó thì từ thứ hai lại biểu diễn
mối quan hệ ngược lại.
8.2.3. Các đặc trưng khu biệt so với các đặc trưng khác của âm
Đơn vị nhỏ nhất có nghĩa trong ngôn ngữ là hình vị. Một căn tố, một tiền tố
và một hậu tố là các hình vị. Một từ căn là một từ hình vị (morpheme word). Các
nét khu biệt và các âm vị đều không có nghĩa tự thân. Gánh nặng ngữ nghĩa của
chúng là chỉ biểu thị một hình vị mà về mặt phát âm, biểu hiện một đặc trưng đối
lập là một hình vị khác; so sánh /gip/, /gib/ và /gid/. Chức năng khu biệt này có
thể được giả định bởi hơn một đặc trưng (và âm vị) như trong trường hợp /bit/ và
/sed/.
Không có sự khác biệt nào về mặt chức năng giữa các đặc trưng đa dạng
(và các âm vị). Ví dụ, cái gì là cái sở biểu riêng của các phụ âm mũi hay đặc
biệt là của /m/ trong tiếng Anh, là một câu hỏi vô nghĩa. /m/ trong các từ map,
mess, aim trên bình diện ngữ nghĩa không có một mẫu số chung nào để phân
biệt nó khác với /n/ hay /b/ cả. Chính không có sự khác biệt về ngữ nghĩa này
giữa các nét khu biệt đa dạng khiến chúng trở thành các đơn vị khu biệt hình
293
thức thuần tuý mà nói cách khác nó là rỗng ruột. Nó tách chúng ra khỏi toàn
bộ các đặc trưng khác của âm đang hành chức trong ngôn ngữ. Chỉ có các đơn
vị rỗng nghĩa thuần tuý khu biệt về mặt hình thức này dùng để kiến trúc toàn
bộ khối các hình vị của tất cả các ngôn ngữ trên thế giới.
Các đặc trưng hình thể là các đặc trưng báo hiệu sự phân chia chuỗi âm
thanh của phát ngôn vào các đơn vị ngữ pháp với các mức độ phức tạp khác
nhau. Ví dụ, ở nhiều ngôn ngữ trọng âm gắn liền với âm tiết đầu (hoặc cuối)
và kết quả là, không thể làm nét khu biệt được mà nó chỉ có chức năng làm
chỉ tố ranh giới chỉ sự bắt đầu (hay kết thúc) của từ. Ngược lại, trong một
ngôn ngữ mà có trọng âm tự do (ví dụ, có thể rơi vào một âm tiết bất kì trong
từ) thì vị trí của nó biểu diễn chức năng khu biệt và không mang cái sở chỉ
riêng.
Từ các đặc trưng miêu tả và các đặc trưng rườm khác nhau của ngữ điệu
tiếng Anh, Z. S. Harris đã trích dẫn ra 3 đơn vị cấu thành bản thể là: “/?/ chỉ
sự đi lên”, /./ chỉ sự đi xuống, /,/ chỉ âm vực trung bình (đối lập với âm vực
thấp đường - nền), /./ chỉ sự kết thúc của câu và /?/ chỉ sự nghi vấn mà theo
các thuật ngữ hình thức chỉ sự kết thúc của câu để bổ sung thêm bằng một câu
trả lời; ví dụ, sự kết thúc ngầm của phát ngôn nhưng lại là sự chưa kết thúc
của cuộc hội thoại. Khi được sử dụng như các nét khu biệt thì sự đi lên và đi
xuống đều không có một chức năng nào khác ngoài chức năng phân biệt các
hình vị, nhưng khi chúng đóng chức năng làm hình thức thì chúng mang một
cái sở chỉ riêng; ví dụ. đi xuống biểu thị sự kết thúc của một câu, và ngữ điệu
đi lên, thậm chí nếu đặt chồng lên một tiếng mũi thì những người nghe là
người Anh xác định được ngay là câu hỏi.
Các đặc trưng miêu tả là các đặc trưng biểu thị những thái độ tình cảm
của người nói và sự nhấn mạnh mà anh ta đặt vào một số yếu tố đặc biệt nằm
trong phát ngôn của anh ta phát ra. Để sử dụng ví dụ của D. Jones, trong khi
phát âm từ enormous của tiếng Anh thì trọng âm/ sự nhấn mạnh có thể bị ảnh
hưởng bởi “sự tăng mạnh của cường độ kết hợp với sự gia tăng về trường độ
của nguyên âm và cách sử dụng ngữ điệu riêng” (phạm vi lớn hơn của ngữ
điệu đi xuống). Trong số các đặc trưng miêu tả, chúng ta giải quyết một kiểu
quan hệ đặc biệt. Loạt biến thể trung hoà và không có tính biểu cảm kết hợp
với loạt biến thể biểu hiện “gam chuyển sắc” (gracing garnut) theo thuật ngữ
294
của Sapir - người đã định nghĩa kiểu quan hệ này theo một cách rất riêng.
Giống như các đặc trưng hình thức, các đặc trưng miêu tả đều có cái sở chỉ
riêng của mình. Trong tiếng Anh, trọng âm cường độ, đối lập với trọng âm
thông thường, biểu thị sự nhấn mạnh, và sự gia tăng thêm của trọng âm, biểu
thị thái độ nhấn mạnh hơn.
Các nét khu biệt và các nét cấu thành hình thể chỉ các đơn vị có nghĩa cả
phát ngôn; các đặc trưng miêu tả, đối với thái độ của người nói và các nét
rườm biểu thị một nguyên âm đi sau. Việc mang một cái sở chỉ riêng kết hợp
với các nét rườm với các đặc trưng cấu thành và miêu tả và tách chúng ra khỏi
các nét khu biệt. “Nét rỗng nghĩa” của các đặc trưng khu biệt khiến cho
những nét này tách ra khỏi tất cả các đặc trưng khác của âm.
Công trình nghiên cứu sau đây là hướng vào các nét khu biệt cố hữu.
Các đặc trưng ngôn điệu và nhiều vấn đề khác bao gồm sự sắp xếp theo tuyến
tính, đặc biệt là việc chiết đoạn chuỗi sẽ được giải quyết riêng.
8.2.4. Ranh giới âm vị
Vì nhiều mục đích thực hành nên mỗi âm vị có thể được biểu diễn bằng
một ảnh quang phổ cách đều nhau trong đó hàm truyền dẫn là không đổi theo
thời gian, trừ trong trường hợp có những ảnh hưởng nhất thời. Những ảnh
hưởng nhất thời này, vốn được sinh ra do những biến đổi nhanh ở hàm nguồn,
có thể đóng vai trò giới hạn các âm vị trong chuỗi. Những biến đổi nhanh
trong hàm truyền dẫn chuyển đổi mau lẹ ở vị trí của các cơ quan đang phát
âm cũng chỉ ra sự mở đầu hoặc kết thúc (ranh giới) của một âm cũng chỉ ra sự
mở đầu hoặc kết thúc (ranh giới) của một âm vị. Tuy nhiên, ở đây tỉ lệ thay
đổi cực tiểu phải được xác định bằng thực nghiệm đối với mỗi trường hợp.
Những dao động nhanh trong cường độ của cả sóng ngôn ngữ cung cấp một
phương tiện bổ sung để xác định vị trí của một đường ranh giới âm vị.
8.2.5. Đột dừng đối lập với không đột dừng
* Kích thích
Thoái âm đột ngột đối lập với thoái âm từ từ. Trong nhiều ảnh phổ, các
âm vị thoái âm đột ngột đều được đánh dấu bằng một kết đoạn sắc hơn,
nhưng điều này thông thường kém trội hơn so với một khởi âm đột ngột.
* Sản sinh
295
Luồng hơi bị dừng đột ngột bởi động tác nén lại hoặc khép lại của thanh
hầu.
* Diễn biến
Nhiều loạt biến thể nhất định của các âm tắc đột ngột, được gọi là thanh
hầu hoá, xuất hiện ở nhiều tiếng bản địa ở châu Mĩ, châu Phi, vùng Viễn
Đông và Cáp - ca; ví dụ, ảnh phổ của các âm tắc thanh hầu hoá trong tiếng
Circassia và tiếng Navaho thể hiện nét tương đồng nổi bật của cấu trúc.
Ví dụ: các âm tắc đột ngột đối lập với các âm tắc không đột ngột: các từ
tiếng Circassia như /t’a/ “đào!” - /ta/ “chúng ta, chúng tôi”; /c’a/ “tên” - /ca/
“răng”; /p’a/ “nơi, vị trí” - /pa/ “tắt thở!”. Không rõ ràng và không phổ biến
nhất là sự thanh hầu hoá của các âm thắt đã quan sát được ở trong tiếng
Tlingit (Tây Bắc Mĩ) và tiếng Kabardia (Bắc Cáp - ca).
Ở những ngôn ngữ mà có thế đối lập các âm tắc đột ngột và không đột
ngột, thì âm lướt đột ngột (“gọi là âm tắc thanh hầu”) có liên quan đến âm
lướt không đột ngột (đều đặc hay dần dần) với tư cách như một phụ âm thanh
hầu hoá là đối lập với nét phi thanh hầu hoá tương ứng.
8.2.6. Giọng the thé đối lập với giọng dịu
* Kích thích
Các âm tố mà có dạng sóng bất thường được gọi là the thé (strident).
Trong ảnh chụp quang phổ các âm tố kiểu như vậy được thể hiện ra ở sự phân
bố không theo trật tự của các vùng đen. Chúng đối lập với các âm tố có dạng
sóng đều đặn hơn. Các âm tố có dạng sóng đều đặn hơn được gọi là các âm
dịu (mellow) và có ảnh phổ mà trong đó những vùng đen có thể tạo thành
nhiều đường sọc đứng hoặc ngang. Việc đo đạc chính xác thuộc tính này là
một hàm tương liên tự động (auto correlation function). Các âm tố dịu có sự
tương liên tự động rộng hơn so với các âm tố the thé tương ứng về khía cạnh
phát âm, ví dụ nếu như các âm tố đang bàn đã được chuẩn hoá chính thức.
Trong trường hợp các âm thắt, thì nét dịu là kết quả của sự giới hạn đối
với sự hỗn loạn trong thế phân bố về năng lượng đối lập với tần số. Trong khi
không có các vùng formant rõ ràng có thể nhìn thấy được trên ảnh phổ của âm
the thé /s/, thì chúng ta lại có thể nhìn thấy chúng một cách dễ dàng trong âm
dịu //. Các biểu đồ dao động cho thấy tính chu kì và tính đồng nhất cao hơn
296
đặc biệt ở những âm thắt dịu chẳng hạn như // so với /s/ và nhiều âm thắt
the thé khác.
Trường hợp các âm tắc, có thể đạt được nét dịu bằng cách giới hạn lên
sự hỗn loạn của pha. So với nhận xét thật thích hợp của Licklider:
“... Các yếu tố cấu thành khác nhau của tần số của tiếng ồn trắng ấn định
các góc pha của chúng một cách lung tung; các bộ phận cấu thành của tần số
của mạch đơn đều đạt tới biên độ cực đại của chúng tại thời điểm t = 0, và
chúng tự triệt tiêu lẫn nhau ở tất cả các thời điểm khác. Kết quả là, chúng ta
nghe thấy tiếng ồn trắng như sshhhh và mạch đơn như pt”.
Các ví dụ: các âm thắt the thé đối lập với dịu: tiếng Anh sin - thin /’in/,
breeze /br’iiz/ - breathe /br’ii/; tiếng Ewe (Tây Phi) /fu/ “lông chim” - /ϕu/
“xương”, /vu/ “nước mắt” - /u/ “thuyền”; tiếng Low Sorbia /i/ “khâu”
- /i/ “bình tĩnh” , tiếng Circassia /y/ “biển” - /xy/ “lưới”. Các âm tắc the
thé và dịu: tiếng Đức: zahl, /sa:/ “số” - tal, /ta:l/ “thung lũng” -
pfanne, /fnn/ “cái chảo” - panne, /pan/ “sự tan vỡ”, tiếng Czech
celo /elo/ “lông mày” - telo /celo/ “cơ thể”; tiếng Chuckchee (ở
Đống Bắc Siberia) /ale/ “mũ cứng” - /kale/ “đồ hoạ”.
Các âm tắc the thé được gọi là các âm tắc xát (affricate). Phân biệt chuỗi
âm tắc cộng thắt với một âm tắc xát bằng một cực tiểu cường độ xen thêm
vào, mà có thể nhìn thấy nó trên màn hình về sóng âm thanh ngôn ngữ với tư
cách như một hàm thời gian. So sánh: tiếng Ba Lan czy /i/ “hoặc” -
trzy /ti/ “(số) 3”, czech /ex/ “người Czech, tiếng Czech” - trzech /tex/
“thuộc số 3”.
* Sản sinh
Các âm vị the thé có đặc trưng chủ yếu là tiếng ồn tuỳ theo sự hỗn loạn
tại vị trí cấu âm. Sự hỗn loạn mạnh này, đến lượt mình lại là hệ quả của một
sự cản trở phức tạp hơn phân biệt các phụ âm the thé với các âm dịu tương
ứng: các âm môi - răng với các âm hai môi, các âm xuýt thành tiếng và các
âm xuýt không thành tiếng với các âm răng và các âm vòm không xuýt, và
các âm lưỡi con với các âm mạc chính danh (velars proper). Một vật cản phụ
thường gây ra một sự trở ngại lớn hơn đối với luồng hơi là cần thiết trong
trường hợp các âm the thé. Vì vậy, bên cạnh các âm môi, vốn tạo thành vật
297
cản duy nhất sử dụng trong quá trình sản sinh các âm hai môi, các âm môi -
răng cũng gồm cả răng. Ngoài các vật cản được sử dụng trong các phụ âm dịu
tương ứng, các âm xuýt (sibilants) còn dùng cả răng hàm dưới và các âm lưỡi
con nữa. Sự chuyển động mạnh của không khí đập vào một vật cản phụ kiểu
như vậy tiếp theo sự giải phóng các âm tắc the thé sinh ra một ảnh hưởng xát
đặc trưng khiến phân biệt các âm tắc này với các âm tắc khác.
* Thẩm nhận
Những công trình thực nghiệm của L. G. Jones trong đó khởi âm của các
âm thắt ghi được (như s) bị xoá mất cho thấy miễn là khoảng âm duy trì
ở mức từ hơn 25 - 30 milisec phụ âm được nhiều người nghe là một phụ âm
tắc xát (như s) trong khi đó một khoảng âm ngắn hơn lại được xác
định là một âm tắc mượt (như t).
* Diễn biến
Nét khu biệt cực đại, vì vậy là tốt nhất giữa các phụ âm và các nguyên
âm có thể đạt được bằng cách hoặc là nghẹt lại hoàn toàn hoặc bằng cách tính
xấp xỉ gần nhất với tiếng ồn. Mức độ nghẹt cao thường thấy ở các âm tắc
mượt, trong khi đó thì tiếng ồn được các âm tắc the thé làm cho gần nhất. Vì
vậy âm thắt tốt nhất là âm tắc the thé, trong khi đó thì âm tắc tốt nhất là một
âm mượt và ở nhiều ngôn ngữ thì thế đối lập thắt và tắc kết hợp với the thé và
mượt/ dịu. Ví dụ, trong tiếng Pháp tất cả các âm thắt đều là /f v s z /
the thé và tất cả các âm tắc đều là /p b t d k q/ mượt.
Ở những ngôn ngữ này thì thế đối lập the thé và mượt/ dịu là cần yếu và
hằng hữu; sự khác nhau giữa các âm tắc với các âm thắt trở thành một nét dư
mà, trong những điều kiện nhất định, có thể không cụ thể hoá được. Điều này
xảy ra trong tiếng Bồ Đào Nha trong đó các âm d b g giữa hai nguyên
âm trở thành các âm thắt mượt khiến chúng đối lập với /z v
/ không những bằng nét tắc mà còn bằng cả nét mượt nữa. Ở nhiều ngôn
ngữ khác có sự kết hợp của cả hai thế đối lập trên, thì nét the thé có thể trở
nên dư/ rườm, nếu như một số trong số các âm vị tắc, ít nhất là trong những
điều kiện nhất định, được biểu diễn bằng các âm tắc xát.
Ngoài các âm tắc the thé và các âm tắc mượt ra, nhiều ngôn ngữ còn có
nhiều lớp âm vị kiểu như các âm tắc the thé (các âm tắc xát) và/ hoặc các âm
298
tắc mượt. Ví dụ, tiếng Đức và tiếng Czech, bên cạnh các âm /s/ và /t/ còn có
các âm tắc xát tương ứng /s/, so sánh tiếng Đức reissen “xé, động từ”, reitten
“cưỡi”, reizen “ghẹo”. Hơn nữa, bên cạnh /f/ và /p/ tiếng Đức còn có cả /f/;
và tiếng Czech có // bên cạnh âm thắt the thé // và âm tắc mượt /c/.
Ngược lại, bên cạnh /s z/ và /t d/ tiếng Anh còn có các âm thắt mượt / /,
cả hai âm này đều đánh vần là th.
Khi, bên cạnh các âm thắt the thé và các âm tắc mượt/ dịu, một ngôn ngữ
nào đó còn có các âm tắc the thé tương ứng chẳng hạn như tiếng Đức hoặc các
âm thắt mượt như tiếng Ảrập, có thể hiểu thế đối lập này theo một thế đối lập
đơn: thắt tốt nhất đối lập với tắc tốt nhất. Nếu chúng ta kí hiệu vế trước bằng
dấu “+” và vế sau bằng dấu “-” thì một âm phức chẳng hạn như âm tắc the thé
hay một âm thắt mượt sẽ bằng dấu “± ”. Tương tự điều này có thể áp dụng
được cho trong trường hợp khi, như trong tiếng Anh một cặp thắt tốt nhất và
tắc tốt nhất (ví dụ: /s/ - /t/) được bổ sung bằng một âm tắc mượt (//) và một
cặp khác (// - /k/) bằng một âm tắc the thé (//): cả hai đơn vị phức này
đều có thể được biểu diễn bằng cùng một kí hiệu ± . Ở tương đối ít một vài
ngôn ngữ có cả bốn đơn vị trong một loạt, chẳng hạn, các ngôn ngữ Cáp - ca
phía Bắc có âm thắt the thé //, âm tắc mượt /k/, âm thắt mượt /x/ và âm tắc
the thé //, chúng ta phải thao tác với hai thế đối lập tự do - thắt đối lập với
tắc và the thé đối lập với mượt. Hơn nữa, cho đến nay người ta vẫn thích giải
quyết các tình huống chỉ có hai khả năng lựa chọn và ngoại trừ những tình
huống phức tạp, thì hai thế đối lập này có thể cư xử tách riêng trong trường
hợp các loạt tam phân, ví dụ như trong tiếng Anh.
Ngoài các phụ âm chính danh, các âm nước có thể tham gia vào thế đối
lập the thé đối lập với mượt. Một vài ngôn ngữ, chẳng hạn như tiếng Czech
đều có một âm the thé tương ứng đi kèm của âm vị /r/. Loạt âm rung xuýt này
được đánh vần là r: so sánh rada “hàng”, rada “hội đồng”. Một số ngôn
ngữ của thổ dân da đỏ châu Mĩ, châu Phi và Cáp - ca đều có các âm the thé đi
kèm của âm vị /l/ - các âm tắc xát bên và/ hoặc các âm thắt. Mặc dù sự tắt dần
lớn của các formant của chúng nhưng tất cả các âm vị này vẫn còn lưu giữ
dấu vết âm học rất rõ về mối quan hệ giữa chúng với các âm nước. Chúng là
những âm nước có nét the thé gối lên nhau.
299
8.2.7. Nguồn bổ sung - Hữu thanh đối lập với vô thanh
* Kích thích
Các âm vị hữu thanh hay “kêu” (buzz) như /d b z v/ đối lập với các âm
vị vô thanh hay “xuýt” đặc trưng bởi sự gối lên nhau của một nguồn âm thanh
hoạ âm lên nguồn ồn của cái sau. Đối với các phụ âm hữu thanh điều này có
nghĩa là sự hiện diện kết hợp của hai nguồn âm. Ảnh phổ của các phụ âm hữu
thanh bao gồm các formant vốn tuỳ thuộc vào nguồn hoạ âm. Nét trội nhất
của “sự hữu thanh” là sự xuất hiện của bộ phận thấp mạnh mà được biểu diễn
bằng vạch hữu thanh dọc theo đường nền của ảnh phổ.
* Sản sinh
Các âm vị hữu thanh bị tỉnh lược bởi các xung định kì đi kèm của các dải
âm thanh và các âm vị vô thanh mà không có các xung như thế.
* Diễn biến
Việc sử dụng thế đối lập phụ âm tính khu biệt hữu thanh đối lập với vô
thanh là phổ biến trên thế giới; ví dụ, ở châu Âu người ta tìm thấy ở tất cả các
ngôn ngữ Slavơ cũng như trong tiếng Hungary: so sánh tiếng Nga /don/
“Don” - /ton/ “thanh điệu”. Việc mở rộng nét này đến các âm nước là cực kì
hiếm hoi; ví dụ, trong tiếng Gaele các âm /r l/ hữu thanh và các âm /r l/
vô thanh tương ứng có thể xuất hiện ở trong cùng nhiều vị trí.
Các nguyên âm đều được phát âm một cách bình thường. Người ta vẫn
thường nghi ngờ rằng có nhiều ngôn ngữ trong đó song song với đối lập với
phụ âm tính hữu thanh và vô thanh thì thực sự còn có một thế đối lập khu biệt
tương tự nữa giữa các nguyên âm hữu thanh và thì thào, như thông báo về
một vài ngôn ngữ Anh điêng châu Mĩ, chẳng hạn như tiếng Comanche. Hoặc
là âm thì thào không phải là một nét khu biệt và chỉ đóng chức năng làm chỉ
tố ranh giới, hoặc là nó có thể là một âm xảy ra kèm theo của thế đối lập căng
- chùng.
Ở những ngôn ngữ mà không có thế đối lập tự do của các phụ âm hữu
thanh và vô thanh, thì vế sau (thanh) hoặc là chỉ được sử dụng như một yếu tố
đi kèm của thế đối lập các phụ âm căng và chùng, chẳng hạn như trong tiếng
Anh hoặc là các âm miệng là vô thanh một cách thông thường, chẳng hạn như
ở nhiều phương ngữ tiếng Phần Lan. Ở đây sự khác nhau giữa các động tác
“xuýt” và “kêu” với tư cách như một yếu tố đi kèm của thế đối lập nguyên âm
300
- phụ âm. Ở một số ngôn ngữ này, một động tác phát âm tự động của các phụ
âm diễn ra trong những bối cảnh âm vị nhất định.
8.2.8. Các nét vang
Lớp này bao gồm:
1) 3 kiểu nét sinh ra trong khoang cộng hưởng chính: a) nét đặc, b) ba
nét thanh tính, c) nét căng,
2) Nét mũi hoá tuỳ thuộc vào khoang cộng hưởng bổ sung.
* Kích thích
Các âm vị đặc đặc trưng bởi sự nổi trội tương đối của một vùng formant
(hay formant) ở vị trí trung tâm. Chúng đối lập với âm vị loãng và ở những
âm vị này một hoặc nhiều formant hay vùng formant phi trung tâm trội lên.
Các nguyên âm đặc đối lập với loãng: Tiếng Anh (Cách phát âm Chấp
nhận được) pet /pet/ - pit /pit/; pat /pat/ - putt /pt/; pot /pot/ -
put /put/. Các phụ âm đặc đối lập với loãng: kill - pill hoặc till; shill - fill
hoặc sill; ding /di/ - dim hay din. Mô hình cân xứng của các phụ âm
miệng đặc và loãng trong tiếng Czech cho ta những ví dụ về tương ứng một -
đối - một: ti /ci/ “họ” - ty /ti/ “họ, ngôi thứ ba”; sál /a:l/ “khăn choàng” -
sál /sa:l/ “hội trường”; kluk /kluk/ “con trai” - pluk /pluk/ “đoàn, bầy”; roh
/rox/ “sừng” - rov /rof/ “mả”.
Trường hợp các nguyên âm nét này chủ yếu tự biểu hiện bằng vị trí của
formant thứ nhất: khi formant sau cao hơn (ví dụ, gần hơn formant thứ ba và
cao hơn các formant khác) thì âm vị sẽ đặc hơn. Formant thứ nhất càng gần
sát với các formant trên thì mức cường độ của vùng phía trên formant thứ
nhất sẽ cao hơn, đặc biệt là mức cường độ giữa các đỉnh.
Ở các phụ âm, nét đặc được hiển thị bằng một vùng formant trội, đặt tại
trung tâm, như đối lập với những âm vị mà trong đó một vùng không phải
trung tâm trội lên; (so sánh: công trình nghiên cứu phân tích các âm tắc tiếng
Thuỵ Điển của Fant). Các âm mũi đặc có một vùng formant trội giữa các
formant mũi đặc trưng (200 cps và 2500 cps). Những quan sát của Delattre về
những vị trí của formant thứ nhất ở các âm tắc và các âm mũi làm chứng cho
mối quan hệ song song giữa nét đặc ở các nguyên âm và phụ âm.
301
Người ta đã đề nghị rằng việc đo chính xác nét đặc sẽ giống với việc xác
định độ phân tán trong ngành thống kê học. Việc đo đạc thông thường nét đặc
này là xung lượng thứ hai về phương tiện. Những ước tính bước đầu về
phương pháp này như là một nét đo có thể về nét đặc. Những câu hỏi xác
đáng xem xét gánh nặng chính của ảnh phổ tần số đối lập với cường độ hiện
vẫn còn bỏ ngỏ: đặc biệt là liệu một gánh nặng như đường nét cường độ bình
đẳng có nên được áp dụng cho những ảnh phổ trước khi tính đếm các xung
lượng (moment).
*Sản sinh
Sự khác biệt cơ bản về mặt cấu âm giữa các âm vị đặc và loãng nằm
trong mối quan hệ giữa thể tích của các khoang cộng hưởng trước động tác
bóp hẹp nhất và những khoang cộng hưởng đó sau động tác này. Tỉ lệ của các
khoang trước động tác bóp hẹp nhất so với những khoang đó sau động tác bóp
hẹp nhất là cao hơn đối với các âm vị đặc so với các âm vị loãng tương ứng.
Vì vậy, những phụ âm được phát âm ngược lại với các âm ngạc cứng và ngạc
mềm sẽ đặc hơn so với những phụ âm được cấu âm ở bộ phận trước của
khoang miệng. Trường hợp các nguyên âm nét đặc tăng với sự tăng lên ở
vùng giao diện của một lối thắt bất kì. Vì vậy các nguyên âm mở là đặc nhất
trong khi đó các nguyên âm loãng là khép nhất.
Tỉ lệ của khoang trước lớn hơn so với thể tích của khoang sau. Cũng có
thể đạt được bằng cách tụt họng. Đây là trường hợp xuất hiện trong phát âm
các phụ âm đặc. Ở các phụ âm loãng tương ứng khoang hầu được kéo dài ra
bằng cách nâng cao ngạc mềm và hạ thấp xương hoid. Các ảnh chụp bằng tia
X động tác cấu âm các nguyên âm tiếng Phần Lan và những thông số của
chúng do Dovijärvi thực hiện đặc biệt thể hiện rất rõ ở khía cạnh này. Thể
tích của khoang hầu đối với một âm vị loãng luôn luôn lớn hơn so với một âm
vị đặc (về mặt phát âm) tương ứng.
*Thẩm nhận
Vì cấp độ tổng thể cao hơn thường gắn với thời đoạn dài hơn, cho nên
các âm vị đặc thể hiện một “năng lượng ngữ âm” cao hơn so với các âm vị
loãng, về mặt phát âm. Những kết quả tính toán của Fletcher cho ta “các giá
trị trung bình” sau đây đối với các phụ âm tiếng Anh Mĩ (và những kết quả
tương tự đối với các nguyên âm):
302
Đặc Loãng/k/ 3.0 /t/ 2.7 /p/ 1.0/g/ 3.3 /d/ 1.7 /b/ 1.1
// 11.0 /s/ 0.9 /f/ 1.0// 12.0 /n/ 4.1 /m/ 2.9
Ở bình diện thẩm nhận một liên tưởng khu biệt thường liên kết đối lập
phụ âm tính và nguyên âm tính của nét đặc và nét loãng. Theo lần thực
nghiệm gần đây tại Trung tâm Thực nghiệm Haskins cho thấy “một âm tắc
nhân tạo dưới dạng giản đồ tương tự được đại đa số mọi người đánh giá là
p khi cặp đôi với i và u, nhưng lại là k khi cặp đôi với
a”. Tiếp xúc với a, một nguyên âm đặc nhất, và với i và u,
các nguyên âm loãng nhất trong số tất cả các nguyên âm thúc đẩy sự kết hợp
của âm tắc này với k, một phụ âm đặc nhất, và với p, một phụ âm
loãng nhất trong số các âm tắc. Tương tự, tỉ lệ về độ lớn, ví dụ, kí hiệu nhỏ
đối lập với lớn liên kết một cách rõ ràng đối với những người nghe khoẻ
mạnh với đối lập đặc và loãng, công việc tiến hành tương tự đối với các
nguyên âm và đối với các phụ âm.
Thế đối lập Đặc và Loãng trong mô hình nguyên âm là đặc trưng duy
nhất có thể thể hiện một giai đoạn trung gian ngoài hai giai đoạn ở hai thái
cực. Ở bình diện thẩm nhận thì nhiều lần thực nghiệm cho thấy các giai đoạn
trung gian như thế thông qua hỗn hợp gồm một nguyên âm đặc với một
nguyên âm loãng tương ứng dường như khẳng định cấu trúc đặc biệt của nét
nguyên âm tính này, mà thường đặt nó riêng ra khỏi các đặc trưng cố hữu
khác.
* Diễn biến
Nét khu biệt giữa các nguyên âm đặc và loãng rõ ràng là có tính chất phổ
quát. Một vài ngôn ngữ phân bố rải rác như tiếng Tahiti và Kasimov - Tatar
không có các phụ âm đặc (cả các âm mạc lẫn các âm ngạc). Thường thường
các phụ âm đặc chỉ xuất hiện ở các phụ âm tắc, chẳng hạn như trong tiếng Đan
Mạch.
Nhưng trong khi các phụ âm thường tuân thủ theo nguyên tắc phân đôi
một cách nghiêm ngặt và có thể hoặc là đặc hoặc là loãng thì trạng thái song
hành trong mô hình nguyên âm tính là thường xuyên xuất hiện nhưng không
303
mang tính phổ quát. Ví dụ, trong tiếng Rumani (và các quan hệ tương tự cũng
tồn tại ở trong nhiều ngôn ngữ khác) âm /a/ mở và âm // khép, chẳng hạn
như trong từ rad “Tôi cạo râu” - rid “Tôi cười” là đối lập với nhau theo thế
đặc và loãng. Nguyên âm giữa // tương ứng là loãng so với /a/ mở và (so
sánh rai “xấu” - rai “thiên đường”) nhưng đồng thời lại là đặc so với // (so
sánh var “anh em họ” - vir “Tôi giới thiệu”). Vì vậy nét đặc và loãng có
thể xem là hai thế đối lập, một thế đối lập kí hiệu bằng “dấu cộng +” và thế đối
lập kia bằng “dấu trừ -”: vì vậy khi đó // sẽ là ± . Tuy nhiên, thế đối lập gồm
hai vế đối lập này có thể phân tích thành hai đối lập lưỡng phân của các mâu
thuẫn: đặc và không đặc và loãng và không loãng. Trong trường hợp này, //
sẽ là hai lần âm - cả không đặc lẫn không loãng.
8.2.9. Các nét thanh tính
Tiểu lớp các nét vang này bao gồm ba nét lưỡng phân khu biệt có thể
tương tác qua lại với nhau một cách khác nhau: a) đặc trưng trọng lượng, b)
đặc trưng bẹt/ dẹt và c) đặc trưng làm điếc.
*Kích thích
Xét về mặt âm học thì đặc trưng này hàm chỉ nét trội của một bên của bộ
phận có ý nghĩa của ảnh phổ lên bộ phận khác. Khi phần dưới của ảnh phổ
trội lên thì âm vị được xác định là trầm; khi phần trên của âm vị trội lên thì
âm vị được xác định là bổng. Hai kết quả tự thể hiện mình là chính danh đối
với đặc trưng này: a) tâm vùng và, b) mômen thứ ba về tâm vùng. Như đã nói
ở trên, trước khi áp dụng những tiêu chỉ này để chuẩn hoá các ảnh phổ này
theo cách này là cần thiết. Hiện tại thì hàm chuẩn hoá chính thức vẫn chưa
được xác định.
Thuận tiện lớn của mômen thứ ba là ở chỗ ở đây phần dưới của ảnh phổ
trội lên sẽ cho ta những giá trị tiêu cực, trong khi đó phần trên của ảnh phổ
trội lên cho ta những giá trị tích cực. Vì vậy, chúng ta có thể xác định trọng
lực hay nét bổng của một âm mà không cần phải qui về một chuẩn bất kì nào.
Tuy nhiên, có một thực tế là chúng ta phải xác định luỹ thừa ba một trong số
các thường biến mà chúng ta có (khác biệt về tần số) dường như khiến phải
đo cả mômen thứ ba cực kì tế nhị mà có thể được sử dụng cực kì cẩn thận.
304
Khi sử dụng tâm vùng chúng ta thường tránh những khó khăn này,
nhưng đồng thời chúng ta cũng đánh mất những cơ hội thuận lợi vừa nói trên.
Các trị tuyệt đối của tâm vùng không thể chỉ ra được là liệu một âm vị là trầm
hay bổng, bởi vì tâm vùng của một âm vị bổng cũng có thể thấp hơn so với
tâm vùng của một âm vị trầm; so sánh tâm vùng của âm /e/ bổng và của âm /f/
trầm trong từ deaf “điếc” của tiếng Anh. Vì vậy mà không thể quyết định
được là liệu một âm vị cho trước là trầm hay bổng mà lại không biết ít nhất
một số trong số nhiều đặc trưng khác mà âm vị đó có.
Các nguyên âm trầm và bổng: tiếng Thổ Nhĩ Kì: /ks/ “xấu bụng”, /kis/
“khối u”, /kus/ “nôn ra!”, /kys/ “rút ngắn lại!”, /an/ “chốc, lát” - /en/ “chiều
rộng”, /on/ “mười” - /n/ “đằng trước”.
Vị trí của formant thứ hai trong thế tương quan với vị trí của các formant
khác trên ảnh phổ là chỉ số đặc trưng nhất của các đặc trưng này: khi nó sát
hơn vào formant thứ nhất thì âm vị là trầm; khi nó gần sát hơn vào formant
thứ ba và các formant cao hơn thì nó là bổng.
Các phụ âm trầm đối lập với các phụ âm bổng: fill - sill, pill - till, bill -
dill, mill - nil. Khi xác định nét trầm của một phụ âm thì tốt hơn cả là quan sát
formant thứ hai ở nguyên âm bên cạnh, nếu có: nó bị hạ thấp trong trường hợp
các phụ âm trầm, và được nâng cao nếu phụ âm là bổng. Đây là phương pháp
bắt nguồn từ ngành khoa học Lời nói thị giác (Visual Speech). Trong một số
trường hợp vị trí của formant thứ ba và thậm chí các formant cao hơn cũng có
thể bị ảnh hưởng.
*Sản sinh
Nét trầm của một phụ âm hay một nguyên âm được sinh ra do khoang
miệng mở rộng hơn hoặc không, trong khi đó nét bổng được sinh ra trong
khoang nhiều hơn và nhỏ hơn. Ở đây nét trầm đặc trưng cho các phụ âm môi
như đối lập với các phụ âm răng, cũng như các âm ngạc đối lập với các phụ
âm mạc và tương tự, các nguyên âm sau được cấu âm với sự thụt vào của
lưỡi đối lập với các nguyên âm trước thì lưỡi thè ra.
Tuy nhiên, thông thường một yếu tố bổ sung nổi bật trong khi hình thành
nên các âm vị trầm (các nguyên âm sau và các phụ âm môi cũng như các âm
mạc nếu như đối lập với các âm ngạc) là sự co lại của mặt sau của khoang cộng
hưởng miệng, thông qua động tác thu hẹp thanh quản, trong khi đó thì các âm
305
vị bổng tương ứng (các phụ âm răng và ngạc và các nguyên âm trước) được tạo
ra với tư thế thanh quản mở rộng. Ví dụ, chiều của giao diện của khoang họng
đối với hai lớp các phụ âm tiếng Czech phát triển lệch hướng khỏi chiều rộng
của nó trong một khoảng lặng (13.3mm) là như sau (các kết quả đo được tính
bằng mm):
Trầm Bổng/u/ - 3.8 /i/ + 15.2/o/ - 5.5 /e/ + 4.0/f/ - 4.7 /s/ + 6.3/x/ - 3.8 // + 1.7/p/ - 2.5 /t/ + 0.5/k/ - 2.6 /c/ + 12.7/m/ - 2.5 /n/ + 8.9
8.2.10. Dẹt đối lập với bằng phẳng
* Kích thích
Động tác dẹt tự biểu hiện bằng một thay đổi đi xuống của nhiều formant
hay thậm chí của tất cả các formant trong ảnh phổ.
Các nguyên âm dẹt đối lập với bằng phẳng: Tiếng Thổ Nhĩ Kì /kus/
- /ks/, /kys/ - /kis/; /on/ - /an/; /n/ - /en/. Chúng tôi dùng thuật ngữ âm
nhạc theo qui ước để dán nhãn cho đặc trưng này và trong khi phiên âm ngữ
âm học chúng ta có thể sử dụng một dấu giáng âm nhạc “” đài cao hoặc đài
thấp để chỉ các phụ âm dẹt. Các ví dụ lấy từ Rutulia, một ngôn ngữ Cáp - ca ở
phía Bắc: /iakb/ “sáng, nhẹ” - /iak/ “thịt”, /bar/ “hơn, nữa” - /bar/ “mưa
đá”.
* Sản sinh
Động tác làm dẹt chủ yếu được sinh ra bằng cách rút ngắn bề mặt của
môi (tròn môi) với sự gia tăng đi kèm về độ dài của động tác mím môi. Ở đây
thế đối lập dẹt và bằng phẳng về mặt nguồn gốc được xác định bằng thuật ngữ
“sự thay đổi bề mặt” và thế đối lập trầm và bổng là “thay đổi khoang cộng
hưởng”.
Thay vì bề mặt trước của khoang miệng, cuống họng, đến lượt mình có
thể liên quan đến những ảnh hưởng tương tự của động tác làm bẹt. Động tác
thắt họng độc lập này, được gọi là họng hoá tác động đến các phụ âm bổng và
306
làm loãng nét bổng của chúng. Thực tế là nhiều dân tộc không có các phụ âm
họng hoá ở tiếng mẹ đẻ của họ, chẳng hạn như tiếng Bantus và tiếng Uzbeks,
thay thế các động tác cấu âm môi hoá đối với các phụ âm họng hoá và tròn
môi. Hai quá trình này không thể xảy ra trong một ngôn ngữ. Do đó chúng sẽ
được cư xử như là hai biến thể của một thế đối lập bẹt và bằng phẳng. Hai kí
hiệu ngữ âm t và t lần lượt dùng cho các phụ âm họng hoá và tròn
môi có thể được thay thế bằng một kí hiệu đơn khi phiên âm ngữ âm học. Dấu
giáng trong âm nhạc được đài cao hoặc đài thấp mà chúng tôi dùng cho các phụ
âm tròn môi tiếng Cáp - ca, cũng có thể dùng cho các phụ âm họng hoá tiếng Ả
rập: /dbirs/ “răng hàm” - /dirs/ “đuôi con lạc đà”, /salb/ “sự đóng đinh vào giá
chữ thập” - /salb/ “sự cướp đoạt”.
Về việc sử dụng tự do “sự thay đổi mặt sau” đối với các phụ âm tròn và
đối với các phụ âm bổng.
8.2.11. Điếc đối lập với bằng phẳng
*Kích thích
Đặc trưng này tự biểu thị với động tác hơi đi lên một chút của formant
thứ hai và đến một mức nào đó cũng của các formant cao hơn.
Các ví dụ: Tiếng Nga /m’at/ “làm nhàu” - /m’at/ “mẹ” - /m’at/ “sự thất
bại”, /kr’of/ “máu” - /kr’of/ “trú, ở”.
* Sản sinh
Để gây ảnh hưởng đặc trưng này, khoang miệng được rút ngắn bằng
cách nâng lên một phần lưỡi tì vào ngạc. Sự điều chỉnh này, được gọi là sự
ngạc hoá, được thực hiện đồng thời với động tác cấu âm chính của một phụ
âm cho trước và liên kết với độ co giãn lớn hơn của cuống họng so với các
phụ âm bằng phẳng tương ứng. Độ giãn nở họng của các phụ âm bổng bằng
phẳng được gia thêm cho các phụ âm điếc. Động tác co thắt họng của các phụ
âm trầm bằng phẳng được thay thế bằng một động tác co giãn cho các phụ âm
điếc. Do đó động tác của họng là đặc biệt quan trọng trong khi làm điếc các
phụ âm trầm và có thể, trong một số hoàn cảnh nhất định, trở thành nhân tố
chính của nó.
* Thẩm nhận các nét thanh tính
307
Độ dễ hiểu của các phụ âm bổng bị suy giảm nghiêm trọng bằng cách loại
bỏ tần số cao của chúng, trong khi đó các âm vị trầm là khó có thể nhận ra
được khi mất các tần số thấp. Phụ âm phác đồ được lĩnh hội là t khi phú
cho các tần số cao hơn một cách đặc thù và là p khi phú cho các tần số
thấp một cách đặc thù.
Hai âm vị đối lập nhau theo tiêu chí trầm và bổng (ví dụ., /u/ và /y/
hoặc // và /i/ hoặc /f/ và /s/) được xác nhận một cách dễ dàng là đục và sáng
bởi các chủ thể đáp lời có định hướng, trong khi đó đối lập bẹt và bằng phẳng,
/u/ và // hoặc /y/ và /i/ tạo ra cảm giác về độ sâu, độ rộng, sức nặng và độ
cùn đối lập với độ mỏng, độ cao, độ sáng và độ chói. Nghiên cứu sâu hơn vào
hai phương diện này của cảm giác thính giác trong mối quan hệ của chúng với
các kích thích âm học khác nhau và với những phản ứng của cùng nhiều
người nghe về nét đặc có thể góp phần làm sáng tỏ và giới hạn những thuộc
tính âm thanh khác nhau.
Truyền thống ngữ pháp Ả rập đổ tại “độ cứng” và “độ béo mập” gia tăng
cho các phụ âm họng hoá xét về mặt kinh nghiệm thính giác được các nhà
quan sát Cáp - ca áp dụng tương tự cho các phụ âm tròn môi. Các phụ âm
bổng điếc như /s/, /t/ được những người thí nghiệm cho biết là chúng
sáng hơn một chút xíu so với /s/, /t/ và các âm /f/, /p/ trầm điếc là một cái
gì đó đục hơn so với /f/, /p/.
Nhiều người được trời phú cho có đôi tai ngữ âm nhạy cảm màu sắc
thường đề cập các nguyên âm là hữu sắc còn các phụ âm là vô sắc, hơi tối.
Đối lập giữa các âm vị trầm và bổng có tương quan với những phản ứng trắng
- đen, vàng - xanh và xanh - đỏ, trong khi đó các âm vị đặc thường được gắn
với những màu sắc ở khoảng cách lớn nhất từ trục trắng - đen. Những thí
nghiệm trong khi pha trộn nguyên âm cho thấy các nguyên âm trầm và bổng
khi được nghe đồng thời thì lại không được xác nhận là một nguyên âm đơn.
Phép thử này có thể đem so sánh với một kinh nghiệm tương tự về các màu -
trên thực tế các màu vàng hơi xanh (hơi xanh da trời) và màu xanh (xanh lá
cây) hơi đỏ là không tồn tại.
308
* Diễn biến của các nét thanh tính
Mỗi ngôn ngữ đều thể hiện ít nhất một nét thanh tính. Chúng tôi gọi nó
là cơ bản (primary). Hơn nữa, một ngôn ngữ có thể có một hoặc hai nét thanh
tính thứ yếu.
*Nét thanh tính cơ bản
Các phụ âm hầu hết đều có một nét thanh tính. Như một qui luật, các phụ
âm loãng thể hiện thế đối lập trầm và bổng, vốn cũng thường thấy có ở các
phụ âm đặc. Nói cách khác, các mô hình phụ âm thường gồm có cả các âm
răng lẫn các âm môi và cũng thường đối lập lẫn nhau giữa các âm mạc và các
âm ngạc. Chẳng hạn như ở một số ngôn ngữ Trung Âu như tiếng Czech,
Slovak, Serbocroatia và tiếng Hungary. Các âm vị phụ âm của những ngôn
ngữ này tạo thành một hình vuông, trong khi đó ở nhiều ngôn ngữ như tiếng
Anh và tiếng Pháp thường không tách các phụ âm đặc của chúng ra thành các
âm vị trầm, về mặt phát âm và bổng, và khuông hình này sẽ trở thành một
hình tam giác:
Tiếng Czech Tiếng Pháp
Ở một vài ngôn ngữ châu Mĩ và châu Phi không có các âm môi, sự vắng
mặt của những âm này phần lớn, đều có thể lần theo dấu vết đến cách dùng
truyền thống của các âm môi trên (labret). Hơn nữa, hầu hết các mô hình phụ
âm hiếm hoi này, vốn đều không có thế đối lập trầm và bổng, nhưng lại có
một nét thanh tính khác: Dẹt và bằng phẳng, chẳng hạn như các ngôn ngữ
Tlingit (Alaska), Iroquoi và Witchita (Oklahoma), so sánh ví dụ, các cặp từ
tiếng Tlingit như ja:k “ca nô” - ja:k “hến, sò”.
Ở nhiều mô hình nguyên âm chỉ có một nét thanh tính thì thấy 3 trường
hợp sau đây: a) riêng chỉ có thế đối lập trầm và bổng; b) Hiếm thấy riêng thế
p t
k c
Trầm Bổng
Đặc
Loãng
k
p t
Trầm Bổng
309
đối lập det và bằng phẳng; c) rất thường xuyên sự pha trộn giữa hai thế đối
lập này. Những ví dụ về kiểu loại thứ nhất là tiếng Wichita và tiếng Slovak
với những cặp từ tiếng Slovak như mat /mac/ “mẹ” - mät /mc/ “bạc hà”,
hay riếng Nhật trong đó âm vị trầm đối lập với âm /i/ được tạo ra mà không
có các động tác tròn môi. Trong tiếng Nga minh hoạ cho kiểu loại thứ hai các
âm vị khép /u/ và /i/ đối lập với nhau chỉ ở nét dẹt/ bẹt (tròn môi) với bằng
phẳng (không tròn môi) bởi vì ở những vị trí nhất định cả hai âm vị này đều
được biểu hiện bằng các biến thể trước và ở một số vị trí khác biểu hiện bằng
các biến thể sau: yd’it “chơi khăm” - yd’it “hút
thuốc”, rv’u “Tôi xé” - rv’ “các con hào”. Trong những trường
hợp này chỉ một trong hai quá trình là cần yếu mang tính âm vị, trong khi đó
thì quá trình kia là một nét dư chỉ xuất hiện ở những bối cảnh nhất định. Kiểu
loại thứ ba, một sự pha trộn không thể phân tích được của cả hai quá trình,
đều diễn ra trong tiếng Tây Ban Nha và tiếng Ý: ví dụ tiếng Tây Ban Nha
/puso/ “Nó (đã) bỏ” - /piso/ “bước đi” - /poso/ “cặn, cáu” - /peso/ “trọng
lượng”. Ở đây trong thế đối lập trầm và bổng thì khoang miệng không ngăn
rộng là luôn luôn có động tác chúm tròn môi đi kèm, trong khi đó thì một
khoang đã được ngăn nhỏ hơn lại không bao giờ có động tác tròn môi đi kèm.
Vì vậy trong những khuôn hình này chỉ có trầm tốt nhất và bổng tốt nhất là có
đối lập nhau mà thôi.
Nếu chỉ có duy nhất một nét thanh tính ở các nguyên âm của một ngôn
ngữ nào đó, thì nó có thể được gộp cả vào nét thanh tính (hoặc chỉ là) cơ bản
của các phụ âm, không kể một khuôn hình nào trong ba khuôn hình trên thực
sự xảy ra. Ví dụ, tiếng Nga sử dụng một thế đối lập (bẹt/ dẹt và bằng phẳng)
như một nét thanh tính trong các nguyên âm, còn thế đối lập kia (trầm và
bổng) như một nét thanh tính cơ bản trong các phụ âm. Tuy nhiên, sự khác
nhau giữa các nét này là thừa bởi vì nó thường đi kèm với thế đối lập giữa các
nguyên âm và các phụ âm, và kết quả là ở đây chỉ có nhân tố cần yếu là yếu tố
định danh chung của hai nét thanh tính này.
Nét thanh tính cơ bản hay duy nhất thường gắn liền với các nguyên âm
loãng. Ở đây, các nguyên âm, cũng như các phụ âm, tạo thành một hình tam
giác hoặc một hình vuông hài hoà.
Tiếng Wichita Tiếng Ả rập
310
* Các nét thanh tính thứ yếu
Trong nhiều ngôn ngữ các phụ âm sử dụng thế đối lập bẹt/ dẹt và bằng
phẳng với tư cách như một đặc trưng thứ yếu, ngoài đặc trưng cơ bản, chẳng
hạn thế đối lập trầm và bổng. Sự làm bẹt được tạo ra bằng cách đang từ trạng
thái chúm tròn môi thì nhành ra như trong tiếng Caucasus và cũng xuất hiện
trong một số ngôn ngữ bản địa ở châu Á, châu Phi và châu Mĩ. Nó chủ yếu
ảnh hưởng đến các âm mạc, nhưng đôi khi lại lan tới cả những phụ âm khác
nữa. Loạt các âm vị làm bẹt khác, các phụ âm họng hoá (cái gọi là nhấn
mạnh) xuất hiện trong nhiều ngôn ngữ Semit (Xê mít) và các ngôn ngữ lân
cận. Quá trình này có ảnh hưởng đến các phụ âm bổng loãng (phụ âm răng)
và làm loãng đi nét bổng của chúng, trong khi đó ở các phụ âm đặc, nó lại
thường pha trộn với thế đối lập cơ bản trầm đối lập với bổng và làm tăng sự
khác biệt giữa các âm ngạc và các âm mạc bằng cách đánh tráo lên các âm
mạc động tác xiết họng mạnh.
Sự khác biệt giữa các phụ âm răng và quặt lưỡi đặc biệt đặc trưng của
nhiều ngôn ngữ ở Ấn Độ, là một biểu hiện khác của cùng một thế đối lập. Cả
động tác xiết họng lẫn động tác kéo dài của khoang đang cộng hưởng diễn ra
trong khi tạo ra các phụ âm nhấn mạnh là qui trình thứ nhất, còn đối với phụ
âm quặt lưỡi thì qui trình thứ hai hình như thích hợp hơn.
Các âm lướt và các âm nước cũng trải qua quá trình tròn môi hay họng
hoá và có thể tham gia vào thế đối lập bẹt/ dẹt và bằng phẳng. Vì thế mà tiếng
Circassia và động tác bóp thanh hầu tròn môi và không tròn môi: /a/ “Nói!”
- /a/ “tay”. Tiếng Ả rập thường có sự bật hơi cùng với và không cùng với
động tác xiết họng /habb dam/ “Nó kéo xuống”. Thế đối lập của các phụ âm
điếc và các phụ âm bằng phẳng đóng một phần quan trọng, chẳng hạn, trong
ui
a
i
Trầ
mBổng
a
u
Tr
ầm
B
ổng
Đặc
Lo
ãng
311
tiếng Gaelic, Rumani, Ba Lan, tiếng Nga và nhiều ngôn ngữ khác cùng với
tiếng Nga. Nó chủ yếu ảnh hưởng đến các phụ âm bổng loãng (các âm răng),
nhưng đôi khi cũng mở rộng đến nhiều lớp khác (các âm môi và các âm mạc).
Trong một vài ngôn ngữ các phụ âm tròn môi (bẹt/ dẹt) và các phụ âm
ngạc hoá (điếc) có thể cùng tồn tại, ví dụ tiếng Abkhazia ở Caucasus thường
đối lập một âm vị bằng phẳng như /g/ với âm /gb/ bẹt tương ứng một đằng và
với âm /g/ điếc một phía khác. Trong các ngôn ngữ đơn lập chẳng hạn như
tiếng Trung Dungan và tiếng Kashmiri, thì hai thế đối lập cùng tồn tại hiện
thực hoá cả bốn kết hợp có thể: 1) không ngạc hoá tròn môi, 2) không ngạc
hoá không tròn môi, 3) ngạc hoá tròn môi, 4) ngạc hoá không tròn môi. (So
sánh các loạt âm /u/ - // - /y/ - /i/). Tiếng Kashmiri phân biệt ở khía cạnh
này bốn hình thức khác nhau của động từ (“làm”): /karb/ - /kar/ - /kar/ -
/karb/. Ở các âm vị ngạc hoá tròn môi thì formant thứ hai di chuyển gần hơn
vào formant thứ ba trong khi đó đồng thời tất cả các formant đều di chuyển
xuống tần số thấp.
Cuối cùng kết hợp giữa các âm dẹt/ bẹt và các âm điếc trong một ngôn
ngữ có thể có một hình thức khác. Bên cạnh các ngôn ngữ chẳng hạn như
tiếng Ả rập vốn hạn chế vai trò tự do của họng vào động tác xiết lại của nó
đối với động tác làm loãng các phụ âm bổng, còn có một vài ngôn ngữ ở
Caucasus Đông Bắc vốn thường sử dụng động tác mở rộng họng để làm điếc
các phụ âm trầm. Đây là đặc điểm cơ bản của cái gọi là “sự làm mềm nhấn
mạnh”. Cả hai quá trình này - có thể được rút ngắn lại xuống thành một đơn
vị định danh thông thường: sự mất dần đặc trưng cơ bản thông qua sự thay
đổi khoang họng. Kết quả là chúng ta có thể phiên chuyển các âm răng có
khoang họng thu hẹp theo một và chỉ cách tương tự. Các ví dụ lấy từ tiếng
Lakkia (Caucasus Đông Bắc): /da:/ “ở giữa” - /da:/ “đến” và /ma/ “cái
sàng” - /ma/ “có nó”.
Trong rất nhiều ngôn ngữ một trong hai thế đối lập - trầm và bổng và bẹt
và bằng phẳng - hoạt động một cách riêng biệt trong mô hình ngữ âm.
312
9. ĐẶC ĐIÊM NGƯ ÂM CƠ BAN CỦA TIẾNG VIỆT
9.1. Âm tiết tiếng Việt
9.1.1. Dân luân
Tiếng Việt được xem là một ngôn ngữ đơn lập tiêu biểu mà đặc điểm cơ
bản của nó là: âm tiết giữ một vai trò cơ bản trong hệ thống các đơn vị ngôn
ngữ; vốn từ vựng cơ bản của tiếng Việt đều là từ đơn tiết và mỗi âm tiết đều
có khả năng tiềm tàng trở thành từ; các từ không biến hình; một âm tiết cũng
đồng thời là một hình vị và ý nghĩa ngữ pháp được thể hiện chủ yếu bằng trật
tự từ...
Trên phương diện ngữ âm, âm tiết tiếng Việt được xem là một đơn vị cơ
bản (trong các ngôn ngữ biến hình đó là âm vị). Âm tiết tiếng Việt có cấu
trúc đơn giản, luôn gắn liền với thanh điệu, được tách biệt trong chuỗi lời nói
và cả trong hình thức chữ viết.
Nhằm làm sáng tỏ hơn các đặc điểm ngữ âm của tiếng Việt cũng như
phục vụ cho các mục đích khác chúng tôi muốn:
- Đưa ra một phương pháp cụ thể nhằm thống kê tất cả các âm tiết xét về
mặt khả năng có thể tạo ra được trong tiếng Việt và bước đầu xác định trong
thực tế có bao nhiêu âm tiết đã được sử dụng
- Trên cơ sở các con số thống kê, chúng tôi chỉ ra các qui tắc ngữ âm chi
phối thực tế sử dụng các âm tiết tiếng Việt.
9.1.2. Phương phap
Để có thể tiến hành thống kê được tất cả các âm tiết xét về mặt khả năng,
chúng tôi đề nghị một cấu trúc âm tiết cho tiếng Việt và cùng với nó là các
loại hình âm tiết.
a- Cấu trúc âm tiết
Âm tiếtThanh điệu
Phụ âm đầuVần
Âm đệm Âm chính Âm cuốiTrong cấu trúc này vị trí nguyên âm và thanh điệu là bắt buộc tồn tại, các
vị trí khác có thể thiếu.
b- Loại hình âm tiết
Theo cấu trúc trên có bốn loại hình âm tiết:
242
Loại 1: Nguyên âm
Loại 2: Nguyên âm + phụ âm cuối
Loại 3: Phụ âm đầu + Nguyên âm
Loại`4: Phụ âm đầu + Nguyên âm + phụ âm cuối
- Ở vị trí của nguyên âm đứng độc lập kết hợp với thanh làm thành một
âm tiết có thể có: 9 nguyên âm đơn (có 3 nguyên âm ngắn [, ă, o và
] là không tồn tại độc lập làm âm tiết); 24 nguyên âm đôi và 16 nguyên
âm ba.
- Ở vị trí phụ âm đầu có 21 phụ âm
- Ở vị trí âm cuối có 6 phụ âm
- Ở vị trí thanh điệu có 6 thanh (với các âm tiết có phụ âm cuối là -p, -t,
-c/ ch chỉ kết hợp được với hai thanh)
Căn cứ vào hệ thống chữ quốc ngữ hiện hành và qui tắc kết hợp của
chúng, chúng tôi có thể tính được tất cả các âm tiết có khả năng hình thành
trong tiếng Việt theo 4 loại cấu trúc âm tiết đã nêu trên.
STT Âm tiết Thanh điệu
ATSD ATKSDPhụ âm đầu
Âm chính
Âm cuối
Ngang Huyền Ngã Hỏi Sắc Nặng
1 i i ì ĩ ỉ í ị 6 0
2 i m im ìm ĩm ỉm ím ịm 2 4
3 l i li lì lĩ lỉ lí lị 5 1
4 l i m lim lìm lĩm lỉm lím lịm 4 2
4/0 3/1 1/3 4/0 2/2 3/1 17 7
Bảng 9-5. Câu truc âm tiêt đươc hinh thanh
Để xác định được số lượng âm tiết thực tế sử dụng trong tiếng Việt,
chúng tôi dựa vào hai cuốn từ điển của Hoàng Phê:
- Từ điển tiếng Việt, NXB Đà Nẵng, 1992
- Từ điển chính tả, NXB Đà Nẵng,
Những âm tiết được sử dụng cũng được dựa vào các tiêu chí:
- Những âm tiết có ý nghĩa từ vựng
- Sử dụng trong từ láy (dù bản thân hiện nay không có nghĩa hoặc mờ nghĩa)
- Các âm tiết có nguồn gốc là các ngôn ngữ dân tộc nhưng đã được âm tiết hoá
- Sử dụng trong tiếng địa phương
243
- Tên riêng thông dụng (đây là vấn đề mở không ai có thể nắm bắt được
tất cả các tên riêng). Vì vậy chúng tôi chỉ thống kê những tên thông dụng mà
thôi.
Thực tế, những âm tiết được sử dụng chỉ được tính đến một thời điểm
nhất định và sẽ còn thay đổi. Sẽ còn nhiều âm tiết được dùng trong các từ địa
phương là chưa thể thống kê được.
Theo hàng ngang, chúng ta sẽ cộng được số âm tiết sử dụng và không sử
dụng. Theo hàng dọc, chúng ta sẽ cộng được số lượng âm tiết sử dụng và
không sử dụng theo thanh điệu.
9.1.3. Kêt qua
Số lượng âm tiết tiếng Việt: khả năng hình thành và thực tế sử dụng
a- Bảng kết quả thống kê
b- Nhận xét về số lượng âm tiết tiếng Việt
Qua thống kê chúng tôi nhận thấy:
Xét về mặt cấu trúc âm tiết tiếng Việt thì về mặt lý thuyết có cả thảy là
18.958 âm tiết. Tính khả năng trong mỗi loại hình cấu trúc chúng tôi nhận thấy
như sau
Loại hình 1: Nguyên âm
Ở loại hình này số lượng âm tiết được tạo ra về mặt lí thuyết nhiều nhất
ở nguyên âm đôi chiếm 0,81% tổng số âm tiết tiếng Việt xét về mặt khả năng.
Thực tế sử dụng thì số lượng nguyên âm đôi cũng được sử dụng nhiều
nhất chiếm 0,69% tổng số âm tiết sử dụng trong thực tế.
- Loại hình 2: Nguyên âm + Phụ âm cuối
Trong loại hình này thì khả năng của nguyên âm đơn + phụ âm cuối (m,
n, ng/nh) và nguyên âm đôi + Phụ âm cuối (m, n, ng/nh) có số lượng bằng
nhau và chiếm 1,14% tổng số âm tiết tiếng Việt xét về mặt cấu trúc với số
lượng là 216 âm tiết. Cũng tương tự như kết hợp với phụ âm cuối m, n, ng/nh
thì ở kết hợp với p, t, c/ch nguyên âm đơn và nguyên âm đôi cùng có khả
năng tạo ra số lượng âm tiết như nhau lần lượt là 72 âm tiết.
- Loại hình 3: Phụ âm đầu + Nguyên âm
Chúng ta nhận thấy ở loại hình này khả năng tạo ra âm tiết của các phụ
âm xát + nguyên âm là lớn nhất chiếm 12,24%. Nhưng thực tế sử dụng lại cho
244
thấy không phải phụ âm xát chiếm số lượng lớn nhất mà là phụ âm tắc +
nguyên âm chiếm 13,17% âm tiết sử dụng.
Phụ âm bên + nguyên âm có số lượng âm tiết về mặt cấu trúc bằng với
số lượng phụ âm bên + nguyên âm tạo ra là 282 âm tiết mỗi loại chiếm 1,48%
cho từng loại.
Nhưng vậy tổng quát lại thì số lượng âm tiết ở loại hình này là 6114 âm
tiết trong khi đó chỉ sử dụng với số lượng là 2712 âm tiết.
- Loại hình 4: Phụ âm + Nguyên âm + Nguyên âm cuối
Trong loại hình này số lượng âm tiết khả năng tạo ra là 11.960 âm tiết
trong đó số lượng âm tiết sử dụng chỉ có 3667. Như vậy là số lượng âm tiết sử
dụng là ít hơn rất nhiều lần so với số lượng âm tiết tạo ra.
Âm tiết được sử dụng trong loại hình này chỉ chiếm 19,09% tổng số âm
tiết tiếng Việt. Khả năng tạo ra âm tiết thì loại có cấu trúc phụ âm xát + phụ
âm cuối m, n, ng/nh là lớn nhất với số lượng là 2856 chiếm 15,06% trong khi
đó thực tế sử dụng chỉ có 816 âm tiết chiếm 12,27%.
Qua số liệu thống kê chúng ta nhận thấy khả năng hình thành âm tiết có
dạng phụ âm xát + nguyên âm là lớn nhất so với các loại âm tiết khác phụ âm
khác.
Số lượng âm tiết tiếng Việt: phân bố theo thanh điệu
a- Bảng kết quả thống kê
b- Nhận xét về phân bố thanh điệu đối với âm tiết tiếng Việt
Như đã biết thanh điệu luôn luôn có mặt ở mọi kiểu loại âm tiết. 6655
âm tiết sử dụng đồng thời cũng là 6655 thanh điệu. Sáu thanh điệu của tiếng
Việt phân bố ở mọi tiểu loại, cụ thể là như sau:
- Loại hình 1: Nguyên âm
Có tổng số 105 thanh điệu được sử dụng trên tổng số 300 thanh điệu tạo
ra. Số lượng thanh điệu được sử dụng nhiều nhất ở thanh ngang: ở loại hình
này số lượng thanh ngang là 50 trong đó có dùng 29 thanh và âm tiết có cấu
tạo là nguyên âm đôi là nhiều nhất. Ngược lại thanh ngã là thanh được sử
dụng ít nhất.
- Loại hình 2: Nguyên âm + Phụ âm
584 âm tiết đồng thời cũng là 584 thanh. Trên tổng số 584 thanh chỉ có
174 thanh là được sử dụng. Về khả năng, số lượng âm tiết là nguyên âm đơn
245
+ phụ âm bằng số lượng âm tiết có cấu tạo nguyên âm đôi + phụ âm. Riêng
âm tiết là các nguyên âm ba có số lượng rất ít. Do đó số lượng thanh điệu
cũng ít. Thực tế sử dụng của loại hình thanh điệu này là 174 chiếm2,61%.
- Loại hình 3: Phụ âm đầu + Nguyên âm
Trên tổng số 6114 âm tiết tạo ra chỉ có 2712 âm tiết là được sử dụng,
trong đó thanh ngã có số lượng ít nhất và thanh ngang có số lượng lớn nhất.
- Loại hình 4: Phụ âm + Nguyên âm + Phụ âm cuối
Trên tổng số 11960 thanh điệu tạo ra chỉ có 3667 thanh điệu sử dụng
trong đó thanh sắc chiếm số lượng lớn nhất và thanh ngã có số lượng ít nhất.
Số lượng thanh sắc và năng đi với phụ âm cuối p, t, c/ch là rất lớn
(1166 thanh, chiếm 6,15% tổng số thanh điệu về mặt khả năng hình
thành và chiếm 17,52% tổng số thanh điệu sử dụng).
Loại hình
Tiểu loại
Tổng số âm tiết (về
mặt lý thuyết) 18.958
% lý thuyết
Tổng số âm tiết sử dụng 6.655
% sử dụng
% sử dụng trên lý thuyết
1 Nguyên âm (NA)Đơn 54 0,28 35 0,53 0,18Đôi 156 0,82 64 0,69 0,33Ba 90 0,47 6 0,09 0,03
300 1,58 105 1,57 0,542 NA + Phụ âm (PA) cuối
NA đơn + PA cuối m, n, ng/nh 216 1,14 73 1,09 0,38+ p, t, c/ch 72 0,38 48 0,72 0,25NA đôi + PA cuối m, n, ng/nh 216 1,14 15 0,23 0,07+ p, t, c/chNA ba + PA cuối m, n, ng/nh 1 0,005 1 0,00 0,00+ p, t, c/ch 1 0,005 1 0,01 0,00
584 3,08 174 2,57 0,893 PA đầu + NA
PA mũi + NA 1098 5,79 455 6,84 2,37PA bên + NA 282 1,48 160 2,40 0,83PA rung + NA 282 1,48 124 1,86 0,64PA quặt lưỡi + NA 846 4,46 362 5,44 1,88PA xát + NA 2322 12,24 735 11,04 3,82PA tắc + NA 1662 8,76 876 13,77 4,56
6114 33,25 2712 40,76 14,124 PA đầu + NA + PA cuối
PA mũi + NA + PA cuối m, n, ng/nh 1632 8,60 399 5,99 2,07+ p, t, c/ch 544 2,86 196 2,95 1,02PA bên + NA + PA cuối m, n, ng/nh 408 2,15 174 2,61 0,90+ p, t, c/ch 136 0,71 64 0,96 0,33PA rung + NA + PA cuối m, n, ng/nh 408 2,15 101 1,52 0,52+ p, t, c/ch 136 0,13 48 0,72 0,25PA quặt lưỡi + NA + PA cuối m, n, ng/nh
1224 6,45 253 3,80 1,31
+ p, t, c/ch 408 2,15 129 1,94 0,67PA xát + NA + PA cuối m, n, ng/nh 2856 15,06 816 12,27 4,25
246
+ p, t, c/ch 952 5,02 313 4,70 1,63PA tắc + NA + PA cuối m, n, ng/nh 2448 12,91 792 11,90 3,79+ p, t, c/ch 816 4,30 380 5,71
11.960 63,08 3667 55,08 19,09
Bảng 9-6.Cac loai hinh âm tiêt co thê đươc hinh thanh vê ly thuyêt va thưc tê
Loại
hìnhTiểu loại Ngang Huyền Ngã Hỏi Sắc Nặng
Tổng
số%
1 Nguyên âm Đơn 9 9 9 9 9 9 54 0,28Đôi 26 26 26 26 26 26 156 0,81Ba 15 15 15 15 15 15 90 0,41
50 50 50 50 50 50 300 1,572 NA + PA cuối
NA đơn + PA cuối m, n, ng/nh 36 36 36 36 36 36 216 1,13+ p,t, c/ch 36 36 72 0,38NA đôi + PA cuối m, n, ng/nh 36 36 36 36 36 36 216 1,13+ p,t, c/ch 36 36 72 0,38NA ba + PA cuối m, n, ng/nh 1 1 1 1 1 1 6 0,03+ p,t, c/ch 1 1 2 0,00
73 73 73 73 146 146 584 3,083 PA + NA
PA mũi + NA 183 183 183 183 183 183 1098 5,67PA bên + NA 47 47 47 47 47 47 282 1,48PA rung + NA 47 47 47 47 47 47 282 1,48PA quặt lưỡi + NA 141 141 141 141 141 141 846 4,46PA xát + NA 387 387 387 387 387 387 3222 12,24PA tắc + NA 277 277 277 277 277 277 1662 8,56
1019 1019 1019 1019 1019 1019 6114 32,254 PA đầu + NA + PA cuối
PA mũi + NA + PA cuối m, n,
ng/nh
272 272 272 272 272 272 1632 2,86
+ p, t, c/ch 272 272 544 2,15PA bên + NA + PA cuối m, n, ng/nh 68 68 68 68 68 68 408 0,71+ p, t, c/ch 68 68 136 2,15PA rung + NA + PA cuối m, n,
ng/nh
68 68 68 68 68 68 408 6,46
+ p, t, c/ch 68 68 136 2,15PA quặt lưỡi + NA + PA cuối m, n,
ng/nh
204 204 204 204 204 204 1224 2,15
+ p, t, c/ch 204 204 408 15,06PA xát + NA + PA cuối m, n, ng/nh 476 476 476 476 476 476 2856 5,02+ p, t, c/ch 476 476 952 12,91PA tắc + NA + PA cuối m, n, ng/nh 408 408 408 408 408 408 2448 4,30+ p, t, c/ch 408 408 816 63,09
1496 1496 1496 1496 2992 2992 11.960 1002668 2668 2668 2668 4262 4262 18.95
8
Bảng 9-7. Sự phân bố thanh điệu trên tổng số âm tiết có khả năng hình thành (18.958)
4.2. Hệ formant cua nguyên âm tiếng Việt
Hệ thống nguyên âm đơn tiếng Việt đã được nhiều nhà nghiên cứu
phân loại và miêu tả bằng phương pháp cảm thụ thính giác truyền thống.
247
Tuy nhiên, nghiên cứu các đặc trưng âm học, trước tiên là formant của
hệ nguyên âm tiếng Việt mới chỉ được các tác giả Nguyễn Văn Ái và Vũ Bá
Hùng đề cập đến lần đầu tiên.
Tác giả Nguyễn Văn Ái (1973, 1974) đã xác định tất cả các formant của
mỗi nguyên âm tiếng Việt và đưa ra một sơ đồ phân bố của các formant. Theo
sơ đồ này, người đọc phải tự tìm giá trị tuyệt đối của mỗi formant đối với mỗi
nguyên âm, tính theo đơn vị Hertz (Hz).
Hai tác giả Nguyễn Văn Ái và Vũ Bá Hùng (1975) đã nghiên cứu và đưa
ra kết quả hai formant quan trọng nhất (Fl và F2) đối với hệ thống nguyên âm
đơn tiếng Việt trong khi so sánh chúng với hệ thống nguyên âm tiếng Đức.
Những tiến bộ và điều kiện kĩ thuật hiện nay, đặc biệt là công nghệ
thông tin cho phép nghiên cứu một cách toàn điện và có hệ thống các đặc
trưng âm học của tiếng Việt nói chung và của các nguyên âm nói riêng phục
vụ các đòi hỏi về lí thuyết và thực tiễn.
Khảo sát lại hệ formant của 9 nguyên âm đơn tiếng Hà Nội nhằm các
mục đích sau:
- Tiếng Hà Nội nói chung hay cách phát âm Hà Nội là tiêu biểu cho
phương ngữ Bắc Bộ. Từ trước đến nay, tiếng Hà Nội vẫn giữ vai trò là ngôn
ngữ toàn dân trong các lĩnh vực: sáng tác văn học, biểu diễn nghệ thuật, dạy
học, sử dụng trên các phương tiện thông tin đại chúng... Việc xây đựng được
một hệ formạnt các nguyên âm đơn theo cách phát âm chuẩn Hà Nội là cơ sở
để tiêp tục nghiên cứu chất lượng các nguyên âm của các phương ngữ khác
trong tiếng Việt và so sánh chúng với nhau nhằm đưa đến những kiến giải âm
vị học.
- Sự phát triển của khoa học kĩ thuật đặc hiệt là công nghệ thông tin đặt
ra nhu cầu phải xử lí tín hiệu âm thanh ngôn ngữ bằng kĩ thuật số.
Chúng tôi đã lựa chọn 10 cộng tác viên (CTV) là người Hà Nội (5 nam
và 5 nữ) trong đó có 6 CTV là phát thanh viên của Đài phát thanh và truyền
hình Hà Nội đọc bảng tư liệu phân tích gồm 9 nguyên âm đơn, dài và có khả
năng đứng độc lập làm âm tiết trong tiếng Việt: /i, e, , , , a, u, o, /
Chúng tôi chủ định nghiên cứu hệ formant của các nguyên âm này trong
bối cảnh độc lập tức là không phụ thuộc vào âm đầu và âm cuối. Do vậy, hai
nguyên âm ngắn / và ă/ chưa được xem xét tới. Mỗi nguyên âm được
248
từng CTV đọc 3 lần (tổng cộng 27 lần đọc cho một bảng tư liệu phân tích đối
với mỗi CTV).
Các CTV được lựa chọn ít nhất đều là thế hệ thứ hai được sinh ra và lớn
lên ở Hà Nội. Cách phát âm của họ được các nhà chuyên môn xác định mang
đặc trưng của giọng Hà Nội.
Việc ghi âm được tiến hành tại phòng bá âm Trung tâm ngữ âm họe thực
nghiệm, Viện ngôn ngữ học và tại phòng thu của Đài phát thanh và truyền
hình Hà Nội bằng máy ghi âm số chuyên dụng MZ - R3 SONY.
Các nguyên âm được phân tích trên máy Sonagraph 5500 của Trung tâm
ngữ âm học thực nghiệm của Viện ngôn ngữ học. Vì các nguyên âm được đọc
độc lập, không bị bối cảnh chi phối nên chúng tôi có thể đo được giá trị tuyệt
đối các formant của từng nguyên âm dựa vào ảnh phổ (spectrogram). Một
nguyên âm có thể có nhiều formant, tuy nhiên chúng tôi chỉ lựa chọn ba
formant cơ bản: F1, F2 và F3 cho mỗi nguyên âm theo cách làm của Lindlom,
B. (1986) và Deterding, D. (1997).
Chúng tôi sử dụng phương pháp thống kê để tính giá trị trung bình của
từng formant trong mỗi nguyên âm đối với mỗi CTV và giá trị formant trung
bình của 9 nguyên âm đơn đối với giọng nam và nữ.
Kết quả nghiên cứu được trình bày thành hai phần:
Các giá trị trung bình của F1, F2 và F3 của các nguyên âm đơn tính bằng
đơn vị Hertz (Hz) theo phương pháp truyền thống (Bảng 1, 2 và 3) - Các giá
trị trung bình của F1 và F2 của các nguyên âm đơn tính bằng đơn vị Bark (xin
xem giải thích ở phần sau) phản ánh độ cảm nhận cao độ chủ quan đối với sự
thay đổi cao độ khách quan của âm thanh (Bảng 4, 5 và 6)
Khái niệm formant lần đầu tiên được nhà vật lí học Hermann, L.(1889)
đưa ra chỉ sự gia tăng về cường độ âm thanh của một hay một nhóm tần số,
tạo nên đặc trưng của mỗi nguyên âm. Những nghiên cứu tiếp tục của các nhà
ngôn ngữ học ngày càng hoàn thiện khái niệm này (Lindblom, B., 1986;
Ladefoged, P. & Maddieson, I., 1990).
Mỗi nguyên âm được xác định bằng hai formant cơ bản: Fl liên quan đến
sự cộng hưởng của khoang sau (khoang họng); F2 liên quan đến sự cộng
hưởng của khoang trước (khoang miệng). Ngoài ra, người ta còn tính được F3
liên quan đến khoang họng và các formant khác. Ngoài Fl và F2 có giá trị khu
249
biệt giữa các nguyên âm với nhau, các formant khác thể hiện sắc thái cá nhân
của người nói.
Dưới đây là kết quả nghiên cứu:
CTV1 CTV2 CTV3 CTV4 CTV5
F1 F2 F3 F1 F2 F3 F1 F2 F3 F1 F2 F3 F1 F2 F3
i 313 2440 3193 290 2220 3220 350 2300 2667 367 2380 3093 260 2473 3193
e 553 2158 2856 427 2200 2713 480 2240 2786 420 2106 3006 520 2020 2566
633 2093 2740 620 2053 2907 660 1947 2406 657 1913 2720 607 2247 2893
380 1303 2580 320 1440 2540 340 1320 2606 293 1533 2266 393 1313 2666
500 1273 2746 400 1453 2353 500 1333 2753 467 1320 2660 440 1393 2497
a 820 1662 2546 960 1840 2660 860 1626 2480 733 1563 3326 906 1620 3280
u 326 666 2840 280 693 2270 351 713 2650 386 706 2730 313 833 2690
o 480 826 3026 420 787 3253 486 826 2826 458 753 3026 447 853 3000
660 1080 2793 553 967 2346 720 1000 2673 713 1067 2658 661 1053 2820
Bảng 9-8. Giá trị trung bình các Formant của 9 NA đơn tiếng Hà Nội do các CTV nam phát âm (đơn vị là Hz)
250
CTV2 CTV3 CTV4
F2 F3 F1 F2 F3 F1 F2 F3 F1 F2 F3
2680 3610 493 2993 3606 480 3030 3570 433 2907 3490
2510 3173 467 2620 3353 467 2600 3327 493 2710 3190
2420 3050 460 2746 3387 455 2530 3380 560 2510 3213
1340 2787 500 1280 3310 487 1390 3320 440 1253 3044
1467 2727 480 1293 3340 554 1467 3440 420 1267 3160
1490 3060 940 1660 3050 960 1550 2813 950 1847 2500
660 480 720 980 500 767 453 890
840 3140 480 940 3300 467 940 3370 467 850 3190
1000 3190 500 894 2700 700 1140 2400 700 1110 3300
Bảng 4.5- Giá trị trung bình các formant của 9 nguyên âm đơn tiếng Hà
Nội do các CTV nữ phát âm (đơn vị là Hz)
NAM NỮ
F1 F2 F3 F1 F2 F3
i 316 2363 3073 453 2914 3539
e 480 2145 2785 465 2608 3257
635 2050 2733 506 2560 3222
345 1382 2532 460 1298 3044
461 1354 2602 488 1379 3149
a 856 1662 2858 950 1669 2813
u 331 722 2690 468 759
o 458 809 3026 480 915 3210
661 1033 2658 654 1070 3134
Bảng 4.6- Các giá trị trung bình của F1, F
Nhận xét:
- Sự khác biệt về cao độ của các formant giữa giọng nam và giọng nữ
như là một tất yếu vì tần số cơ bản của giọng nữ luôn cao hơn giọng nam và
có thể các khoang cộng hưởng của họ có thể tích nhỏ hơn là của nam giới.
- Đối với hầu hết các giọng nữ mà chúng tôi nghiên cứu, việc xác định
F1 và F2 của các nguyên âm dòng sau tròn môi là tương đối khó khăn. Nhiều
trường hợp không tìm được F3 vấn đề này cũng được nhiều nhà nghiên cứu
nước ngoài đề cập đến (Iivonen, A., 1992; Deterding, D., 1997).
Các formant đã đuợc trình bày tính bằng đơn vị Hz mang tính chất khách
quan, nhưng về phương diện cảm thụ, thì việc nhận thấy sự khác biệt về cao
251
độ lại mang tính chất chủ quan, không hoàn toàn tương ứng với cao độ khách
quan, ví dụ: Ở tần số thấp, người nghe cảm nhận được sự thay đổi cao độ từ
600 Hz đến 700 Hz, nhưng ở tần số cao, một cảm nhận tương tự chênh nhau
tới 250 Hz, chẳng hạn từ 3500 Hz đến 3750 Hz (Ladefoged, P., 1999, tr. 79).
Để xác định sự tương quan giữa cao độ khách quan (đơn vị Hz) và sự
cảm nhận cao độ chủ quan, các đơn vị Mel hay Bark (có thể gọi là gam thính
học) được các nhà khoa học nêu ra thông qua các thí nghiệm tâm lí - âm học:
- Tỉ lệ Mel giữa F1 và F2 (Peterson & Barney, 1952; Ladefoged, 1975;
Bladon & Fant 1978; Wright, 1986).
- Tỉ lệ Bark giữa F1 và F2 (Traunmüller, 1976, 1981; Iivonen, 1987,
1989, 1992; Zwicker & Terhardt, 1980).
Mối tương quan giữa ba đơn vị Hz, Mel và Bark được Peter Ladefoged
trình bày như bảng dưới đây:
Tần số đo bằng Cao độ đo bằng Tần số đo bằng Cao độ đo bằng
Hz Mels Hz Bark
20 0 20 0
160 250 100 1
394 500 200 2
670 750 800 3
1.000 1000 400 4
1420 1250 510 5
1900 1500 630 6
2450 1750 770 7
3120 2000 920 8
4000 2250 1080 9
1270 10
1480 11
1720 12
2000 13
2820 14
2700 15
252
3150 16
8700 17
4400 18
(Ladefoged, 1975, tr. 81)
Dưới đây chúng tôi trình bày mối quan hệ giữa F1 và F2 của hệ nguyên
âm tiếng Hà Nội trong mối tương quan giữa đơn vị Hertz và Bark:
Hình 4.1- Giá trị trung bình của Fl và F2 của các nguyên âm đơn giọng
nam
Hình 4.2- Giá trị trung bình của Fl và F2 của các nguyên âm đơn giọng
nữ
Nhận xét:
Căn cứ vào các hình 4.1 và 4.2 có thể rút ra nhận xét: có sự khác biệt khá
xa về khoảng cách gam thính học tính theo đơn vị Bark giữa hai giọng nam và
nữ:
253
- Đối với giọng nam, khoảng cách các nguyên âm về độ mở tính theo Fl
tương đối đều đặn tạo thành một tam giác nguyên âm hài hoà (Tần số của F1
liên quan đến khoang họng. Kết quả nêu trên chứng tỏ, đối với giọng nam khi
phát âm các nguyên âm, sự thay đổi thể tích của khoang họng là khá rõ ràng.
Ngược lại, đối với giọng nữ, trừ nguyên âm /a/, các nguyên âm còn lại có
F1 rất gần nhau. Điều đó chứng tỏ khoang họng, ở giọng nữ, khi phát âm các
nguyên âm còn lại không có sự thay đổi lớn về thể tích. Sự khác biệt giữa các
nguyên âm chỉ thể hiện rõ ở F2 tức là sự thay đổi thể tích của khoang miệng.
Trong thực tế, khi phân tích các giọng nữ, rất ít CTV có F3 ở các nguyên
âm dòng sau tròn môi. Trong khi đó ở các CTV nam có thể tìm được cả F4 Ở
các nguyên âm này.
Như chúng tôi đã trình bày, vấn đề formant của nguyên âm tiếng Việt đã
được tác giả Nguyễn Văn Ai lần đầu tiên bàn tới (1973, 1974).
Tác giả đã dùng Sonagraph để nghiên cứu formant của 11 nguyên âm (có
hai nguyên âm ngắn) trên 3 CTV (1 nữ, 2 nam). Số lượng CTV cho nghiên
cứu, theo chúng tôi, là còn ít. Mặt khác, tác giả không nói rõ CTV là người
vùng nào. Về kết quả, tác giả chỉ nêu ra vùng tần số của nguyên âm /a/ là từ
800 Hz đến 1300 Hz; còn formant của các nguyên âm khác chỉ được tnnh bày
dưới dạng một sơ đồ phân bố (Nguyễn Văn Ái, 1974, tr.37).
Hai tác giả Nguyễn Văn Ái và Vũ Bá Hùng tiếp tục nghiên cứu về
formant của nguyên âm tiếng Việt ở 10 CTV (5 nam, 5 nữ) trong bài viết tiếp
theo (1975). Vấn đề đáng bàn là các tác giả cũng không xác định rõ CTV là
người vùng nào. Thực tế cho thấy chất lượng của các nguyên âm thuộc các
vùng phương ngữ khác nhau ở Việt Nam là rất khác biệt. Mặt khác, trong
phần kết quả, các tác giả cũng không phân biệt hai giá trị formant của giọng
nam và giọng nữ; đồng thời giá trị của F1 và F2 của các formant được eông
bố là một dải tần số khá rộng.
Những kết quả nguyên cứu về hệ formant của 9 nguyên âm đơn tiếng Hà
Nội đọc tách rời mà chúng tôi đã trình bày đã giới hạn phạm vi nghiên cứu là
các CTV người Hà Nội và kết quả nghiên cứu được tính theo giới tính. Việc
trình bày giá trị khách quan của formant tính bằng Hz trong mối tương quan
với giá trị cảm nhận tính bằng đơn vị Bark cho phép chúng tôi đưa ra các nhận
xét về sự phân bố của hệ thống nguyên âm đơn tiếng Hà Nội. Đây sẽ là cơ sở
254
để chúng tôi tiếp tục nghiên cứu các formant này trong chuỗi lời nói liên tục
cũng như các nguyên âm có sự tác động của thanh điệu. Các đặc trưng âm học
khác của tiếng Việt được nghiên cứu theo trình tự âm tố (nguyên âm, phụ âm),
âm tiết bao gồm cả thanh điệu và chuỗi lời nói góp phần làm sáng tỏ đặc điểm
đơn lập của tiếng Việt.
4.3. Môt sô vân đê vê phu âm tiêng Viêt hiên đai
4.3.1. Đặt vấn đề
Trong tiếng Việt hiện đại, phụ âm có một vai trò đặc biệt quan trọng,
làm thành một chỉnh thể âm thanh được phát âm tự nhiên nhất: âm tiết. Phụ
âm tiếng Việt có các đặc điểm:
a) Về vị trí, phụ âm đứng ở 2 vị trí trong âm tiết: Mở đầu hoặc kết thúc
âm tiết;
b) Về mặt cấu trúc, phụ âm tiếng Việt đều là các phụ âm đơn, không có
tổ hợp phụ âm.
Về mặt lịch sử, phụ âm có liên quan đến lịch sử hình thành hệ thống
thanh điệu tiếng Việt. Chính sự chuyển đổi của phụ âm (và có thể một phần
của nguyên âm) nên đã làm nảy sinh và phân chia hệ thanh điệu Việt ra thành
hai vùng âm vực cao, thấp, tạo thành 6 thanh điệu ( hoặc 8 thanh điệu) như
hiện nay. Ở địa hạt này, có thể nói việc nghiên cứu phụ âm và mối quan hệ
của nó với các thành tố ngữ âm khác có một ý nghĩa cực kì quan trọng vì nó
liên quan đến đặc điểm loại hình học đơn lập của tiếng Việt. Đồng thời, kết
quả nghiên cứu phụ âm tiếng Việt cũng có đóng góp không nhỏ vào việc
nghiên cứu các ngôn ngữ cùng loại hình nói chung trong khu vực.
Về một phương diện nào đó, phụ âm tiếng Việt hiện nay đang có một số
vấn đề mang tính thời sự đặt ra cho các nhà ngữ âm học và cho ngành giáo
dục học, là:
a) Vấn đề sự chuyển đổi ( giảm dần) của hệ thống phụ âm đầu ở phương
ngữ Bắc, tiêu biểu là hiện tượng /l/-/n/ bên cạnh các hiện tượng khác như
/c/-//, /s/-//, /z/-//-/r/;
b) Vấn đề giảm bớt số lượng của hệ thống phụ âm cuối của các phương
ngữ khác.
255
Từ đặc điểm phương ngữ của hệ thống phụ âm đến vấn đề chuẩn hoá
chúng trong xã hội nói chung, đặc biệt là đối với giáo dục tiếng Việt trong
nhà trường đã đòi hỏi tính cấp bách của việc nghiên cứu phụ âm và việc đề
xuất các giải pháp chuẩn hoá.
Việc chọn được một tiếng địa phương chuẩn (trong đó có hệ thống phụ
âm chuẩn) để nghiên cứu chúng ở góc độ thực nghiệm, xác định các thông số
âm học phục vụ cho công nghệ tổng hợp và nhận dạng tiếng Việt trong công
nghệ thông tin càng đòi hỏi các nhà ngữ âm học tiếng Việt phải quan tâm. So
với các thành tố ngữ âm khác, trong ngữ âm học thế giới hiện vẫn chưa có
một bộ đơn vị để xác định phụ âm ở góc độ âm học. Do đó, việc miêu tả, xác
định từng phụ âm ở góc độ âm học là một thách thức to lớn đối với các nhà
ngữ âm học tiếng Việt.
Từ những vấn đề đặt ra, cho nên chúng tôi tiến hành nghiên cứu hệ thống
phụ âm tiếng Việt ở hai góc độ: a) Theo truyền thống, miêu tả phụ âm ở góc
độ sinh lí cấu âm; b) Xác định các thông số âm học của các phụ âm. Mỗi góc
độ đòi hỏi chúng tôi phải có những phương pháp nghiên cứu riêng. Và sở dĩ
chúng tôi tiến hành nghiên cứu phụ âm ở hai góc độ khác nhau vì kết quả đạt
được ở mỗi góc độ có thể bổ sung lẫn cho nhau, cái này làm tiền đề cho cái
kia và ngược lại. Mục đích cuối cùng là đưa ra được một cách xác định các
phụ âm khác nhau ở góc độ âm học và trên cơ sở đó làm cơ sở cho việc mô tả
âm vị học các phụ âm.
Chúng tôi cũng trình bày một vấn đề về hệ thống phụ âm tiếng Việt là:
việc nghiên cứu phụ âm tiếng Việt ở góc độ sinh lí cấu âm đã được rất nhiều
chuyên gia ngữ âm học nghiên cứu và đã có lịch sử lâu dài. Do đó, ở lĩnh vực
này, kết quả nghiên cứu phụ âm thành công hơn nhiều so với ở lĩnh vực kia.
Vì thế, chúng tôi sẽ kế thừa một cách tối đa những thành tựu nghiên cứu phụ
âm của các học giả đi trước. Thứ hai, việc nghiên cứu và mô tả phụ âm tiếng
Việt ở góc độ ngữ âm học thực nghiệm hiện vẫn chưa có một công trình
nghiên cứu nào, do chỗ chưa có một bộ đơn vị để xác định chúng khiến cho
việc nghiên cứu chúng ở góc độ này làm ngại ngùng các nhà ngữ âm học nói
chung. Vì vậy, về phương diện này, chúng tôi sẽ phải “phát huy” tối đa những
quan sát kĩ lưỡng để có thể có kết quả tin cậy cho công nghệ tổng hợp và nhận
dạng tiếng Việt. Có thể nói, đây là toàn bộ công sức và là những đóng góp
256
của chúng tôi. Tuy nhiên, chúng tôi không đặt hi vọng nhiều vào việc kết quả
nghiên cứu về phụ âm của chúng tôi là “chính xác” hoàn toàn, vì đây mới chỉ
là cố gắng bước đầu mà thôi. Rất cần sự thảo luận từ các chuyên gia ngữ âm
học cũng như các kĩ sư lập trình tiếng Việt.
4.3.2. Phương pháp
Để xác định số lượng và chất lượng của các phụ âm ở mỗi góc độ nghiên
cứu khác nhau, chúng tôi dựa vào những cơ sở sau đây:
4.3.2.1 Nguồn ngữ liệu
Chúng tôi chọn 10 cộng tác viên (CTV), gồm 5 nam và 5 nữ để cung cấp
tư liệu. Các CTV được yêu cầu đọc 1 bảng từ thử được chúng tôi thiết kế sẵn
có chứa tất cả các phụ âm tiếng Việt. Ngữ liệu đọc của các CTV được ghi thu
vào máy tính và được xử lí, phân tích.
4.3.2.2 Phương pháp cảm thụ thính giác
Để xác định số lượng và chất lượng các phụ âm ở góc độ sinh lí cấu âm,
chúng tôi sử dụng phương pháp cảm thụ thính giác. Đây là một phương pháp
truyền thống dùng trong mô tả các phụ âm cũng như các nguyên âm và các
yếu tố ngữ âm khác của các thứ tiếng nói chung. Cái mới trong việc sử dụng
phương pháp này là thủ pháp đối lập trong việc miêu tả. Toàn bộ dữ liệu của
từng phụ âm đều được nghe trong sự đối lập với các phụ âm khác trong hệ
thống. Cụ thể chúng tôi đã sử dụng các tiêu chí sau đây trong khi xác định các
phụ âm:
- Vị trí cấu âm (từ hai môi trở vào trong đến thanh hầu)
- Phương thức cấu âm (gồm: tắc, xát, tắc xát, rung)
- Thanh tính: hữu thanh/ vô thanh
- Bật hơi: bật hơi/ không bật hơi
4.3.2.3 Phương pháp thực nghiệm
Chúng tôi quan sát và phân tích các phụ âm ở hai phương diện khác
nhau: a) dạng sóng (waveform) với sự hậu thuẫn từ việc quan sát ảnh phổ
(spectrum) và; b) diễn tiến của từng phụ âm theo thời gian (đo bằng mili giây
- ms). Do đó, chúng tôi chủ yếu tập trung vào việc mô tả diễn tiến của phụ
âm theo thời gian bằng ms. Đây cũng là kết nghiên cứu chính của chúng tôi
về phụ âm ở góc độ thực nghiệm.
257
4.3.3. Giới hạn
Vì tiếng Việt có nhiều phương ngữ và thổ ngữ khác nhau cho nên chúng
tôi tự giới hạn phạm vi nghiên cứu của chúng tôi là phương ngữ Bắc, cụ thể là
tiếng Hà Nội bằng cách chọn các CTV là những người sinh ra và lớn lên ở Hà
Nội. Do đó, những kết quả nghiên cứu về phụ âm được trình bày là của tiếng
Hà Nội.
4.3.4. Kết quả
4.3.4.1. Hệ thống phụ âm đầu
Có thể trình bày hệ thống phụ âm đầu tiếng Hà Nội gồm 19 phụ âm
bằng bảng khái quát dưới đây:
định
vị
M
ôi
đầu lưỡi M
ặt
lưỡi
G
ốc
lưỡi
T
hanh
hầuphương thức b
ẹt
q
uặt
T
ắc
ồ
n
Bật hơi t
’
K
hông
bật hơi
V
ô
thanh
p t c k
H
ữu
thanh
b d
Vang (mũi) m n
X
át
ồ
n
V
ô
thanh
f s h
H
ữu
thanh
v z
Vang (bên) l
Bang 4.7- Danh sach phu âm đâu tiêng Ha Nôi
258
So với các tác giả khác, sơ đồ hệ thống phụ âm đầu của chúng tôi có một
vài điểm cần được giải thích.
- Trong hệ thống phụ âm đầu tiếng Hà Nội tồn tại phụ âm [p] mà theo
các tác giả khác cho là chưa nhập hệ. Trong thực tế tiếng Hà Nội cũng như
tiếng Việt nói chung các từ tượng thanh như pằng pằng... (tiếng súng nổ);
nhân danh hay địa danh các ngôn ngữ dân tộc ở Việt Nam như Plâycu, Sa
pa...hay những từ nhập ngoại điển hình như: pin, pê - nê - xi - lin...đã được
người nói sử dụng phổ biến.
- Trong quan điểm của mình, tác giả Đoàn Thiện Thuật có đề cập đến âm
tắc thanh hầu []. Thực tế khi phát âm các nguyên âm về nguyên tắc hai dây
thanh ở thanh hầu phải khép lại để sau đó bật ra tạo nên dao động của dây
thanh được gọi là tần số cơ bản. Do vậy đó chỉ là những hoạt động tự nhiên
của dây thanh khi tạo ra nguyên âm. Mặt khác hiệu quả âm học này được tạo
ra ở thanh hầu là vị trí của các hiện tượng tạo âm (phonation) khác với các vị
trí tạo ra phụ âm hay nguyên âm ở bộ phận cấu âm (articulation). Do vậy
chúng tôi không xem [] là một phụ âm trong tiếng Hà Nội.
Mô tả các phụ âm đầu tiếng Hà Nội
a- [p]/ [b] là hai phụ âm môi, tắc đối lập với nhau về thanh tính: vô
thanh/ hữu thanh
b- [t]/ [d] là hai phụ âm đầu lưỡi - răng, tắc đối lập với nhau về thanh
tính: vô thanh/ hữu thanh.
c- [c] là một phụ âm lưỡi giữa - ngạc cứng, tắc vô thanh
d- [k] là một phụ âm gốc lưỡi - ngạc mềm, tắc vô thanh
đ- [f]/ [v] là phụ âm môi - răng, xát đối lập với nhau về thanh tính: vô
thanh/ hữu thanh.
e- [s]/ [z] là phụ âm đầu lưỡi răng, xát đối lập với nhau về thanh tính: vô
thanh/ hữu thanh.
f- [] / [] là phụ âm gốc lưỡi - ngạc mềm, xát đối lập với nhau về
thanh tính: vô thanh/ hữu thanh.
g- [m] là phụ âm môi, mũi và luôn là phụ âm hữu thanh.
h- [n] là phụ âm đầu lưỡi - răng, mũi và luôn là phụ âm hữu thanh.
259
i- [] là phụ âm mặt lưỡi giữa - ngạc cứng, mũi và luôn là phụ âm hữu
thanh.
k- [] là phụ âm gốc lưỡi - ngạc mềm, mũi và luôn là phụ âm hữu thanh
l - [t’] là phụ âm đầu lưỡi - răng, bật hơi duy nhất trong hệ thống phụ âm
đầu tiếng Hà Nội, vô thanh
m- [l] là phụ âm đầu lưỡi - răng, xát bên, hữu thanh.
n- [h] là phụ âm xát họng: nó được tạo ra do luồng hơi từ phổi đi ra xát
vào thành họng, vô thanh.
4.3.4.2. Mô tả hệ thống phụ âm cuối tiếng Hà Nội
Đặc điểm chung của các ngôn ngữ đơn lập có thanh điệu là âm tiết có
cấu trúc rất chặt chẽ và số lượng phụ âm cuói có hạn nhưng luôn tạo thành thế
dối lập bền vững.
Xét về mặt ngữ âm, hệ thống phụ âm cuối tiếng Hà Nội gồm 8 phụ âm
đối lập theo hai tiêu chí: vị trí cấu âm và phương thức cấu âm. Bản thân sự
khác biệt về phương thức của các phụ âm này đã tạo nên sự đối lập về thanh
tính: Các phụ âm cuối mũi là hữu thanh còn các phụ âm cuối tắc luôn là vô
thanh. Các phụ âm tắc cuối làm cho âm tiết chỉ có thể kết hợp được với hai
thanh: “sắc” và “nặng”. Các phụ âm cuối trong tiếng Hà Nội được trình bày
như sau:
Vị trí
Phương thức
MôiĐầu
lưỡi - răng
Mặt
lưỡi - ngạc
cứng
Gốc
lưỡi - ngạc
mềm
Mũi m n
Tắc p t c k
a- [m]/ [p] là các phụ âm môi chỉ đối lập với nhau về phương thức: mũi
và tắc.
b- [n]/ [t] là các phụ âm đầu lưỡi - răng chỉ đối lập với nhau về phương
thức: mũi và tắc.
c- []/ [c] là các phụ âm mặt lưỡi giữa - ngạc cứng chỉ đối lập với nhau
về phương thức: mũi và tắc.
260
d- []/ [k] là các phụ âm gốc lưỡi - ngạc mềm chỉ đối lập với nhau về
phương thức: mũi và tắc.
Về mặt âm vị học thì các phụ âm []/ [c] và []/ [k] có thể chỉ được
xem là các biến thể của hai âm vị duy nhất /// /k/ vì chúng ở vào thế phân
bố bổ túc khi kết hợp với các nguyên âm. Tuy nhiên, về đặc trưng ngữ âm thì
đó là những âm tố có hiệu quả âm học hoàn toàn khác nhau cần phải được
phân loại và mô tả.
4.3.4.3. Phụ âm tiếng Việt ở góc độ âm học
Mỗi một phụ âm trong một âm tiết tách rời đều được từng CTV phát âm
3 lần. Trường độ của mỗi lần đọc một phụ âm sẽ được xác định một cách chi
tiết ở phần phụ lục. Ở đây chúng tôi chỉ đưa ra trường độ trung bình của từng
phụ âm do mỗi CTV phát âm. Từ đó, có thể khái quát trường độ trung bình
của mỗi phụ âm ở từng giới: trung bình nam và trung bình nữ. Trật tự các phụ
âm phân loại theo trường độ sẽ được chúng tôi thực hiện ngay sau đây ( số
liệu cụ thể xem phần phụ lục):
a. Trường hợp [p]
- [p] có độ dài trung bình khoảng 28 ms (giọng nam), và khoảng 27 ms
(giọng nữ).
b. Trường hợp [t]
- [t] có độ dài trung bình khoảng 24ms (giọng nam), và 28ms (giọng nữ).
c. Trường hợp [k]
- [k] có trường độ trung bình khoảng 24ms (giọng nam), 24 ms (giọng nữ).
d. Trường hợp [b]
- [b] có độ dài trung bình khoảng 78 ms (giọng nam), và 81 ms (giọng nữ).
đ. Trường hợp [d]
- [d] có trường độ trung bình khoảng 98ms (giọng nam), 100ms (giọng nữ).
e. Trường hợp [ ]
- [] có trường độ trung bình khoảng 100ms (giọng nam), 112ms (giọng
nữ)
Như vậy, các cặp phụ âm trên tuy cùng vị trí cấu âm và khác nhau về thế
đối lập vô thanh/ hữu thanh tạo nên sự khác biệt khá lớn về trường độ: Các
261
phụ âm vô thanh ngắn hơn hẳn các phụ âm hữu thanh tương ứng. Nếu tính
trung bình của từng nhóm, có thể thấy các phụ âm vô thanh chỉ bằng khoảng
28% so với các phụ âm hữu thanh (giọng nam): so sánh 76ms và 276ms; và
bằng khoảng 27% (giọng nữ): so sánh 79ms và 293ms.
Bây giờ chúng ta xét đến các trường hợp các phụ âm mũi cùng vị trí với
các phụ âm trên là [m], [n], [] để xem có sự khác nhau về trường độ hay
không giữa chúng do ảnh hưởng của phương thức cấu âm và nét thanh tính
can thiệp.
h. Trường hợp [m]
- [m] có trường độ trung bình khoảng 97ms (giọng nam) và 87ms (giọng
nữ).
i. Trường hợp [n]
- [n] có trường độ trung bình khoảng 97 ms (giọng nam), 101 ms (giọng nữ)
k. Trường hợp [ ]
- [] có trường độ trung bình khoảng 112ms (giọng nam), 104 ms
(giọng nữ)
So sánh các nhóm phụ âm trên với nhau chúng ta có thể thấy được rằng
nhóm các phụ âm mũi khác xa với các phụ âm kia về trường độ (đối với giọng
nam). Tuy nhiên, tình hình có khác trong trường hợp giọng nữ. Trường độ
trung bình của nhóm âm mũi rất gần với trường độ của các phụ âm [b, d, ]
(so sánh 292 ms và 293 ms). Do đó, để phân biệt được 2 nhóm phụ âm này
với nhau trong nhận dạng tự động đã phải gặp rất nhiều khó khăn. Tình hình
đó chúng tôi đã phải dựa thêm vào nhiều tiêu chí khác ngữ âm khác của phụ
âm.
l. Trường hợp [ ]
- [] có trường độ trung bình khoảng 82,6 ms (giọng nam), 100 ms
(giọng nữ)
m. Trường hợp [c]
- [c] có trường độ trung bình khoảng 64,5 ms (giọng nam), 65 ms (giọng
nữ)
n. Trường hợp [f]/ [v]
262
- [f] có trường độ trung bình khoảng 132,5 ms (giọng nam), 138,5 ms
(giọng nữ)
- [v] có trường độ trung bình khoảng 110 ms (nam), 115 ms (nữ)
[f]/ [v] là các phụ âm môi-răng, xát đối lập với nhau về thanh tính. Sự có
mặt của nét hữu thanh ở [v] không làm cho trường độ của nó dài hơn mà còn
làm cho nó ngắn hơn so với phụ âm tương ứng vô thanh. Đây là một trường
hợp đặc biệt, khác với sự có mặt của nét hữu thanh ở các phụ âm khác. Từ
đây, chúng tôi coi [v] phải được xếp vào nhóm phụ âm vô thanh.
o. Trường hợp [s]/ [z]
- [s] có trường độ trung bình khoảng 108,9 ms (nam), 166,7 ms (nữ)
- [z] có trường độ trung bình khoảng 128,4 ms (nam), 122,7 ms (nữ)
Đây giống như trường hợp [f]/ [v].
Như vậy, nhóm các phụ âm xát, vô thanh [f, s, c] có trường độ tương đối
lớn, hơn hẳn so với các phụ âm xát hữu thanh tương ứng.
ô. Trường hợp [ ]
- [] có trường độ trung bình khoảng 147,1 ms (nam), 137,3 ms (nữ)
p. Trường hợp [ t’ ]
- [t’] có trường độ trung bình khoảng 57 ms (nam), 65 ms (nữ)
Đây là một phụ âm bật hơi duy nhất trong hệ thống phụ âm đầu tiếng
Việt. Căn cứ vào trường độ có thể xếp nó gần với các phụ âm [b, d, ].
q. Trường hợp [l]
- Đây là một phụ âm xát bên duy nhất trong hệ thống. [l] có trường độ
trung bình khoảng 102,7 ms (nam), 100,5 ms (nữ). Căn cứ vào trường độ của
[l] chúng ta có thể khẳng định đây là một phụ âm xát chính danh vì nó rất gần
gũi với các phụ âm xát khác trong hệ thống.
Tuy nhiên, có một thực tế đối với [l] ở phương ngữ Bắc tiếng Việt là nó
rất dễ bị nhầm lẫn với [n] trong phát âm (và đa số các trường hợp các âm tiết
có [l] đều được phát âm thành [n]). Trường độ của hai phụ âm này tương đối
gần nhau (so sánh 102,7 ms của [l] với 97 ms của [n] ở giọng nam, 100,5 ms
của [l] với 101 ms của [n] ở giọng nữ). Để khắc phục tình trạng này, trước
263
mắt, theo chúng tôi, khi tiến hành nhận dạng giọng nói cá nhân, cần chọn các
cộng tác viên phát âm phân biệt hai phụ âm đầu này.
s. Trường hợp [h]
- [h] có trường độ trung bình khoảng 99,2 ms (nam), 85 ms (nữ).
4.3.4.4.Trường độ các phụ âm cuối
Danh sách các phụ âm cuối đã được chúng tôi đưa ra ở phần trên (mô tả
các phụ âm cuối ở góc độ phát âm). Dưới đây là trường độ của từng phụ âm.
a. Trường hợp [m]/ [p]
- [m] có trường độ trung bình khoảng 196,7 ms (nam), 192 ms (nữ)
- [p] có trường độ trung bình khoảng 23,7 ms (nam), 18,8 ms (nữ)
b. Trường hợp [n]/ [t]
- [n] có trường độ trung bình khoảng 207,3 ms (nam), 194,7 ms (nữ)
- [t] có trường độ trung bình khoảng 22,9 ms (nam), 18,4 ms (nữ)
c. Trường hợp [ ]/ [k]
- [] có trường độ trung bình khoảng 240,4 ms (nam), 210,5 ms (nữ)
- [k] có trường độ trung bình khoảng 21,4 ms (nam), 22,6 ms (nữ)
d. Trường hợp [ ]/ [c]
- [] có trường độ trung bình khoảng 248,8 ms (nam), 233,6 ms (nữ)
- [c] có trường độ trung bình khoảng 20,8 ms (nam), 19,7 ms (nữ)
So sánh trường độ của nhóm các phụ âm tắc, hữu thanh với các phụ âm
tắc vô thanh chúng ta thấy trường độ các phụ âm tắc hữu thanh lớn hơn rất
nhiều so với các phụ âm tắc vô thanh tương ứng theo từng cặp đôi một. Vì
trường độ của các phụ âm cuối tắc, vô thanh ngắn như vậy, cho nên việc nhận
dạng chúng gặp rất nhiều khó khăn. Nhiều khi chúng chỉ như là một ấn tượng
tắc chứ không hẳn là phụ âm tắc chính danh. Sự xác định chúng phải dựa vào
nhiều yếu tố khác của các yếu tố đứng trước nó.
264
4.3.5. Kết luận
Chúng tôi đã miêu tả và phân tích phương diện sinh lí cấu âm của các
phụ âm tiếng Hà Nội cũng như các thông số âm học cụ thể là độ dài của hệ
thống phụ âm tiếng Hà Nội đã được đo đạc, các thông số được xử lí và đánh
giá khách quan.
a- Trên phương diện sinh lí cấu âm, phụ âm là sự tổng hoà của các yếu tố:
- Sự tham gia của các cơ quan cấu âm.
- Vị trí tiếp xúc chủ yếu của các cơ quan cấu âm.
- Mức độ lỏng, chặt của sự tiếp xúc giữa các cơ quan cấu âm.
- Cách giải toả luồng hơi cấu âm.
b- Trên phương diện âm học, thì giá trị trường độ là quan trọng nhất góp
phần phân loại hệ thống phụ âm và xác định chúng thuộc vào các nhóm:
- Phụ âm tắc
- Phụ âm xát
- Phụ âm mũi, vang và bên của tiếng Hà Nội
Chúng tôi rút ra một số kêt luận sau:
4.3.5.1. Về các phụ âm đầu
Các phụ âm đầu được phân tích và miêu tả về mặt sinh lí - cấu âm theo
trình tự vị trí từ phía ngoài nhích vào phía trong.
Khi cấu âm các phụ âm môi, hoạt động của hai môi (môi dưới bao giờ
cũng tích cực hơn môi trên) là cơ bản và luôn kèm theo sự rụt rè về sau của
lưỡi.
Sự tham gia của lưỡi vào việc cấu âm các phụ âm đầu tiếng Việt cho
thấy hoạt động của lưỡi trước là hoạt động chủ yếu để cấu tạo các phụ âm đầu
(7/19 âm). Do đó số lượng của các phụ âm lưỡi trước chiếm một tỉ lệ đáng kể.
Các tác giả đi trước mới chỉ ra được một (đầu lưỡi) trong hai bộ phận
của lưỡi trước (đầu lưỡi và vành lưỡi) tham gia vào việc cấu âm. Đối với
những tác giả này, các âm lưỡi trước chính là âm đầu lưỡi. Chúng tôi khẳng
định, không chỉ đầu lưỡi mà ngay cả vành lưỡi cũng tham gia vào hoạt động
cấu âm. Nói cách khác, các âm lưỡi trước bao gồm cả vành lưỡi và cả âm đầu
265
lưỡi. Hai bộ phận này là hai khí quan phát âm linh động nhất, gần như không
có phương thức cấu âm nào là nó không tham gia.
Tính căng, lơi của cơ có ảnh hưởng đến vị trí cấu âm của các phụ âm.
Trong cùng một nhóm cùng một phương thức cấu âm nhưng các âm căng bao
giờ cũng có vị trí cấu âm trước hơn các âm lơi, chẳng hạn trong các âm tắc
vành lưỡi [t, d, n, t‘] thì [t] có vị trí cấu âm ở trước nhất [n] có vị trí cấu âm ở
sau nhất. Trong các âm xát đầu lưỡi thì [] có vị trí cấu âm ở sau hơn [k] và
[x] lại có vị trí cấu âm ở sau hơn []...
Mức độ tiếp xúc lỏng , chặt giữa các khí quan phát âm hay mức độ hoạt
động của các cơ trong quá trình cấu âm đều có quan hệ trực tiếp với thanh
tính của các phụ âm. Có thể nhận xét một cách khái quát rằng, những phụ âm
có cấu âm căng là những phụ âm vô thanh, những phụ âm có cấu âm lơi là
những phụ âm hữu thanh.
Ơ các phụ âm tắc, độ mở của hàm, của miệng và độ nâng của lưỡi
thường lớn hơn các phụ âm xát cùng vị trí tương ứng, vậy phải chăng các
thông số cấu âm này có liên quan đến phương thức cấu âm: Việc tạo khe xát
(tiếng xát) của các phụ âm xát không cần đến độ mở hàm, độ mở miệng và độ
nâng của lưỡi lớn như khi tạo tiếng nổ của các phụ âm tắc [] các độ mở nói
trên (hàm và miệng) cũng lớn dần từ âm đầu lưỡi trước đến âm lưỡi giữa, lưỡi
sau. Điều đó chứng tỏ, cấu âm càng sâu thì độ mở của miệng của hàm càng
lớn.
4.3.5.2. Về các phụ âm cuối
Ngoại trừ hai phụ âm môi [-p, -m] các phụ âm cuối còn lại đều là âm
lưỡi. Sự hoạt động cân đối các bộ phận của lưỡi, đã tạo nên sự cân đối của các
phụ âm cuối. Nói cách khác, ta có hai phụ âm cuối lưỡi trước, hai phụ âm
cuối lưỡi giữa và hai phụ âm cuối lưỡi sau. Về mặt cấu âm, các âm này đã tạo
thành những cặp đồng vị.
về mặt cấu âm, các cặp “ đồng vị” quả là những âm có cùng vị trí cấu âm
[-p] và [-m] là các cặp âm cuối môi - môi
[-t] và [-n] là các cặp âm cuối lưỡi trước (vành lưỡi)
[-c] và [-] là các cặp âm cuối giữa (mặt lưỡi)
[-k] và [-] là các cặp âm cuối lưỡi sau (gốc lưỡi)
266
Về phương thức cấu âm, các cặp âm cuối đồng vị đều là những phụ âm
tắc nhưng là những phụ âm tắc ngậm. Nói cách khác các âm cuối đều là
những âm mạnh đầu. Đây là đặc điểm đáng lưu ý của tiếng Việt và các ngôn
ngữ cùng loại hình, khác với phụ âm cuối của các ngôn ngữ ấn âu.
Sự hoạt động của dây thanh và ngạc mềm đã tạo nên thế tương liên về
thanh tính ở từng cặp âm cuôí, một bên là các phụ âm vô thanh, một bên là
các phụ âm vang mũi.
Tương tự như ở các phụ âm đầu, thế tương liên về mức hoạt động cấu
âm của cơ, tức thế tương liên căng lơi ở từng cặp âm cuối đồng vị đều tương
ứng với thế tương liên về thanh tính.
Cùng với chức năng khác nhau trong cấu trúc âm của âm tiết, các thông
số cấu âm của phụ âm đầu và phụ âm cuối cho thấy, nhìn chung các phụ âm
cuối có độ mở của hàm của miệng, độ nâng của lưỡi lớn hơn so với các phụ
âm tương ứng. Các số liệu này càng chứng tỏ các phụ âm đầu và các phụ âm
cuối thuộc hai hệ thống phụ âm khác nhau chứ không phải cùng một hệ thống.
Phải chăng đây là nét riêng đặc trưng cho phương diện sinh lí cấu âm của các
phụ âm không chỉ trong tiếng Việt mà trong các ngôn ngữ cùng loại hình - các
ngôn ngữ đơn lập.
Như đã biết, trong tiếng Việt , phụ âm là yếu tố đi kèm, được phân bố
chặt chẽ trong cấu trúc của âm tiết, do đó nó có ý nghĩa lớn đối với sự tiếp
nhận ngôn ngữ theo hai khía cạnh: hiểu ngôn ngữ và sản sinh ra ngôn ngữ.
Với những kết quả đạt được, đề tài trình bày một vài khả năng ứng dụng thực
tiễn...
Phục hồi chức năng ngôn ngữ cho trẻ em câm điếc nhằm mục đích giúp
trẻ học nói, học viết, trước hết là biết cách cấu âm các phụ âm tiếng Việt trên
sơ sở tận dụng tối đa khả năng hoạt động của các giác quan khác và phần
thính lực còn lại.
Tuy nhiên cũng phải thừa nhận rằng, mặc dù có cố gắng nhưng cấu âm
của trẻ vẫn bị lệch lạc, do không giám sát được hiệu quả của sự cấu âm. Cho
nên, yêu cầu đặt ra là trong phạm vi cho phép, giúp trẻ ít nhiều có thể nói
được dù còn rất hạn chế và hết sức khó khăn.
Các phụ âm đã được khảo sát, trong thực tế sử dụng cũng có những biến
thể khác nhau song song tồn tại. Những biến thể này phản ánh mối quan hệ
267
giữa “chuẩn địa phương” và “chuẩn chung”, giữa “chuẩn hệ thống” và “chuẩn
sử dụng” ...
Trên quan điểm ngôn ngữ học xã hội, chúng tôi cho rằng, các biến thể
này tồn tại, phát triển hoặc bị loại bỏ... tuỳ thuộc vào phạm vi và chức năng
giao tiếp xã hội của chúng. Nói cách khác, nếu được xã hội chọn và thừa nhận
thì biến thể đó sẽ trở thành chuẩn mực ngữ âm.
Tuy nhiên, đối với các phụ âm, yêu cầu của chuẩn chính tả bắt buộc và
cao hơn chuẩn chính âm.
4.4. Các thanh điệu của tiếng Việt
Thanh điệu là sự nâng cao hoặc hạ thấp giọng nói trong một âm tiết, có
tác dụng phân biệt các từ có nghĩa giống nhau. Sự khác nhau giữa "là" và "lá"
là sự khác nhau về cao độ: âm tiết "lá" được phát âm cao, âm tiết "là" được
phát âm thấp.
Thanh điệu là loại âm vị siêu đoạn tính, nó biểu hiện trong toàn bộ phần
hữu thanh của âm tiết. Ở mức vật lý, phần thanh của thanh điệu chính là
đường nét của tần số âm cơ bản F0. Về cảm thụ, thanh điệu là sự cảm nhận về
độ thay đổi cao độ F0 (pitch) của âm tiết .
Như vậy, nếu ngữ điệu là đặc trưng của câu, trọng âm là đặc trưng của từ
thì thanh điệu là đặc trưng của âm tiết. Không phải ngôn ngữ nào cũng có
thanh điệu. Tiếng Hán, tiếng Việt, tiếng Lào có thanh điệu. Các ngôn ngữ
Anh, Pháp, Nga, Khơ me không có.
Tiếng Việt có sáu thanh điệu. Trên chữ viết, năm thanh được ghi lại bằng
năm dấu: huyền [`], sắc [´], hỏi [ ] ngã [˜], nặng [.], còn một thanh không
được ghi lại bằng một dấu nào cả, người ta gọi đó là thanh không dấu.
Sáu thanh điệu của tiếng Việt được chia làm hai nhóm lớn là bằng và
trắc. Thanh không dấu và thanh huyền thuộc loại thanh bằng có đường nét
tương đối đơn giản. Thanh hỏi, thanh ngã, thanh sắc và thanh nặng là những
thanh trắc có đường nét thanh điệu phức tạp. Các thanh ngang, sắc ngã thuộc
âm vực cao còn các thanh huyền, hỏi và nặng thuộc âm vực thấp.
Thanh không dấu: đây là thanh điệu cao, có đường nét vận động bằng
phẳng từ đầu đến cuối.
268
Thanh huyền: So với thanh không dấu, thanh huyền là một thanh thấp.
Đường nét vận động của thanh này cũng bằng phẳng như thanh không dấu tuy
về cuối có hơi đi xuống. Như vậy, sự khác nhau giữa thanh không dấu và
thanh huyền chủ yếu là ở độ cao. Một số sinh viên nước ngoài học tiếng Việt
đã phát âm "ba" thành "bà" hoặc ngược lại, là do không phân biệt được hai
mức cao thấp của chúng.
Thanh ngã: Thanh ngã bắt đầu ở độ cao gần ngang thanh huyền nhưng
không đi ngang mà vút lên kết thúc ở độ cao cao hơn cả thanh không dấu. Ở
thanh ngã, đường nét vận động bị gãy ở giữa do quá trình phát âm có hiện
tượng bị tắc thanh hầu. Đây là chổ khó phát âm đối với trẻ em và đối với
người nước ngoài học tiếng Việt vì hay bị phát âm thành sắc.
Thanh hỏi: đây là một thanh thấp và có đường nét gãy ở giữa. Độ cao lúc
bắt đầu của thanh hỏi ngang thanh huyền. Sau khi đi ngang một đoạn, thanh
này đi xuống và lại đi lên cân xứng với đường đi xuống. Độ cao lúc kết thúc
bằng độ cao lúc ban đầu. Ở trẻ em mới học nói, thanh hỏi thường được phát
âm thành thanh nặng, ví dụ "mở cửa" -> "mở cựa". Ở miền Nam và miền
Trung, hai thanh ngã và hỏi không được phân biệt vì vậy hay xảy ra tình trạng
lẫn lộn "dấu ngã" và "dấu hỏi" khi viết chính tả.
Thanh sắc: lúc bắt đầu, cao độ của thanh sắc gần ngang với thanh không
dấu nhưng thanh sắc không đi ngang mà đi lên. Ở những âm tiết có âm cuối là
/p, t, k/ như " bắt cóc", "nấp" thì thanh sắc vút cao ngay, gây ấn tượng ngắn. Ở
phương ngữ miền Trung có vùng phát âm một số âm tiết mang sắc thái thành
thanh hỏi, ví dụ "ý chí" thành "ý chỉ".
Thanh nặng: thanh nặng là một thanh thấp và có đường nét xuống dần. Ở
những âm tiết có âm cuối /p, k, t/ như "học tập", "mật" thanh nặng được phát
âm xuống ngay. Ở thanh nặng cũng có hiện tượng tắc thanh hầu trong quá
trình phát âm.
Sự phân bố thanh điệu trong âm tiết liên quan chặt chẽ với thành phần
âm cuối. Ở những âm tiết có âm cuối là phụ âm tắc vô thanh /p, t, k/ chỉ có
thể có thanh nặng hoặc thanh sắc. Các thanh không dấu, huyền, ngã, hỏi
không thể tồn tại được ở những âm tiết loại này. Ở những âm tiết có âm cuối
không vô thanh, tất cả các thanh điệu đều có thể xuất hiện.
269
Như vậy, trong 6 thanh điệu thì 2 thanh sắc và nặng có phạm vi phân bố
rộng nhất ở tất cả các kiểu âm tiết.
Khi các thanh điệu cao thấp khác nhau đi liền nhau thường có ảnh hưởng
lẫn nhau, thanh cao đi trước thanh thấp đi sau thì thanh thấp sẽ bắt đầu hơi
cao hơn thường lệ, ngược lại thanh cao đi sau thanh thấp thì sẽ bắt đầu thấp
hơn thường lệ.
270
PHỤ LỤC I
TRƯỜNG ĐỘ TRUNG BÌNH CỦA PHỤ ÂM ĐẦU
ÂmTB
Nam 1
TB
Nam 2
TB
Nam3
TB
Nam 4
TB
Nam 5
TB
Nam
TB
Nữ 1
TB
Nữ 2
TB
Nữ 3
TB
Nữ 4
TB
Nữ 5
TB
Nữpi 28,53 26,23 26,73 28,50 27,40 27,478 27,30 26,06 26,33 30,06 27,16 27,382pa 26,70 24,86 27,86 27,56 25,60 26,516 25,90 26,20 24,40 26,90 27,26 26,132pu 26,5 28,03 26,36 28,70 30,83 28,078 32,40 33,90 30,10 25,03 25,36 29,358ti 23,76 25,00 27,13 30,96 32,20 27,81 28,80 29,20 29,30 27,36 23,46 27,624ta 20,66 21,00 20,93 20,76 24,46 21,562 25,16 23,30 24,76 28,40 23,70 25,064tu 23,60 22,50 21,50 23,53 24,96 23,218 30,80 28,83 32,83 30,83 30,86 30,83ki 24,46 25,33 26,30 33,33 27,53 27,39 27,80 24,66 26,93 27,43 27,90 26,932ca 19,90 22,73 22,80 25,36 21,63 22,484 23,06 22,66 20,46 24,96 20,83 22,394cu 20,90 26,00 18,46 23,60 21,40 22,072 25,16 21,83 23,90 22,40 25,26 23,71thi 49,66 56,00 61,13 57,36 56,30 56,09 60,10 74,93 62,26 58,13 62,70 63,624tha 56,66 53,40 56,36 57,60 57,33 56,27 62,46 84,83 65,60 65,86 64,70 68,69thu 44,90 68,10 55,96 64,00 61,36 58,864 66,73 82,56 73,16 53,03 46,73 64,442chi 66,83 68,63 64,86 78,96 67,26 69,308 64,56 77,60 67,30 64,20 71,23 68,978cha 67,53 57,86 54,00 66,96 56,30 60,50 60,46 63,90 62,30 61,76 64,03 62,436chu 66,56 61,43 59,80 74,00 57,56 63,87 67,03 60,73 67,53 60,46 62,23 63,596bi 75,00 78,00 89,10 63,63 63,66 73,878 87,70 84,80 86,20 71,53 72,83 76,078ba 54,53 88,53 71,03 87,96 72,80 74,97 82,90 77,16 71,93 78,40 70,00 76,078bu 97,66 87,40 82,36 98,30 63,46 85,836 69,93 78,46 103,13 107,90 77,13 87,31đi 75,93 84,50 77,03 73,63 88,60 79,938 83,56 64,90 88,93 95,93 67,96 80,256đa 84,63 70,90 71,90 90,90 62,90 76,246 63,40 71,23 85,03 105,96 59,40 77,004đu 109,50 76,36 69,36 84,13 70,16 81,902 65,50 67,10 107,16 90,76 89,93 84,09phi 141,13 127,46 143,06 151,80 122,73 137,236 133,66 137,33 140,23 137,96 141,40 138,116pha 111,13 91,60 133,50 193,53 105,33 127,018 130,90 138,90 149,23 146,30 128,60 138,786phu 117,33 109,16 122,63 161,53 155,46 133,222 134,06 133,03 153,26 136,03 137,53 138,782xi 174,43 142,16 158,63 227,30 131,30 166,764 185,06 201,33 163,83 166,86 170,90 177,596xa 174,30 137,16 170,76 178,80 138,33 159,87 173,30 120,00 182,13 147,10 141,60 152,826xu 166,16 130,46 167,23 201,96 149,33 163,028 173,73 174,73 162,23 172,30 168,10 169,818khi 135,00 125,00 155,53 186,60 113,73 143,172 157,23 144,33 152,46 142,30 155,16 150,296kha 121,13 152,16 108,43 192,60 124,83 139,83 151,53 139,66 152,90 145,90 116,16 141,23khu 142,83 150,73 152,10 213,20 133,33 158,438 130,36 130,30 105,03 130,10 105,73 120,304hi 104,50 91,76 91,50 105,33 94,30 97,478 90,16 98,70 83,36 74,66 84,13 86,202ha 115,00 110,83 113,46 134,33 94,00 113,524 91,00 93,03 99,43 78,16 75,80 87,484hu 82,53 80,93 79,83 114,26 76,13 86,736 82,66 83,83 84,96 77,06 77,43 81,188vi 101,43 112,23 114,06 115,50 96,73 107,99 108,73 124,26 123,36 102,76 112,30 114,282va 105,50 114,93 95,83 124,56 93,03 106,77 105,80 106,23 102,66 113,83 124,76 110,656vu 127,13 104,40 121,03 126,23 96,73 115,104 130,00 110,50 122,53 119,60 116,90 119,906di 132,46 121,96 123,83 123,70 140,33 128,456 118,80 134,13 135,46 134,66 113,66 127,342da 130,03 120,13 113,46 121,03 111,50 119,23 110,80 110,33 113,83 118,70 118,10 114,352du 116,26 110,30 108,00 115,66 121,20 137,536 119,63 138,90 123,70 132,13 118,00 126,472ghi 182,56 169,73 167,238 170,02 171,60 171,58 181,09 173,273 175,081 175,021 174,987 175,171ga 140.31 138,298 130,984 140,07 141,875 140,325 150,050 148,345 148,00 151,060 150,05 150,028gu 120,01 118,257 123,85 125,926 126,012 126,028 128,937 130,02 129,281 129,873 130.00 130,015mi 111,93 105,70 97,06 102,86 86,33 100,776 87,06 70,43 81,40 91,76 71,86 80,502ma 108,96 84,46 80,36 92,83 86,73 94,112 88,26 76,60 81,56 87,10 89,43 84,59mu 107,56 89,70 88,50 98,80 86,00 94,112 96,46 90,63 98,43 99,66 87,63 94,562ni 99,10 94,16 98,76 79,66 78,06 89,948 107,66 95,96 96,03 111,46 117,20 105,662na 108,33 84,53 84,70 128,96 76,70 969,644 104,66 108,80 100,13 103,20 102,83 103,924nu 118,66 92,43 92,50 121,63 93,63 103,77 95,00 98,13 97,26 97,86 87,70 95,19nhi 65,66 62,50 72,46 80,73 65,83 69,436 105,70 116,96 105,70 116,63 111,70 111,338nha 90,06 80,16 96,90 94,53 78,40 88,01 87,66 97,66 89,26 95,63 91,36 92,314nhu 89,00 89,93 105,03 94,36 83,56 90,376 100,36 90,30 107,66 100,40 93,23 98,39nghi 103,30 101,73 103,96 128,33 84,80 104,424 100,86 93,83 109,76 101,10 106,46 102,402
271
nga 117,96 105,50 93,16 109,93 88,70 103,05 106,70 82,70 107,90 112,13 122,03 106,292ngu 117,06 134,43 117,23 143,93 127,43 128,016 103,83 110,10 95,63 99,86 105,70 103,024li 115,16 98,43 86,16 97,30 112,56 101,922 92,00 89,96 97,73 85,53 97,26 92,496la 107,03 109,46 90,56 108,66 90,86 101,314 101,10 105,43 103,43 102,40 104,93 103,458lu 107,46 102,06 96,63 133,56 85,56 105,054 101,80 103,00 104,13 109,83 106,93 105,138
272
PHỤ LỤC II
TRƯỜNG ĐỘ TRUNG BÌNH CỦA PHỤ ÂM CUỐI
Âm
TB
Nam
1
TB
Nam 2
TB
Nam3
TB
Nam 4
TB
Nam 5
TB
Nam
TB
Nữ 1
TB
Nữ 2
TB
Nữ 3
TB
Nữ 4
TB
Nữ 5
TB
Nữ
im 226,80 155,30 167,03 206,06 191,40 189,318 227,50 204,33 193,36 186,30 172,76 196,85am 222,33 189,30 156,53 196,43 199,50 192,818 202,03 176,76 139,23 201,00 144,36 172,676um 281,96 187,30 171,03 199,36 200,23 207,936 250,60 212,73 182,83 203,33 182,66 206,43in 276,80 182,50 172,50 196,26 204,76 206,564 250,70 200,23 193,56 210,26 168,53 204,656an 232,90 190,53 173,36 200,06 210,10 201,39 211,93 170,93 158,36 185,8 192,93 183,99un 284,86 186,60 194,06 205,76 199,76 214,208 221,53 197,90 184,86 192,20 180,63 195,424inh 337,33 221,66 234,00 251,50 233,50 255,598 300,63 269,00 223,56 260,30 246,90 260,078anh 310,60 220,53 229,23 219,93 187,23 233,624 261,83 206,76 216,46 230,70 204,20 223,99ênh 337,90 216,90 226,10 246,53 190,03 243,492 280,26 191,13 193,26 223,40 196,63 216,936ung 364,23 236,30 228,23 229,23 228,16 257,23 222,40 197,33 237,93 236,23 185,93 215,964ang 281,30 196,66 170,93 198,90 210,66 211,69 224,03 206,56 160,26 193,70 181,00 193,11ưng 368,66 234,40 239,93 198,93 219,10 252,20 293,93 177,20 237,83 203,20 200,73 222,578íp 25,83 21,46 26,33 25,43 21,96 24,202 19,76 19,46 17,53 18,70 16,56 18,402áp 19,66 21,53 22,60 19,93 19,60 20,664 21,90 19,06 15,30 19,26 18,00 18,704úp 24,63 27,56 28,16 28,20 23,30 26,37 18,16 17,20 18,16 23,96 19,13 19,342ít 23,63 18,43 26,36 20,40 20,13 21,79 20,96 18,76 20,30 22,60 20,30 20,584át 26,60 22,50 25,86 22,56 20,20 23,544 19,83 13,76 13,06 18,03 14,00 15,736út 22,56 24,33 26,93 23,76 19,13 23,342 20,83 17,66 19,26 18,30 17,83 18,776ich 23,73 24,30 23,86 18,93 22,70 22,704 20,16 21,96 21,93 21,56 17,53 20,628êch 19,50 21,03 21,10 20,43 19,13 20,238 17,90 18,26 19,10 16,90 15,66 17,564ach 20,73 19,03 19,43 18,73 19,76 19,536 17,66 19,61 22,36 19,10 26,30 21,006ưc 21,96 22,23 23,46 23,06 19,93 22,128 18,66 23,73 18,13 26,1 24,56 22,236uc 21,80 21,33 24,26 24,10 22,73 22,844 20,00 25,76 21,30 21,03 24,76 22,57ac 19,86 19,50 20,06 18,20 19,23 19,37 18,03 26,86 27,26 21,06 22,86 23,214
273
TÀI LIỆU THAM KHẢO
Chương 1 và chương 2
1. Nguyễn Văn Ái, Tìm hiểu về vùng tần số foóc-man của các nguyên
âm tiếng Việt bằng phương pháp thực nghiệm, T/c Ngôn ngữ, số 4,
1973.
2. Nguyễn Văn Ai, Bàn về số lượng và sự phân bố foóc-man của các
nguyên âm đơn tiếng Việt qua bản ghi Xô-na-gơ-rap, T/c Ngôn
ngữ, số 1, 1974.
3. Nguyen Van Ai und Vu Ba Hung, Vergleichende Untersuchungen
deutcher und vietnamesischer Vokale, 1975. Trong Zeitschrift für
Phonetik Sprachwissenschaft und Kommunikationsforschung, Band
28. Heft 3/4 ;Akademie - Verlag, Berlin, 1975.
4. Deterding D., The Formant of Monothong Vowels in Standard
Southern British English Pronunciation, Journal of International
Phonetic Association. Volume 27 Number 1 & 2, 1997.
5. Fant G., Acoustic Theory of Speech Production, The Hague/
Paris: Monton, 1960.
6. Flanagan J., Speech Analysis, Synthesis and Perception, 2d ed.
New York: Springer Verlag, 1972.
7. Iivonen A., Regional German Vowels Studies, Mimeographeđ
Series ofthe Department of Phonetics, University of Helsinki 15,
1989.
8. Iivonen A., Articulatory vowel gesture presented in a Psycho -
Acoustical F1/F2 space, Studies in Logopedics and Phonetics 3,
Reijo Aulanko & Matti Lehtihalmes,1992.
9. Ladefoged P., Maddieson I., Vowels of the World's Languages,
Journal of phonetics 18, 1990.
10. Ladefoged P., Elements of Acoustic Phonetics, Chicago (second
edition), Umversity of Chicago Press, 1996.
274
11. Lindblom B., Phonetic Universals in Vowel system, Experimental
Phonology (J.J. Ohala & J.J. Jaeger, eds.), Orlando: Academic
Press, 1986.
12. Quách Tuấn Ngọc, Xử lý tín hiệu số, Nhà xuất bản Giáo dục, 1999.
13. Traunmüller H., Einise aspekte Wahrnehmung quasiststionärer
Vokale, Papers from the Institute of Linguistics, University of
Stockholm.
Chương 3
Dialogic Card:
14. Voice API, Dialogic Corporation Press.
15. Voice Features, Dialogic Corporation Press.
16. SRL API, Dialogic Corporation Press
Chương 4
17. A.Gersho and R.M.Gray, Vector Quantization and Sign
Compresion,
18. Rabiner, Fundamental of Speech Recognition.
19. Y.Linde, A.Buzo, and R.M.Gray, An algorithm for Vector Quantizer
Design, january 1980.
Chương 5
20. Vũ Kim Bảng, Hê formant cua nguyên âm tiêng Ha Nôi, Tlc Ngôn ngữ,
số 15, 2002.
21. Vũ Kim Bảng, Nhận xét về trường độ thanh điệu qua phương ngữ Hà
Nội và phương ngữ Nam Bộ (cứ liệu thực nghiệm) - Những vấn đề
ngôn ngữ học về các ngôn ngữ phương Đông - Viện Thông tin Khoa học
Xã hội.
22. Vũ Kim Bảng, Nghiên cứu tiếng Hà Nội trên phương diện vật lý - âm
học, Ngôn ngữ & Văn hoá 990 năm Thăng Long - Hà Nội. Hà Nội 2000.
23. Đình Cao, Tiếng Hà Nội trong quan hệ với ngôn ngữ chung của dân tộc
- Hà Nội những vấn đề ngôn ngữ văn hoá - NXB Văn hoá Thông tin. Hà
Nội, 2001.
275
24. Hoàng Thị Châu, Tiếng Việt trên các miền đất nước, NXB Khoa học Xã
hội, Hà Nội, 1986.
25. Hoang Cao Cương, Suy nghi thêm vê thanh điêu tiêng Viêt, T/c Ngôn
ngư sô 3, 2003.
26. Cao Xuân Hao, Tiêng Viêt mây vân đê vê ngư âm, ngư phap, ngư
nghia. Nxb Giáo Dục, 1998.
27. Nguyên Quang Hông, Âm tiêt tiêng Viêt, chưc năng va câu truc cua no,
T/c Ngôn ngư sô 3, 1976.
28. Đoan Thiên Thuât, Ngư âm tiêng Viêt. Nxb ĐHQGHN 1999.
29. Wright J.T., The Behaviour of Nasalized Vowels in the Perceptual
Vowel Space, Experimental Phonology (J.J. Ohala & J.J. Jaeger, eds.),
Orlando: Heademic Press, 1986.
30. Zwicker E., & Terhardt E., Analytical Expression for Critical - band
Rate and Critical Bandwidth as a Function of Frequency, Journal of the
Acoustical Society of America 68 (5), 1980.
31. Zinder LR, Ngư âm hoc đai cương, Nxb GD, 1964.
Chương 6
32. A. Samouelian, Knowledge based approach to consonant recognition,
Department of electrical and Computer Engineering, University of
Wollongong, Northfields Avennue, Wollongong, NSW 2522, Australia.
33. Vũ Kim Bảng, Khái niệm ngữ âm học, Tạp chí ngôn ngữ số 5 – 1999.
34. Vũ Kim Bảng, Hệ Formant của 9 nguyên âm đơn tiếng Hà Nội, Tạp chí
ngôn ngữ số 15-2002.Jie Zhu, Fei-li Chen, The analysis and application
of a new endpoint detection method based on distance of aurocorrelated
similarity, SJTU & Bell Labs Communications And Network Joint
Laboratory Shanghai Jiao Tong University, Shanghai Jiao Tong
University, Shanghai, 200030, P.R.China.
35. Bộ Toolkit CSLU: http://cslu.ece.ogi.edu/toolkit
36. Carl D.Mitchell and Anand R.Setlur, Improve spelling recognition using
a tree based fast lexical match, Lucent Technologies Bell Laboratories
2000 N.Naperville Rd. Naperville, IL 60566, USA, ICASSP 1999, pp.24-
29.
276
37. Lawrence R. Rabiner, Stephen E. Levinson, A Speaker-Independent,
Syntax-Directed, Connected Word Recognition System Based on
Hidden Markov Models and Level Building, IEEE Transaction on
Acoustic, Speech and Signal Processing, Vol ASSP-33, N. 3, June 1985,
pp 561-573.
38. Lawrence Rabiner, Fundamental of speech recognition, 1995.
39. M. Ibnkahla, Application of neural networks to digital communications
- a survey”, Signal Procesing 80(2000), pp.1185-1215.
40. Tan Lee and P.C. Ching, A Neural Network Based Speech Recognition
System for Isolated Cantonese Syllables, Department of electronic
Engineering, The Chinese University of Hong Kong, N.T., Hong Kong,
ICASSP - 1997, pp.3269-3272.
41. Tung Hui Chiang, ..CCLMDS’96: Towards a Speaker - Independent
Large -Vocabulary Mandarin Dictation System. ICASSP 1997, pp
1799-1802.
Chương 7
42. Nguyễn Hồng Cổn, Về vấn đề phân định từ loại trong tiếng Việt – T/c
Ngôn ngữ số 2 (165) năm 2003 - Viện Ngôn ngữ học, Trung tâm Khoa
học xã hội và Nhân văn quốc gia, trang 36 - 46.
43. Frank Van Eynde and Dafydd Gibbon, Lexicon Development For
Speech and Language Processing, p 149-163.
44. James Allen, Natural Language Understanding.
45. LU Shinan, HE Lin, Yang Yufang, CAO Jianfen, Prosodic control in
Chinese TTS system, Institute of Acoustics, Academia.
46. Robert Edward Donovan, Trainable speech synthesis, PhD thesis, 1996.
47. Ruiqiang Zhang, Ezra Black, Andrew Finch, Yoshinori Sagisaka, A
tagger-aided language model with a stack decoder, ICASSP 2000.
48. Shimei Pan, Wubin Weng, Designing a Speech Corpus for
Instance-base Spoken language generation.
277
49. Nguyễn Văn Toàn, Hoàng Kiếm, Đinh Điền, Một cách tiếp cận cho việc
phân từ tiếng Việt, Toàn văn báo cáo khoa học 2001 - Viện Công nghệ
thông tin.
50. Nhóm Vnvoice, Problems of Intergrating a VietNamese Text-To-Speech
Module into EUMS System, Toàn văn báo cáo khoa học 2001 - Viện
Công nghệ thông tin.
51. X.Huang, A.Acero, H.Hon, Y.Ju, J.Liu, S.Meredith, M.Plumpe, Recent
improvements on Microsoft’s trainable text-to-speech system-
WHISTLER, ICASSP 1997, pp. 959 - 962.
52. Zhiwei Ying and Xiaohua Shi, An RNN-based Algorithm to Detect
Prosodic Phrase for Chinese TTS, ICASSP 2001, paper 153.
1. Baldon R.A.W., & Fant G, A two - formant model and the cardinal
vowels, STL – QPRS1, 1 - 8, 1978.
2. Deterding D., The Formant of Monothong Vowels in Standard
Southern British English Pronunciation, Journal of International Phonetic
Association. Volume 27 Number 1 & 2, 1997
3. Fant G., Acoustic Theory of Speech Production, The Hague/ Paris:
Monton, 1960.
4. Flanagan J., Speech Analysis, Synthesis, and Perception, 2d ed.
New York: Springer Verlag, 1972.
5. Hermann L., Abhandlungen in Pflügers Archiv f.d. ges Physiologie,
Bd. 45, 1989.
6. Iivonen A., Regional German Vowels Studies, Mimeographeđ Series
ofthe Department of Phonetics, University of Helsinki 15, 1989.
7. Iivonen A., Articulatory vowel gesture presented in a Psycho -
Acoustical F1/F2 space, Studies in Logopedics and Phonetics 3, Reijo Aulanko
& Matti Lehtihalmes,1992.
8. Ladefoged P., & Maddieson I., Vowels of the World's Languages,
Journal of phonetics 18, 1990.
9. Ladefoged P., Elements of Acoustic Phonetics, Chicago (second
edition), Umversity of Chicago Press, 1996.
278
10. Lindblom B., Phonetic Universals in Vowel system, Experimental
Phonology (J.J. Ohala & J.J. Jaeger, eds.), Orlando: Academic Press, 1986.
1 1 . Nguyễn Văn Ái, Tìm hiểu về vùng tần số foóc - man của các nguyên
âm tiếng Việt bằng phương pháp thực nghiệm, T/c Ngôn ngữ, số 4, 1973
12. Nguyễn Văn Ai, Bàn về số lượng và sự phân bố foóc - man của các
nguyên âm đơn tiếng Việt qua bản ghi Xô - na - gơ - rap, T/c Ngôn ngữ, số 1,
1974.
13. Nguyen Van Ai und Vu Ba Hung, Vergleichende Untersuchungen
deutcher und vietnamesischer Vokale, 1975. Trong Zeitschrift für Phonetik
Sprachwissenschaft und Kommunikationsforschung, Band 28. Heft 3/4
;Akademie - Verlag, Berlin, 1975.
14. Traunmüller H., Einise aspekte Wahrnehmung quasiststionärer
Vokale, Papers from the Institute of Linguistics, University of Stockholm
15. Traunmüller H., Perceptual Dimension of Openness in Vowels,
Journal of Acoustical Society of America 69 (65), 1981.
16. Wright J.T., The Behaviour of Nasalized Vowels in the Perceptual
Vowel Space, Experimental Phonology (J.J. Ohala & J.J. Jaeger, eds.),
Orlando: Heademic Press, 1986.
17. Zwicker E., & Terhardt E., Analytical Expression for Critical - band
Rate and Critical Bandwidth as a Function of Frequency, Journal of the
Acoustical Society of America 68 (5), 1980.
18. Vũ Kim Bảng, Khái niệm ngữ âm học, Tlc Ngôn ngữ, số 5, 1999.
19. Vũ Kim Bảng. Nhận xét về trường độ thanh điệu qua phương ngữ Hà
Nội và phương ngữ Nam Bộ (cứ liệu thực nghiệm) - Những vấn đề ngôn ngữ
học về các ngôn ngữ phương Đông - Viện Thông tin Khoa học Xã hội.
20. Vũ Kim Bảng. Nghiên cứu tiếng Hà Nội trên phương diện vật lý -
âm học. Ngôn ngữ & Văn hoá 990 năm Thăng Long - Hà Nội. Hà Nội 2000.
21. Đình Cao. Tiếng Hà Nội trong quan hệ với ngôn ngữ chung của dân
tộc - Hà Nội những vấn đề ngôn ngữ văn hoá - NXB Văn hoá Thông tin. Hà
Nội, 2001.
22. Hoàng Thị Châu. Tiếng Việt trên các miền đất nước - NXB Khoa
học Xã hội, Hà Nội, 1986.
279
280
MỤC LỤC1. PHƯƠNG PHÁP PHÂN TÍCH TIẾNG NÓI THEO CÁC ĐẶC TRƯNG .............1
2. CÁC MÔ HÌNH ỨNG DỤNG CHO NHẬN DẠNG TIẾNG NÓI........................28
3. HUẤN LUYỆN VÀ NHẬN DẠNG TIẾNG NÓI..................................................76
4. MÔI TRƯỜNG TÍN HIỆU TIẾNG NÓI TRÊN ĐIỆN THOẠI...........................119
5. TÍCH HỢP MODULE TỔNG HỢP TIẾNG VIỆT VÀ CÁC CHUẨN TÍCH HỢP
TIẾNG NÓI...............................................................................................................151
6. CƠ SỞ DỮ LIỆU NGỮ ÂM CHO NHẬN DẠNG VÀ TỔNG HỢP TIẾNG VIỆT
165
7. TỔNG HỢP TIẾNG VIỆT....................................................................................193
8. ĐẶC TRƯNG ÂM HỌC VÀ ÂM VỊ HỌC CỦA TIẾNG NÓI...........................234
9. ĐẶC ĐIÊM NGƯ ÂM CƠ BAN CỦA TIẾNG VIỆT..........................................242
TÀI LIỆU THAM KHẢO........................................................................................274