合成简单的声音波形(一)

简介:

合成简单的声音波形(一) 收藏

  半年前刚开始研究音频文件时,为了对音频文件有个感性的认识,做了一个合成简单波形的小程序。今天回顾一下这个程序,也算是为后面写音频分析的总结开个头吧。本文将简单的介绍一下Wave文件,并合成三个简单的波形,试图通过这种方式,对音频有个初步的感性认识。

  在此之前,你是否想过老式的黑白电视机在收不到信号的时候,为什么会发出那么难听的声音呢?又是为什么要用那种刺耳的声音做为老式电话的铃声呢?下文将会让你对此有近一步的认识。

  我们第一个要合成的是正弦信号的声音。根据傅叶变换的原理,绝大多数的信号都可以表示成正弦信号叠加的形式。首先就来听听组成其它丰富多采的声音的基本元素是什么样的吧。点击下面的播放按钮播放音频文件。

感觉如何,单调,刺耳,并不好听是吗?

  第二个要合成的是矩形波。在这里合成的波形不是相同的矩形单调的重复,这样做为的是合成有意思的声音。因为如果只是简单的重复,我们就只能得到单调的声音。这段波形由两个矩形合成,其中一个矩形波的周期是另外一个的两倍,每隔600个采样切换一次  。点击下面的播放按钮播放音频文件。

是不是感觉很熟悉呢?对了,就是电话铃声。也就是说老式的电话铃声就是矩形波。至于为什么要用矩形波呢?我个人觉得是因为容易实现。电话中发出铃声的部分是电子元件,而它处理的是连续信号,只要简单的改变这个元件电平的持继时间,就可以很容易的合成我们所听到电话铃声。

  上面两个波形都是有规律的,那么随机生成的信号又会是什么样子的呢?实现生成随机信号的代码很简单,就是往音频数据中随机的填充震幅。点击下面的播放按钮播放音频文件。

是不是感觉很熟悉?在电视机收不到信号时会发这样的声音,确切的说不是收不到信号,而是没收到电台发出的信号,收到了随机的信号。不过现在的彩电就好了,会判断一下接收到的是否是随机信号,如果是就不播放声音,你也就不会听到这么刺耳的声音了。

  点击这里下载本文中合成Wave文件的代码,代码使用C语言编写,在win xp+vs.net 2003环境下编译通过。编译并运行后,会在当前目录下生成四个Wave文件,分别是rand.wav、ring.wav、sine.wav和triangle.wav。

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/thinkport/archive/2008/04/05/2253363.aspx
本文转自jiahuafu博客园博客,原文链接http://www.cnblogs.com/jiahuafu/archive/2009/10/09/1579479.html如需转载请自行联系原作者

jiahuafu

相关文章
|
4月前
相机镜头选择和计算
相机镜头选择和计算
26 0
|
5月前
声音合成器 1 基本噪音
声音合成器 1 基本噪音
|
6月前
|
传感器 编解码 算法
LabVIEW计算相机图像传感器分辨率以及镜头焦距
LabVIEW计算相机图像传感器分辨率以及镜头焦距
54 0
|
6月前
|
数据安全/隐私保护
matlab程序, 脉冲波合成与提取,滑冲效应、方向性效应,自定义脉冲模型,提取脉冲波
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
|
6月前
|
算法
基于DSP的音频信号降噪技术
基于DSP的音频信号降噪技术
252 4
|
机器学习/深度学习 传感器 调度
【语音信号显示】麦克风实时时域和频域图matlab实现
【语音信号显示】麦克风实时时域和频域图matlab实现
检测使用校准的立体摄像头拍摄的视频中的人物并确定其与摄像头的距离
检测使用校准的立体摄像头拍摄的视频中的人物,并确定他们与摄像头的距离。
141 0
|
传感器
红外热成像仪 红外图像伪彩色编码
什么是红外成像伪彩编码 红外成像的最终目的是用图像来表现温度变化,并且可以通过颜色来区分出不同热量的物体轮廓和形状。那么,到底用什么颜色来表示什么温度呢?是否有什么标准规范呢?
红外热成像仪  红外图像伪彩色编码
|
机器学习/深度学习 传感器 算法
【语音去噪】基于切比雪夫+椭圆形低通滤波器语音去噪附GUI界面
【语音去噪】基于切比雪夫+椭圆形低通滤波器语音去噪附GUI界面
【音频处理】乐器音符播放时电流处理 ( 使用均衡器调节低频 )
【音频处理】乐器音符播放时电流处理 ( 使用均衡器调节低频 )
137 0
【音频处理】乐器音符播放时电流处理 ( 使用均衡器调节低频 )