Trang chủ --> Học Jaws script --> Bài 11: Bộ đọc ngôn ngữ và script cho bộ đọc tiếng việt
Hoàng Kim kỷ niệm 10 năm thành lập
Hoàng Kim kỷ niệm 10 năm thành lập
Tẩm quất Hoàng Kim
Tẩm quất Hoàng Kim
Tẩm quất Hoàng Kim
Tẩm quất Hoàng Kim

tin tức nổi bật

Bài 11: Bộ đọc ngôn ngữ và script cho bộ đọc tiếng việt

 

 Nội dung bài này gồm:

 - giới thiệu về bộ đọc ngôn ngữ

 - Giới thiệu về bộ đọc tiếng việt

 - Cách viết script cho bộ đọc tiếng việt

 

 1. Giới thiệu chung

Một phần mềm  đọc màn hình như Jaws thường có 2 phần quan trọng:

phần đọc màn hình

phần xử lý text rồi nói (text to speech - tss) hay còn gọi là bộ tổng hợp tiếng nói (synthesizer)

Quan hệ giữa 2 phần này như sau: Phần 1 sẽ đọc các chữ trên màn hình nơi mà chúng ta đang thao tác bằng bàn phím hay chuột. Sau đó truyền các chữ đó xuống bộ tổng hợp tiếng nói để xử  lý và phát ra âm thanh cho chúng ta nghe.

Với Jaws, phần 2 chính là bộ đọc Eloquence. Nhưng bộ đọc này không đọc được tiếng việt.

Jaws cũng cho phép ta có thể dùng các bộ đọc khác nhưng phải theo chuẩn của Windows (SAPI5).

Với bộ đọc tiếng việt hiện nay có một số bộ đọc sau:

 - Bộ đọc Sao Mai của trung tâm Sao Mai trong thành phố Hồ Chí Minh. Phần lớn chúng ta đang dùng bộ đọc này.

 - Bộ đọc VnVoice của viện CNTT ở hà Nội. Bộ đọc này chắc chỉ có chú Hoàng Mộc Kiên dùng được, và nó không miễn phí

 - Bộ đọc của bạn Nguyễn Hữu Minh trong  thành phố Hồ Chí Minh. Cái này chắc chưa có ai dùng với Jaws. Sắp tới mình sẽ dùng thử xem thế nào.

 

Vì bình thường sử dụng máy tính chúng ta phải dùng bộ đọc Eloquence để đọc tiếng anh, khi nào cần đọc tiếng việt ta chuyển sang bộ đọc tiếng việt Để thuận tiện, ta cần viết script thực hiện việc này và gán cho script 1 phím tắt nào đó. Trước đây trung tâm Sao Mai có viết script cho bộ đọc Sao Mai (jvietnamese) nhưng nó bị lỗi léo nhéo khi chuyển cửa sổ.

Trên Jaws 14 có thể khắc phục được lỗi này. Chúng ta cùng tìm hiểu cách viết script cho các bộ đọc tiếng việt và cách khắc phục lỗi léo nhéo đó.

 

 2. Bộ đọc tiếng việt

Ta lấy cụ thể bộ đọc Sao Mai

Một bộ đọc có thể có 1 hoặc nhiều giọng, với bộ đọc Sao Mai có 4 giọng đọc: giọng Mai Dung và Minh Du để  đọc tiếng việt unicode, giọng Thanh Vi cho tiếng việt VNI và giọng thu An cho tiếng việt ABC.

Mỗi giọng đọc có các thông số sau:

 - Tấn số  (rate hay speed): Là tốc độ đọc nhanh hay chậm của người đọc

 - Âm lượng (volumn) là âm lượng to nhỏ của giọng đọc

 - Pitch

 - Punctuation

 

 

 3. Cách tiếp cận viết script cho bộ đọc tiếng việt

Để viết  script chuyển  đổi giữa tiếng anh và tiếng việt trong Jaws ta có 2 cách tiếp cận sau:

 - thứ nhất:  Dùng trực tiếp các hàm chuyển đổi bộ đọc và các giọng đọc của Jaws. có 2 hàm quan trọng là:

SetSynth():  Hàm này cho phép bạn chọn một bộ đọc (bộ đọc Eloquence hay bộ đọc của Sao Mai - SAPI5)

SetVoiceParameters(): Hàm này cho phép chọn giọng đọc trong bộ đọc của bạn và chọn các thống số khác như tốc độ, âm lượng, vân vân.

Script của Sao Mai làm theo cách tiếp cận này nhưng có một hạn chế là các hàm trên chỉ có tác dụng tạm thời cho một cửa sổ chương trình thôi. Nếu ta thay đổi cửa sổ thì các thông số của giọng đọc ta đang dùng sẽ bị mất, đây chính là nguyên nhân gây ra vấn đề léo nhéo khi chuyển cửa sổ của script của  trung tâm Sao Mai.

 - thứ 2: Lưu các thông số của bộ đọc, giọng đọc như một profile rồi ghi xuống file voiceprofiles.ini  của Jaws. Và khi muốn chuyển đổi giữa các bộ đọc hay các giọng đọc ta chỉ việc chuyển sang profile tương ứng mà ta muốn. Cách tiếp cận này sẽ khác phục được lỗi léo nhéo khi chuyển cửa sổ. Để tiện, ta tạo sẵn các profile cho các giọng đọc tiếng việt và tiếng anh , khi chuyển  giữa chúng ta chỉ cần dùng hàm: SetActiveVoiceProfileByName

Chi tiết về cách viết script theo cách này sẽ giới thiệu cụ thể trong bài sau. 

Lượt xem : 2081 Người đăng :

Bình luận

Ý kiến độc giả

Liên kết:

Logo quảng cáo