summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSolomon Peachy <pizza@shaftnet.org>2024-07-27 07:44:17 -0400
committerSolomon Peachy <pizza@shaftnet.org>2024-07-27 07:47:12 -0400
commit566d99acedf1d2b2eab005bf9fc341cc8aabff78 (patch)
tree0ca5fb40fd681396ed4bd648e54fda39e3243e2f
parent2dddf16e2cb23e317c52b32d570266e10512cc66 (diff)
downloadrockbox-566d99aced.tar.gz
rockbox-566d99aced.zip
voice: Switch default English Piper voice to 'en_GB-semaine-medium'
The former one ('cori') had some very pathological corner cases especiallly when voicing single letters. This one is just better all around. Change-Id: I275256a637cf70ba196aafdecc24038bfe841955
-rw-r--r--apps/lang/InvalidVoice_english.talkbin2707 -> 4116 bytes
-rw-r--r--tools/builds.pm2
-rwxr-xr-xtools/voice.pl18
3 files changed, 12 insertions, 8 deletions
diff --git a/apps/lang/InvalidVoice_english.talk b/apps/lang/InvalidVoice_english.talk
index e40f227c33..6e54e63129 100644
--- a/apps/lang/InvalidVoice_english.talk
+++ b/apps/lang/InvalidVoice_english.talk
Binary files differ
diff --git a/tools/builds.pm b/tools/builds.pm
index ba3fb2aad5..1b680c17fb 100644
--- a/tools/builds.pm
+++ b/tools/builds.pm
@@ -601,7 +601,7 @@ sub simbuilds {
'festival' => '--language english',
'espeak' => '-ven-gb -k 5',
'gtts' => '-l en -t co.uk',
- 'piper' => 'en_GB-cori-high.onnx',
+ 'piper' => 'en_GB-semaine-medium.onnx',
},
'enabled' => 1,
},
diff --git a/tools/voice.pl b/tools/voice.pl
index 7a0b1edc1d..1180565b64 100755
--- a/tools/voice.pl
+++ b/tools/voice.pl
@@ -138,7 +138,7 @@ my %espeak_lang_map = (
);
my %piper_lang_map = (
- 'english' => 'en_GB-cori-high.onnx', # Always first, it's the golden master
+ 'english' => 'en_GB-semaine-medium.onnx', # Always first, it's the golden master
# 'bulgarian' => '-vbg',
'chinese-simp' => 'zh_CN-huayan-medium.onnx',
'czech' => 'cs_CZ-jirka-medium.onnx',
@@ -595,17 +595,21 @@ sub gentalkclips {
print(".");
}
- # Convert to a complete path
- my $path = sprintf("%s/%s", $dir, $file);
-
- $voice = $file;
- $wav = sprintf("%s.talk.wav", $path);
-
# Ignore dot-dirs and talk files
if ($file eq '.' || $file eq '..' || $file =~ /\.talk$/) {
next;
}
+ $voice = $file;
+
+ # Convert some symbols to spaces
+ $voice =~ tr/_-/ /;
+
+ # Convert to a complete path
+ my $path = sprintf("%s/%s", $dir, $file);
+
+ $wav = sprintf("%s.talk.wav", $path);
+
if ( -d $path) { # Element is a dir
$enc = sprintf("%s/_dirname.talk", $path);
if (! -e "$path/talkclips.ignore") { # Skip directories containing "talkclips.ignore"