数说声音:声音的数值表示、操作与交互_第1页
数说声音:声音的数值表示、操作与交互_第2页
数说声音:声音的数值表示、操作与交互_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数说声音:声音的数值表示、操作与交互于方军贾刚声音文件可以简单看是一组频率、响度、音色构成的数据,这些数据遵从一定的规律按照时间维度组织起来,就构成了音乐和语言,由于增加了时间维度,所以它不像图像那样用一张纸就能保存下来。在物理学中,关于声音的描述是它由物体振动产生的,振动的本质是位移关于时间的函数。在现实生活中,听到的声音信号都是随时间连续变化的,这种信号叫模拟信号,而计算机存储和使用的都是数字信号,所以需要把模拟信号转化成数字信号后才能在计算机中使用。本文将以声音数据为核心,探寻如何对声音进行数字表示与处理,并通过开源硬件实验让学生体验音乐的构成。●声音编码:模拟声音的数字化过程模拟声音转化为数字信号分为采样、量化、编码三个过程,如图1所示。在计算机上录音就是把模拟声音信号转换成数字信号,而播放时则是把数字信号还原成模拟信号输出,这两个过程一般通过计算机上配置的声卡来实现。采样过程是按照一定的时间间隔在连续的波上进行间隔取值,如图1取了10个样。1秒钟采样次数称为采样频率,常用采样频率有8kHz、11.025kHz、32kHz、44.1kHz、48kHz等,8kHz就是1秒钟采样8000次,采样频率越高,声音的还原就越真实越自然,但数据量就会越大。量化过程就是给纵坐标定一个刻度,记录每个采样的纵坐标值。编码过程是将每个量化后的样本值转换成二进制编码。而整个数字化过程就是将所有样本二进制编码连起来存储在计算机上,这样就把模拟信号转换成了数字信号。●声音读取:用程序读取一段音频文件标准的Python包含Wave库,且支持wav格式的音频文件的读写,wav文件由头部信息和音频采样数据构成,前44个字节为头部信息,包括声道数、量化位数、采样频率、采样点数等信息,后部为音频采样数据。用Python读取Scratch图形化编程中的小猫叫文件Meow.wav的相关参数,如图2所示。f.getparams()可以获取音频的属性参数,其中比较关键的是声道数(nchannels)、量化位数(sampwidth)、采样频率(framerate)、采样点数(nframes)等,本音频文件是1个声道,量化位数是2B(也就是用2个字节16位二进制数据表示声音纵坐标),采样频率为11025,一共采样6512个数据点。利用这些数据我们可以计算声音文件的一些信息,如用采样数据点数除以采样频率:6512/11025=0.5906,得到声音播放时长约为0.59秒。接着,用每个采样点的时间作为横坐标,每个时间点的声音数据作为纵坐标,就能做出声音波形,如图3所示。●声音修改:观察声音变化可以用代码改变数组中某一段采样点数值,如1000~1500采样点值都改为0(如图4),重新绘制波形文件后会发现波形图像中间少了一段,重新生成wav文件播放,会听到中间有一段是没有声音的。●声音重写:用计算机数据方式生成音乐下面,用wave库写一段音乐(歌曲《两只老虎》的第一句),如下页图5所示。代码中先定义一个写音符函数,函数包含每个音符时长、音调、采样频率、文件、音量、量化位数6个参数。在写入lzlh.wav文件时,要把声道数、采样频率、量化位数规定好,写入文件头中,完成后可以用播放器打开生成文件试听效果。●声音交互:用掌控板做一个趣味钢琴用掌控板模拟钢琴演奏,是通过触摸p、y、t、h、o、n按键,让蜂鸣器发出Do、Re、Mi、Fa、So、La的声音。如果要做得更有趣味性,可以在掌控板的OLED屏上显示模拟钢琴图片,并在钢琴键上显示提示音符。为了确定“钢琴”是否按下,按的是哪一个音符,可以在触摸按键时在对应位置显示模拟手指。为了简化代码,我们只显示按键演奏对应音符部分代码,代码用mPython完成,如图6所示,通过对比图形化代码块和纯代码编程,学生更容易理解程序的逻辑构成,并发现每一个音符对应一组数据,如C4中音Do对应(262,500),代表该音符频率是262hz时长是500毫秒,完成后就可以用它弹奏简单乐曲。至此,从读取、修改、重写三个维度展现了数据的编码、改写、仿真的过程,最后通過一个创客作品完成了声音交互的作品的设计,如图7所示。通过本案例实验,学生会发现声音文件的处理与图像文件的处理有着相同的方式,都需要把模拟信号转成计算机识别的数字信号,转换成相关的二进制编码。数字技术的发展给我们提供了一种更好地处理信息的方式。把各种信息转换为二进制代码的形式会更方便保存和远

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论