From 64e4f81ffc7173bfbbf83bb4485a29ede67a4824 Mon Sep 17 00:00:00 2001 From: Solomon Peachy Date: Tue, 7 May 2024 15:13:33 -0400 Subject: voice: Properly handle UTF8-encoded filenames when generating talkclips MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Eg this was happening before: '11 - Breña.mp3' --> '11 - Breña.mp3' As well as resulting in incorrect voicing, it was breaking the encoding of the .wav to .talk. Change-Id: I6cf844d843ddf1a459f92e1ebd55c9feec886f55 --- tools/voice.pl | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'tools') diff --git a/tools/voice.pl b/tools/voice.pl index 337407e187..2c966cb0df 100755 --- a/tools/voice.pl +++ b/tools/voice.pl @@ -17,6 +17,7 @@ use strict; use warnings; +use utf8; use File::Basename; use File::Copy; use vars qw($V $C $t $l $e $E $s $S $i $v $f $F); @@ -25,8 +26,8 @@ use IPC::Open3; use Digest::MD5 qw(md5_hex); use DirHandle; use open ':encoding(utf8)'; -use open ':std'; -use utf8; +use Encode::Locale; +use Encode; sub printusage { print <read) { + $file = Encode::decode( locale_fs => $file); my ($voice, $wav, $enc); my $format = $tts_object->{'format'}; -- cgit v1.2.3