BingLingGroup / autosub

Command-line utility to transcribe/translate from video/audio/subtitles to subtitles
GNU General Public License v2.0
1.98k stars 244 forks source link

语音输出文字,粤语输出简体中文 #116

Closed CJN1986 closed 4 years ago

CJN1986 commented 4 years ago

确保你已经看过 readme,也搜索并阅读过和你遇到的情况相关的问题。否则会被认为是重复的并被立刻关闭。

描述与这个功能请求有关的某一问题(可选) 目前粤语只有输出繁体(yue-hant-hk)

描述你期待的解决方案 增加类似yue-hans-cn的-lsc选项 autosub -i a.mp4 -S yue-hans-cn

描述你考虑过的替代方案(可选) 清晰并准确地描述类似功能的替代方案。

额外的信息(可选) 任何其他的能描述功能请求的信息。

BingLingGroup commented 4 years ago

这是因为google是这样的,繁简转换我还没研究,因为不是一一对应关系,所以用word之类转可能不准确?建议用讯飞的api,最新版dev分支支持讯飞api,我有空研究下繁简转换,如果不复杂可以考虑实现下

CJN1986 commented 4 years ago

讯飞的api,"广东话"要收费,2万/个/年(可以试用十几天),而且我对比过识别率没有谷歌的准确。 目前是复制到谷歌翻译里,中文转简体中文。 如果你研究过,这个功能太复杂就不用实现了,并关闭这个issues,我先不关闭。

BingLingGroup commented 4 years ago

那你可以试试自带的谷歌机翻来翻译成简体中文 自带的谷歌机翻是py-googletrans,本身就是逆向的网页版谷歌翻译,应该能做到这点

autosub -i a.mp4 -S yue-hant-hk -D zh-cn
CJN1986 commented 4 years ago
autosub --version
autosub 0.5.6-alpha by Bing Ling
autosub -i a.mp4 -S yue-hant-hk -D zh-cn

翻译源语言未提供。改用语音语言。
让翻译源语言代码匹配py-googletrans的语言代码。
现在匹配语言代码。
输入:            yue-hant-hk
分数高于:        90
没有匹配到语言代码。
错误:匹配失败。

好像不行,不加参数-D zh-cn就可以正常输出。

单独运行py-googletrans是可以翻译的

translate "老師" -s auto -d zh-cn

[zh-CN] 老師
    ->
[zh-cn] 老师
[pron.] Lǎoshī
BingLingGroup commented 4 years ago

应该用

autosub -i a.mp4 -S yue-hant-hk -SRC zh-tw -D zh-cn

或者

autosub -i a.mp4 -S yue-hant-hk -D zh-cn -bm all
BingLingGroup commented 4 years ago

这里有这种限制是因为翻译用的语言代码和语音识别用的语言代码不一样,为了防止混淆,只有在输入-bm all的时候才会自动匹配语言并翻译

CJN1986 commented 4 years ago

解决问题了,第一条命令是可以输出简体。

autosub -i a.mp4 -S yue-hant-hk -SRC zh-tw -D zh-cn

第二条命令好像不行。

autosub -i a.mp4 -S yue-hant-hk -D zh-cn -bm all
翻译源语言未提供。改用语音语言。
让翻译源语言代码匹配py-googletrans的语言代码。
现在匹配语言代码。
输入:            yue-hant-hk
分数高于:        90
没有匹配到语言代码。
错误:匹配失败。
BingLingGroup commented 4 years ago

dev分支最新的推送已经解决了不能自动识别输入进行翻译的问题 理论上最新版可以直接这样用

autosub -i a.mp4 -S yue-hant-hk -D zh-cn