寻找日剧日语字幕的艰辛过程

in cn •  4 months ago 

事情的来由是看了一本书,书名是:我在100天内自学英文翻转人生。作者是韩国人张同玩。
文章中只能是通过看电影学习语言,其中也讲到了学日语方式。
为此我参照他的一些介绍,下载了若干个日语电视剧。同时想起以前看的一部好看的电影叫做:步履不停,日语名字是あるいてもあるいても。
其中有些日语句是有中文字幕和英文字幕同时显示的,有些日语句是没有字幕的,于是我开始了寻找日语字幕的过程。

首先是通过人工智能询问有什么好方法,人工智能推荐两个可以自动生成字幕的播放器,第1个是vlc媒体播放器、第2个是韩国人做的免费播放器,叫做pot player。
Vlc媒体播放器只能自动搜索字幕,比方说我在subtitle网站上搜索。
Pot player也没有办法自动生成日语字幕文件。

后来再去相关的字幕网站去找字幕文件,但是所有这些电视剧都有中文字幕英文字幕,甚至有阿拉伯语字幕,就是没有日语字幕。

于是我又去找到若干个人工智能生成字幕的地方。比方说subtitle added和online subtitle converter。

还下载了一个小白浏览器,小白浏览器能够自动通过声音检测并产生字幕,但问题是他只有10来分钟的免费时间,其他的时候需要花费费用采购,并且不确定能否下载字幕。35元1000分钟,不是很贵,但是不确定能否下载字幕。

在guitub上找到有一个叫whisper的工具代码库,据说可以录制视频中的音频流识别成文字。需要安装比较多的依赖库,门槛比较高,先放过一边。

又找到一个叫filmora video editor。 可惜也是收费,收费还比较多,因此也没有使用。

然后尝试将视频文件上传到一个叫少数派的网站里面,他是生成了日语字幕,但是无法下载,需要交费,所以也放弃了。

最后在YouTube网站上找到了一些日语句,它本身可以用通过usb生成日语字幕,在这个时候可以说基本上得到了一些解决,这是他的日语字幕,稍微有一些缺失以及不准确。基于版权的原因,youtube上没有原版日剧,我用自己的账号上传也不行,一开始只能上传15分钟以内的视频。后来在youtube上认证电话号码后,(sms网站认证),因为版权的问题,还是不行,勉强播放了,也没有字幕选项。

可以考虑去到日本的网站上去找,或许会有日本字幕下载。

日本字幕寻找下载失败,尝试使用语言转换工具。
字幕工具集方法介绍网站:https://sspai.com/post/76899
对应的github网站:https://github.com/openai/whisper
按照网站介绍的步骤运行,包括发现的问题:
运行pip install git+https://github.com/openai/whisper.git 出现问题,失败,将失败的内容copy给chatgpt,告诉我收到clone到本地的方法。

运行 git clone https://github.com/openai/whisper.git 命令,那么 whisper 仓库会被克隆到 C:\Users\su_home\whisper。然后在该目录下,运行cmd,命令行:pip install .(这个点是命令的一部分)
安装成功,
还要记得python.exe -m pip install --upgrade pip,更新pip本身
使用pip install -U openai-whisper,将库更新到最新状态。

打开了 PowerShell(以管理员身份),运行命令来允许执行本地脚本:
Set-ExecutionPolicy RemoteSigned -scope CurrentUser
这个命令允许运行由受信任发布者签名的脚本,以及用户计算机上的脚本(未签名的脚本),但阻止运行来自互联网的脚本,除非它们由受信任的发布者签名。
安装 Scoop:
设置好执行策略后,使用以下命令安装 Scoop:
iwr -useb get.scoop.sh | iex
安装 Scoop 后,你可以通过以下命令安装 FFmpeg: Scoop 的安装脚本默认不允许在以管理员身份运行的 PowerShell 环境中执行。Scoop 是设计为在用户模式下运行
scoop install ffmpeg
到此,安装结束,到视频目录下运行命令
如果是日语,可以指定语言,第一次运行,竟然识别错误为中文,(ja表示是日语)
whisper --language ja 01.mp4

在这个命令whisper --model whisper-ja --tokenize none --alpha 0.8 --input input.wav

中,--model参数指定了您训练的模型名称,--tokenize none表示不进行分词(这可能对日语识别很有帮助,因为Whisper默认的分词器可能不适合日语),--alpha参数控制了语言模型的重要性,--input参数指定了要识别的音频文件。
例如,如果您想要使用Whisper进行日语语音的转录,您可以编写如下命令:
whisper --task transcription --language ja --input audio.wav
--task transcription是一个命令行参数,它指定了Whisper模型的任务类型。这里的"transcription"代表转录任务,即模型的目的是将语音转换为文本。

可以使用以下命令下载并安装(或更新)最新版本的 Whisper:
pip install -U openai-whisper
要将包更新到此存储库的最新版本,请运行:
pip install --upgrade --no-deps --force-reinstall git+https://github.com/openai/whisper.git

Alternatively, the following command will pull and install the latest commit from this repository, along with its Python dependencies:
pip install git+https://github.com/openai/whisper.git
这个命令用于初次安装该GitHub仓库中的最新提交版本,包括它的所有Python依赖。如果你之前没有安装过Whisper,这是一个直接安装最新版本的好方法。
To update the package to the latest version of this repository, please run:
pip install --upgrade --no-deps --force-reinstall git+https://github.com/openai/whisper.git
这个命令用于将已安装的包更新到该GitHub仓库的最新提交版本。--upgrade 选项告诉pip尝试升级到最新版本。--no-deps 选项指示pip在这次安装过程中忽略任何依赖关系,即不会自动安装、升级或降级任何依赖包。这对于只想更新主包而不影响现有依赖的情况很有用。--force-reinstall 选项会强制重新安装指定的包,即使它已经是最新版本。
总的来说,第一个命令适用于初次安装或不介意自动更新依赖的情况,而第二个命令适用于已经安装了包并且只希望更新这个包本身,而不更新它的依赖。第二个命令特别有用于已经具体调整过依赖包版本的环境,或者在需要确保环境稳定性的情况下。
2024年2月18日在公司的电脑上也安装了这个模型。

我发现whisper转录的日语字幕,每个句子都非常短,是否是短句,分词不太好,有什么好办法?
调整模型参数以优化性能
虽然Whisper的参数并不直接控制句子的长度,但选用更大的模型版本可能会提高整体的识别准确度和上下文理解能力,从而间接影响到句子的切割和识别质量。
智谱清言:
调整分词参数:Whisper的一些参数可以调整以改善分词效果。例如,您可以尝试调整--tokenize参数,使用更复杂的分词方法,或者调整--alpha参数来平衡语言模型和分词器的权重。如果您的分词问题主要是由于分词器无法正确处理日语的语调和句子结构,您可以尝试增加--alpha的值,让模型更多地依赖于语言模型来指导分词过程。
如果您的分词问题主要是由于模型无法很好地捕捉到音频信号的细节,您可以尝试减少--alpha的值,让模型更多地依赖于音频信号来生成文本。
如果您不确定如何调整--alpha,可以尝试从0.5开始,然后根据输出结果逐渐增加或减少,直到找到最佳的平衡点。

gemini:较大的 beam size 会提高分词的准确性,但同时也需要更多的计算资源和时间。beam size 参数的取值范围为 1 到 200 之间。
如果您需要快速转录音频文件,可以使用较小的 beam size,例如 5 或 10。
如果您需要更精确的转录结果,可以使用较大的 beam size,例如 15 或 20。

调整 --alpha 参数:
默认值: 0.5
功能: 控制语言模型在解码过程中的权重。
建议:
如果您希望 Whisper 生成更符合语法规则的字幕,可以将 --alpha 参数值调高。
如果您希望 Whisper 生成更符合语义的字幕,可以将 --alpha 参数值调低。

--task 分为 transcribe(语音转录)和 translate。Whisper 默认使用 --task transcribe 模式,将语音转录为对应的语言字幕。--task translate 是所有语言翻译为英文,目前尚未支持翻译为其他语言。
打开 SubtitleEdit Online,点击「Subtitle」>「Open...」,选择要导入的字幕文件。
点击「Auto-translate」,选择翻译引擎,然后在弹出窗口中选择字幕要翻译的语言,并将页面拖动到最下方(非常重要),确定所有文字都被翻译后点击 OK 按钮。
点击「Subtitle」>「Save/download...」,即可保存翻译好的字幕文件。

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!