Text To Speech - literary texts
Dernière mise à jour (Last update):
I'm working for my father who is now almost blind, to make audio
versions of Gutenberg books, using
Text To Speech programs such as MBROLA.
Since I'm an experienced programmer, I'm trying to automate as much as
possible the chain of treatments.
Trial of LIA_PHON
Trial of LIA_PHON <== sorry, this is
in French! Conclusion is that LIA_PHON is better in every aspect.
Here is what I did to obtain a complete 25 minutes of reading out of
"La Vie De Molière" by Voltaire, from the complete text
from Gutenberg Project . The voice
quality is questionable, but it's understandable : listen the first 30 s ; read the
corresponding text :
VIE DE MOLIERE
PAR VOLTAIRE
Le goût de bien des lecteurs pour les choses
frivoles, et l'envie de faire un
volume de ce qui ne devrait remplir que peu de pages, sont cause que
l'histoire des hommes célèbres est presque toujours
gâtée par des détails
inutiles et des contes populaires aussi faux qu'insipides. On y ajoute
souvent
des critiques injustes de leurs ouvrages. C'est ce qui est
arrivé dans
l'édition de Racine faite à Paris en 1728. On
tâchera ...
I installed without problems the executable for MBROLA
and the fr4 french voice. MBROLA pronounces text that has been analyzed
as elementary phonemes, with indications of frequencies and durations.
So it needs a pre-processor that takes as input an ordinary text. I used
text2phone from tts-French;
it is a Perl script of 1050 lines. There is also a file named "base"
containing phonetic rules.
I adapted text2phone to Linux. I also changed
the file named "base" to take in account special
characters that caused the program to crash: "()[] << >> ,
and to lengthen the pause after a punctuation mark.
I also had to remove the unnecessary line feeds, that cause the script
to generate a pause. For this, I wrote a small Perl script: single-line-parag.pl .
So the sequence of commands is:
./single-line-parag.pl Vie_De_Moliere.txt > Vie_De_Moliere2.txt
time text2phone Vie_De_Moliere2.txt
play Vie_De_Moliere2.txt-*.au
To create the above sample I did:
sox Vie_De_Moliere2.txt-9953.au Vie_De_Moliere-debut.wav trim 0 30
Of course this is work in progress. I tried other pre-processors (e.g. LIA_PHON
, Mingus is apparently not available) from the MBROLA TTS page . I have to try to
connect Festival to MBROLA. Next time I'll add a script to remove the
Gutenberg preamble.
For other purposes I'll evaluate speakup , emacspeak,
and freetts .
For english texts, I use Festival which
is included in RedHat 8.0 .
I want to know if other persons are working on that too.
Also about scripts for Gutenberg etext, is there somethin available to
download? I can contribute to that.