如何列出 libflite 库中所有可用的声音?

如何列出 libflite 库中所有可用的声音?

在阅读了 libflite 库之后,man ffmpeg-filters我已经足够熟悉它了,可以用ffplay不同的声音说话,就像这样:

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

如何列出 libflite 库中所有可用的语音?我试过了, ffmpeg -f lavfi flite=list_voices=1Requested output format 'lavfi' is not a suitable output format flite=list_voices=1: Invalid argument

答案1

根据 Armadeus 项目 - Flite, 这些都是 :

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

您也可以在源文件中看到此列表 asrc_flite.c 第 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),
};

有关详细信息,请参阅 FFMPEG-过滤器(1)

答案2

以下是如何正确要求过滤器flite列出来自 FFMPEG 的声音:

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

-i您的尝试只是在过滤器前面缺少一个,并将其替换1true。像这样的过滤器flite,不接受音频/视频作为输入,在使用时可以将其本身用作输入lavfi。另一个例子是mandelbrot过滤器;虽然flite输出音频,但mandelbrot输出视频。

flite截至 2023/06/08 FFMPEG gitmaster可用的语音选项:

awb
kal
kal16
rms
slt

相关内容