Câu trả lời:
Tôi quản lý để sử dụng festival
giọng nói như mặc định trên Firefox .
Để làm điều đó, chúng ta cần thay đổi một số cấu hình trên tệp /etc/speech-dispatcher/speechd.conf
. Nhưng trước tiên, tôi cần giải thích ý tưởng cơ bản về cách thức hoạt động của nó. Chúng ta luôn có thể xem giọng nói nào là giọng nói mặc định được sử dụng bằng speech-dispatcher
cách sử dụng lệnh spd-say
:
spd-say "Hello. How are you?"
Bật Ubuntu
, giọng nói Texto To Speech (TTS) mặc định đi kèm speech-dispatcher
là đặc biệt . Vì vậy, chúng tôi nghe chính xác cùng một giọng nói khi chúng tôi sử dụng lệnh khác này:
espeak "Hello. How are you?"
Điều đó xảy ra bởi vì spd-say
chỉ sử dụng espeak
giọng nói như đầu ra. Và, Firefox cũng làm như vậy, nó sử dụng bất kỳ giọng nói nào được cấu hình speech-dispatcher
làm đầu ra để đọc các trang web ở chế độ xem trình đọc ( Ctrl+Alt+R
).
Vì vậy, những gì chúng ta cần làm ở đây là thay đổi giọng nói phát ra trong spd-say
lệnh và, khi chúng ta làm điều đó, Firefox cũng sẽ sử dụng một cách khác TTS voice
như mặc định. Tôi sẽ mô tả quá trình làm cho nó hoạt động với festival
giọng nói, nhưng tôi tin rằng quy trình này giống nhau nếu bạn muốn chạy khác TTS voice
. Đầu tiên, chúng ta cần cài đặt lễ hội :
sudo apt-get install festival
Chúng ta có thể kiểm tra giọng nói của nó trong dòng lệnh bằng cách gõ:
echo "Hello. How are you?" | festival --tts
Bây giờ chúng ta cần thay đổi tập tin speechd.conf
. Vì vậy, chúng tôi gõ sudo vi /etc/speech-dispatcher/speechd.conf
trên thiết bị đầu cuối và xung quanh dòng 205, chúng tôi sẽ thấy phần cấu hình nhận xét sau:
#AddModule "espeak" "sd_espeak" "espeak.conf"
AddModule "festival" "sd_festival" "festival.conf"
#AddModule "flite" "sd_flite" "flite.conf"
#AddModule "ivona" "sd_ivona" "ivona.conf"
#AddModule "pico" "sd_pico" "pico.conf"
#AddModule "espeak-generic" "sd_generic" "espeak-generic.conf"
#AddModule "espeak-mbrola-generic" "sd_generic" "espeak-mbrola-generic.conf"
#AddModule "swift-generic" "sd_generic" "swift-generic.conf"
#AddModule "epos-generic" "sd_generic" "epos-generic.conf"
#AddModule "dtk-generic" "sd_generic" "dtk-generic.conf"
#AddModule "pico-generic" "sd_generic" "pico-generic.conf"
#AddModule "ibmtts" "sd_ibmtts" "ibmtts.conf"
#AddModule "cicero" "sd_cicero" "cicero.conf"
# DO NOT REMOVE the following line unless you have
# a specific reason -- this is the fallback output module
# that is only used when no other modules are in use
#AddModule "dummy" "sd_dummy" ""
# The output module testing doesn't actually connect to anything. It
# outputs the requested commands to standard output and reads
# responses from stdandard input. This way, Speech Dispatcher's
# communication with output modules can be tested easily.
# AddModule "testing"
# The DefaultModule selects which output module is the default. You
# must use one of the names of the modules loaded with AddModule.
#DefaultModule espeak
DefaultModule festival
Cần thực hiện hai thay đổi ở đây:
AddModule "festival" "sd_festival" "festival.conf"
DefaultModule festival
Chúng ta cần chạy festival
như một máy chủ để speech-dispatcher
sử dụng nó làm mặc định. Chúng tôi có thể làm điều đó bằng cách thêm dòng sau vào cuối tệp đang mở khi chúng tôi sử dụng lệnh sudo crontab -e
:
@reboot /usr/bin/festival --server
Bây giờ đã xong !! Sau khi khởi động lại hệ thống Firefox và spd-say
sẽ sử dụng festival
giọng nói làm đầu ra.
Tôi tin rằng quy trình làm cho tiếng nói mới hoạt động Firefox
sẽ luôn giống nhau:
Bỏ ghi chú mô-đun của giọng nói TTS mới mà chúng tôi đã cài đặt ( /etc/speech-dispatcher/speechd.conf
).
Đặt một dòng mặc định mới cho giọng nói TTS mà chúng ta muốn ( /etc/speech-dispatcher/speechd.conf
).
Chạy một máy chủ trên cổng được chỉ định trên các tệp trong thư mục /etc/speech-dispatcher/modules/
.
Điều khiến tôi chú ý đó là có một mô-đun cho tiếng nói của Ivona ở đó. IVONA là một sản phẩm độc quyền và ngày nay cách duy nhất để sử dụng nó (như xa như tôi biết) là như một dịch vụ pay-as-you-go trên AWS
, nhưng tiếng nói của nó là thực sự tốt và họ âm thanh rất tự nhiên.
Tệp /etc/speech-dispatcher/modules/ivona.conf
được định cấu hình để nghe máy chủ trên cổng 9123. Tôi nghĩ có lẽ có cách để chạy máy chủ cục bộ có giọng nói Ivona bằng cách sử dụng của tôi AWS APIs
(tôi không chắc, nhưng có lẽ sử dụng một phần của ứng dụng Node.js này đó là đã phát triển) ... và nếu đó là có thể, nó có nghĩa là nó cũng có thể chạy IVONA trên Ubuntu như giọng nói mặc định của hệ thống và do đó sử dụng nó với reader view mode
trên Firefox . Mặc dù tôi không biết làm thế nào để làm điều đó bây giờ, nó có vẻ như là một khả năng thú vị.
Các giọng nói được sử dụng bởi chức năng tường thuật của chế độ đầu đọc firefox phụ thuộc vào nền tảng bạn chạy trên đó. Trên Linux, firefox sẽ sử dụng speech-dispatcher
để kết xuất văn bản thành lời nói nhân tạo.
Vì vậy, bất cứ điều gì bạn đã cấu hình trong cài đặt bộ điều chỉnh lời nói ( /etc/speech-dispatcher/speechd.conf
) của bạn nên được chọn và sử dụng bởi firefox. Có nhiều công cụ và giọng nói khác nhau dành cho người phát ngôn, một số có thể được cài đặt qua các gói Ubuntu, ví dụ speech-dispatcher-espeak-ng
hoặc speech-dispatcher-festival
.
Có sự hỗ trợ hạn chế để chọn giọng nói / ngôn ngữ từ trong GUI của trình đọc firefox, nhưng hầu hết các cài đặt phải được thực hiện ở phía HĐH, speechd.conf
trên linux.
Một số cài đặt có sẵn thông qua about:config
hộp thoại nếu bạn tìm kiếm "tường thuật":
Tôi đã thử nghiệm khá nhiều với các cài đặt khác nhau trong cả hai, about:config
và speechd.conf
, nhưng không thể làm gì để làm việc ngoài mặc định đi kèm với Ubuntu. Cảm giác tôi nhận được là giao diện giữa firefox và bộ điều phối lời nói không ổn định lắm, nhưng có lẽ bạn may mắn hơn khi thử nghiệm.
Anh chàng này: https://bbs.archlinux.org/viewtopic.php?id=217411 dường như đã thành công hơn trên Archlinux định cấu hình mọi thứ để sử dụng lễ hội làm đầu ra. Tôi đã cố gắng tái tạo điều này trên Ubuntu 18.04 nhưng không bao giờ có thể chạy firefox với nó.
Cảm ơn Rafael Muynarsk đã trả lời cho việc khởi động tôi. Đây là những gì tôi đã làm
apt install festival speech-dispatcher-festival festvox-{rablpc16k,kallpc16k,kdlpc16k} sox
festvox-{rablpc16k,kallpc16k,kdlpc16k}
là ngôn ngữ giọng nói cho tiếng Anhsox
, không có nó chỉ là một phần của văn bản nơi đọcsudo vim /etc/speech-dispatcher/speechd.conf
Vô hiệu hóa espeak
cấu hình liên quan và kích hoạt festival
một
#AddModule "espeak-ng" "sd_espeak-ng" "espeak-ng.conf"
AddModule "festival" "sd_festival" "festival.conf"
#DefaultModule espeak-ng
DefaultModule festival
festival
máy chủKhông có nó tôi chỉ có một số tổng hợp.
/usr/bin/festival --server
Sau đó vào chế độ xem độc giả và thử nó.