将音频文件转录到.srt

substream的Python项目详细描述


子流

使用word timings from将音频文件转录为.srt字幕格式 google的语音到文本api。

要求:

安装:

pip install substream

云设置:

  • Create a new service account 为一个新的项目专门为您的识别工作。它一定有 以下权限:

    • 云语音服务代理
    • storage admin
    • storage object viewer如果向脚本提供gs://uri。

    您可以将位置设置为在中下载的.json凭据文件。 当前环境,如:

    exportGOOGLE_APPLICATION_CREDENTIALS=/path/to/cloud_credentials.json
    

    (或)您可以在substream命令之前设置它,例如:

    GOOGLE_APPLICATION_CREDENTIALS=/path/to/cloud_credentials.json substream ...
    

    运行时,将创建一个临时bucket,上载文件,并 完成或出错时,a context manager 确保删除bucket。

    请小心使用这些凭据,因为云资源可能很昂贵, 所以,如果你真的储存了它们,一定要把它们安全地储存起来,并且确保 项目存储桶将被手动删除,即使应用程序报告它们已经 已成功删除

完全使用:

usage: substream [-h] -i INPUT -o SRT_FILENAME [--language CODE][-v]

Transcribes an audio file or .jsonl dump to .srt using the Google Cloud
Speech-to-Text API

optional arguments:
  -h, --help            show this help message and exit
  -i INPUT, --input INPUT
                        mono audio file (flac, opus, 16 bit pcm)(or) gs://
                        uri to audio file (or) intermediate .jsonl dump
                        (default: None)
  -o SRT_FILENAME, --output SRT_FILENAME
                        .srt filename (default: None)
  --language CODE       https://cloud.google.com/speech-to-text/docs/languages
                        (default: en-US)
  -v, --verbose         extra logging (default: False)

本地文件使用示例:

substream -v -i test.flac -o test.srt --language en-US

使用uri的示例:

substream -v -i gs://my-bucket/test.flac -o test.srt

正在卸载:

pip uninstall substream

常见问题解答

  • 为什么是长时间运行的api而不是流式api?

    长时间运行的api更准确。

  • 什么是.jsonl文件?

    文件中的每一行都是一个包含json表示的字符串 一个词的开始和结束时间。此程序的更高版本 可以接受.jsonl文件以更好的方式格式化句子 必须重新运行音频转录。

  • 已知问题:

    • “文字墙”是由人们不间断地说话造成的。一些 字幕可能必须使用.srt编辑器手动拆分。

    • 说话人识别在长时间运行中当前被破坏 用于长文件的api,因此完全禁用了对此的拆分。 (这加剧了上述问题)

    • 当前长时间运行的API未实现进度报告。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
JavaBeanio如何将抽象类或接口映射为记录或段   java Jboss 4.2.2到Jboss 7.1.1的迁移问题   如果Java运行时高于给定版本,则强制Maven失败   java在部署时持久化实体   java如何使用jdatechooser从mysql数据库中保存和检索空日期   java Google Drive SDK如何获取文件所在的文件夹?   java使用spring mvc mybatis从oracle db获取失败用户登录结果的数量   数组如何在java中拆分数字文件?   创建对象期间出现安卓 Java空指针异常   java 安卓supportv4。jar在Eclipse中未正确导入   java如何在javafx中创建这种类型的按钮   关于Spring集成和原型范围的java之谜   java正则表达式:在2个标记之间提取DNA信息   使用getText()时出现java空指针异常。toString()。修剪();   java如何从spring控制器获取angularjs中的模型属性值