summaryrefslogtreecommitdiffstats
path: root/tools/voice.pl
diff options
context:
space:
mode:
authorJonas Häggqvist <rasher@rasher.dk>2008-08-07 21:16:52 +0000
committerJonas Häggqvist <rasher@rasher.dk>2008-08-07 21:16:52 +0000
commit8eaa39b5fc234fbcbccf876ca3d43186a3ca3156 (patch)
tree6b9d3b680c52fad2c946ebd555c5ab8dbb2d6fa5 /tools/voice.pl
parent2ea3ebe117b08641ca14a9264ef47dfe9dc67770 (diff)
downloadrockbox-8eaa39b5fc234fbcbccf876ca3d43186a3ca3156.tar.gz
rockbox-8eaa39b5fc234fbcbccf876ca3d43186a3ca3156.zip
Silence some warnings in voice.pl by setting the encoding to UTF-8. Output on Cygwin will be wrong if using verbose mode.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18216 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'tools/voice.pl')
-rwxr-xr-xtools/voice.pl5
1 files changed, 3 insertions, 2 deletions
diff --git a/tools/voice.pl b/tools/voice.pl
index cf15cc5f4a..64c96800f4 100755
--- a/tools/voice.pl
+++ b/tools/voice.pl
@@ -241,6 +241,7 @@ sub voicestring {
our $verbose;
my ($string, $output, $tts_engine_opts, $tts_object) = @_;
my $cmd;
+ binmode(STDOUT, ':encoding(UTF-8)');
printf("Generate \"%s\" with %s in file %s\n", $string, $$tts_object{"name"}, $output) if $verbose;
switch($$tts_object{"name"}) {
case "festival" {
@@ -251,6 +252,7 @@ sub voicestring {
# Open command, and filehandles for STDIN, STDOUT, STDERR
my $pid = open3(*CMD_IN, *CMD_OUT, *CMD_ERR, $cmd);
# Put the string to speak into STDIN and close it
+ binmode(CMD_IN, ':encoding(utf8)');
print(CMD_IN $string);
close(CMD_IN);
# Read all output from festival_client (because it LIES TO US)
@@ -265,10 +267,9 @@ sub voicestring {
`$cmd`;
}
case "espeak" {
- # xxx: $tts_engine_opts isn't used
$cmd = "espeak $tts_engine_opts -w \"$output\"";
print("> $cmd\n") if $verbose;
- open(ESPEAK, "| $cmd");
+ open(ESPEAK, "|-:encoding(utf8)", $cmd);
print ESPEAK $string . "\n";
close(ESPEAK);
}