1
0
Fork 0
forked from len0rd/rockbox

rbutil: Support 'espeak-ng' and 'mimic' TTS engines

Change-Id: Ibf6e46254f42b28800351fdb303539b2ec13d422
This commit is contained in:
Solomon Peachy 2020-07-19 15:21:09 -04:00
parent 1748b475a9
commit fc4af2062b
4 changed files with 92 additions and 0 deletions

View file

@ -25,7 +25,9 @@
#include "ttsmssp.h"
#include "ttsexes.h"
#include "ttsespeak.h"
#include "ttsespeakng.h"
#include "ttsflite.h"
#include "ttsmimic.h"
#include "ttsswift.h"
#if defined(Q_OS_MACX)
#include "ttscarbon.h"
@ -43,6 +45,8 @@ void TTSBase::initTTSList()
{
#if !defined(Q_OS_WIN)
ttsList["espeak"] = tr("Espeak TTS Engine");
ttsList["espeakng"] = tr("Espeak-ng TTS Engine");
ttsList["mimic"] = tr("Mimic TTS Engine");
#endif
ttsList["flite"] = tr("Flite TTS Engine");
ttsList["swift"] = tr("Swift TTS Engine");
@ -85,6 +89,10 @@ TTSBase* TTSBase::getTTS(QObject* parent,QString ttsName)
#endif
if(ttsName == "espeak")
tts = new TTSEspeak(parent);
else if(ttsName == "espeakng")
tts = new TTSEspeakNG(parent);
else if(ttsName == "mimic")
tts = new TTSMimic(parent);
else if(ttsName == "flite")
tts = new TTSFlite(parent);
else if(ttsName == "swift")

View file

@ -0,0 +1,41 @@
/***************************************************************************
* __________ __ ___.
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
* \/ \/ \/ \/ \/
*
* Copyright (C) 2020 by Solomon Peachy
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
* KIND, either express or implied.
*
****************************************************************************/
#ifndef TTSESPEAKNG_H
#define TTSESPEAKNG_H
#include <QtCore>
#include "ttsexes.h"
class TTSEspeakNG : public TTSExes
{
Q_OBJECT
public:
TTSEspeakNG(QObject* parent=NULL) : TTSExes(parent)
{
m_name = "espeak-ng";
m_TTSTemplate = "\"%exe\" %options -w \"%wavfile\" -- \"%text\"";
m_TTSSpeakTemplate = "\"%exe\" %options -- \"%text\"";
m_capabilities = TTSBase::CanSpeak;
}
};
#endif

View file

@ -0,0 +1,41 @@
/***************************************************************************
* __________ __ ___.
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
* \/ \/ \/ \/ \/
*
* Copyright (C) 2020 by Solomon Peachy
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
* KIND, either express or implied.
*
****************************************************************************/
#ifndef TTSMIMIC_H
#define TTSMIMIC_H
#include <QtCore>
#include "ttsexes.h"
class TTSMimic : public TTSExes
{
Q_OBJECT
public:
TTSMimic(QObject* parent=NULL) : TTSExes(parent)
{
m_name = "mimic";
m_TTSTemplate = "\"%exe\" %options -o \"%wavfile\" -t \"%text\"";
m_TTSSpeakTemplate = "\"%exe\" %options -t \"%text\"";
m_capabilities = TTSBase::CanSpeak;
}
};
#endif

View file

@ -115,8 +115,10 @@ HEADERS += \
base/ttsbase.h \
base/ttsexes.h \
base/ttsespeak.h \
base/ttsespeakng.h \
base/ttsflite.h \
base/ttsfestival.h \
base/ttsmimic.h \
base/ttsswift.h \
base/ttssapi.h \
base/ttssapi4.h \