当前位置: 首页 > news >正文

aeneas:音频和文字自动对齐,支持38种语言

文章目录

  • aeneas:音频和文字自动对齐,支持38种语言
    • 它能干什么
    • 安装和使用
    • 几个细节
    • 局限性

aeneas:音频和文字自动对齐,支持38种语言

做有声书、字幕、语音研究的人,应该都碰过这个问题:一段音频,一份文字稿,怎么把每一句话和它在音频里的时间位置对应起来?手动做?几百页的书能累死人。靠 ASR 语音识别?精度不够,还得人工校对。

aeneas 就是专门解决这个的。它是一个 Python/C 库,能自动把文字片段和音频做"强制对齐"(forced alignment),输出每个文字片段对应的起止时间戳。

举个例子,给它一段莎士比亚的十四行诗音频和对应的文字,aeneas 会输出这样的结果:

From fairest creatures we desire increase, => [00:00:02.640, 00:00:05.880] That thereby beauty's rose might never die, => [00:00:05.880, 00:00:09.240] But as the riper should by time decease, => [00:00:09.240, 00:00:11.920]

每一句话精确到毫秒,直接可用。

它能干什么

aeneas 的核心能力就是音频文字对齐,但围绕这个核心,它做了不少实用功能。

支持 38 种语言,包括中文、英文、日文、法文、德文、阿拉伯文等等。只要 eSpeak 或 Festival 这些 TTS 引擎支持的语言,aeneas 都能处理。

输出格式很全:做研究用的 Audacity、ELAN、TextGrid 格式,做字幕的 SRT、WebVTT、TTML 格式,做电子书的 SMIL 格式,还有 JSON、CSV、XML 这些通用格式。基本上下游需要什么格式,它都能输出。

输入格式也没限制,音频方面 ffmpeg 能读的格式它都认。文字方面支持纯文本、XML、XHTML,还能从 XML 的 id 和 class 属性里提取文字内容。

安装和使用

安装流程很标准。装好 Python、FFmpeg、eSpeak 三件套,然后 pip 装 numpy 和 aeneas 就行。Mac 和 Windows 有一键安装包,Linux 有 deb 包。实在搞不定环境的,官方还提供了 VirtualBox 虚拟机镜像,开箱即用。

用法分两种场景。

单个任务直接命令行跑:

python -m aeneas.tools.execute_task \ audio.mp3 \ text.txt \ "task_language=eng|os_task_file_format=json|is_text_type=plain" \ map.json

第三个参数是配置字符串,控制输入输出格式和处理选项。看起来参数多,但文档里有详细说明,照着配就行。

批量任务用 job 模式,把多组音频文字打包成 zip,配好 config 文件,一条命令全部处理完。适合有大量文件要对齐的场景。

几个细节

aeneas 用了 MFCC(梅尔频率倒谱系数)和 DTW(动态时间规整)做核心算法,而且这部分是用 C 写的 Python 扩展,处理速度比纯 Python 快很多。

TTS 引擎方面,默认用 eSpeak,但也支持 Festival、AWS Polly、Nuance TTS API 等引擎。换更好的 TTS 引擎能提升对齐精度,尤其是做单词级别对齐的时候。

说到单词级别对齐,aeneas 原本是按句子或段落级别设计的。用它做单词级对齐时,可以开启 MFCC 非语音掩码、用多层级对齐模式、换更好的 TTS 引擎来提升效果。

它还能从 YouTube 下载音频直接处理,支持递归对齐(先对齐段落,再对齐句子,最后对齐单词),参数可以在运行时调整。

局限性

音频和文字要匹配,如果文字里有大段多余内容或者音频里有大段无关内容,出来的结果会不对。它假设输入是语音,不适合歌曲字幕。内存方面也有要求,4GB 内存大概能处理 2 小时的音频,16GB 能处理 10 小时。

这个项目 Star 数不到 3000,不算热门,但在音频文字对齐这个细分领域,它是少数几个开箱即用的工具之一。做有声书制作、语音研究、字幕生成的人,值得看看。

3000,不算热门,但在音频文字对齐这个细分领域,它是少数几个开箱即用的工具之一。做有声书制作、语音研究、字幕生成的人,值得看看。

http://www.gsyq.cn/news/1590608.html

相关文章:

  • AI会成为跟编辑器一样新的一个中间层
  • 构建个人数字身份标识系统:从jfm608实践看统一管理与安全防护
  • 最新量化工具怎么选,先看自己的能力短板
  • 河南省人工智能专业综合实力排名2026 最新
  • 三步构建缠论量化系统:从理论到实战的完整指南
  • 解锁养老新方式:AI 当私人医生,守护长辈健康
  • 【2026】超详细ANSYS2024安装保姆级教程,仿真分析一步到位,环境配置和使用指南,看完这一篇就够了
  • VibeCoding 时代,程序员应该做什么产品?——副业、变现与成本深度分析
  • 传统RAG已经落伍了?清华大神开源的这个 rag-skill,让知识库检索直接升维
  • 2026年程序员学量化开发,先慢下来理清规则
  • 数据解封装:一条网络消息,怎样从网卡走到你的程序
  • 对话聊天(Chatbot)
  • LangGraph图编排底层原理:状态、节点与边的工程实践
  • 从零构建异构高性能计算集群:Kubernetes与Ceph实战指南
  • 近期碎片0625
  • ChatGPT嵌入DAM系统:自然语言驱动数字资产智能操作
  • 一个传统企业老板的自白
  • Linux命令-pwconv(从 /etc/passwd 创建 /etc/shadow 影子密码)
  • FRSM V6 Dense MoE vs Transformer — 全维度技术报告
  • 智能工程师中的方案设计与优化分析
  • 告别招人内卷!零基础用 QClaw,一人撑起整盘生意
  • 偏函数与柯里化:函数式编程技巧
  • Kubernetes 生产集群故障自愈:从 Pod 驱逐到节点自动恢复的实战进阶
  • 斐波那契常数数字分布分析:从高精度计算到统计检验
  • 【微科普】一文吃透GDPR与CCPA数据法规,后端隐私接口改造附完整方案
  • 程序员专属浪漫!自制HTML生日蛋糕粒子特效源码
  • 照片总修不出“通透感“?这款AI修图神器,一键让废片变大片!
  • 国产开源神器!一个U盘装N个系统,拷贝ISO就能启动,再也不用反复格式化!
  • 2026实测盘点:16款降AI率工具测评,论文安全过关就靠它!
  • ML 实验管理工具链调研:Weights Biases、MLflow 与 DVC 的架构对比与选型评估