JS Speech Synthesis ไปยัง Node.JS Readable Stream

Aug 17 2020

JavaScript SpeechSynthesis.speak()ในตัวข้อความเป็นคำพูดที่ฟังก์ชั่น ฉันใช้ discord.js และฉันต้องการแปลง Speech Synthesis เป็นสตรีมที่อ่านได้ของ node.js เพื่อที่ฉันจะได้เล่นกลับเป็นการออกอากาศไปยังช่องเสียง

ฉันพบGithub Repoนี้ แต่มันไม่ได้ผลสำหรับฉันและฉันก็มีช่วงเวลาที่ยากลำบากในการออกอากาศ (นอกจากนี้ในขณะที่ฉันไม่แน่ใจ 100% ฉันคิดว่ามันบันทึก tts ซึ่งไม่ดีเมื่อ จัดการกับสตริงข้อความจำนวนมาก)

นี่คือข้อผิดพลาดหลักที่ฉันได้รับขณะใช้รหัสข้างต้น:

The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page.

และ

Uncaught TypeError: Cannot read property 'getUserMedia' of undefined

เป้าหมายของฉันคือหลีกเลี่ยงบางอย่างเช่น tts API ของ Google และใช้ JavaScript แบบเนทีฟ เป็นไปได้หรือไม่ที่จะแปลง Speech Synthesis เป็น Readable Stream ที่ฉันสามารถใช้ใน discord.js ได้ ถ้าเป็นเช่นนั้นอย่างไร? หรือมีวิธีใช้ repo ก่อนหน้านี้หรือไม่? โปรดช่วยฉันด้วยจะได้รับการชื่นชมมาก

(เช่นกันฉันทราบว่าความไม่ลงรอยกันมีปุ่ม tts ในตัวสำหรับอ่านข้อความ - นี่คือสิ่งที่แตกต่างไปจากเดิมอย่างสิ้นเชิง)

คำตอบ

1 Luke Aug 17 2020 at 23:50

Web Speech API (SpeechSynthesis.speak ()) ใช้ระบบปฏิบัติการพื้นฐานหรือการใช้งานการสังเคราะห์เบราว์เซอร์และไม่ผ่าน Web Audio API Github repo นั้นใช้ไมโครโฟนของระบบของคุณเพื่อบันทึกเอาต์พุตเสียงพูด นั่นไม่ใช่ความคิดที่ดียกเว้นเป็นการแฮ็ก คุณจะต้องใช้อย่างอื่นเพื่อสร้างเนื้อหา - อาจจะเป็นSay.jsซึ่งเป็นเบราว์เซอร์ข้ามและทำงานโดยตรงใน node.js?