This is a little tutorial on how to copysynthesize an audio file with
Mbrola.
Copysynthesis: synthesize speech by using parameters copied
from natural data.
It uses Mbrola (of
course), Wavesurfer and an awk-script I've written.
By the way, alternatively to this procedure you might try the
speak-plugin.
Also, you might prefer Praat to Wavesurfer, but
this tutorial uses wavesurfer. Still, you can still use the script to transform F0- (sample) and
labelfiles to Pho-files (sample) if you manage to generate them with Praat
(ESPS-xwaves format).
Step 1: start wavesurfer and open a wav-file. Looks like this for me:
Step 2: create a transcription-pane by right-clicking somewhere and
following the popup:
Step 3: set the transcription properties to ESPS format by first
rightclicking inside the new transcription pane:
and then setting the Label file format to ESPS WAVES:
Step 4: now label (transcribe) the audio by leftclicking in the
transcription pane and typing phoneme-labels. Use the phoneme
alphabete that your Mbrola voice supports!:
Step 5: Once you've done, open a pitch pane by rightclicking
somewhere and follow the popup:
and set the pitch method to ESPS (probably already done) by
rightclicking and setting the properties:
Step 6: That was it! Now save everything, you should end up with two
files called like your audiofile but with .lab and .f0 extension.
Now run the script I've written
(runs under bash for me, uses awk, so, if under windows, install
cygwin first). It takes the
f0-file and the transcription file as arguments and ouputs a pho-file
to stdout, you might redirect to a file, e.g.:
./copysynthMbrola.sh sample.f0 sample.lab > sample.pho
Disclaimer:
I've tested this only for German voices, if you run
into problems with other languages please tell me. You probably
will have to add to the phoneme-lists specifying voiced and unvoiced
phonemes inside the script.
The script seems not to work with files longer than about 100
phonemes, so you might split longer files. I don't know why ...
enjoy!
mail: Felix Burkhardt