speech production model

文章目录

  • 1 概述
  • 2 source model
  • 3 filter model
  • 4 小结
  • 参考资料

1 概述

本文的目的是为了厘清在speech production model中source model和filter model所扮演的角色,不涉及具体公式的推导或者模型的建立,只是为了把这两个model在干什么事情说明白。文中用到的图片均来自底部参考资料,如有侵权,必定删除。

如下图1-1所示,speech production model把人发声的过程分成了三大块,分别是power,source和filter。

power就是我们的肺部,用来产生气体;source是我们的喉咙,用来控制声音的音调pitch和响度loudness;filter是我们的嘴、舌、齿等等组成的声道,用来控制最终发出什么音。
人体发声示意图

图1-1 人体发声示意图

power这块我们不关心,我们用模型去模拟的时候直接从source开始模拟就可以了。我们假定source产生的信号在频域内如下图1-2最左侧所示,这是由一个基频F0F_0F0和它的谐波组成的,这个信号和filter在频域内做乘积得到了下图1-2最右侧的频域图。可以看出这是source和filter的结合。
source-filter model示意图

图1-2 source-filter model示意图

2 source model

source model模拟的就是我们的喉咙。我们的喉咙在发声的时候,会产生振动,相当于有一个阀门在一开一关。这样使得source model产生的信号是一个以F0F_0F0为极品的信号,这也就是我们的音调pitch。有这种振动的声音被称为浊音(voiced),没有这种振动的被称为清音(unvoiced)。清音也就是让气体直接通过喉咙,不加任何振动。
浊音和清音

图2-1 浊音和清音示意图

图2-1中的u(t)u(t)u(t)就是source model产生的结果,其在经过傅里叶变换之后,得到的频域上的图如图1-2所示,会伴有很多的谐波(harmonics)。谐波都在基频的整数倍上,比如我们F0F_0F0是200Hz,那么400Hz,600Hz,800Hz等等都是它的谐波。直观上来看,就是图1-2中最左侧的图和最右侧的图的毛刺。

3 filter model

filter model就是我们的声道,各种形状会让我们声道变成不同参数的滤波器。这个滤波器我们假设它是g(n)g(n)g(n)。从source model出来的信号u(n)u(n)u(n)会和g(n)g(n)g(n)在时域上做卷积得到最终的信号x(n)x(n)x(n)

x(n)=u(n)∗g(n)(3-1)x(n) = u(n)*g(n) \tag{3-1} x(n)=u(n)g(n)(3-1)

时域上的卷积就是频域上的乘积

X(k)=U(k)G(k)(3-2)X(k) = U(k)G(k) \tag{3-2} X(k)=U(k)G(k)(3-2)

这个G(k)G(k)G(k)就决定了我们发出的是"a"还是"u"这样的音。

如图1-2所示不同的声道形状就表示了不同形状的滤波器,由于频域内是乘积的操作,最终得到的信号会在滤波器的几处频域峰值处产生共振峰(format frequencies)。这些共振峰丛小到大依次为F1F_1F1F2F_2F2F3F_3F3F4F_4F4等等。一般浊音的共振峰会随着频率的增大而幅值减小,而浊音的在高频处幅值较大。图3-1中是浊音和清音不带毛刺的X(k)X(k)X(k)示意图。
formant structure

图3-1 formant structure示意图

我们对x(n)x(n)x(n)做短时傅里叶变换之后,往往会得到如下图3-2所示的频谱图。其中的白线就是各个共振峰。据此可以判断发出的是什么音。

formant frequency contour

图3-2 formant frequency contour

4 小结

据此,我们可以知道source model决定了harmonic frequencies,也即

  • 声音的音调(F0F_0F0)
  • 声音的强度
  • 声音的时长
  • 声音的质量

filer model决定了formant frequencies,也即

  • 发出的是什么音

参考资料

[1] Speech Acoustics 4 - Source-filter model
[2] 李琳山-Speech Signal and Front-end Processing

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

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

相关文章

python装饰器函数执行后日志_python 装饰器理解

在理解装饰器之前,先应该对闭包有个概念:所谓闭包,就是将组成函数的语句和这些语句的执行环境打包在一起时得到的对象,它的主要作用是封存上下文。这一特性可以巧妙的被用于现有函数的包装,从而为现有函数添加功能&…

二十、PHP框架Laravel学习笔记——模型的作用域

一.本地作用域 很多情况下,我们在数据查找时有一部分条件会被重复且大量使用;而这个条件,可能只是在这个模型对应的数据表使用,别的表并不使用;那么这种情况,可以使用本地作用域的方式&#xf…

App接口如何保证安全

微信开发或者高德地图,百度地图什么的api要使用,使用之前都需要注册一个账号,然后系统会给你一个key,然后调用api的时候把key传给服务器。 平常公司内部开发项目时,直接用mvc为app客户端提供接口,没有做过验…

论文阅读 - Joint Beat and Downbeat Tracking with Recurrent Neural Networks

文章目录1 概述2 信号预处理3 分类神经网络4 动态贝叶斯网络(HMM)4.1 原始的bar pointer model4.2 原始的bar pointer model的缺点4.3 改进后的模型5 预测参考资料1 概述 最近在做音乐卡点相关的项目,需要对音乐的基本特征进行理解&#xff…

二十一、PHP框架Laravel学习笔记——模型的访问器和修改器

一.访问器 访问器:就是在获取数据列表时,拦截属性并对属性进行修改的过程;比如,我们在输出性别时,在性别左右加上括号,或给邮件转换为大写; //访问器,前固定 get&#…

python将txt转json_Python控制乐高EV3,以及VSCODE环境配置

乐高EV3的可扩展性很强,但如何用pc连接ev3,并用python代码来控制EV3,资料太少了,试着做了一次,记录在这里。需要的硬/软件硬件准备一、乐高EV3二、PC,win10系统三、TF卡(我用的是64G的&#xff…

移动文件读/写指针----lseek

头文件&#xff1a;#include<sys/types.h>、#include<unistd.h> 函数原型&#xff1a;off_t lseek(int fildes,off_t offset,int whence) 参数说明&#xff1a;fildes:文件描述符 offset:偏移量&#xff0c;正数表示正向偏移&#xff0c;负数表示负向偏移。 whence…

Yolo系列知识点梳理(Yolov1-v5)

文章目录1 概述2 Yolo系列模型2.1 基石 - Yolov12.1.1 Yolov1的网络结构2.1.2 Yolov1的feature map2.1.3 Yolov1的训练2.1.4 Yolov1的预测2.1.5 Yolov1小结2.2 Yolo9000 - Yolov22.2.1 Better2.2.1.1 引入了Batch normalization2.2.1.2 高分辨率的分类器2.2.1.3 加入了anchor机…

二十二、PHP框架Laravel学习笔记——集合的使用

一&#xff0e;创建集合 什么是集合&#xff1f;即&#xff1a;它是一种更具读取性和处理能力的数组封装&#xff1b;比如&#xff0c;我们从数据库得到的数据列表&#xff0c;它就是一种集合&#xff1b;数据集合&#xff0c;提供了大量的方法方便我们进行各种操作&#xff1…

神经网络用python还是matlab_Matlab与神经网络学习笔记

这是学习《Neural Network and Deep Learning》的笔记。在刚开始学习时&#xff0c;电脑安装的是python3&#xff0c;而作者用的是2.我想着反正要熟悉代码&#xff0c;大学期间MATLAB用的比较多&#xff0c;也懒得去折腾python2或是重写成python3.于是用MATLAB完成了里面的实例…

二十三、PHP框架Laravel学习笔记——集合的常用方法

一&#xff0e;常用方法 all()方法&#xff0c;转换为属性形式输出&#xff0c;使用 dd 方法看类型&#xff1b; $collection collect([1, 2, 2, 3, 4, 4, 4]); dd($collection->all()); PS&#xff1a;$collection->dd()方法可以以 dd()模式输出&#xff0c;还有 du…

mac看图软件哪个好用_细数Mac上那些好用且免费的软件(三)

许多朋友购买了Mac电脑之后发现很多软件都没有&#xff0c;而且苹果商店好多软件都是收费的。那有没有免费的软件也能满足日常的需求呢&#xff1f;macw小编就为大家推荐一些免费且超级好用的软件&#xff0c;赶快来看看有没有你需要的吧&#xff01;细数Mac上那些好用且免费的…

图像表格实线和虚线检测

文章目录1 背景简述2 camelot中的方法2.1 二值化2.2 腐蚀膨胀2.3 轮廓检测2.4 结果展示3 基于霍夫直线检测的方法3.1 霍夫直线检测原理3.2 概率霍夫直线检测3.3 霍夫直线应用参考资料1 背景简述 图像中的表格结构化是一个比较热门的话题&#xff0c;其输入是一张图片&#xff…

二十四、PHP框架Laravel学习笔记——模型的数据集合

一&#xff0e;数据集合 数据集合&#xff0c;就是已经将模型方法 get()获取到的数据再进行处理&#xff1b;比如&#xff1a;map()方法&#xff0c;通过它可以实现类似访问器一样对字段进行处理的效果&#xff1b; $users User::get(); //使用集合方法 map 可以对输出的字…

const参数,const返回值与const函数

在C程序中&#xff0c;经常用const 来限制对一个对象的操作&#xff0c;例如&#xff0c;将一个变量定义为const 的&#xff1a; const int n3; 则这个变量的值不能被修改&#xff0c;即不能对变量赋值。 const 这个关键字经常出现在函数的定义中&#xff0c;而且会出现在不同…

python简笔画怎么画_怎样用tk语句在Python下画一棵树

展开全部 1.代码的结2113构&#xff1a; 本代码有两个子5261函数组成&#xff0c;据图有main函数4102和画树函数组成。 2.编写画1653树函数&#xff1a; 画树函数&#xff0c;就是用来画出我们的树的一种子函数&#xff0c;代码如下&#xff1a;def tree(plist,l,a,f): if l>…

论文阅读 - AUTOVC: Zero-Shot Voice Style Transfer with Only Autoencoder Loss

文章目录1 概述2 模型架构3 模块解析3.1 获取梅尔频谱3.2 speaker encoder3.3 AutoVC3.4 Vocoder4 关键部分参考资料1 概述 voice conversion这个任务的目标是输入两个音频&#xff0c;其输入是两段音频&#xff0c;一段音频称为content_audio&#xff0c;另一段称为speaker_a…

二十五、PHP框架Laravel学习笔记——模型的一对一关联

一&#xff0e;关联概念 关联模型&#xff0c;即&#xff1a;两张或以上的表进行一定规则的绑定关联&#xff1b;比如&#xff1a;一个学生(学生表)对应一张个人信息卡(信息表)&#xff0c;这种就是一对一&#xff1b;再比如&#xff1a;一篇博文(帖子表)对应多个评论(评论表)…

linux-0.11内核 调试教程+GCC源代码

http://pan.baidu.com/share/home?uk453348606&viewshare#category/type0 http://blog.csdn.net/oldlinux/article/details/42558445转载于:https://www.cnblogs.com/zengkefu/p/5563351.html

python 私有属性_Python3伪私有属性

1&#xff1a;伪私有属性介绍 在Python中一切都是对象&#xff0c;并且类的所有属性和方法都是公有的(public)&#xff0c;并不存在private 关键字来声明私有方法或属性。那么在Python中怎么实现像其他编程语言一样的私有属性呢&#xff1f;其实只需在属性前加上双下划线(但是结…