Tổng hợp giọng nói JS thành Luồng có thể đọc Node.JS
Chức năng chuyển văn bản thành giọng nói được tích hợp sẵn của JavaScript là SpeechSynthesis.speak(). Tôi đang sử dụng discord.js và tôi muốn chuyển Tổng hợp giọng nói thành Luồng có thể đọc được của node.js để tôi có thể phát lại dưới dạng chương trình phát tới kênh thoại.
Tôi đã tìm thấy Github Repo này , tuy nhiên nó không phù hợp với tôi và tôi đã gặp khó khăn khi phát nó (Ngoài ra, trong khi tôi không chắc chắn 100%, tôi cho rằng nó ghi lại tts, điều này không tuyệt khi xử lý các chuỗi văn bản lớn).
Đây là các lỗi chính mà tôi gặp phải khi sử dụng mã nói trên:
The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page.
và
Uncaught TypeError: Cannot read property 'getUserMedia' of undefined
Mục tiêu của tôi là tránh thứ gì đó giống như API tts của Google và chỉ sử dụng JavaScript gốc. Có thể chuyển Tổng hợp giọng nói thành Luồng có thể đọc được mà tôi có thể sử dụng trong discord.js không? Nếu vậy, làm thế nào? Hoặc, có cách nào để sử dụng repo trước đó không? Xin hãy giúp tôi, nó sẽ được đánh giá cao.
(Ngoài ra, tôi biết rằng discord có một nút tts tích hợp để đọc tin nhắn - điều này dành cho một cái gì đó hoàn toàn khác)
Trả lời
API giọng nói web (SpeechSynthesis.speak ()) sử dụng triển khai tổng hợp Hệ điều hành hoặc Trình duyệt cơ bản và không thông qua API âm thanh web. Repo Github đó thực sự sử dụng Micrô của hệ thống của bạn để ghi lại đầu ra giọng nói. Đó không phải là một ý kiến hay, ngoại trừ việc bị hack. Bạn sẽ cần sử dụng thứ gì đó khác để tạo nội dung - có lẽ Say.js là trình duyệt chéo và hoạt động trực tiếp trong node.js?