如果我要阅读更长的文本,我喜欢让他们使用https://wiki.ubuntuusers.de/Sprachausgabe/#SVOX-pico2wave中的以下脚本向我朗读。
1 #!/bin/bash
2 pico2wave -l=de-DE -w=/tmp/test.wav "$(cat ${1})"
3 avplay -f wav -loglevel 0 >/dev/null -x 100 -y 50 -vn -autoexit /tmp/test.wav
4 rm /tmp/test.wav
将脚本另存为svox.sh在/usr/local/bin并启动它
svox.sh TEXTFILE.txt
这对英文文本非常有效(当然在第 2 行中使用“ pico2wave -l=en-GB [...] ”),但德语的音频速度有点慢。
到目前为止我尝试过的是将第 3 行替换为
avplay -f wav -loglevel 0 >/dev/null -x 100 -y 50 -vn -autoexit -filter:a "atempo=2.0" /tmp/test.wav
但这没有用。为了找出原因,我尝试在终端中输入以下命令:
avplay -f wav -x 100 -y 50 -vn -autoexit -filter:a "atempo=2.0" test.wav
我收到以下错误消息:
[...]
Failed to set value 'atempo=2.0' for option 'filter:a': Option not found
因此,似乎语法不正确或不支持该选项。有谁知道加快音频输出的方法?
PS:
我的系统:Linux/Lubuntu 16.04.5 LTS,64 位
可以像这样使用该
-af
选项:ffplay -af "atempo=2" <audio_file>
这将以两倍的速度播放音频文件。更多信息在这里:
https://ffmpeg.org/ffplay.html#Main-options
与此同时,我设法通过一种解决方法解决了这个问题。我使用这个脚本:
如果您乐于使用 MPlayer 而不是 FFplay,那么有一种相对简单的方法可以实现您的目标。使用以下语法:
请记住替换
my_file.mp4
为您的实际媒体文件的名称。现在在播放过程中,您可以使用以下键:希望这将实现您的目标。
参考: