diff --git a/README.md b/README.md index e4fafe6..b6ca221 100644 --- a/README.md +++ b/README.md @@ -38,10 +38,12 @@ you may define AWS_KEY_ID and AWS_SECRET_ACCESS_KEY as environmental variables. perl render.pl -i file [-o directory] [-c directory] [-s speeds] [-p pitch] [-pr] [-m max processes] [-z 1] [-rr 1] [--test] [-l word limit] [--norepeat] [--nospoken] [--nocourtesytone] [-e NEURAL | STANDARD] - [--sm] [--ss] [--sv] [-x] [--lang ENGLISH | SWEDISH] + [--sm] [--ss] [--sv] [-x] [--lang ENGLISH | SWEDISH | ROMANIAN] Uses AWS Polly and requires valid credentials in the aws.properties file.

+For `-l ROMANIAN`, remember to use `-e STANDARD`. Neural languages do not sound as rough as standard ones. + #### OPTIONS: ##### Required: diff --git a/render.pl b/render.pl index 2b65df7..8a91f68 100755 --- a/render.pl +++ b/render.pl @@ -12,6 +12,7 @@ use Getopt::Long; use Digest::SHA qw(sha256_hex sha256_base64); use POSIX; +use Encode qw(encode_utf8); my @speeds; sub print_usage; @@ -83,6 +84,10 @@ $lower_lang_chars_regex = "a-züäöß"; $upper_lang_chars_regex = "A-ZÜÄÖß"; } +if($lang eq "ROMANIAN") { + $lower_lang_chars_regex = "a-zâăîșț"; + $upper_lang_chars_regex = "A-ZÂĂÎȘȚ"; +} binmode(STDOUT, ":encoding(UTF-8)"); @@ -408,7 +413,8 @@ sub split_on_spoken_directive { $cached_filename = "${lang}-standard-"; } - $cached_filename .= $text_to_speech_engine . "-" . sha256_hex($sentence) . ".mp3"; + use Encode qw(encode_utf8); + $cached_filename .= $text_to_speech_engine . "-" . sha256_hex(encode_utf8($sentence)) . ".mp3"; $cached_filename = $cache_directory . $cached_filename; return $cached_filename; @@ -581,7 +587,8 @@ sub split_on_spoken_directive { sub get_cached_filename { my ($ebookCmdBase, $morse_text) = @_; - my $cached_file_hash = sha256_base64($ebookCmdBase . $morse_text); + use Encode qw(encode_utf8); + my $cached_file_hash = sha256_base64(encode_utf8($ebookCmdBase . $morse_text)); $cached_file_hash =~ s/\///g; my $cached_file = $cached_file_hash . ".mp3"; diff --git a/text2speech.py b/text2speech.py index 85f082a..44eb6c0 100755 --- a/text2speech.py +++ b/text2speech.py @@ -117,6 +117,9 @@ def render(cache_filename, voice_id, text_type, text): if language == "GERMAN": voice_id = "Vicki" + if language == "ROMANIAN": + voice_id = "Carmen" + print("Using Voice: " + voice_id) cache_filename = cache_directory + language + "-standard-" + base_filename render(cache_filename, voice_id=voice_id, text_type=None, text=sentence)