经典案例

使用 Amazon Translate、Amazon Bedrock 和 Amazon Polly

  • 2026-01-27 12:48:23
  • 6

使用 Amazon Translate、Amazon Bedrock 和 Amazon Polly 的视频自动配音

重点总结

通过简单的步骤,本文介绍了如何使用 Amazon Translate 和 Amazon Bedrock 来实现视频的自动化配音,提供高效且经济实惠的解决方案,满足内容本地化的需求。

本文由 MagellanTV 和 Mission Cloud 合作撰写。

视频配音或内容本地化是将视频中原有的语言替换为其他语言的过程,同时保持音视频的同步。这一技术对于打破语言障碍、增强观众的参与感和扩大市场影响力至关重要。然而,传统的配音方法费用高昂每分钟约 20 美元需要人力审核且耗时,使得媒体与娱乐行业的公司面临严峻挑战。使用生成性人工智能Generative AI的自动配音技术为创作者提供了一个既经济又高效的解决方案。

本文展示了一种节省成本的视频自动配音方案。我们使用Amazon Translate进行首轮视频字幕翻译,并借助Amazon Bedrock进行后期编辑,以进一步提高翻译质量。Amazon Translate 是一项神经机器翻译服务,能够快速、高质量且低成本地提供语言翻译。

Amazon Bedrock 是一项全面托管的服务,提供多种来自领先 AI 公司如 AI21 Labs、Anthropic、Cohere、Meta、Mistral AI、Stability AI 和 Amazon的高效基础模型,通过单一 API 访问,并配备广泛的功能,帮助您安全、私密地构建生成性 AI 应用。

MagellanTV 是一个领先的纪录片流媒体平台,旨在通过内容国际化拓展其全球业务。面对人工配音带来的挑战和昂贵的费用,MagellanTV 寻求 AWS 高级合作伙伴Mission Cloud提供创新方案。

Mission Cloud 的解决方案具有习语检测和自动替换、无缝自动缩放时间,以及灵活的批处理能力,大幅提升了效率和可扩展性。

解决方案概述

下图展示了解决方案架构。用户需指定输入,包括原始视频和字幕文件的文件夹路径、目标语言、习语检测器和正式程度的选择。这些输入可以在 Excel 模板中指定,并上传至指定的 Amazon Simple Storage Service (Amazon S3) 桶中以启动整个流程。最终输出为一个配音视频文件和一个翻译字幕文件。

我们使用Amazon Translate翻译视频字幕,并利用Amazon Bedrock来提高翻译质量并启用自动时间缩放,以同步音视频。我们使用Amazon Augmented AI辅助编辑人员审核内容,并将审核结果发送至Amazon Polly以生成视频的合成语音。为了确保性别表达匹配发言者,我们开发了一个模型预测发言者的性别表达。

在后台,AWS Step Functions 协调前面的步骤作为一个管道。每个步骤都在 AWS Lambda 或 AWS Batch 上运行。通过使用基础设施即代码IaC工具 AWS CloudFormation,该管道变得可用于配音新的外语。

在接下来的部分中,您将了解如何使用 Amazon Translate 的独特功能来设置正式程度,以及如何使用 Amazon Bedrock 进一步改进视频配音的质量。

为什么选择 Amazon Translate?

我们选择 Amazon Translate 来翻译视频字幕基于三个因素。

因素描述语言支持Amazon Translate 支持超过 75 种语言。许多最新的大型语言模型LLMs支持的语言种类较少。翻译准确性我们的翻译专家在审查过程中严格评估了 Amazon Translate,并确认其翻译准确性令人认可。独特优势Amazon Translate 提供多种独特的优势,比如可以添加自定义术语词汇表,而 LLM 则可能需要耗时且昂贵的微调。

在 Amazon Translate 中使用自定义术语

Amazon Translate 允许您输入自定义术语词典,确保翻译能够反映组织的词汇或专业术语。我们使用自定义术语词典编制视频转录脚本中常用的术语。

下面是一个例子。在纪录片视频中,当采访者使用外语发言时,字幕文件通常会在屏幕上显示“(speaking in foreign language)”。这句话本身并没有符合英语语法:缺少适当的名词,但这被普遍接受为英文字幕展示形式。在将字幕翻译成德语时,翻译也缺少适当的名词,这可能会让德语观众感到困惑,如以下代码块所示:

python

Translate without custom terminology (default)

import boto3

初始化 Amazon Translate 会话

translate = boto3client(servicename=translate regionname=useast1 usessl=True)

def translatetext(text sourcelang targetlang) result = translatetranslatetext( Text=text SourceLanguageCode=sourcelang TargetLanguageCode=targetlang ) return resultget(TranslatedText)

迅猛兔加速器正版

text = (speaking in a foreign language)output = translatetext(text en de)print(output)

使用 Amazon Translate、Amazon Bedrock 和 Amazon Polly

输出 (in einer Fremdsprache sprechen)

因为这个短语在视频转录中很常见,我们将这个术语添加到名为 translationcustomterminologydecsv 的自定义术语 CSV 文件中,并在 Amazon Translate 作业中提供了经过审查的翻译。翻译输出如以下代码所示,实现了预期效果。

python

Translate with custom terminology

import boto3import json

初始化 Amazon Translate 会话

translate = boto3client(translate)

with open(translationcustomterminologydecsv rb) as ctfile translateimportterminology( Name=CustomTerminologyboto3 MergeStrategy=OVERWRITE Description=Terminology for Demo through boto3 TerminologyData={ File ctfileread() Format CSV Directionality MULTI } )

text = (speaking in a foreign language)result = translatetranslatetext( Text=text TerminologyNames=[CustomTerminologyboto32024] SourceLanguageCode=en TargetLanguageCode=de)print(result[TranslatedText])

输出 (Person spricht in einer Fremdsprache)

在 Amazon Translate 中设置正式程度

某些纪录片类型较其他类型更为正式。Amazon Translate 允许您定义翻译到支持目标语言的所需正式程度。使用 Amazon Translate 的默认设置非正式,翻译输出为德语的短语 “[Speaker 1] Let me show you something” 是非正式的,根据专业翻译的说法。

python

Translate with informal tone (default)

import boto3

初始化 Amazon Translate 会话

translate = boto3client(servicename=translate regionname=useast1 usessl=True)

def translatetext(text sourcelang targetlang) result = translatetranslatetext( Text=text SourceLanguageCode=sourcelang TargetLanguageCode=targetlang ) return resultget(TranslatedText)

text = [Speaker 1] Let me show you somethingoutput = translatetext(text en de)print(output)

输出 [Sprecher 1] Lass mich dir etwas zeigen

通过添加 正式 设置,输出翻译具有了正式语气,符合纪录片类型的需求。

python

Translate with formal tone

import boto3

初始化 Amazon Translate 会话

translate = boto3client(servicename=translate regionname=useast1 usessl=True)

def translatetext(text sourcelang targetlang) result = translatetranslatetext( Text=text SourceLanguageCode=sourcelang TargetLanguageCode=targetlang Settings={Formality FORMAL} ) return resultget(TranslatedText)

text = [Speaker 1] Let me show you somethingoutput = translatetext(text en de)print(output)

输出 [Sprecher 1] Lassen Sie mich Ihnen etwas zeigen

使用 Amazon Bedrock 进行后期编辑

在此部分,我们使用 Amazon Bedrock 在获得来自 Amazon Translate 的初步翻译后,改善视频字幕的质量。

习语检测与替换

习语检测与替换在将英语视频配音时至关重要,以准确传达文化的微妙差异。适应习语可以防止误解,增强参与感,保持幽默与情感,最终改善全球观众的观看体验。因此,我们使用 Amazon Bedrock 开发了一种习语检测功能来解决这一问题。

您可以通过指定管道的输入来开启或关闭习语检测器。例如,对于科学类内容,通常有较少的习语,您可以关闭习语检测器;而对于更随意的对话类型,则可以开启习语检测器。对于一段 25 分钟的视频,总处理时间约为 15 小时,其中约 1 小时用于视频预处理和视频合成。开启习语检测器仅需增加约5分钟的总处理时间。

我们开发了一个名为 bedrockapiidiom 的函数,利用 Amazon Bedrock 来检测和替换习语。此函数首先使用 Amazon Bedrock 的 LLM 检测文本中的习语,然后进行替换。在以下示例中,Amazon Bedrock 成功地将输入文本“well I hustle”替换为“I work hard”,然后可以通过 Amazon Translate 正确翻译成西班牙语。

python

习语被 Amazon Bedrock 检测并重述

textrephrased = bedrockapiidiom(text)print(textrephrased)

输出 I work hard

response = translatetext(textrephrased en esMX)print(response)

输出 yo trabajo duro

response = translatetext(response esMX en)print(response)

输出 I work hard

句子简化

第三方视频配音工具可以用于配音过程中缩放时间,如果手动进行会非常耗费成本。在我们的管道中,我们利用 Amazon Bedrock 开发了一种句子简化算法,以实现自动时间缩放。

例如,一个典型的字幕文件由章节编号、时间戳和句子构成。以下是英文句子在简化之前的例子。

原句:

A large portion of the solar energy that reaches our planet is reflected back into space or absorbed by dust and clouds

使用句子简化算法后的简短句子如下。通过使用 Amazon Bedrock,我们可以显著改善视频配音性能并减少人工审核的工作量,从而节省成本。

简化句子:

A large part of solar energy is reflected into space or absorbed by dust and clouds

结论

这一不断发展的新管道为 MagellanTV 带来了革命性的变化,因为它有效地解决了媒体与娱乐公司常见的一些挑战。Mission Cloud 开发的独特本地化管道为全球分发内容创造了新的机遇,同时节约成本。通过结合生成性 AI 和优秀的习语检测与解决方案、句子长度简化、自定义术语与语气策略,形成了一个真正符合 MagellanTV 不断增长需求与目标的特制管道。

如果您想了解更多关于此用例的信息或与 Mission 团队进行咨询,以讨论您的特定生成性 AI 用例,请随时通过 AWS Marketplace 提出请求。

关于作者

Na Yu 是 Mission Cloud 的首席生成 AI 解决方案架构师,专注于在 AWS 云上开发机器学习、MLOps 和生成 AI 解决方案,并与客户紧密合作。她获得了圣母大学机械工程博士学位。

Max Goff 是一名数据科学家/数据工程师,拥有超过 30 年的软件开发经验。他是一位出版作者、博主和音乐制作人,有时会在梦中看到人工智能。

Marco Mercado 是一名高级云工程师,专注于开发云原生解决方案和自动化。他拥有多个 AWS 认证,并拥有与高层 AWS 合作伙伴合作的丰富经验。Marco 擅长利用云技术推动各种项目的创新与高效。

Yaoqi Zhang 是 Mission Cloud 的高级大数据工程师,专注于利用 AI 和机器学习推动创新并在 AWS 上开发解决方案。在加入 Mission Cloud 之前,她在 Amazon 从事机器学习和软件工程工作长达六年,专注于亚马逊时尚购物的推荐系统和 Alexa 的自然语言处理。她获得了波士顿大学电气工程硕士学位。

Adrian Martin 是 Mission Cloud 的大数据/机器学习首席工程师。他在英语和西班牙语翻译与翻译领域拥有丰富的经验。

Ryan Ries 拥有超过 15 年的数据与工程领导经验,超过 20 年的 AI 工作经验,以及 5 年协助客户构建 AWS 数据基础设施和 AI 模型的经验。在加州大学洛杉矶分校及加州理工学院获得生物物理化学博士学位后,Ries 博士帮助开发了面向美国国防部和多家财富 500 强公司的前沿数据解决方案。

Andrew Federowicz 是 MagellanTV Magellan VoiceWorks 的 IT 和产品首席主任。拥有十年的云系统和 IT 经验,以及机械工程学位,他负责设计、构建、部署和扩展创新解决方案。Andrew 曾为 MagellanTV 24/7全球可用流媒体应用架构并构建 AWS 基础设施。在余暇时间,Andrew 喜欢模拟赛车和钟表制造。

Qiong Zhang PhD,是 AWS 的高级合作伙伴解决方案架构师,专注于 AI/ML。她目前的研究兴趣包括联邦学习、分布式训练和生成 AI。她持有 30 多项专利,并共同撰写了超过 100 篇期刊/会议论文。她也是 IEEE NetSoft 2016、IEEE ICC 2011、ONDM 2010 和 IEEE GLOBECOM 2005最佳论文奖的获奖者。

[Cristian Torres](https//


发表评论

提交
迅猛兔加速器正版

迅猛兔官方网站提供全球连线服务,实现一键速度提升,助您畅享网络,加速体验,无论身处何地,轻松连接。

网站地图

找到迅猛兔加速器免费下载