AHOcoder声码器

news/2024/10/30 21:26:41/

AHOcoder声码器

目前最常见的声码器有WORLD,STRAIGHT,Griffin_Lim等,AHocoder算是少见的,但也可以学习一下。
代码下载网址:AHOcoder

简介

AHOcoder 语音声码器由 Daniel Erro 在巴斯克大学的 AHOLAB 信号处理实验室研发,专门为统计参数语音处理设计的语音编解码器,它可将语音信号转换为可处理的具有良好统计建模特性的向量。
AHOcoder 语音声码器的设计思想来源于谐波加噪声模型(Harmonics plus Noise Model, HNM),该模型将语音信号分解为低频段的谐波部分和高频段的噪声部分,但由于谐波数量会随基频的变化而变化。导致 HNM 特性不能直接用于统计系统。

参数分解

AHOcoder声码器将语音波形参数分解成三部分:对数基频,梅尔倒谱系数和最大浊音频率。
三部分的特征提取:

对数基频

基音检测,AHOcoder 声码器使用的是自相关法检测基音周期。
语音信号x(m)的短时自相关函数为:
在这里插入图片描述
式中,
k:语音信号的延迟点数;
N:语音分帧的长度。
利用了自相关函数如下特征。
短时自相关函数反映了语音信号与其经过k 点延迟后的的相似程度。利用短时自相关函数的性质,比较原始信号与其延迟信号间的相似度,当两者具有最大相似度时,延迟量就等于基音周期。这就是获得语音信号基音周期的方法,称为自相关基音检测法。
如果信号x(m)具有周期性,则相关函数R(k)也是周期函数且周期性与x(m)相同;如果当k=0,T,2T…时,短时自相关函数取得最大值。这样就得到周期T。

梅尔倒谱系数

假设一个简化的语音产生模型,其中脉冲或噪声激励通过整型滤波器,得到的频谱包络就表示该滤波器的频率响应。

频谱包络不仅包含声道信息,还包括声门信息。

  • 清音帧中,噪声激励的频谱是平坦的,这意味着滤波器的响应与信号本身的频谱一致。
  • 浊音帧中,脉冲激发的频谱为恒定振幅,线性频率相位置于基频整数倍的脉冲序列。因此,信号的频谱为一系列的峰值,这些峰值由激励脉冲乘以滤波器响应的均匀间隔的频谱采样而得到。

假设信号短时平稳,全带谐波分析返回这些频谱包络的离散采样,然后可以通过插值来估计连续的包络。

k 帧处的 N 点幅度谱包络计算如下:
在这里插入图片描述

最大浊音频率(Maximum Voiced Frequency, MVF)

最大浊音频率是谐波与噪声在频域的分界点,假设高于 MVF 的部分只包含噪声,低于 MVF 部分只包含谐波。早期的声码器实现中 MVF 被认为是一个固定值,分解合成的语音效果也不错。但后来发现在语音合成的低频部分和句子结尾会伴随有轻微的嗡嗡声,这时就需要对MVF 进行调整。当局部最大浊音频率通过下面的线性关系进行调整时,这种现象可以得到缓解:
在这里插入图片描述
分析得到的 MVF 在合成语音时会产生更自然的结果,同时也保留了系统的实时生成能力。

语音合成

该模型以基音同步帧速率和帧长重建语音信号,时域卷积,频域乘积。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述


http://www.ppmy.cn/news/12736.html

相关文章

C语言文件操作(一)

我们之前写程序,得到运行结果,退出运行,运行结果就不见了,因为运行的结果放到了内存中,退出程序的时候数据就会消失,等下一次运行又要重新输入数据,这样就显得很麻烦。那么我们如何保存之前的运…

鉴源论坛 · 观通丨轨交系统安全性设计

作者 | 刘艳青 上海控安安全测评中心安全测评部测试经理 版块 | 鉴源论坛 观通 引语:第一篇对轨交信号系统从铁路系统分类和组成、城市轨交系统分类和组成、城市轨交系统功能、城市轨交系统发展方面做了介绍,第二篇从信号基础出发,讲述了信…

MyBatis-Plus数据安全保护(加密解密)

项目创建POM依赖 <dependency><!--MyBatis-Plus 企业级模块--><groupId>com.baomidou</groupId><artifactId>mybatis-mate-starter</artifactId><version>1.2.8</version> </dependency> <!-- https://mvnrepository…

价值创造链路及经营计划

“价值创造过程最主要的环节是建立链接&#xff0c;北京万柳书院在网上热议&#xff0c;其背后是人与人的大量链接&#xff0c;近期热议的湖南卫视春晚亦如是&#xff0c;这种链接为价值的设计、沟通、传递创造条件&#xff1b;企业以客户为中心设计产品&#xff0c;往大了说是…

linux挂载新磁盘

一、查看磁盘挂载状态&#xff1a; fdisk -l df -h 二、为其中一个磁盘创建新的分区&#xff0c;参考&#xff1a; linux用fdisk创建分区,在Linux下用fdisk创建分区_weixin_39968410的博客-CSDN博客 sudo fdisk /dev/nvme0n1 1. 创建主分区&#xff1a; -----------------…

工作的同时,我也在这里做副业

文章目录一、什么是独自开&#xff1f;二、独自开能给我们带来什么利益&#xff1f;三、如何使用独自开&#xff1f;3.1、用户任务报价步骤13.2、用户任务报价步骤2四、未来的愿景一、什么是独自开&#xff1f; 独自开&#xff0c;全称独自开发一套系统&#xff0c;是基于商品…

洛谷 225153 数字组合

1.数字组合 题目链接&#xff1a;数字组合 - 洛谷 标签&#xff1a;背包问题 注意点&#xff1a;将dp[0]初始化为1 AC代码&#xff1a; #include<iostream> using namespace std;int dp[100005];int main() {int n,m,t;cin>>n>>m;dp[0]1;for(int i1;i&l…

基于Leaflet的VideoOverlay视频图层叠加实战

前言在基于二维的场景中&#xff0c;也许会遇到以下的需求。在某交通路口或者重要的监控点&#xff0c;需要将实时或者录制的视频信息叠加在地图上。更有甚者&#xff0c;随着设备通讯方式的增强&#xff0c;无人机等设备可以采集实时数据&#xff0c;实时回传到控制终端&#…