我正在开展一个小型学校项目,我必须将大量音频文件转录为.txt文件。我是编程的初学者。 到目前为止,我已尝试使用Google的Cloud Speech API alexkras方法。但我不能用它进行大规模抄录,因为它是通过使用外部软件将音频转换为.wav完成的(这可以通过ffmpeg完成,所以也不是什么大不了的事)并将新的.wav文件拆分成&lt; 60s部分,因为Cloud Speech一次只能转录<60s,这是一个很大的损失,除非你把它们上传到GCS但这也是大规模转录的问题,因为一些.wav文件足够大(1小时)播客我用过800mb文件)这个过程变慢了。
我试过的下一个是使用gcloud SDK并使用终端中的小代码直接在GCS上转录音频文件,现在我在这里观察到的问题是转录不完整,它以这种方式显示转录,
Google的例子:
{
"@type": "type.googleapis.com/google.cloud.speech.v1.LongRunningRecognizeResponse",
"results": [
{
"alternatives": [
{
"confidence": 0.9840146,
"transcript": "how old is the Brooklyn Bridge"
}
]
}
]
}
哪个不理想,也许有一种方法可以将它转换成文本文件,但到目前为止我所完成的转录并不完整,我总共得到了来自11的<30行文本 - 分钟视频。
我尝试过的最有效的方法是alexkras方法,但正如我上面所说的那样也有问题(在我的情况下)。我一直在研究机器学习方法的语音到文本,因此它也可以识别或转录带有重音的音频。
你们知道有什么方法可以帮助我有效地将大众音频转录成文本吗?如果它不是用于分割文件或将其上传到GSC,那么对于alexkras方法会非常满意。我非常感谢任何帮助或建议或指导。谢谢。
答案 0 :(得分:0)
您可以尝试使用Watson STT API,文件/流大小限制为100MB,这意味着如果使用正确的编码,您可以解码长达数小时的文件。如果需要,您可以使用sox
或ffmpeg
进行音频转换,较轻的编解码器为audio/ogg
https://www.ibm.com/watson/developercloud/speech-to-text/api/v1/#recognize_sessionless12
请参阅curl示例以帮助您入门
答案 1 :(得分:0)
我一直在探索AWS Transcribe product。它需要一个AWS帐户,如果您超出免费限制,可以使用信用卡免费获得一个AWS帐户。
它每个月最多可提供60分钟的音频转录。如果您的音频播放时间超过60分钟,则每小时转录的音频需要支付的费用不到$ 1.50。
转录会产生一个不容易阅读的.JSON文件。但是,有一个php script on GitHub可以将.JSON文件转换为非常易于阅读的笔录。
我发现它非常准确,并且相对易于使用。如果我是你的话,我会调查一下。