视频翻译保留原音色pyvideotrans+clone-voice

剪映的视频翻译时长限制5分钟以内,需要积分2700首次有减免大概21.6元(1秒=9积分/1元=100积分)

img

视频翻译配音工具pyvideotrans

将视频从一种语言翻译为另一种语言,并添加配音

打包链接:夸克网盘分享

升级补丁:解压直接覆盖之前版本

声音克隆工具

clone-voice声音克隆工具开源项目地址

打包下载:夸克网盘分享

将压缩包内的文件夹复制到 tts 文件夹内,解压后该tts文件夹内会新增3个文件夹,分别是

Bash tts_models--multilingual--multi-dataset--xtts_v2 voice_conversion_models--multilingual--vctk--freevc24 wavlm

设置原音色克隆API

img

clone-voice地址:http://127.0.0.1:9988/

img

建议配置:

img

01、文字识别:

视频翻译配音pyVideoTrans | 视频翻译配音pyVideoTrans

01-1faster 和 openai 和 GoogleSpeech 模式的区别

这3个模式都是用于将视频中的人类说话声识别为字幕。

• openai-whisper更稳定、对环境要求更低使用简单,但速度慢消耗GPU显存多。

• faster-whisper速度快、消耗GPU更少,但安装麻烦,除了cuda还需要安装cudnn cublasxx.dll。

• GoogleSpeech 模式使用google的免费识别接口进行语音识别转为字幕,无需本地模型,但需要填写网络代理

当然这一切的前提是拥有英伟达显卡,如果计算机压根没有英伟达显卡,或者有,但不想或不会安装cuda,那么faster和openai两者使用任意一个都可以,因为不使用cuda加速的情况下,仅在cpu上运算,二者对环境没啥要求,下载即用,速度也都是一样的慢。

GoogleSpeech 模式免费使用,但效果不佳,并且无法区分标点符号,在要求不高并且有代理的情况下可以使用

01-2模型选择:

模型下载:夸克网盘分享

从 base模型、small模型、medium模型到large-v3模型,识别精度越来越好,但消耗计算机资源也越来越多,如果你的计算机拥有性能较好的英伟达显卡,并且显存大于等于8G,同时配置好了CUDA和cuDNN环境,可以尝试使用 large-v3 模型,将能显著提高文字字幕识别准确度。

如果视频中有较多的背景音乐或背景噪声,肯定会干扰文字识别效果。可以尝试选中“保留背景音”,会在识别之前先将背景声音分离出来,只使用里面人类说话声去识别,效果会好很多。

02、文字翻译

首选 ChatGPT/DeepL, 再次Google,再次 Microsoft,最后腾讯翻译百度翻译。

当然也可以使用DeepLx白嫖DeepL,但不稳定,容易被封IP。

视频翻译配音pyVideoTrans | 视频翻译配音pyVideoTrans

同样,在翻译完成后,也会出现暂停按钮,点击暂停,右侧字幕区可手动核对修改翻译结果

为何会出现声音、字幕、画面不同步

在不同种类的语言互相翻译后,句子长度是会变化的,发音时长一般也是会变化的,比如从中文翻译为英文,句子长短肯定有所不同,而读出这句中文所用时长和读出这句英文所用时长,一般也是不同的。

中:有多远滚多远

英:Get out of here as far as you can!

中:滚远点

日:ここから出て行け。

原始视频中文发音用时2s,翻译为英文并配音后,时长可能是4s,这必然导致不同步。

如何让它们同步,不在意效果,只要同步

建议不勾选“配音自动加速”,勾选“视频自动加速”,通过后期处理变速

像上面所说,翻译前时长2s,翻译后时长4s,如果仅仅只需要它们能同步即可,不在乎语速快慢或视频画面快慢,可以直接让音频加速2倍,4s的时长就能缩短为2s,自然实现了同步对齐。或让视频慢放,延长原2s片段到4s,也可实现对齐。

音频加速实现对齐具体操作方式:

  1. 软件界面中选择“自动音频加速” ,取消“视频自动慢速”

img

  1. videotrans/set.ini 中,设置audio_rate=100

即可实现同步,但弊端显而易见,语速忽快忽慢。

视频慢放实现对齐操作:

  1. 取消软件界面中的“自动音频加速”,选中自动视频慢速

  2. videotrans/set.ini中,设置为video_rate=50

这样也可实现对齐,语速保持不变,视频慢放,但同样视频变的忽快忽慢。

如果你只是想要单纯的对齐,不在意效果,可以采取这两种方式。

更好的可接受的同步方法

很显然上面的同步方式没有实用性,音频太快或视频太慢都难以接受,体验太差。为了更好的效果,可以同时启用 “自动音频加速”、“语音前后扩展”、“自动视频慢速”,这三项内容。

具体操作:

  1. 软件界面中选中“自动音频加速”、“语音前后扩展”,同时设定一个较小的总体加速值,比如 10%

img

  1. videotrans/set.ini中通过变量audio_rate为音频加速设置一个最大值,防止加速太快,默认是1.8,audio_rate=1.8,即最大语速加速到正常的1.8倍,你可以手动修改为2或1.5等大于1的数值。

  2. videotrans/set.ini中通过变量video_rate为视频慢速设置一个最大值,防止慢放太慢,默认是20,video_rate=20, 即慢放到正常的0.05倍。你可以改为 2或5等大于1的数值。

  3. 在上述1-3的操作后,仍然可能不对齐,因为限定了最大值,当达到最大值还未对齐,就会放弃而直接后延,那么可以继续通过将变量 remove_silence=true设为 true,变量remove_srt_silence=false改为 true,变量remove_white_ms=0设为 100 或 200,来进一步对齐。

remove_silence:涵义是去除配音的前后静音,以缩减配音时长remove_srt_silence :是当原始字幕时长大于当前配音时长时,移除多余的静音,比如原时长5s,配音后3s,是否移除这2s静音remove_white_ms:移除2条字幕间的静音长度ms,比如100ms,即如果两条字幕间的间隔大于100ms时,将移除100ms上述3个变量的共同作用都是去除静音片段,缩减配音时长,以避免配音后延,尽量使配音对齐。

在进行上述1-4步操作后,效果应该会好很多,当然这也会引入新的问题,例如: remove_srt_silence=true 和 remove_white_ms=100 的使用,使原本的字幕静音间隔缩短,后边语音的开始时刻提前,可能导致语音已经播放了,说话人还未张嘴。

有没有完美同步方法

除了人工参与手动处理,比如精简翻译、添加过渡画面等,目前尚未找到可以程序自动化实现的完美方法。

要同时保证在很长或很短的视频中,在任意语言翻译配音中,通过程序自动化实现 “音频加速范围可接受”、“视频慢速范围可接受”、“张嘴闭嘴时刻和语音起始时刻吻合” 这几个目标,目前看来似乎是个不可能完成的任务。除了人工参与调整,并无完美方法。

相关链接:https://pyvideotrans.com/guide.htmlhttps://github.com/jianchang512/pyvideotranshttps://github.com/jianchang512/clone-voice

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/843548.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

lse:一款专为渗透测试和CTF设计的Linux枚举工具

关于linux-smart-enumeration linux-smart-enumeration是一款专为渗透测试和CTF设计的Linux枚举工具,该工具可以帮助广大研究人员收集与本地Linux系统安全相关的信息。 工具特性 该工具从2.0版本开始符合POSIX标准,并且经过了shellcheck和posh测试。它…

太速科技-基于XCVU9P+ C6678的8T8R的无线MIMO平台

基于XCVU9P C6678的8T8R的无线MIMO平台 一、板卡概述 板卡基于TI TMS320C6678 DSP和XCVU9P高性能FPGA,FPGA接入4片AD9361 无线射频,构建8输入8输出的无线MIMO平台,丰富的FPGA资源和8核DSP为算法验证和信号处理提供强大能力。 二…

解决显存不足问题:深度学习中的 Batch Size 调整【模型训练】

解决显存不足问题:深度学习中的 Batch Size 调整 在深度学习训练中,显存不足是一个常见的问题,特别是在笔记本等显存有限的设备上。本文将解释什么是 Batch Size,为什么调整 Batch Size 可以缓解显存不足的问题,以及调…

【开发踩坑】 MySQL不支持特殊字符(表情)插入问题

背景 线上功能报错: Cause:java.sql.SQLException:Incorrect string value:xFO\x9F\x9FxBO for column commentat row 1 uncategorized SQLException; SQL state [HY000]:error code [1366]排查 初步觉得是编码问题(utf8 — utf8mb4) 参考上…

昇思25天学习打卡营第17天|LLM-基于MindSpore的GPT2文本摘要

打卡 目录 打卡 环境准备 准备阶段 数据加载与预处理 BertTokenizer 部分输出 模型构建 gpt2模型结构输出 训练流程 部分输出 部分输出2(减少训练数据) 推理流程 环境准备 pip install -i https://pypi.mirrors.ustc.edu.cn/simple mindspo…

Web前端Promise

Promise介绍与使用 Promise是什么? 1.抽象表达: Promise是一门新的技术(ES6规范)Promise是JS中进行异步编程的新解决方案备注:旧方案是单纯使用回调函数 2.具体表达: 从语法上来说:Promise…

多层全连接神经网络(六)---各种优化算法的变式

梯度下降算法原理此处不做过多说明 梯度下降法的变式 1. SGD 随机梯度下降法是梯度下降法的一个小变形,就是每次使用一批(batch)数据进行梯度的计算,而不是计算全部数据的梯度,因为现在深度学习的数据量都特别大,所以每次都计算…

Lua基础知识入门

1 基础知识 标识符:标识符的定义和 C语言相同:字母和下划线_ 开头, 下划线_ 大写字母一般是lua保留字, 如_VERSION 全局变量:默认情况下,变量总是认为是全局的,不需要申明,给一个变…

docker默认存储地址 var/lib/docker 满了,换个存储地址操作流程

1. 查看docker 存储地址 docker info如下 var/lib/docker2、查看内存大小 按需执行 df -h 找超过100M的大文件 find / -type f -size 100M -exec ls -lh {} \; df -Th /var/lib/docker 查找这个文件的容量 df -h 查找所有挂载点 du -hs /home/syy_temp/*1、df -h 2、sud…

Linux网络——套接字与UdpServer

目录 一、socket 编程接口 1.1 sockaddr 结构 1.2 socket 常见API 二、封装 InetAddr 三、网络字节序 四、封装通用 UdpServer 服务端 4.1 整体框架 4.2 类的初始化 4.2.1 socket 4.2.2 bind 4.2.3 创建流式套接字 4.2.4 填充结构体 4.3 服务器的运行 4.3.1 rec…

全国区块链职业技能大赛国赛考题区块链产品需求分析与方案设计

任务1-1:区块链产品需求分析与方案设计 本任务需要依据项目背景完成需求分析与方案设计,具体要求如下: 依据给定区块链食品溯源系统的业务架构图,对考题进行业务分析,尽可能多的去考虑一个业务系统所需要的模块,使用Visio或思维导图工具展现本系统的基本设计概念和处理流…

基于ffmepg的视频剪辑

1.ffmpeg命令实现视频剪辑 FFmpeg是一个非常强大的视频处理工具,可以用来剪辑视频。以下是一个基本的FFmpeg命令行示例,用于剪辑视频: $ ffmpeg -i ./最后一滴水.mp4 -ss 0:0:20 -t 50 -c copy output.mp4-i ./最后一滴水.mp4 输入文件  …

图像生成(Text-to-Image)发展脉络

这篇博客对 图像生成(image generation) 领域的经典工作发展进行了梳理,包括重要的一些改进,目的是帮助读者对此领域有一个整体的发展方向把握,并非是对每个工作的详细介绍。 脉络发展(时间顺序&#xff0…

探究大语言模型(LLM)漏洞和安全优秀实践

你可能已听说过LLM强势亮相,至少ChatGPT就是代表。 大语言模型(LLM)指语言处理模型。这类模型经过训练,可以执行各种各样的语言任务:翻译、文本生成和问题回答等。 有几个LLM家族和架构,最著名的是GPT(生成式预训练Transformer)…

Grafana :利用Explore方式实现多条件查询

背景 日志统一推送到Grafana上管理。所以,有了在Grafana上进行日志搜索的需求,而进行日志搜索通常需要多条件组合。 解决方案 通过Grafana的Explore的方式实现多条件查询。 直接看操作步骤: 在主页搜索框中输入“Explore” 进入这个界面…

python—日期相差多少天(PythonTip)

[题目描述] 编写一个程序,计算两个日期之间的天数。 导入datetime模块。定义函数calculate_days_between()数,其中有两个参数:(date1, date2),类型为字符串,格式为YYYY-MM-DD。在函数内,将字符串转换为date…

全面战争模拟器免费下载地址,纯分享

全面战争模拟器以其独特的物理引擎和搞笑的战斗场面吸引了大量玩家,并在游戏社区中赢得了极高的评价。它不仅提供了丰富的策略性玩法,还通过滑稽的视觉效果和搞笑的战斗带来了极大的娱乐性。游戏的沙盒模式和自定义功能更是让玩家能够充分发挥创意&#…

磁盘的作业

1、新添加一块硬盘,大小为5g,给这块硬盘分一个mbr格式的主分区(大小为3g),给此主分区创建ext2的文件系统,挂载到/guazai1目录,并写入文件内容为"this is fist disk"文件名为1.txt的文件。 [rootwyk ~]# fdis…

02线性表 - 链表

这里是只讲干货不讲废话的炽念,这个系列的文章是为了我自己以后复习数据结构而写,所以可能会用一种我自己能够听懂的方式来描述,不会像书本上那么枯燥和无聊,且全系列的代码均是可运行的代码,关键地方会给出注释^_^ 全…

【时时三省】(C语言基础)函数和数组

山不在高,有仙则名。水不在深,有龙则灵。 ——csdn时时三省 函数 跟数学里面的函数很相似 数组 一组相同类型的元素的集合 比如把5个整形1-5存起来 int arr[10]={1,2,3&#x…