summaryrefslogtreecommitdiff
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.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 @@
25#include "ttsmssp.h" 25#include "ttsmssp.h"
26#include "ttsexes.h" 26#include "ttsexes.h"
27#include "ttsespeak.h" 27#include "ttsespeak.h"
28#include "ttsespeakng.h"
28#include "ttsflite.h" 29#include "ttsflite.h"
30#include "ttsmimic.h"
29#include "ttsswift.h" 31#include "ttsswift.h"
30#if defined(Q_OS_MACX) 32#if defined(Q_OS_MACX)
31#include "ttscarbon.h" 33#include "ttscarbon.h"
@@ -43,6 +45,8 @@ void TTSBase::initTTSList()
43{ 45{
44#if !defined(Q_OS_WIN) 46#if !defined(Q_OS_WIN)
45 ttsList["espeak"] = tr("Espeak TTS Engine"); 47 ttsList["espeak"] = tr("Espeak TTS Engine");
48 ttsList["espeakng"] = tr("Espeak-ng TTS Engine");
49 ttsList["mimic"] = tr("Mimic TTS Engine");
46#endif 50#endif
47 ttsList["flite"] = tr("Flite TTS Engine"); 51 ttsList["flite"] = tr("Flite TTS Engine");
48 ttsList["swift"] = tr("Swift TTS Engine"); 52 ttsList["swift"] = tr("Swift TTS Engine");
@@ -85,6 +89,10 @@ TTSBase* TTSBase::getTTS(QObject* parent,QString ttsName)
85#endif 89#endif
86 if(ttsName == "espeak") 90 if(ttsName == "espeak")
87 tts = new TTSEspeak(parent); 91 tts = new TTSEspeak(parent);
92 else if(ttsName == "espeakng")
93 tts = new TTSEspeakNG(parent);
94 else if(ttsName == "mimic")
95 tts = new TTSMimic(parent);
88 else if(ttsName == "flite") 96 else if(ttsName == "flite")
89 tts = new TTSFlite(parent); 97 tts = new TTSFlite(parent);
90 else if(ttsName == "swift") 98 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 @@
1/***************************************************************************
2* __________ __ ___.
3* Open \______ \ ____ ____ | | _\_ |__ _______ ___
4* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7* \/ \/ \/ \/ \/
8*
9* Copyright (C) 2020 by Solomon Peachy
10*
11* This program is free software; you can redistribute it and/or
12* modify it under the terms of the GNU General Public License
13* as published by the Free Software Foundation; either version 2
14* of the License, or (at your option) any later version.
15*
16* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
17* KIND, either express or implied.
18*
19****************************************************************************/
20
21#ifndef TTSESPEAKNG_H
22#define TTSESPEAKNG_H
23
24#include <QtCore>
25#include "ttsexes.h"
26
27class TTSEspeakNG : public TTSExes
28{
29 Q_OBJECT
30 public:
31 TTSEspeakNG(QObject* parent=NULL) : TTSExes(parent)
32 {
33 m_name = "espeak-ng";
34
35 m_TTSTemplate = "\"%exe\" %options -w \"%wavfile\" -- \"%text\"";
36 m_TTSSpeakTemplate = "\"%exe\" %options -- \"%text\"";
37 m_capabilities = TTSBase::CanSpeak;
38 }
39};
40
41#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 @@
1/***************************************************************************
2* __________ __ ___.
3* Open \______ \ ____ ____ | | _\_ |__ _______ ___
4* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7* \/ \/ \/ \/ \/
8*
9* Copyright (C) 2020 by Solomon Peachy
10*
11* This program is free software; you can redistribute it and/or
12* modify it under the terms of the GNU General Public License
13* as published by the Free Software Foundation; either version 2
14* of the License, or (at your option) any later version.
15*
16* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
17* KIND, either express or implied.
18*
19****************************************************************************/
20
21#ifndef TTSMIMIC_H
22#define TTSMIMIC_H
23
24#include <QtCore>
25#include "ttsexes.h"
26
27class TTSMimic : public TTSExes
28{
29 Q_OBJECT
30 public:
31 TTSMimic(QObject* parent=NULL) : TTSExes(parent)
32 {
33 m_name = "mimic";
34
35 m_TTSTemplate = "\"%exe\" %options -o \"%wavfile\" -t \"%text\"";
36 m_TTSSpeakTemplate = "\"%exe\" %options -t \"%text\"";
37 m_capabilities = TTSBase::CanSpeak;
38 }
39};
40
41#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 += \
115 base/ttsbase.h \ 115 base/ttsbase.h \
116 base/ttsexes.h \ 116 base/ttsexes.h \
117 base/ttsespeak.h \ 117 base/ttsespeak.h \
118 base/ttsespeakng.h \
118 base/ttsflite.h \ 119 base/ttsflite.h \
119 base/ttsfestival.h \ 120 base/ttsfestival.h \
121 base/ttsmimic.h \
120 base/ttsswift.h \ 122 base/ttsswift.h \
121 base/ttssapi.h \ 123 base/ttssapi.h \
122 base/ttssapi4.h \ 124 base/ttssapi4.h \