diff options
author | Solomon Peachy <pizza@shaftnet.org> | 2020-07-19 15:21:09 -0400 |
---|---|---|
committer | Solomon Peachy <pizza@shaftnet.org> | 2020-07-19 19:32:43 +0000 |
commit | fc4af2062b7bcf888a24c0258e6ce441476ded04 (patch) | |
tree | dc9f6261e2cf9715024f5d6f9b024e6820f9a48b | |
parent | 1748b475a9550227e864cff776e576dd28fb4e95 (diff) | |
download | rockbox-fc4af2062b7bcf888a24c0258e6ce441476ded04.tar.gz rockbox-fc4af2062b7bcf888a24c0258e6ce441476ded04.zip |
rbutil: Support 'espeak-ng' and 'mimic' TTS engines
Change-Id: Ibf6e46254f42b28800351fdb303539b2ec13d422
-rw-r--r-- | rbutil/rbutilqt/base/ttsbase.cpp | 8 | ||||
-rw-r--r-- | rbutil/rbutilqt/base/ttsespeakng.h | 41 | ||||
-rw-r--r-- | rbutil/rbutilqt/base/ttsmimic.h | 41 | ||||
-rw-r--r-- | rbutil/rbutilqt/rbutilqt.pri | 2 |
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 | |||
27 | class 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 | |||
27 | class 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 \ |