Commit graph

50 commits

Author SHA1 Message Date
Solomon Peachy
980124ec73 voice: Ensure there are no missing strings when generating the voicelist.
If the translation is not 100% complete, we need to make sure anything
missing is copied from English so there won't be any gaps in the voice
files.

(This behavior is similar to what we do for the regular binary lang files)

Change-Id: I5fd2a50d08317eb8445926145a74a38033e0ebcc
2020-07-12 17:03:19 -04:00
Solomon Peachy
aa20b6af7a voice: Two more fixes.
Change-Id: I5aaf10c588f4396e61942b8fcd6c62c792ea175b
2020-07-11 18:28:54 +00:00
Solomon Peachy
b546d9d172 voice: More fixes, and add more languages
* Pass strings via stdin where possible
 * Add German, Italian, and Norweigan to the build list.
   (in other words, everything with >=95% coverage)

Change-Id: I0154b178b15ddd0b79566c1cb62f76ade32824aa
2020-07-11 17:22:06 +00:00
Solomon Peachy
aad57ea1cc voice: Further enhancements for multi-lingual voice generation
* configure: allow use of full tts engine names when making selection
 * voice.pl:  fixes for espeak-ng
 * build.pm:  Add a list of "standard" voices for tooling use

The latter will be used by the nightly builder infrastructure to
determine what voices to generate.

Change-Id: Iff55288f94a30fbe08d8345b730969b7264b5e0f
2020-07-11 15:01:33 +00:00
Solomon Peachy
185d2bbb6a voice: More voice generation fixes:
* espeak vs espeak-ng  (prefer the latter!)
 * voicepool was busted for most non-english strings

Change-Id: Iae6df0f5426155b7b1f444160814ff9ef4581f21
2020-07-11 01:33:04 +00:00
Solomon Peachy
938d820355 voices: Add tts language mappings for the top 19 languages
festival: english and spanish only
gtts:  all but nederlands
espeak: all (need espeak-ng for czech, greek, and japanese)

Change-Id: I7df1b3235b48f352b0af3c13e3742e85432bc692
2020-07-11 00:09:49 +00:00
Solomon Peachy
711bff47b7 voice: Enhance 'espeak' to automatically pick the language + voice
Most of the 'perfect' or 'good' translations are covered.

Also, don't override user-specified voice

Change-Id: I837bd67e9df2b8bcc7e020f12a2f411c9175565b
2020-07-10 23:28:25 +00:00
Solomon Peachy
5d8a1a305d voice: Fix some perl warnings
(got lost in the output during my test runs)

Change-Id: I3467b96a9607a4d6cf1e26348cd496be508809d3
2020-07-09 11:35:06 +00:00
Solomon Peachy
2c3399537c voice: Add support for Google Translate's speech synthesizer
Uses the 'gtts-cli' command line client.  Supports a wide variety of
languages, including all "Complete" and "Good" Rockbox translations.

Additional changes:

 * voice synth script can accept pre-encoded mp3 files
 * Move language->synth options mapping into the voice script
 * Additional cleanups

Change-Id: I9523e2bca87cbcee2d8c4111f9892e8e458c7419
2020-07-08 23:16:57 +00:00
Solomon Peachy
e0d7c7c632 voice: Add support for Mimic TTS engine.
...It generates decent voice files in 1/10th the time of festival.

Change-Id: I1bf9271633a8a0e9c483761b8685f296d2f303b8
2020-04-16 21:28:09 +02:00
Solomon Peachy
e598ba13f5 Support using 'rbspeak' to generate voice files.
(Full credit to Igor Poretsky)

Change-Id: Ib9c5d2748cd7e0543b7fd110e83b4656089254b8
2018-12-22 20:27:39 -05:00
Thomas Jarosch
121b26e62f perl magic: Use if/elsif/else instead of given/when (FS #12188)
Unbreaks the maemo build.

Patch by Nick Peskett with a small comment added
as suggested by Dominik Riebeling.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30323 a1c6a512-1295-4272-9138-f99709370657
2011-08-16 19:26:24 +00:00
Alex Parker
354d8fbc63 Commit FS#12188 - Fix perl scripts that used Switch by Sean Bartell.
Perl 5.14 removed Switch which means that Rockbox will no longer build
with the current release of Perl. The patch replaces Switch
with given/when which was introduced in Perl 5.10.0.

Debian stable has 5.10.1, cygwin 1.7 has 5.10.1 and Mac OSX 10.6 comes
with 5.10.0. I'm not sure what version older versions of OSX come with,
but newer versions are apparently available from Macports.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30169 a1c6a512-1295-4272-9138-f99709370657
2011-07-19 19:16:54 +00:00
Dominik Riebeling
7ad78222c4 FS#11913: Separate TTS correction expressions into separate file.
voice.pl will now read the TTS correction expressions from a file
tools/voice-corrections.txt which includes regular expressions for
adjusting the string. This makes it easier to adjust the corrections and
allows integrating them into tools like Rockbox Utility.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29500 a1c6a512-1295-4272-9138-f99709370657
2011-03-02 18:29:38 +00:00
Jonas Häggqvist
a6052d30af Add a full stop after strings, since some voices use the existance of one to change intonation.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20184 a1c6a512-1295-4272-9138-f99709370657
2009-03-02 22:29:17 +00:00
Jonas Häggqvist
839bcdf46c Ask which voice to use for Festival.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20181 a1c6a512-1295-4272-9138-f99709370657
2009-03-02 21:36:48 +00:00
Jens Arnold
c5ecffe9e9 Tweak for German TTS engines.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18981 a1c6a512-1295-4272-9138-f99709370657
2008-11-03 07:45:45 +00:00
Jens Arnold
425d0ef22e Character set handling refinements:
- Default to UTF-8 for all I/O, including STDIO, removing the need to explicitly select UTF-8 in several places
- Let PerlIO check for valid UTF-8
- Cygwin/SAPI: Perl 5.8.8 breaks when asked to handle both UTF-16 and CRLF in PerlIO ('unexpected non-continuation byte'). Work around this by going back to manual CRLF handling.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18321 a1c6a512-1295-4272-9138-f99709370657
2008-08-19 21:23:00 +00:00
Jonas Häggqvist
04e96977f1 Remove some irresponsible character set mangling from the Italian section of voice.pl. If this is really
needed, add it under each individual TTS engine that is confirmed to need this. And please use only UTF-8 
in the script (binary data should be entered as \xe9 etc).


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18268 a1c6a512-1295-4272-9138-f99709370657
2008-08-13 18:44:47 +00:00
Jens Arnold
f834968e5e Let PerlIO also do the LF<->CRLF conversion for SAPI.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18218 a1c6a512-1295-4272-9138-f99709370657
2008-08-08 08:35:17 +00:00
Jonas Häggqvist
8eaa39b5fc 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
2008-08-07 21:16:52 +00:00
Jens Arnold
7d5600fbe0 Fix $
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18214 a1c6a512-1295-4272-9138-f99709370657
2008-08-07 20:04:36 +00:00
Jens Arnold
98a22d4276 Fix SAPI voice file generation on multibyte windows variants (japanese, probably others, see FS #9246). This gets rid of the conversion in the VBScript (which relied on unsafe assumptions about charset conversion in windows), and lets PerlIO do the work instead.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18213 a1c6a512-1295-4272-9138-f99709370657
2008-08-07 20:00:32 +00:00
Jens Arnold
903a048ddc Fix 'Bareword ''CMD_OUT'' not allowed while ''strict subs'' in use' when building SAPI voices using newer perl versions.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18102 a1c6a512-1295-4272-9138-f99709370657
2008-07-20 13:55:04 +00:00
Nils Wallménius
e3c61884c5 Small tweak for festival to correct the spelling of 'A', fixes FS#8889
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17282 a1c6a512-1295-4272-9138-f99709370657
2008-04-28 18:12:14 +00:00
Alessio Lenzi
ca7a98b82c Some other minor fixes to accent with italian TTS.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17027 a1c6a512-1295-4272-9138-f99709370657
2008-04-07 19:56:25 +00:00
Alessio Lenzi
0af9a516f1 Fixed some accents for italian TTS pronunciation.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16850 a1c6a512-1295-4272-9138-f99709370657
2008-03-27 21:26:19 +00:00
Stéphane Doyon
1dff29a9d6 Accept FS#8236: make voice should overwrite existing .voice files.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15835 a1c6a512-1295-4272-9138-f99709370657
2007-11-27 13:47:52 +00:00
Jens Arnold
19c86e8613 Make voice.pl gentalkclips() work for SAPI.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15704 a1c6a512-1295-4272-9138-f99709370657
2007-11-19 23:24:27 +00:00
Jens Arnold
2acbbdd431 German AT&T voices have a general problem with composite words ending in 'lauf'. Make voice.pl fix all of them.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15703 a1c6a512-1295-4272-9138-f99709370657
2007-11-19 21:21:45 +00:00
Alessio Lenzi
d06e1c6a05 Added Italian exsception strings.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15697 a1c6a512-1295-4272-9138-f99709370657
2007-11-19 17:44:15 +00:00
Jens Arnold
984a6b0236 Add the tools dir to the path in voice.pl, for easier calling of the various tools. Fixes the problem of building swcodec voice files on cygwin (needs reconfiguring).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15672 a1c6a512-1295-4272-9138-f99709370657
2007-11-18 18:44:45 +00:00
Thom Johansen
75432619e8 Introduce use of the new Speex voice file encoder in voice builds. Remove the very unfinished support for other encoders and force use of either rbspeexenc for SWCODEC or LAME for HWCODEC. Update voice.pl to work with the new system, and remove a bug in the same go. Remember to rerun "configure" if you want to build voice files.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15667 a1c6a512-1295-4272-9138-f99709370657
2007-11-18 17:10:50 +00:00
Jonas Häggqvist
39429616c3 Fix a function parameter mis-match
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15651 a1c6a512-1295-4272-9138-f99709370657
2007-11-16 23:42:18 +00:00
Jonas Häggqvist
d35d2d95ed Some more quoting of program arguments.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15650 a1c6a512-1295-4272-9138-f99709370657
2007-11-16 21:33:24 +00:00
Jonas Häggqvist
1b2561b0d9 Move some stuff around so things are actually initialized before using them. Last second changes are evil.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15646 a1c6a512-1295-4272-9138-f99709370657
2007-11-16 20:02:02 +00:00
Jonas Häggqvist
4295149483 Initial attempt at talkclip generation in voice.pl. Add some quoting to a few functions to avoid problems.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15645 a1c6a512-1295-4272-9138-f99709370657
2007-11-16 19:59:09 +00:00
Magnus Holmgren
92d99dfff5 FS#8126: Translated voice strings for Swedish, with a few changes by me.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15621 a1c6a512-1295-4272-9138-f99709370657
2007-11-14 17:48:18 +00:00
Jonas Häggqvist
2af3755dce It seems we want the plugins fix for sapi as well.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14958 a1c6a512-1295-4272-9138-f99709370657
2007-10-02 17:32:30 +00:00
Jonas Häggqvist
29f07cdbca Move the "plugins" correction into a Festival-specific switch.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14956 a1c6a512-1295-4272-9138-f99709370657
2007-10-02 16:34:06 +00:00
Jonas Häggqvist
b9022cf0eb Attempt to fix pronounciation of "plugins" for all English languages. Hopefully this spells the end of ploogins.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14758 a1c6a512-1295-4272-9138-f99709370657
2007-09-19 20:56:07 +00:00
Jens Arnold
2829aefe02 Only replace those abbreviations if they're capitalised.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14610 a1c6a512-1295-4272-9138-f99709370657
2007-09-04 22:13:52 +00:00
Jens Arnold
fcf1f98518 Remove debug line.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14609 a1c6a512-1295-4272-9138-f99709370657
2007-09-04 22:10:09 +00:00
Jens Arnold
df9a166392 Voice file building: * Make correct_string() work as intended by passing the missing 2 parameters. * SAPI: Add query for TTS engine vendor. * Add several string corrections (mostly but not exclusively for German). * Make the pool filenames include TTS options and encoder options in their MD5 hash value, allowing to properly build voice files where those settings differ per target using the same pool.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14608 a1c6a512-1295-4272-9138-f99709370657
2007-09-04 22:03:05 +00:00
Jens Arnold
5dbea469a6 SAPI voice file generation: * Added language matching and voice selection (use TTS option /voice:<name> to select; voices with spaces in the name need the options quotes). * Added SAPI4 support (use TTS option /sapi4; voice file generation takes hours...)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14587 a1c6a512-1295-4272-9138-f99709370657
2007-09-02 22:32:34 +00:00
Jens Arnold
f2ed1e4008 Make clip generation progress indicator work reliably.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14570 a1c6a512-1295-4272-9138-f99709370657
2007-09-02 00:50:08 +00:00
Jonas Häggqvist
005699f98b Add support for building voices with the swift engine from cepstral.com. Patch FS#7689 by Mario Lang.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14565 a1c6a512-1295-4272-9138-f99709370657
2007-09-01 20:03:20 +00:00
Jens Arnold
080522f917 Voice file generation: * Significant speedup of SAPI5 voice generation by running lame and wavtrim from inside the VB script instead of the perl script, avoiding the large overhead of process generation within cygwin. Added proper synchronisation between perl script and VB script as the pipes are buffered. * Make wavtrim work as intended (threashold wasn't passed). * Set correct SVN properties for the VB script.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14562 a1c6a512-1295-4272-9138-f99709370657
2007-09-01 08:38:10 +00:00
Jens Arnold
d70857b2da Voice generation: Don't call lame twice, and make the command echo work for all encoders.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14501 a1c6a512-1295-4272-9138-f99709370657
2007-08-29 06:14:45 +00:00
Jonas Häggqvist
17e03e75a4 Replace the voicebuilding with a perl-based approach. Should greatly speed up building on Cygwin. See more in FS#7646.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14457 a1c6a512-1295-4272-9138-f99709370657
2007-08-25 22:00:13 +00:00