我正在使用Google Cloud Speech API Python库从视频文件中提取文字。在之前的步骤中,视频文件将转换为flac audiofile。
sample_rate = 48000
client = speech.Client()
cmd = "ffmpeg -i {} -vn -ac 1 -ar {} {}".format(mpg_file, sample_rate, flac_file)
subprocess.run(cmd)
with open(flac_file, 'rb') as f:
audio = client.sample(f.read(), sample_rate=sample_rate, encoding='FLAC')
audio.sync_recognize()
为了减少函数sync_recognize()
所花费的时间,我设置了sample_rate = 16000
。我的想法是,与Web-API的通信和音频文件的处理应该更快,因为文件大小更小,要处理的数据量更少,信息密度更低。
对于此过程的重复运行时测量,使用相同的文件列表,采样率为16kHz和48kHz,产生:
16kHz: 26.16s per call
48kHz: 17.68s per call
我期待相反的结果。我的想法错了吗?你对此有解释吗?