2

Having read about the the libflite library in man ffmpeg-filters I am already familiar enough with it to make ffplay speak in different voices, like so:

ffplay -f lavfi flite=text='Love':voice=kal
ffplay -f lavfi flite=text='Love':voice=slt

How do I list all the voices available in the libflite library? I've tried ffmpeg -f lavfi flite=list_voices=1 but I get Requested output format 'lavfi' is not a suitable output format flite=list_voices=1: Invalid argument

2 Answers2

3

Here is how to properly ask the filter flite to list voices from FFMPEG:

ffmpeg -f lavfi -i "flite=list_voices=true"

Your attempt was just missing a -i in front of the filter, and replace 1 with true. Filters like flite, which don't take in Audio/Video as input, can be used as input themselves when using lavfi. Another example of this is the mandelbrot filter; while flite outputs audio, mandelbrot outputs video.

Available voice options for flite as of FFMPEG gitmaster dated 2023/06/08:

awb
kal
kal16
rms
slt
programmar
  • 221
  • 1
  • 3
  • 5
2

According to the Armadeus project - Flite, these are :

$flite -lv
Voices available: kal awb_time kal16 awb rms slt

You may also see this list in the source file asrc_flite.c line 91 :

static struct voice_entry voice_entries[] = {
    MAKE_VOICE_STRUCTURE(awb),
    MAKE_VOICE_STRUCTURE(kal),
    MAKE_VOICE_STRUCTURE(kal16),
    MAKE_VOICE_STRUCTURE(rms),
    MAKE_VOICE_STRUCTURE(slt),
};

For more information see FFMPEG-FILTERS(1).

harrymc
  • 498,455