bool TTSFestival::start(QString* errStr) { qDebug() << "[Festival] Starting server with voice " << RbSettings::subValue("festival", RbSettings::TtsVoice).toString(); bool running = ensureServerRunning(); if (!RbSettings::subValue("festival",RbSettings::TtsVoice).toString().isEmpty()) { /* There's no harm in using both methods to set the voice .. */ QString voiceSelect = QString("(voice.select '%1)\n") .arg(RbSettings::subValue("festival", RbSettings::TtsVoice).toString()); queryServer(voiceSelect, 3000); if(prologFile.open()) { prologFile.write(voiceSelect.toAscii()); prologFile.close(); prologPath = QFileInfo(prologFile).absoluteFilePath(); qDebug() << "[Festival] Prolog created at " << prologPath; } } if (!running) (*errStr) = "Festival could not be started"; return running; }
bool TTSFestival::start(QString* errStr) { (void) errStr; ensureServerRunning(); if (!RbSettings::subValue("festival",RbSettings::TtsVoice).toString().isEmpty()) queryServer(QString("(voice.select '%1)") .arg(RbSettings::subValue("festival", RbSettings::TtsVoice).toString())); return true; }