เสียงที่เป็นค่าเริ่มต้นและเสียงทางเลือกทั้งหมดนั้นยากที่จะเข้าใจ
ฉันไม่พบเอกสารใด ๆ เกี่ยวกับการเชื่อมต่อคุณสมบัตินี้
เสียงที่เป็นค่าเริ่มต้นและเสียงทางเลือกทั้งหมดนั้นยากที่จะเข้าใจ
ฉันไม่พบเอกสารใด ๆ เกี่ยวกับการเชื่อมต่อคุณสมบัตินี้
คำตอบ:
ฉันจัดการเพื่อใช้festival
เสียงเป็นค่าเริ่มต้นในFirefox
/etc/speech-dispatcher/speechd.conf
เพื่อที่จะทำอย่างนั้นเราจำเป็นต้องเปลี่ยนการกำหนดค่าบางอย่างเกี่ยวกับไฟล์ แต่ก่อนอื่นฉันต้องอธิบายแนวคิดพื้นฐานว่ามันทำงานอย่างไร เราสามารถเห็นได้ว่าเสียงใดที่เป็นค่าเริ่มต้นที่ใช้โดยspeech-dispatcher
ใช้คำสั่งspd-say
:
spd-say "Hello. How are you?"
เมื่อวันที่Ubuntu
เริ่มต้น Texto To Speech (TTS) เสียงที่มาพร้อมกับspeech-dispatcher
เป็นeSpeak ดังนั้นเราจึงได้ยินเสียงเดียวกันเมื่อเราใช้คำสั่งอื่น:
espeak "Hello. How are you?"
ที่เกิดขึ้นเพราะspd-say
เป็นเพียงการใช้espeak
เสียงเป็นเอาท์พุท และ Firefox ก็ทำเช่นเดียวกันมันใช้เสียงใดก็ตามที่กำหนดค่าไว้speech-dispatcher
เป็นเอาต์พุตเพื่ออ่านหน้าเว็บในโหมดมุมมองผู้อ่าน ( Ctrl+Alt+R
)
ดังนั้นสิ่งที่เราต้องทำที่นี่คือการเปลี่ยนเสียงที่เป็นเอาต์พุตในspd-say
คำสั่งและเมื่อเราทำเช่นนั้นFirefoxจะใช้TTS voice
ค่าเริ่มต้นที่แตกต่างกันเช่นกัน ฉันจะอธิบายขั้นตอนการทำก็ทำงานกับที่festival
เสียง TTS voice
แต่ผมเชื่อว่าขั้นตอนจะเหมือนกันถ้าคุณต้องการที่จะทำงานที่แตกต่างกัน ก่อนอื่นเราต้องติดตั้งเทศกาล :
sudo apt-get install festival
เราสามารถทดสอบเสียงในบรรทัดคำสั่งโดยพิมพ์:
echo "Hello. How are you?" | festival --tts
speechd.conf
ตอนนี้เราจำเป็นต้องเปลี่ยนไฟล์ ดังนั้นเราจึงพิมพ์sudo vi /etc/speech-dispatcher/speechd.conf
เทอร์มินัลและรอบ ๆ บรรทัด 205 เราจะเห็นการกำหนดค่าที่แสดงความคิดเห็นต่อไปนี้:
#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
จำเป็นต้องทำการเปลี่ยนแปลงสองครั้งที่นี่:
AddModule "festival" "sd_festival" "festival.conf"
DefaultModule festival
เราจำเป็นต้องเรียกใช้festival
เป็นเซิร์ฟเวอร์เพื่อspeech-dispatcher
ใช้งานเป็นค่าเริ่มต้น เราสามารถทำได้โดยการเพิ่มบรรทัดต่อไปนี้ในตอนท้ายของไฟล์ที่เปิดเมื่อเราใช้คำสั่งsudo crontab -e
:
@reboot /usr/bin/festival --server
ตอนนี้มันเสร็จแล้ว !! หลังจากรีบูตระบบFirefoxและspd-say
จะใช้festival
เสียงเป็นเอาท์พุท
ฉันเชื่อว่ากระบวนการในการทำให้เสียงใหม่ทำงานFirefox
ได้เหมือนเดิม:
ไม่ใส่หมายเหตุโมดูลของเสียง TTS ใหม่ที่เราติดตั้ง ( /etc/speech-dispatcher/speechd.conf
)
ตั้งค่าบรรทัดเริ่มต้นใหม่สำหรับเสียง TTS ที่เราต้องการ ( /etc/speech-dispatcher/speechd.conf
)
/etc/speech-dispatcher/modules/
เรียกใช้เซิร์ฟเวอร์ในพอร์ตที่ระบุไว้ในไฟล์ภายในโฟลเดอร์
สิ่งที่เรียกว่าความสนใจของฉันคือมีโมดูลสำหรับเสียงIvona ที่นั่น Ivona เป็นสินค้าที่เป็นกรรมสิทธิ์และวันนี้วิธีเดียวที่จะใช้มัน (เท่าที่ฉันรู้) เป็นเป็นบริการแบบจ่ายตามที่คุณไปในAWS
แต่เสียงของมันเป็นสิ่งที่ดีจริงๆและพวกเขาเสียงเป็นธรรมชาติมาก
ไฟล์ได้/etc/speech-dispatcher/modules/ivona.conf
รับการกำหนดค่าให้ฟังเซิร์ฟเวอร์ในพอร์ต 9123 ฉันคิดว่าอาจมีวิธีเรียกใช้เซิร์ฟเวอร์ในท้องถิ่นที่ได้รับเสียง Ivona โดยใช้ฉันAWS APIs
(ฉันไม่แน่ใจ แต่อาจใช้ส่วนหนึ่งของแอป Node.js นี้ที่พัฒนาแล้ว) ... และถ้าเป็นไปได้ก็หมายความว่ามันเป็นไปได้ที่จะเรียกใช้ Ivona บน Ubuntuเป็นเสียงเริ่มต้นของระบบและจึงใช้กับreader view mode
ในFirefox แม้ว่าฉันจะไม่ทราบวิธีการทำในตอนนี้ แต่ดูเหมือนว่าความเป็นไปได้ที่น่าสนใจ
เสียงที่ใช้โดยฟังก์ชั่นการบรรยายของโหมดตัวอ่าน firefox ขึ้นอยู่กับแพลตฟอร์มที่คุณใช้งาน บน Linux firefox จะใช้speech-dispatcher
เพื่อแสดงข้อความเป็นคำพูดประดิษฐ์
ดังนั้นสิ่งที่คุณได้กำหนดค่าไว้ในการตั้งค่าโปรแกรมส่งคำพูด ( /etc/speech-dispatcher/speechd.conf
) ควรเลือกและใช้งานโดย firefox มีเครื่องมือต่างๆและเสียงพร้อมใช้งานสำหรับการพูดมอบหมายงานบางส่วนที่สามารถติดตั้งผ่านแพคเกจ Ubuntu เช่นมีหรือspeech-dispatcher-espeak-ng
speech-dispatcher-festival
มีการสนับสนุนที่ จำกัด สำหรับการเลือกเสียง / ภาษาจากภายในตัวอ่าน firefox GUI แต่การตั้งค่าส่วนใหญ่จะต้องทำในฝั่ง OS ซึ่งอยู่speechd.conf
บน linux
การตั้งค่าบางอย่างสามารถใช้งานได้ผ่านabout:config
กล่องโต้ตอบหากคุณค้นหา "บรรยาย":
ผมทดลองไม่น้อยกับการตั้งค่าที่แตกต่างกันทั้งในabout:config
และspeechd.conf
แต่ไม่สามารถรับสิ่งที่จะทำงาน แต่เริ่มต้นที่มาพร้อมกับอูบุนตู ความรู้สึกที่ฉันได้รับคือส่วนต่อประสานระหว่าง firefox และ speech-ดิสแพตเชอร์นั้นไม่เสถียรมาก แต่บางทีคุณอาจจะโชคดีกว่าที่ทดลอง
ผู้ชายคนนี้: https://bbs.archlinux.org/viewtopic.php?id=217411ดูเหมือนว่าจะประสบความสำเร็จมากขึ้นเกี่ยวกับ Archlinux ที่กำหนดค่าสิ่งต่าง ๆ เพื่อใช้งานเทศกาลเป็นผลผลิต ฉันพยายามทำซ้ำสิ่งนี้บน Ubuntu 18.04 แต่ไม่สามารถรับ firefox ให้ทำงานได้
ขอบคุณRafael Muynarsk ที่จะตอบให้ฉันเริ่มต้น นี่คือสิ่งที่ฉันทำ
apt install festival speech-dispatcher-festival festvox-{rablpc16k,kallpc16k,kdlpc16k} sox
festvox-{rablpc16k,kallpc16k,kdlpc16k}
เป็นภาษาเสียงสำหรับภาษาอังกฤษsox
โดยไม่ต้องมีเพียงบางส่วนของข้อความที่อ่านsudo vim /etc/speech-dispatcher/speechd.conf
ปิดใช้งานการกำหนดค่าespeak
ที่เกี่ยวข้องและเปิดใช้งานfestival
หนึ่งรายการ
#AddModule "espeak-ng" "sd_espeak-ng" "espeak-ng.conf"
AddModule "festival" "sd_festival" "festival.conf"
#DefaultModule espeak-ng
DefaultModule festival
festival
เซิร์ฟเวอร์หากไม่มีมันฉันจะได้รับเพียงบาง syntences
/usr/bin/festival --server
จากนั้นไปที่โหมดมุมมองผู้อ่านแล้วลอง