2017-02-07 22 views
1

Я пытаюсь добавить Text-to-Speech в ChatBot в веб-браузере, используя NodeJS, где я хочу показать текст и воспроизвести speetch, когда получаю ответ.Как мне воспроизвести ответ Watson с текстом на речь через мои колонки?

Я искал и нашел следующий пример, который создает WAV-файл, который работает хорошо.

// Pipe the synthesized text to a file 
text_to_speech.synthesize(params).pipe(fs.createWriteStream('output.wav')); 

Вместо того, чтобы создавать файл, как я могу просто воспроизвести ответ прямо на своих динамиках ноутбука?

+0

Он слишком широк для одного вопроса ИМХО. Для аудио записи, создаваемой на стороне сервера, нужен аудиоклип на стороне клиента. Сначала вы хотите каким-то образом доставить аудио для своих клиентов (google "node js audio streaming server"). Тогда вам нужен клиентский аудиоплеер. – enkryptor

+0

Вы можете использовать библиотеку динамиков и передать свой поток на него вместо сохранения в виде файла. – Alaska

+0

Привет, @Alaska, я попробовал с библиотекой динамиков, но по какой-то причине он всегда играет один и тот же текст, и я подтвердил, что входной текст в watson TTS отличается. Пример моего кода: var Speaker = require ('speaker'); var speaker = new Speaker(); watson_text_to_speech.synthesize (params) .pipe (динамик); – Gameiro

ответ

0

Я сражался с этим какое-то время. Я бегал на моем малиновом пи и сталкивался с проблемами с решением динамиков.

Ниже работало для меня.

 
var Sound = require('node-aplay'); 


var f =text_to_speech.synthesize(params).pipe(fs.createWriteStream('output.wav')); 

f.on('finish', function() { 

    new Sound('output.wav').play(); 

    console.log("Done"); 
});

 Смежные вопросы

  • Нет связанных вопросов^_^