【免费下载链接】violin
Open-source Video Translation Skill
Violin是一个开源视频翻译 Skill:上传视频后,它自动转写语音(Whisper)、翻译(LLM)、合成母语 TTS 配音,再对时间轴重新对齐并混回视频。其中最实用的是内置的6 大风格档案(style profiles)——通过一个--style参数,同一支视频就能在儿童口吻、学术腔、新闻播报等 TTS 腔调之间一键切换,无需手动调任何 TTS 参数。
Violin 风格档案是什么:两个开关,一个文件 🎛️
每个风格档案都定义在 prompts/styles.yaml 中(目前仍标注为 experimental),它同时控制"翻译"与"配音"两个环节:
| 作用环节 | 参数 | 作用 |
|---|---|---|
| 翻译 LLM | directives | 注入提示词的风格指令(如"改写给 7 岁孩子看") |
| 翻译 LLM | temperature | 采样随机性,越高越有创作发挥 |
| TTS 合成 | speed | 语速倍率(0.9× 更慢、1.1× 更快) |
| TTS 合成 | emotion | 情绪腔调(默认 Cartesia Sonic 3 的 SSML 情绪标签) |
加载逻辑在 pipeline/styles.py:首次访问时读取 YAML 并缓存为StyleProfile对象。配音流水线中,翻译阶段通过 pipeline/translator.py 把directives注入 LLM 提示词,TTS 阶段则由 pipeline/tts_together.py 把speed、emotion拼进 SSML 后合成。
6 大内置风格档案完整对照表 📋
| 风格档案 | 定位 | temperature | TTS 语速 | TTS 情绪 | 适合场景 |
|---|---|---|---|---|---|
standard | 忠实翻译、自然嗓音 | 0.3(默认) | 1.0× | 无 | 通用内容 |
kids | 改写给 7 岁孩子,术语换成大白话 | 0.6 | 1.0× | excited | 儿童科普 |
academic | 学术语体,保留术语与敬称 | 0.2 | 0.95× | calm | 大学讲座、论文 |
casual | 朋友聊天式口语,随性自然 | 0.6 | 1.1× | content | Vlog、访谈 |
storyteller | 戏剧化叙事,富有感染力 | 0.7 | 0.9× | enthusiastic | 纪录片、传奇故事 |
news | 新闻播报:简洁、权威、不废话 | 0.2 | 1.0× | neutral | 新闻、播报 |
几个直觉上的差别:
- kids用 0.6 的 temperature 加 excited 情绪,输出短句和趣味比喻,比如把 "machine learning" 讲成"教计算机自己学习";
- academictemperature 只有 0.2、语速放慢到 0.95×,术语和 "Professor / Dr." 之类敬称一个都不许丢;
- news强制祈使句式的短平快表达,删掉一切填充词和反问;
- storyteller是"最有戏"的一个,temperature 0.7,鼓励设悬念、用排比和节奏变化。
视频翻译风格怎么选:6 类场景推荐 🎯
- 大学讲座 / 论文解读→
academic:术语保留、措辞正式、语速稍慢,严肃内容不出戏; - 儿童科普 / 亲子内容→
kids:自动把生僻词替换成孩子听得懂的类比; - 个人 Vlog / 朋友访谈→
casual:口语化、语速偏快,像边喝咖啡边聊天; - 纪录片 / 故事讲述→
storyteller:戏剧张力拉满,适合长视频; - 新闻 / 企业通报→
news:干净利落,零废话; - 拿不准内容类型→
standard:忠实翻译,不做额外加工,最稳妥。
风格档案一键切换步骤:3 种方法 ⚡
方法一:CLI 加--style参数(最常用)
# 用 kids 风格把演讲翻译成中文 violin talk.mp4 talk_zh.mp4 --language Chinese --style kids # 查看当前所有可用风格 violin --style listviolin --style list会把每个风格连同 TTS 参数打印出来,方便一眼对比:
academic Scholarly: formal register, precise terminology TTS: speed=0.95, emotion=calm casual Casual: spoken slang, like chatting with a friend TTS: speed=1.1, emotion=content参数定义位于 main.py;不传--style时,会读取配置里的默认值。
方法二:修改默认风格(一次配置,长期生效)
在 config/default.yaml 中修改preferences.style,之后所有翻译任务都默认使用该风格:
preferences: style: "academic"方法三:Web API 提交任务时指定style字段
curl -X POST http://localhost:8000/jobs \ -F "file=@talk.mp4" \ -F "language=Chinese" \ -F "style=academic"演示效果:同一视频,不同腔调 🎬
官方演示片库收录了同一批素材翻译成不同语言的成片。用不同风格处理同一段内容,差异主要体现在两处:
- 措辞:
kids全是短句加比喻;news是紧凑的陈述句;storyteller会加入悬念与节奏变化; - 声音演绎:语速从 0.9×(storyteller)到 1.1×(casual),情绪标签从 calm 到 excited 各不相同,听感差异明显。
自定义风格档案:写一段 YAML 新增一个档案 ✏️
6 个内置档案不够用时,在 prompts/styles.yaml 末尾追加一个顶层条目即可,例如一个"播客主播"档案:
podcast: description: "Podcast host: relaxed and confident" translation: temperature: 0.4 directives: | Translate like a podcast host: natural spoken phrasing, occasional first-person address to the listener. tts: speed: 1.0 emotion: "content"保存后即可在 CLI 用--style podcast或在 API 的style字段中选择,无需改动任何代码。
常见问题 FAQ 💬
Q:风格档案在任何 TTS 服务商上都完整生效吗?speed语速在所有后端都生效(ElevenLabs 限 0.7–1.2,OpenAI 限 0.25–4.0);emotion情绪标签在默认的 Cartesia Sonic 3 上完整生效(通过 SSML<emotion/>标签实现),其他后端只调整语速,不做情绪演绎。
Q:风格会影响成本或处理时间吗?不会。风格只改变提示词与 TTS 参数,不产生额外模型调用,计费仍按转写、翻译、合成各自的用量计算。
Q:standard和"不使用风格"有什么区别?没有区别——standard的指令为空、temperature 与 TTS 参数均为 null(回落到默认值),它就是一个中性的基线档案。
要点速记 ✅
- 6 大风格档案 = 翻译指令 + temperature + TTS 语速 + TTS 情绪,全部集中在 prompts/styles.yaml;
- 三种切换方式:CLI
--style参数、配置preferences.style、APIstyle字段; - 用
violin --style list速查可用风格,追加 YAML 条目即可自由扩展。
【免费下载链接】violin
Open-source Video Translation Skill
相关推荐
6大漫画风格一键融合:Comic-Diffusion V2实战指南与艺术控制术
6大漫画风格一键融合:Comic Diffusion V2实战指南与艺术控制术 你是否还在为漫画创作中风格不一致而苦恼?尝试了数十种模型却始终无法实现心中的视觉
AssetRipper音频提取:多种音频格式支持
AssetRipper音频提取:多种音频格式支持 概述 AssetRipper作为专业的Unity资源提取工具,在音频资源处理方面表现出色,支持从Unity序列
UI组件移动开发告别翻译腔!LunaTranslator风格定制指南:从口语到文学的完美切换
告别翻译腔!LunaTranslator风格定制指南:从口语到文学的完美切换 你是否还在为Galgame翻译中的"机翻感"烦恼?对话生硬如说明书,古风台词满屏现
桌面应用AI 应用
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考