Every build includes .rockbox/lang/voicestrings.zip, which contains
everything needed to build a voice file for that build.
This is already used by the rockbox utility, but now it is possible to
achieve the same using purely cmdline tools.
If the new voice-enum.txt file is present in the voicestrings.zip file,
this new flow produces bit-for-bit identical voice as the existing 'make
voice' flow.
Change-Id: Ieb24bc261a75b0e531c1889c49402217f7d14302
The former was removed from the upstream repositories "at the request of
contributors", leaving only the latter.
Change-Id: I4afe827be9037915d6d13b4d7ec0713509b88da3
Languages:
* Get rid of leading space on LANG_ID3_VBR [ " (VBR)" ]
* Fix up sole user to insert the space programmically
updatelang:
* strip leading and trailing spaces on all phrases except VOICE_PAUSE
voice.pl
* Debug logging with UTF-8 output
* Explicitly delete tab character from voiced strings
Change-Id: Ie466793479ce15ce7a9553770583a070530e7afd
This uses the piper engine.
Peninsular Spanish sounds markedly different from Central/South American
Spanish, so it seems prudent to offer both.
...We'll see how the masses feel.
Change-Id: Idfd3edd92c2dde7f9288afd99f474e59984689c9
This should be a no-op for .lang files, but it can matter when
generating talk clips, as those are based on the raw filename.
Change-Id: Ia449ae7668818e4bf093347fd0fb15fa5b67fa69
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
It will _vastly_ speed up repeated voice builds.
The voice pool directory will not be erased by a 'make clean'
Change-Id: Ice58d5c5355abfa5a385dfca749f8063e2ee8622
* Voice generation script will create standalone .talk clips
* These talk clips will be included in the rockbox .zip file
* All .voice files will be included in the rockbox .zip file
* Added LANGUAGE_NAME for all languages in the nightly builds
This way, any voice pack installed will give you a the langauge
voiced in the browser, and if the voice file fails to load you
will get a natively translated error message.
Change-Id: I6b627a51746cd088d6e200666dd326ea2745f55f
The original one was picked at random; while I personally find it
pleasing, it's soft spoken and doesn't work well when voicing over
already-playing music.
Change-Id: I0ed033f02a54f42e2d0729cab883068ecaad6faa
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
https://github.com/rhasspy/piper
High quality, offline, neural-network-based, with good language coverage
Note that you have to manually download the piper voice models, and set
PIPER_MODEL_DIR appropriately. The configure script will let you choose
from the available models and remember your choices.
Change-Id: I8eba9fcf78b51b01b89491539aac3e423cc42f16
This will use the configured tts engine and language to generate
the talk clips for a specified directory.
TALKDIR=/path/to/somehere make talkclips
TALKDIR=/path/to/somehere make talkclips-force
If 'TALKDIR' is not defined then it will error out gracefully.
Normally if a talkclip is present already it will not regenerate the file,
but 'make talkclip-force' will regenerate it anyway.
Change-Id: I62683f9e5ca395fd303ac6029096c20da1e96d01
This covers the voiced directory and filenames
* Don't regenerate a talk clip if one is present (?)
* Format awareness; ie if the TTS engine generates an mp3 file,
convert it to a wav file so we can encode it properly
* Use a global variable for the wavtrim threshold
Change-Id: I9f441b573704bdf7675794fd0e1984446308463b
* Language and dialect need to be specified separately
* Convert the mp3 files generated by gtts into wav into rbspeex
(Uses ffmpeg currently)
Change-Id: I6d7b9494e70a61537519221522202ea28469cc70
If it's present, we don't need to generate one, which means we don't
need to know the target name and features list.
The next step is to accept the binary variant that rbutil uses
so we can generate a complete voice file on the cmdline.
Change-Id: I1a355f985e6af46b11610de781996000110ae9de
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
* 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