当前课程知识点:计算机音乐 >  第二章 时域音频处理 >  2.5 振幅包络 >  振幅包络

返回《计算机音乐》慕课在线视频课程列表

振幅包络在线视频

下一节:音频信号相乘

返回《计算机音乐》慕课在线视频列表

振幅包络课程教案、知识点、字幕

同学们大家好

接下来我们要介绍一下振幅 包络

上节课介绍的MS曲线

可以很好地描述一个声音的波形的整体轮廓

那么反过来我们也可以用波形的轮廓

来制作类似乐器的声音

这种从整体上对一个波形进行修整的方法

我们也叫做振幅包络

跟封装处理这种整体分割部分的

这样的处理的方法不同

振幅包络的思路是从

波形的整体上进行处理的

假如我们有一个输入的信号叫做xn

如果我们把它乘上另外的一个信号

叫做yn

做了这样一个处理之后

它这样的xn就会

获得某种乐器的特定的轮廓特征

当然我们要求另外的信号yn必须是

一个真实的或者说一个设计好的MS曲线

实际上这样的一个操作

是将两个信号相乘的一个结果

这样XN就会具有YN所描述的某种

振幅轮廓的特征

接下来我们来观察一下

一个钢琴声音按键的振幅轮廓的特征

我们先听一下

可以看到钢琴声的音量会从一开始的

0极速的增加到一个非常大的一个值

接下来会

较快的一个衰减到一个比较稳定的数值

从而持续一段时间

最后会回归到零

钢琴的振幅轮廓很好的描述了一段乐器声

在四个阶段上的一个特点

这四个阶段分别是

激励期Attack

衰减期Decay

持续期Sustain

以及释放期Release

那么这四个阶段的组合方式

又称之为ADSR结构

在人工设计一个ADS结构的时候

我们会关注七大参数

首先是这个声音是何时开始的

何时结束的

也就是on跟off这两个时间点

当然如果我们没有实时处理的一个需求的话

我们可以设定一个总的时间长度

这样话我们就可以用一个时间长度来代替

on跟off的位置

除此之外

就是最重要的四个阶段的声音

他们分别是Attack激励期的声音的长度

Time of Attack Ta

以及衰减期的时间长度Td

那么由于时间总长度是设定的

所以我们只要知道剩下的Release期

也就是释放期的声音的长度

我们就能够确定

这个Sustain持续期的长度

所以一般来说我们只去关注

Ta Td Tr这三个阶段

除了这三个重要的声音长度之外

我们还需要去确定

ADSR 结构当中的峰值level

也就是通过Attack期

激励期所能达到的最大的这个音量

以及在持续期所能够保持的一个音量

Level of Sustain Ls

这就是有关ADSR结构中的七大参数

接下来让我们来看一下

用计算机程序如何设计ADSR曲线

并且用于包络正弦波信号

接下来就让我们来完成

振幅包络函数的编写

那么我们来定义一个振幅包络函数adsr

那么当然它要输入的参数

有我们刚才所说的

时间的长度T

还有Attack的时间长度Ta

Decay的时间长度Td

以及Release的时间长度Tr

那么还有它能够达到的最高的

最高的值level

以及下降下来之后的值Level Sustain

以及我们把采样率也作为一个输入

那么现在我们默认输入参数

都是以时间为单位的参数

那么为了能够产生一个数字的

振幅包络函数

我们第一件事情就是要

进行时间点的

时间以及采样点的一个转换

比如说T我们就给它变成T乘R

当然他最后必须需要是一个整数

然后我们去生成

一个长度为T的空的一个列表

用来作为最后的输出

那么Ta同样我们也给它进行转换成采样点

那么Td

我们这里的Td跟原始的Td

做一个概念上的一个转换

原始的Td是指Decay的长度

现在的Td我们把它定义成是

Td所在的时间所在的采样点

所以他要在原来的进行完

整数的采样点转换之后

再加上Ta

这样的话我们比较容易

去根据Ta Td等这些值来决定

来对这个时间进行分段

同样Tr也要做类似的处理

那么接下来我们就可以去完成分段函数了

那么首先是在第一段

就是在零到TA这一段

那么它就是一个线性的函数

最大的值是level

然后再乘上一个斜率就可以了

Ta减1这是它的一个斜率

那么第二段是在Ta跟td之间

同样也是一个线性的函数

那么它最大值是level

然后减去我们再乘上一个

再减去一个最小值是level

减去La再乘上一个斜率

I减Ta除以Td减Ta减1

这是第二段

那么第三段是完全平整的一段函数

那么也就是从Td到Tr

是完全平整的一段函数 就是Yi等于Ls

最后一段又是一段线性的函数

Tr到T之间是一段线性的函数

那Yi等于LS

就是最大的值乘以斜率

t减i除以t减tr减1

好 做完这些事情之后

我们再把Y进行return就可以了

那么我们首先来测试一下

比如说我们采样率是44100

然后我们生成一段ADSR曲线

比如说这样曲线的记做A

那么我们用ADSR曲线

这个函数去生成一段时间长度是1

那么它的Attack的时间是零点一秒

Decay的时间是0.1秒

那么Release的时间

我们设置成0.3秒

那么level设置成最大值是1

这个Level Sustain设置成0.3

它的采用率是R

我们可以把这一段曲线

给plot出来看一眼

运行一下我们看一下结果

这应该是a

这样我们就看到

这是我们生成的这段ADSR的曲线

那么我们可以用这一段ADSR的曲线

去包络各种各样的信号

来获得一个听觉的效果

比如说我们就用这一段ADSR曲线

去包络一个正弦波的信号

这时候我们首先要生成一个正弦波

我们生成一个一秒的正弦波

所以我们需要

t是一秒正弦波的采样点序号

用44100这样的产生一个序号的序列

然后我们去用np.cos来产生一个正弦波

我们产生这个正弦波用440赫兹

那么需要把这个频率转换成角频率

就是2pi

2piF除以R

pi乘以F这是440除以R

最后再乘上时间的标签

那当然这时间标签我们用N更加确切一点

然后对这段信号我们去乘上

刚才生成的这段ADSR的振幅包络

最后我们也可以去把这段信号给plot一下

运行一下看一下结果

我们看到通过这段代码之后

我们就生成了一段

具有一个ADSL包络结构的正弦波

能看到里面的细节

其实是一个正弦波

但它的振幅具有一个ADSR的包络的结构

我们可以把它写下来

听一下是什么样的声音

那么在写这个文件之前

我们需要对值域进行转换

因为现在这个Y是从-1到1之间的

我们需要给它转换成16位整数的一个范围

那我们给它乘上2的14次方

这样能保证它是比较小的一个值

不会超出16位整数的一个范围

同时还要进行一个类型转换

转换成16位的整数

然后写到一个文件里面

比如说叫adsr sine wav运行一下

运行完之后我们可以来听一下这个声音

我们听到这个声音是具有ADSR结构的

它在0.1秒时间能够达到它最大值

用0.1秒时间缩小到原来的0.3

然后最后花了0.3秒时间进行消退

那么这就是有关振幅包络的一个

详细的说明

这就是有关振幅包络的讲解

计算机音乐课程列表:

欢迎辞

-欢迎辞

第一章 基本概念

-1.1 计算机音乐导言

--计算机音乐导言

-1.2 计算机音乐课程主要内容

--计算机课程主要内容

-1.3计算机音乐课程资源

--计算机音乐课程资源

-1.4 音乐的基本表达

--音乐的基本表达

-第一章作业

第二章 时域音频处理

-2.1时域音频处理概述

--时域音频处理概述

-2.2 分窗处理1:OLA叠放

--分窗处理1: OLA叠放

-2.3 分窗处理2:音量计算

--分窗处理2 音量计算

-2.4 端点检测

--端点检测

-2.5 振幅包络

--振幅包络

-2.6 音频信号相乘

--音频信号相乘

-2.7 环形调制

--环形调制

-2.8 频率调制

--频率调制

-2.9 频率调制在音乐上的应用

--频率调制在音乐上的应用

-第二章作业

第三章 频域音频处理

-3.1 频谱概述

--频谱概述

-3.2 傅里叶变换

--傅里叶变换

-3.3 短时傅里叶变换

--短时傅里叶变换

-3.4 加法合成

--加法合成

-3.5 线性滤波器

--线性滤波器

-3.6 京剧锣鼓经分析

--京剧锣鼓经分析

-第三章作业

第四章 音色合成

-4.1 音色合成概述

--音色合成概述

-4.2 质点弹簧阻尼模型

--质点弹簧阻尼模型

-4.3 双线性滤波器

--双线性滤波器

-4.4 Modal合成

--Modal合成

-第四章测试

第五章 一维振动模型

-5.1 一维振动模型概述

--一维振动模型概述

-5.2 弦振动模型

--弦振动模型

-5.3 达朗贝尔的行波解

--达朗贝尔的行波解

-5.4 梳状滤波器

--梳状滤波器

-5.5 Karplus Strong算法

--Karplus Strong算法

-5.6 管状气鸣乐器模型

--管状气鸣乐器模型

-第五章作业

第六章 高音跟踪

-6.1 音高跟踪概述

--音高跟踪

-6.2 时域音高跟踪

--时域音高跟踪

-6.3 频域音高跟踪

--频域音高跟踪

-6.4 K歌评分

--K歌评分

-第六章作业

第七章 音频同步

-7.1 音频同步概述

--音频同步概述

-7.2 音乐特征提取 CQT

--音乐特征提取CQT

-7.3 音乐特征提取 Chroma

--音乐特征提取Chroma

-7.4 动态时间规划概述

--动态时间规划概述

-7.5 动态时间规划实现

--动态时间规划实现

-第七章作业

振幅包络笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。