Windows 10 中使用 Montreal-Forced-Aligner (MFA) 实现音频和文本强制对齐

文章目录

      • 一、实现目标
      • 二、安装 Montreal-Forced-Aligner
        • 1、使用 Anaconda 虚拟环境
        • 2、修改默认下载路径
        • 3、安装 montreal-forced-aligner 及相关第三方包
        • 4、验证是否安装成功
      • 三、下载声学模型和发音词典
        • 1、命令行方式下载
        • 2、手动方式下载
      • 四、强制对齐
        • 1、准备音频及对应文本
        • 2、开始对齐
      • 五、使用 Praat 工具查看对齐效果
      • 六、参考资料

一、实现目标

一份音频文件(audio.wav),一份音频对应的文本文件(audio.txt),希望能够列出文本中每个单词在音频当中出现的时间点。

二、安装 Montreal-Forced-Aligner

需要在 Anaconda 中创建虚拟环境后安装使用,所以需要先安装 Anaconda,此处已经安装完成,不再说明相关安装流程。

1、使用 Anaconda 虚拟环境

点击 Anaconda Prompt:

点击 Anaconda Prompt

创建虚拟环境:

conda create -n aligner

注:此处指定虚拟环境名称为 aligner,可自定义。

激活该虚拟环境:

conda activate aligner

2、修改默认下载路径

在下载对应模型及词典前,可通过添加环境变量 MFA_ROOT_DIR 修改默认下载路径:

添加环境变量

更多详情参见:https://montreal-forced-aligner.readthedocs.io/en/latest/user_guide/configuration/index.html

3、安装 montreal-forced-aligner 及相关第三方包

conda install -c conda-forge montreal-forced-aligner=2.2.17 openfst=1.8.2 kaldi=5.5.1068

注:可能因为网络问题需要等待很长时间。

安装详情参见:https://montreal-forced-aligner.readthedocs.io/en/latest/installation.html

4、验证是否安装成功

mfa

验证是否安装成功:

验证是否安装成功

三、下载声学模型和发音词典

1、命令行方式下载
  • 声学模型:

mfa model download acoustic english_us_arpa

  • 发音词典:

mfa model download dictionary english_us_arpa

注:此处安装的是 english_us_arpa,可根据需要自行跟换。下载完成后的压缩包不要解压。

查看可安装的声学模型列表:

mfa model download acoustic

此处以下载 english_mfa 为例,展示下载完成界面:

展示下载完成界面

网络问题可能无法下载成功,尝试手动下载。

2、手动方式下载

下载地址:https://mfa-models.readthedocs.io/en/latest/

手动下载

此处以下载发音词典 dictionary 为例,展示下载过程,声学模型 acoustic models 下载方式同理:

(1) 点击图片中的 Browse dictionaries,进入下载界面,通过关键字检索:

点击图片中的 Browse dictionaries

(2) 进入详情页后,点击跳转至 github 下载:

点击跳转至 github 下载

(3) 拉至页面底部,点击下载

拉至页面底部,点击下载

(4) 将文件放至环境变量对应的目录下

如果是 dictionary 就放在 pretrained_models/dictionary 文件夹下,同理,如果下载声学模型 acoustic 则放在 pretrained_models/acoustic 文件夹下:

拉至页面底部,点击下载

注:下载的声学模型压缩包不要解压。pretrained_models 文件夹是安装完 MFA 后自动生成的不用自行创建。

四、强制对齐

1、准备音频及对应文本

创建 corpus_pathtarget_path 文件夹:

创建 corpus_path 和 target_path 文件夹

将音频及文本文件放置 corpus_path 文件夹中:

放置

2、开始对齐

mfa align D:\AnacondaCLI\mfa_model_dic\pretrained_models\corpus_path english_us_arpa english_us_arpa D:\AnacondaCLI\mfa_model_dic\pretrained_models\target_path

参数说明:

mfa align [OPTIONS] CORPUS_DIRECTORY DICTIONARY_PATH ACOUSTIC_MODEL_PATH OUTPUT_DIRECTORY

  • CORPUS_DIRECTORY:需要对齐的音频及文本的文件夹路径
  • DICTIONARY_PATH:发音词典路径
  • ACOUSTIC_MODEL_PATH:声学模型路径
  • OUTPUT_DIRECTORY:对齐后生成的文件的存放路径

可在命令行后面追加 --clean 参数清除上一次使用的缓存,否则即便清空 corpus_path 文件夹下的内容后添加新的数据,执行命令后依然显示之前对齐的结果。

此处可直接使用 english_us_arpa 是因为模型及词典放置在了默认文件夹下,所以无需填写完整路径。

对齐:

对齐

查看文件:

查看文件

五、使用 Praat 工具查看对齐效果

Praat 工具下载链接:https://www.fon.hum.uva.nl/praat/

添加对齐后的文件和音频文件至目标区域:

查看文件

添加对齐后的文件:

对齐后的文件

添加对应的音频文件:

音频文件

同时选中后点击 View & Edit 按钮:

点击按钮

查看对齐结果:

查看对齐结果


六、参考资料

官方资料:

  • github Montreal-Forced-Aligner
  • Installation
  • First steps
  • mfa-models

相关博客:

  • 安装与使用Montreal Forced Aligner(MFA)
  • Montreal Forced Aligner Windows笔记
  • Montreal Forced Aligner使用教程(中文语音文本对齐)
  • Montreal Forced Aligner (MFA)安装教程及异常处理
  • 中文语音文本对齐-MFA-不需要配环境的傻瓜教程
  • Forced Alignment 踩坑日志

其他:

  • textgrid 处理

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

短视频矩阵系统电脑端/手机版双端加盟saas技术源头开发

短视频矩阵系统是为了帮助用户更高效地管理、编辑、发布和分析短视频内容而设计的综合性平台。这种系统通常包含电脑端和手机端两个部分,每个部分都有其特定的功能模型,以适应不同设备的操作习惯和使用场景。以下是根据搜索结果中提供的信息,…

Debian是什么?有哪些常用命令

目录 一、Debian是什么? 二、Debian常用命令 三、Debian和CentOS的区别 四、Debian和CentOS的优缺点 五、Debian和CentOS的运用场景 一、Debian是什么? Debian是一种流行的开源Linux操作系统。 Debian是一个以Linux内核为基础的操…

vue3 element-plus表单form验证规则设置的require:true无效

必填项为空校验&#xff0c;valid第一次为true&#xff0c;再点值为false 引入FormInstance &#xff0c;校验代码改为以下&#xff1a; import { ElMessage, FormInstance } from element-plus const ruleFormRef ref<FormInstance>()const submitForm async (formEl:…

大模型市场爆发式增长,但生成式AI成功的关键是什么?

进入2024年&#xff0c;大模型市场正在爆发式增长。根据相关媒体的总结&#xff0c;2024年1-4 月被统计到的大模型相关中标金额已经达到2023年全部中标项目披露金额的77%左右&#xff1b;其中&#xff0c;从项目数量来看&#xff0c;应用类占63%、算力类占21%、大模型类占13%、…

(MATLAB)安装指南

参考链接&#xff1a;MATLAB2019a安装教程&#xff08;避坑版&#xff09;

软考中级-软件设计师(十)网络与信息安全基础知识

一、网络概述 1.1计算机网络的概念 计算机网络的发展&#xff1a;具有通信功能的单机系统->具有通信功能的多机系统->以共享资源为目的的计算机网络->以局域网及因特网为支撑环境的分布式计算机系统 计算机网络的功能&#xff1a;数据通信、资源共享、负载均衡、高…

社区智能奶柜:创业新机遇

社区智能奶柜&#xff1a;创业新机遇 在追求高质量生活的今天&#xff0c;健康食品成为大众焦点。社区智能奶柜适时登台&#xff0c;革新了居民获取新鲜牛奶的传统模式&#xff0c;为创业者开辟了一片蓝海市场。 一、新兴创业蓝海&#xff1a;牛奶随享站 日常膳食中&#xf…

uniapp 如何修改 IPA 文件信息页的本地化语言

实现效果&#xff1a; 最终会对应到苹果商店的语言&#xff1a; 例如微信的语言就有多个&#xff1a; 操作&#xff1a; 在 mainfest.json 源码视图中加入&#xff1a; 具体对应的语言key值可以参考Xcode中的语言代码 这个取决于打包后的 lproj 文件 将后缀ipa改成zip打开即…

MySQL —— 数据类型

一、数值类型 以上表格整理了用来表示数值类型的数据类型&#xff0c;其中&#xff0c;接下来将介绍和展示其中几个类型的使用和各种细节 1.tinyint 越界测试&#xff1a;建立一个包含tinyint类型的表格&#xff0c;插入各中数据去查看结果&#xff0c;并且尝试插入边界数据和…

【接地故障保护】剩余电流继电器及监控产品解决方案

安科瑞电气股份有限公司 祁洁 15000363176 一、产品型号 二、产品功能 1、对直接接触电击事故的防护 对直接接触电击事故的防护中&#xff0c;剩余电流继电器&#xff08;RCD&#xff09;只作为直接接触电击事故基本防护措施的补充保护措施&#xff08;不包括对相与相、相…

SQL注入实例(sqli-labs/less-1)

初始网页 从网页可知传递的参数名为 id&#xff0c;并且为数字类型 1、得知数据表有多少列 1.1 使用联合查询查找列数&#xff08;效率低&#xff09; http://localhost/sqli-labs-master/Less-1/?id1 union select 1,2 -- 1.2 使用order by查找列数&#xff08;效率高&…

OpenCV 入门(六) —— Android 下的人脸识别

OpenCV 入门系列&#xff1a; OpenCV 入门&#xff08;一&#xff09;—— OpenCV 基础 OpenCV 入门&#xff08;二&#xff09;—— 车牌定位 OpenCV 入门&#xff08;三&#xff09;—— 车牌筛选 OpenCV 入门&#xff08;四&#xff09;—— 车牌号识别 OpenCV 入门&#xf…

思维导图怎么画?一文掌握绘制技巧

思维导图怎么画&#xff1f;你是不是还在为不知道怎么绘制思维导图而困惑&#xff1f;别担心&#xff0c;看完这篇文章就可以掌握绘制思维导图的基础步骤了。一起来看看吧&#xff01; 一、思维导图的基本结构 思维导图通常由中心节点、分支节点和子节点组成。中心节点是思维导…

VTK数据的读写--Vttk学习记录1--《VTK图形图像开发进阶》

读和写操作是VTK可视化管线两端相关的类--Reader和Writer类 Reader:将外部数据读入可视化管线&#xff0c;主要步骤如下 s1:实例化Reader对象 s2:指定所要读取的文件名 s3:调用Update()促使管线执行 对应的Writer: s1:实例化Writer对象 s2输入要写的数据以及指定写入的文…

PyRun_SimpleString(“import cv2“); 报错解决

#include <Python.h> #include <iostream>using namespace std;int main() {Py_Initialize();if (!Py_IsInitialized()){printf("初始化失败&#xff01;");return 0;}PyRun_SimpleString("import sys");PyRun_SimpleString("sys.path.ap…

0507华为od二面

只记录自己没回答上的问题 1、ZGC的缺点&#xff1a; 1)只是适用于32位系统 2)最大只是支持4TB内存容量 3)最糟糕的情况下吞吐量会下降15%&#xff0c;这都不是事至于吞吐量&#xff0c;通过扩容分分钟解决 4)分代的原因:不同对象的生命周期不相同&#xff0c;可能会扫描整个堆…

产品推荐 | 基于Xilinx ZYNQ FPGA和ADI ADRV9009的双收双发无线电射频板卡

1、产品概述 基于XC7Z100ADRV9009的双收双发无线电射频板卡是基于Xilinx ZYNQ FPGA和ADI ADRV9009开发的专用功能板卡&#xff0c;用于5G小基站&#xff0c;无线图传&#xff0c;数据收发等领域。 2、板卡原理和功能 板卡使用XC7Z100 作为主处理器&#xff0c;包含Dual ARM C…

宏集PLC+HMI触控一体机助力构建物料自动分拣系统

一、应用背景 随着工业生产和物流领域的快速发展&#xff0c;对仓储、分拣和配送效率以及准确性的需求不断提高。传统的人工分拣已无法满足市场需求&#xff0c;为了实现智能物流&#xff0c;对高性能的物料输送分拣设备需求更为迫切。 二、物料分拣系统介绍 智能化物料分拣系…

B端系统菜单栏中使用阿里图标

B端系统菜单栏中使用阿里图标 1.需求说明 由于组件库自带的图标数量和内容有限&#xff0c;采用丰富多样的阿里图标是不错的选择 2.阿里图标使用 2.1官网 iconfont-阿里巴巴矢量图标库 2.2使用 2.2.1.先根据关键词搜索并选择对应的图标 注意&#xff1a;若只是少量的sv…

Stable Diffusion Ai绘画模型推荐:二次元Coriander_Mix v1大模型推荐

负tag嵌入式:EasyNegative,badhandv4 此模型经测试是写实偏3D的效果 画质灰暗的话请加&#xff1a;VAE840000 或者负tag&#xff1a;(watermark:2),(blurry:2),fat,paintings,sketches,(worst quality:2),(low quality:2),(normal quality:2),((monochrome)), ((grayscale))…