синтез речи в perl

Можно ли заставить компьютер (Windows или Linux, Mac) говорить на Perl? Я знаю, что это возможно с помощью сценария VB. Но как насчет перла?

В VB мы просто пишем

CreateObject("SAPI.SpVoice").Speak"I can speak "

Как мы это делаем в perl?


person mac    schedule 31.08.2011    source источник
comment
Поиск в CPAN (search.cpan.org) для TTS (преобразование текста в речь)   -  person arunkumar    schedule 31.08.2011
comment
KDE Jovie, речь гномов, фестиваль, флайт, эспик, эпос   -  person daxim    schedule 31.08.2011
comment
Всякий раз, когда вы хотите узнать, может ли Perl что-то сделать, начните с поиска в CPAN по адресу metacpan.org . Вы получите ответ через пару секунд.   -  person brian d foy    schedule 31.08.2011


Ответы (2)


Модуль Speech::Synthesis может взаимодействовать с API Microsoft SAPI 5, который выглядит как вы используете в VB. Существует также Win32::SAPI5, который специфичен для Windows, но может обеспечить больший контроль. , или вы можете просто использовать Win32::OLE:

use Win32::OLE;

Win32::OLE->CreateObject('SAPI.SpVoice')->Speak('I can speak');

Конечно, если вы собираетесь говорить несколько раз, вы, вероятно, захотите создать объект только один раз, сохранить его в переменной и вызвать для него Speak несколько раз.

person cjm    schedule 31.08.2011

Быстрый поиск по CPAN показывает, что PerlSpeak, Speech::Synthesis и Speech::eSpeak способны к синтезу речи.

person Mansoor Siddiqui    schedule 31.08.2011