JS Speech Synthesis to Node.JS Readable Stream

Aug 17 2020

Fungsi text-to-speech bawaan JavaScript adalah SpeechSynthesis.speak(). Saya menggunakan discord.js dan saya ingin mengonversi Speech Synthesis ke node.js Readable Stream sehingga saya dapat memutarnya kembali sebagai siaran ke saluran suara.

Saya menemukan Repo Github ini , namun itu tidak berhasil untuk saya dan saya kesulitan menyiarkannya (Juga, meskipun saya tidak 100% yakin, saya berasumsi itu merekam tts, yang tidak bagus ketika berurusan dengan string teks yang besar).

Inilah kesalahan utama yang saya dapatkan saat menggunakan kode yang disebutkan di atas:

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

dan

Uncaught TypeError: Cannot read property 'getUserMedia' of undefined

Tujuan saya adalah untuk menghindari sesuatu seperti API tts Google dan hanya menggunakan JavaScript asli. Apakah mungkin untuk mengubah Sintesis Ucapan menjadi Stream yang Dapat Dibaca yang dapat saya gunakan di discord.js? Jika ya, bagaimana caranya? Atau, apakah ada cara untuk menggunakan repo sebelumnya? Tolong bantu saya, itu akan sangat dihargai.

(juga, saya sadar perselisihan memiliki tombol tts bawaan untuk membaca pesan - ini untuk sesuatu yang sama sekali berbeda)

Jawaban

1 Luke Aug 17 2020 at 23:50

Web Speech API (SpeechSynthesis.speak ()) menggunakan implementasi sintesis OS atau Browser yang mendasari, dan tidak melalui API Audio Web. Repo Github itu sebenarnya menggunakan Mikrofon sistem Anda untuk merekam keluaran ucapan. Itu bukan ide yang bagus kecuali sebagai hack. Anda harus menggunakan sesuatu yang lain untuk menghasilkan konten - mungkin Say.js yang merupakan lintas browser dan bekerja langsung di node.js?