我正在使用使用google语音到文本api的脚本。api需要flac编码的文件,因此脚本的记录部分如下所示:
arecord -q -t wav -d 0 -f S16_LE -r 16000 | flac - -f --best --sample-rate 16000 -s -o "$TEMP_FILE"此命令将记录,直到用户使用ctrl-c退出,而wav记录的格式应该以flac格式传输到flac程序,以便以flac格式输出,然后脚本应该继续。
我遇到的问题是,按ctrl完全结束脚本,并切断一些音频( flac文件仍在输出)。如果在没有管道的情况下运行脚本:
arecord -q -t wav -d 0 -f S16_LE -r 16000 some.wav然后按下ctrl只会结束记录,并按它应该的方式继续脚本。
如何解决这个问题,使ctrl只停止arecord命令,并允许脚本的其余部分(包括管道化的flac编码)完成?
发布于 2015-02-27 22:15:38
arecord命令有-d参数来对其进行这种修改,arecord命令将超时,而不是FLAC。
arecord -q -t wav -d 4 -f S16_LE -r 16000 | flac - -f --best --sample-rate 16000 -s -o "$TEMP_FILE"https://askubuntu.com/questions/490850
复制相似问题