Trong quá trình tổng hợp tiếng nói, tín hiệu được sinh ra trên cơ sở “pitch period by pitch period”. Tức là, trong một khoảng thời gian n0 nhất định,
0 [0 ,1 7 9 ]
n , gắn liền với khung hiện tại, tập hợp các tham số cần thiết để tổng hợp tiếng nói sẽ được đánh giá từ nội suy tuyến tính của dữ liệu từ các khung quá khứ và hiện tại. Hệ số nội suy được tính theo công thức:
0 / 1 8 0
n
[2.18]
Hệ số nội suy này được áp dụng chung cho tất cả các tham số LPC, pitch period, jitter, biên độ Fourier, và các hệ số lọc định hình. Do voice strength có thể suy ra được, việc nội suy các hệ số bộ lọc định hình thường có chi phí tính toán thấp. Giá trị pitch period được tính theo công thức:
(1 ) p a s t p r e s e n t
T T T [2.19]
Với kết quả được làm tròn tới số nguyên gần nhất. Giá trị gain được cho bởi công thức nội suy sau:
2, 1, 0 1, 2, 0 (1 ) 90, (1 ) 90 180 past present present present g g n g g g n [2.20]
Đối với trường hợp mà n0 T 1 8 0 , thì chu kỳ sẽđược xem xét đánh giá ngang qua biên của khung, các tham số vẫn được nội suy theo cùng công thức.
Đến chu kì tiếp theo, n0 được điều chỉnh bằng cách trừđi 180 để xác định tọa độ
của khung mới.
2.6.2 Tạo kích thích hỗn hợp
Chuỗi xung T-mẫu được sinh ra từ các biên độ Fourier sẽ có giá trịđơn vị
rms. Chuỗi này được lọc thông qua bộ lọc định hình xung và cộng với chuỗi nhiễu đã được lọc để tạo thành kích thích hỗn hợp. Nhiễu được sinh ra bởi một số ngẫu nhiên phân bố chuẩn với giá trị trung bình là 0 có giá trịđơn vị rms. Các hệ số của bộ lọc được suy diễn đồng thời với pitch period.
2.6.3 Bộ lọc tăng cường phổ Bộ lọc có hàm hệ thống: 10 1 1 10 1 1 ( ) (1 ) 1 i i i i i i i i a z H z z a z [2.21]
Trong đó, ai là các hệ số dự đoán tuyến tính. Các tham số µ, α, β được tạo tùy vào các điều kiện tín hiệu. Bộ lọc này đồng nhất với bộ lọc được sử dụng rộng rãi trước đây trong mô hình CELP. Bộ lọc này được sử dụng để nâng cao chất lượng tiếng nói tổng hợp thông qua làm nổi bật các đặc trưng phổ ban đầu.
2.6.4 Bộ lọc tổng hợp
Đây là một bộ lọc tổng hợp đỉnh cộng theo hình thức trực tiếp, với các hệ
số tương ứng với LSF đã suy ra được.
2.6.5 Tính toán hệ số khuếch đại
Công suất đầu ra ở bộ lọc tổng hợp phải cân bằng với gain g suy diễn
được (ở công thức 2.20) của chu kì hiện tại. Do kích thích được tạo ra ở mức tùy ý nên ta cần có một hệ số tỉ lệ để khuếch đại giá trị của đầu ra y[n] của bộ lọc tổng hợp để tạo ra giá trị ở mức thích hợp: /20 0 2 10 1 [ ] g n g y n T [2.22]
Lấy giá trị g0 này nhân với y[n], chuỗi T-mẫu kết quả sẽ có công suất của (10g/20)2 , hoặc g dB.
2.6.6 Bộ lọc phân tán xung
Bộ lọc này là một bộ lọc FIR 65 lớp trích xuất từ một xung tam đỉnh phổ
phẳng. Như ta thấy thì nó gần như là một bộ lọc thông suốt, khi mà các thay đổi trong đáp ứng biên độ là tương đối nhỏ.
Hình 2-14: Đáp ứng xung (trái) và đáp ứng biên độ (phải) của bộ lọc phân tán xung
Bộ lọc phân tán xung được dùng để cải thiện cho bộ lọc tổng hợp băng thông với tiếng nói tự nhiên dạng sóng trong các vùng không có cộng hưởng
đỉnh. Tiếng nói tự nhiên đã qua lọc băng thông thì có một tỉ lệ đỉnh-trũng nhỏ
hơn so với tiếng tổng hợp.
2.7 Kết chương
Chương này chúng ta tìm hiểu về mô hình MELP, mô hình này có cải tiến hơn nhiều so với LPC, với nhiều thông số được sử dụng thêm để tăng cường
tính tự nhiên, độ mượt, và khả năng thích ứng với các điều kiện tín hiệu đa dạng hơn. Mô hình MELP đã đạt được tất cả các lợi thế mà không cần nâng cao bit- rate tổng thể, chủ yếu do việc sử dụng kỹ thuật lượng tử hóa véc-tơ. Phần lớn yếu tố chất lượng kém của LPC đã bị loại bỏ nhờ vào voice strength độc lập tần số..
MELP liên quan tới họ các lập trình tham số. Khi so sánh với các mô hình lập trình lai như CELP, yêu cầu bit-rate lại thấp hơn nhiều do tránh được các mô tả chi tiết hóa cho các kích thích. Thay vào đó, nó sử dụng một tập hợp thô các thông sốđược trích xuất đểđại diện cho kích thích. Tương tự như LPC, nó cũng có thể được phân loại như là một bộ coder đa chế độ điều khiển nguồn, do sử
dụng các lược đồ mã hóa khác nhau tùy thuộc vào tính chất của tín hiệu.
Ý tưởng sử dụng kích thích hỗn hợp, tức là kết hợp thành phần nhiễu trắng với thành phần tuần hoàn cùng nhau, đã được nghiên cứu rất sâu trong quá khứ. Coder kích thích nhiều dải tần đã được nghiên cứu thay thế cho việc phân loại có tiếng/không tiếng trong coder LPC với một tập hợp các quyết định trên miền tần số. Tuy nhiên, khi mô hình này không còn phù hợp với tín hiệu đầu vào, chất lượng tín hiệu đầu ra đã giảm đáng kể, đặc biệt khi có âm nhạc hay tiếng ồn trộn lẫn với tín hiệu tiếng nói. Trong khi đó, mô hình MELP hoạt động khá tốt đối với một số loại tín hiệu không phải tiếng nói. Chất lượng của nó chủ
yếu là do sự mạnh mẽ và tính linh hoạt của các mô hình cơ bản, cho phép thích
Chương 3 - CHIP XỬ LÝ TÍN HIỆU SỐ TMS320C55xx
3.1 Giới thiệu
[2] Các bộ xử lý tín hiệu số với kiến trúc và lệnh được thiết kế đặc biệt cho các ứng dụng DSP đã được phát triển bởi các hãng Texas Instruments, Motorola, Lucent Technologies, Analog Devices.. Các bộ xử lý DSP đã được sử
dụng rộng rãi trong nhiều lĩnh vực như viễn thông, xử lý tiếng nói, xử lý ảnh, thiết bị y sinh, điện tử.. Trong chương này, chúng ta tìm hiểu kiến trúc và lập trình của bộ xử lý họ TMS320C55x của Texas Instruments.
Một sốđặc điểm quan trọng của họ C55x bao gồm:
- Mã nguồn tương thích với tất cả các thiết bị TMS32054x
- Hàng đợi bộđệm lệnh 64 byte làm việc như một bộ đệm chương trình và cải thiện hiệu quả các hoạt động lặp khối.
- 2 đơn vị MAC 17 bit có thể chạy song song phép nhân có nhớ trên cùng một vòng lệnh đơn.
- 1 bộ số học logic ALU 40 bit thực hiện các tính toán logic và số học chính xác cao, kèm theo một bộ ALU 16 bit thực hiện các lệnh số học đơn giản song song với ALU chính.
- 4 bộ nhớ 40bit dành cho việc lưu trữ các kết quả tính toán nhằm giảm truy cập bộ nhớ.
- 8 thanh ghi phụ mở rộng cho việc lưu dữ liệu cộng với 4 thanh ghi dữ liệu tạm dành cho các dữ liệu đơn giản.
- Chếđộđịa chỉ xoay vòng cho phép hỗ trợ tới 5 bộđệm vòng - Hoạt động lặp đơn lệnh và khối lệnh hỗ trợ lặp không quá tải.
3.2 Kiến trúc họ TMS32C55xx
[2] CPU C55x bao gồm 4 thành phần: đơn vị bộ đệm lệnh (IU), đơn vị
luồng chương trình (PU), đơn vị luồng dữ liệu địa chỉ (AU) và đơn vị tính toán dữ liệu (DU). Các đơn vị này được kết nối tới 12 địa chỉ và đường bus dữ liệu khác nhau như hình 3-1.