summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSolomon Peachy <pizza@shaftnet.org>2020-07-19 15:21:09 -0400
committerSolomon Peachy <pizza@shaftnet.org>2020-07-19 19:32:43 +0000
commitfc4af2062b7bcf888a24c0258e6ce441476ded04 (patch)
treedc9f6261e2cf9715024f5d6f9b024e6820f9a48b
parent1748b475a9550227e864cff776e576dd28fb4e95 (diff)
downloadrockbox-fc4af2062b7bcf888a24c0258e6ce441476ded04.tar.gz
rockbox-fc4af2062b7bcf888a24c0258e6ce441476ded04.tar.bz2
rockbox-fc4af2062b7bcf888a24c0258e6ce441476ded04.zip
rbutil: Support 'espeak-ng' and 'mimic' TTS engines
Change-Id: Ibf6e46254f42b28800351fdb303539b2ec13d422
-rw-r--r--rbutil/rbutilqt/base/ttsbase.cpp8
-rw-r--r--rbutil/rbutilqt/base/ttsespeakng.h41
-rw-r--r--rbutil/rbutilqt/base/ttsmimic.h41
-rw-r--r--rbutil/rbutilqt/rbutilqt.pri2
4 files changed, 92 insertions, 0 deletions
diff --git a/rbutil/rbutilqt/base/ttsbase.cpp b/rbutil/rbutilqt/base/ttsbase.cpp
index 3b8384f534..0254c44e1d 100644
--- a/rbutil/rbutilqt/base/ttsbase.cpp
+++ b/rbutil/rbutilqt/base/ttsbase.cpp
@@ -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")
diff --git a/rbutil/rbutilqt/base/ttsespeakng.h b/rbutil/rbutilqt/base/ttsespeakng.h
new file mode 100644
index 0000000000..367b70b06c
--- /dev/null
+++ b/rbutil/rbutilqt/base/ttsespeakng.h
@@ -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
diff --git a/rbutil/rbutilqt/base/ttsmimic.h b/rbutil/rbutilqt/base/ttsmimic.h
new file mode 100644
index 0000000000..fba4e53fe2
--- /dev/null
+++ b/rbutil/rbutilqt/base/ttsmimic.h
@@ -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
diff --git a/rbutil/rbutilqt/rbutilqt.pri b/rbutil/rbutilqt/rbutilqt.pri
index d9ef1071f4..d88ecac8cf 100644
--- a/rbutil/rbutilqt/rbutilqt.pri
+++ b/rbutil/rbutilqt/rbutilqt.pri
@@ -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 \