# subtitle-translator
基于 **gpt-3.5-turbo** 将 YouTube 自动生成的英文字幕、Whisper 自动识别的英文字幕或其它标准 srt 字幕文件转换为中文字幕或中英双语字幕的脚本。传统的流式音频识别会有一些突兀的事实错误,且中文实时翻译的效果更差。希望 gpt 可以通过学习上下文来避免此类错误。
### 功能说明
根据提供的字幕文件的结构选择合适的翻译策略,输出中英双语字幕或中文字幕。理论上来讲字幕文件格式越规范,GPT 的翻译效果就越好。\
目前有逐句翻译和逐段翻译两种策略。它们是成本和效率之间的权衡。
1. 逐句翻译和普通的翻译机器没有什么区别,但是翻译质量依赖于英文字幕的质量。比如有时候英文字幕比较杂乱,句子之间没有明确的分隔,这样得到的翻译质量也不会太好,第二个缺点是句子太短,请求太快会触发 openAI 的请求上限(虽然官网标的普通用户是 20RPM,但我每隔 5秒 请求一次也会触发警告,很迷!~~刚刚绑了信用卡,等我再试试付费用户的速率~~真的很快,再也没有 Rate Limited 了!);
2. 逐段翻译可以保留上下文的信息,但是 AI 不太听话,小概率会在翻译的过程中删除句子之间的分隔符,导致我不能还原到对应的句子。第二个缺点是上下文信息太多会让 AI 把表达相近的两个句子翻译成一句话,因为英文本身就比较啰嗦,有时候会表达重复的意思。所以这里又写了一个脚本,可以在人工的基础上快速的让中文 align(其实目前没有什么好的办法更加智能,寄!)。
### 使用教程
#### 获取英文字幕文件
1. 使用 [you-get](https://github.com/soimort/you-get) 下载视频,字幕会和视频一起被下载
```bash
# 查看可以下载的信息,可以选择分辨率和文件等
you-get -i 'https://www.youtube.com/watch?v=jNQXAC9IVRw'
# 选择一个 itag 下载
you-get -itag=123 'https://www.youtube.com/watch?v=jNQXAC9IVRw'
```
2. 或者使用 [Whisper](https://github.com/openai/whisper) 识别本地音视频文件并输出字幕文件
```bash
whisper YOUR_{VIDEO/AUDIO}_FILE --model {medium/large} --output_format srt
```
#### 设置 openAI 的 API
```bash
export OPENAI_API="sk_YOUR_SECRET_KEY"
```
#### 执行脚本进行翻译,输出双语字幕文件
```bash
python main.py --source_file=YOUR_SRT_FILE_PATH --target_file=OUTPUT_SRT_FILE_PATH
```
#### 运行效果
1. 在 Terminal 中执行
![execute in terminal](static/running_screenshot1.png)
2. 输出的日志文件
![logger file](static/running_screenshot2.png)
GPT 感觉还是不太稳定,有时候会出现一些意想不到的错误。比如这一次的回答里出现了无关信息。感觉它的错误率在 0.1-1% 之间。
![AI error](static/running_error1.png)
#### 对生成的字幕文件做校正
如果使用逐段翻译策略,很有可能最后生成的中文字幕没有对齐。打开输出的字幕文件在需要隔断的地方加“#”键,运行 align_script.py 脚本实现自动隔断。
### 结语
经过本人这几天的使用体验,我认为机器翻译仍然无法与专业的字幕组翻译相媲美,但对于日常观看的视频而言,GPT 的水平已经足够使用了。
希望这个工具能够帮助那些对其他世界感到好奇但因语言障碍而无法探索的朋友们。
也希望这个工具只是人生中的一个过渡,通过它尽早实现外语自由。
没有合适的资源?快使用搜索试试~ 我知道了~
基于 gpt-3.5-turbo 翻译并制作双语字幕.zip
共15个文件
py:5个
srt:4个
png:3个
需积分: 5 0 下载量 98 浏览量
2024-05-11
20:49:59
上传
评论
收藏 574KB ZIP 举报
温馨提示
GPT, 通常指的是“Generative Pre-trained Transformer”(生成式预训练转换器),是一个在自然语言处理(NLP)领域非常流行的深度学习模型架构。GPT模型由OpenAI公司开发,并在多个NLP任务上取得了显著的性能提升。 GPT模型的核心是一个多层Transformer解码器结构,它通过在海量的文本数据上进行预训练来学习语言的规律。这种预训练方式使得GPT模型能够捕捉到丰富的上下文信息,并生成流畅、自然的文本。 GPT模型的训练过程可以分为两个阶段: 预训练阶段:在这个阶段,模型会接触到大量的文本数据,并通过无监督学习的方式学习语言的结构和规律。具体来说,模型会尝试预测文本序列中的下一个词或短语,从而学习到语言的语法、语义和上下文信息。 微调阶段(也称为下游任务训练):在预训练完成后,模型会被应用到具体的NLP任务中,如文本分类、机器翻译、问答系统等。在这个阶段,模型会使用有标签的数据进行微调,以适应特定任务的需求。通过微调,模型能够学习到与任务相关的特定知识,并进一步提高在该任务上的性能。 GPT模型的优势在于其强大的生成能力和对上下文信息的捕捉能力。这使得GPT模型在自然语言生成、文本摘要、对话系统等领域具有广泛的应用前景。同时,GPT模型也面临一些挑战,如计算资源消耗大、训练时间长等问题。为了解决这些问题,研究人员不断提出新的优化方法和扩展模型架构,如GPT-2、GPT-3等,以进一步提高模型的性能和效率。
资源推荐
资源详情
资源评论
收起资源包目录
基于 gpt-3.5-turbo 翻译并制作双语字幕.zip (15个子文件)
content
main.py 1KB
Subtitle.py 8KB
test_case
Lecture 1 - Introduction and Logistics.en.srt 90KB
JordanPeterson.mp4.srt 11KB
l1_export.srt 100KB
JordanPeterson.mp4.cn.srt 15KB
translate.py 2KB
align_script.py 2KB
requirements.txt 231B
logger.py 293B
.gitignore 2KB
static
running_screenshot1.png 23KB
running_screenshot2.png 276KB
running_error1.png 231KB
README.md 4KB
共 15 条
- 1
资源评论
生瓜蛋子
- 粉丝: 3825
- 资源: 5370
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 2023-04-06-项目笔记 - 第一百五十四阶段 - 4.4.2.152全局变量的作用域-152 -2024.06.04
- 松哥解协议松哥解协议松哥解协议松哥解协议松哥解协议
- 618节日618节日618节日
- tensorflow-gpu-2.9.1-cp37-cp37m-win-amd64.whl
- tensorflow-gpu-2.9.0-cp37-cp37m-win-amd64.whl
- tensorflow-gpu-2.9.0-cp39-cp39-win-amd64.whl
- lcd daimalcd daima
- 电影领域-推荐算法-个性化内容-观影决策-电影推荐小程序.zip
- 电气控制PLC考试题库
- 如何使用MATLAB简介
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功