多媒体计算机技术实验报告

  南昌大学实践报告

学生姓名:     谢某某         学    号: 0149001506109      专业班级:  软件工程2006 

实践类型:□ 验证 □ 综合 □ 设计 □ 创新   实践日期: 20##-11-30  实践成绩:          

(以下主要内容由学生完成) 

一、实验项目名称

多媒体音频信息的采集与处理

二、实验目的

1、掌握在Windows环境下录制、播放和编辑声音文件的方法;

2、掌握使用Cool Edit录制声音的方法;

3、验证人耳的声音频率响应范围。

三、实验基本原理

声音媒体是较早引入计算机系统的多媒体信息之一,从早期的利用PC机内置喇叭发声,发展到利用声卡在网上实现可视电话,声音一直是多媒体计算机中重要的媒体信息。在软件或多媒体作品中使用数字化声音是多媒体应用最基本、最常用的手段。通常所讲的数字化声音是数字化语音、声响和音乐的总称。在多媒体作品中可以通过声音直接表达信息、制造某种效果和气氛、演奏音乐等。逼真的数字声音和悦耳的音乐,拉近了计算机与人的距离,使计算机不仅能播放声音而且"听懂"人的声音是实现人机自然交流的重要方面之一。

采集(录音)、编辑、播放声音文件是声卡的基本功能,利用声卡及控制软件可实现对多种音源的采集工作。在实验中,我们将利用声卡及几种声音处理软件,实现对声音信号的采集、编辑和处理。

人耳的听觉特性涉及生理声学和心理声学方面的问题。人耳可听的声音频率范围为20Hz至20KHz,但人耳对不同频率的声音敏感程度是不一样的,中频段(3 kHz~5 kHz)最敏感,幅度很低的信号都能被人耳听到。低频区和高频区较不敏感,能被人耳听到的信号幅度比中频段要高得多。

话音信号是典型的连续信号,不仅在时间上是连续的,而且在幅度上也是连续的。在时间上“连续”是指在一个指定的时间范围里声音信号的幅值有无穷多个,在幅度上“连续”是指幅度的数值有无穷多个。我们把在时间和幅度上都是连续的信号称为模拟信号。

声音数字化就是将模拟的(连续的)声音波形数字化(离散化),以便利用数字计算机进行处理,主要包括采样和量化两个方面。数字化音频的质量取决于采样频率和量化位数这两个重要参数。采样频率是对声音波形每秒钟进行采样的次数。人耳听觉的频率上限在2OkHz左右,根据采样理论,为了保证声音不失真,采样频率应在40kHz左右。经常使用的采样频率有11.025kHz、22.05kHz和44.lkHz等。采样频率越高,声音失真越小、音频数据量也越大。量化数据位数(也称量化级)是能够用来表示每个采样点的数据范围,经常采用的有8位、16位和32位。例如,8位量化级表示每个采样点可以表示成256个(0-255)不同量化值,而16位量化级则是指每个采样点可表示成65536个不同量化值。量化位数越高,表示区别声音的差别更细致,所以音质越好,数据量也越大。

对声音进行数字化要经过采样、量化、编码三个阶段。①采样:以适当的时间间隔观测模拟信号波形幅值的过程叫采样。②量化:将采样时刻的信号幅值归整(四舍五入)到与其最接近的整数标度叫做量化。 ③编码:将量化后的整数,用一个二进制数码序列来表示叫做编码。

影响数字化质量的有以下3个因素

采样频率(11.025kHz; 22.05kHz; 44.1kHz);

量化位数(8bit;16bit;32bit);

声道数 {分单声道和双声道(或立体声)}。

声音数字化信息量=  采样频率(Hz/s)×量化位数(bit)×声道数

根据采样定理:当对连续变化的信号波形进行采样时,若采样频率fs高于该信号所含最高频率的两倍,那么可以由采样值通过插补技术正确地恢复原信号的波形,否则将会引起频谱混叠(Aliasing)产生混叠噪声(Aliasing Noise),而重叠的部分是不能恢复。由于人耳可听音频信号频率上限为20 kHz,故采样信号频率fs应大于40kHz以上,考虑到LPF在20kHz处大约衰减10%,为全频带高质量的还原,可以用22kHz的两倍频率作为音频信号的采样频率,但又为了能与电视信号同步,PAL制场频为50 Hz,NTSC制场频为60 Hz,所以取二者的整倍数,则选用了44.1 kHz作为CD声音的采样标准。

四、主要仪器设备及耗材

PC一台、麦克风一支、声音录制软件

五、实验步骤、数据及处理结果

本实验通过麦克风录制一段语音信号作为解说词并保存,通过线性输入录制一段音乐信号作为背景音乐并保存。为录制的解说词配背景音乐并作相应处理,制作出一段完整的带背景音乐的解说词。

Windows系统提供了较完善的声音处理工具,直接利用附件中的一些工具程序,就能完成声音的录制、播放和一些简单的编辑功能。

      Ⅰ、使用录音机录制麦克风的声音

在Windows系统中,可以通过“录音机”程序录制人的语音、CD光盘音乐和任何可以输入声音卡的外来声音源的声音,并将录制的声音以一种标准文件格式WAV存储起来。

录制一段人的声音。录制人的声音的操作步骤如下:

(1) 确保麦克风能正常工作,将麦克风的插头插入声音卡的麦克风(MIC)插座,然后试一下麦克风,确保在音箱中能听到麦克风中传出的声音。

查看更多精彩图片

如果听不到麦克风中的声音,则执行“程序”->“附件”->“娱乐”->“音量控制”。将麦克风选项下的静音取消,然后试一下有没有声音。注意,试好声音以后,要将麦克风选项下的静音重新设置好。同时,可以调节一下麦克风的音量。方法是在“音量控制”的菜单中,选择“选项”中的“属性”命令,将“音量调整”从“回放”改成“录音”,按“确定”后,可将“音量控制”窗口改成“录音控制”窗口。一般,音量设置在第六级,音量不要太小,否则,因为录音时输入的音量太小,录制好的声音回放时效果不好。

查看更多精彩图片

查看更多精彩图片 

(2)启动“录音机”程序,执行“程序”->“附件”->“娱乐”->“录音机”程序。Windows 下的“录音机”程序的操作界面与真实的录音机非常相似,使用非常直观和方便。底部从左到右,依次为倒带、快进、播放、停止和录音按钮。录音机的最大录音能力为60秒。

查看更多精彩图片录音机正在录音

(3)开始录音,用鼠标左键单击录音按钮,对着麦克风讲话,即可完成录音工作。讲话时,在操作界面上可以看到声音的波形和当前已经录制的时间,随着人的讲话,应该可以看到波形的变化。讲完后,单击停止按钮。

      (4)保存录音,在“录音机”程序的操作界面的菜单上选择“文件”中的“保存”命令,在弹出的对话框中输入声音文件名,然后保存,就可以将已经录入的声音以WAV文件的格式保存在指定的位置。

录制一段外来声音源的声音。

(1)将外来声音源的输出插头插入到声音卡的线路输入插座中,然后执行“程序”->“附件”->“娱乐”->“音量控制”。将“音量控制”改成“录音控制”,然后,设置一下线路输入的音量。

(2)启动“录音机”程序,方法同上。

(3)开始录音,方法同上。

(4)保存录音,方法同上。

录制一段CD光盘声音。

Windows 系统可以将声音或音乐从光盘上录制到硬盘。这需要同时使用“CD播放器”和“录音机”程序来实现。从光盘上录音的步骤为:

(1)调整CD音频的录音音量,执行“程序”->“附件”->“娱乐”->“音量控制”。 将“音量控制”改成“录音控制”,设置一下CD音频的录音音量。为了保证CD音频录音时的质量,应该将“麦克风”、“线路输入”和“MIDI”等选项下的“选择”项取消,只保留“CD音频”被选中。

查看更多精彩图片

(2)确保CD-ROM驱动器能正常地播放CD唱片,将准备录音的CD唱片放入CD-ROM驱动器中,然后执行“程序”->“附件”->“娱乐”->“CD播放器”。

查看更多精彩图片CD播放器的操作介面

“CD播放器”的操作介面上主要包括了“放音”、“暂停”、“停止”、“前一曲”、“快退”、“快进”、“下一曲”和“出盒”等按钮。可以单击“放音”按钮试听一下。

(3)开始录音。同时运行“CD播放器”和“录音机”程序,如果要录制CD音频中的某一段音乐,可以先“播放”,然后“暂停”,再通过“快进”、“快退”等按钮,定位于准备录音的起始位置。

先单击“录音机”的“录音”按钮,然后单击“CD播放器”的“放音”按钮,即可将正在播放的CD音频录制下来。

录制结束时,应该先停止“录音机”再停止“CD播放器”。

(4)保存已经录制的CD音频,方法同上。

II、声音的播放

Windows 系统中的“媒体播放器”程序可以用来播放声音、动画、影片和CD音乐等多种媒体文件。当然也可以使用“录音机”程序的放音功能,但只能用来播放WAV格式的声音文件。

1、使用“录音机”程序播放声音文件的方法:

(1)在“录音机”操作界面的菜单上执行“文件”中的“打开”命令。


(2)选择要播放的声音文件。

(3)单击“播放”按钮,播放已经打开的声音文件。

查看更多精彩图片

操作界面上的位置滑块指示当前的播放位置,可以随意地移动滑块到新的位置进行播放。

2、使用“媒体播放器”程序播放声音文件的方法:

(1)启动“媒体播放器”程序:执行“程序”->“附件”->“娱乐”->“媒体播放器”。

(2)选择合适的设备:“媒体播放器”支持许多设备,如“CD音频”、“录音机”、“MIDI音序器”、“Windows视频”等。具体媒体的多少,与用户在Windows 中安装多少媒体驱动程序有关。如果要播放WAV格式的声音文件,则选“媒体播放器”菜单“设备”中的“声音…”命令;如果要播放MIDI格式的声音文件,就要选“媒体播放器”菜单“设备”中的“MIDI音序器”命令;如果要播放CD唱片中的音乐就直接选“媒体播放器”菜单“设备”中的“CD音频”命令。

(3)选择要播放的声音文件。

查看更多精彩图片
    单击“播放”按钮,播放已经打开的声音文件

III、 声音的编辑

录制的声音或从其它途径得到的声音文件并不总是能达到理想的效果,我们可以对其进行编辑修改,使之达到我们的要求。一般,应该使用专门的软件对WAV和MID格式的声音文件进行编辑。对MID格式声音文件的编辑,需要许多专门的MIDI设备,如MIDI键盘等,Windows 系统本身提供的实用工具中,没有提供MIDI格式声音的编辑手段。

查看更多精彩图片
利用Windows 系统中“录音机”程序能够实现对WAV格式声音文件的简单编辑,可以对已有的WAV格式声音文件进行裁剪、合并、混音和属性转换。

1、对声音的裁剪

Windows 系统中的“录音机”程序提供了两种声音裁剪的方式。一种是剪去当前点以前的声音,另一种是剪去当前点以后的声音。通过这两种裁剪方法的综合使用,可以得到我们需要的声音片断。

裁剪声音的操作步骤是:

(1)启动“录音机”程序并打开需要编辑的WAV格式声音文件。

(2)将滑块移到希望保留声音的开始位置。

(3) 执行“录音机”菜单“编辑”中的“删除当前位置以前的内容”命令,在弹出窗口中单击“确定”按钮,即可剪去当前位置前不要的声音。

(4)将滑块移到希望保留声音的结束位置。

(5)执行“录音机”菜单“编辑”中的“删除当前位置以后的内容”命令,在弹出窗口中单击“确定”按钮,即可剪去当前位置后不要的声音。

(6)试听一下,检查声音是否在指定的位置开始和结束,如果不对可以放弃这些操作,重新打开该声音文件重新裁剪。如果声音的位置符合要求,就可以保存裁剪好的声音,方法同上。

2、合并多个声音文件

如果希望将两个WAV格式声音文件中的声音合并为一个声音文件,比如,我们知道“录音机”程序的录音功能最多只能提供60秒钟的录音时间,如果需要录制的声音长度超过了这个时间限制,那就不可能一次性录制完成。可以将这一段声音分几次录制,分别保存起来,然后再将他们合并成一个声音文件,这个合并起来的声音数据文件是没有60秒钟时间长度限制的。

在Windows 系统中,使用“录音机”程序合并多个声音文件有两个不同的方法,一个方法是从其它声音文件中将声音插入到当前打开的声音文件的指定位置后面,合并声音文件的具体步骤是:

(1)启动“录音机”程序,并打开第一个声音文件。

查看更多精彩图片

(2)将滑块移动到第二个声音文件准备插入的位置。

查看更多精彩图片

(3)执行“录音机”菜单“编辑”中的“插入文件”命令。

(4) 在弹出的“插入文件”窗口中,选中第二个声音文件后,单击打开按钮。

(5)保存合并后的声音文件。

另一个方法,则是利用Windows 系统的剪贴板,因为剪贴板除了可以储存文字、图象等信息外,也可以储存声音,因此,同样可以将剪贴板中的声音插入到当前打开的声音文件指定位置的后面。运用这种方法合并声音文件的步骤是:

(1)启动“录音机”程序,并打开第二个声音文件。

(2)执行“录音机”菜单“编辑”中的“复制”命令,将这段声音复制到剪贴板上。

查看更多精彩图片

(3) 打开第一个声音文件,并将滑块移动到第二个声音文件准备插入的位置。

(4)执行“录音机”菜单“编辑”中的“粘贴插入”命令。

查看更多精彩图片

(5)   保存合并后的声音文件。

3、两个声音文件的叠加

为了增强声音的效果,可以将两种不同的声音进行叠加,即混音。混音的操作步骤是:

(1)启动“录音机”程序,并打开第一个声音文件。

(2) 将滑块移动到准备混合第二个文件的开始位置。

(3)执行“录音机”菜单“编辑”中的“与文件混合”命令。

查看更多精彩图片

(4)在弹出窗口中,选择第二个声音文件,单击“打开”按钮。

(5)试听一下,再保存混音后的声音文件。

 声音文件的混音,除了用“与文件混合”命令外,还可以使用“粘贴混合”命令,方法与声音文件合并时的“粘贴插入”类似。

4、 声音文件属性的转换

在录制一个声音文件时,影响声音质量主要有以下几个因素:

(1) 是以单声道还是以立体声录音。以立体声录制的声音比单声道录制的声音更逼真,但存储立体声声音文件需要两倍于单声道的存储空间。

(2) 是用8位还是用16位录音。现在的声卡都是16位或32位的声卡,可以任选8位或16位中的一种模式进行录音。以8位模式录音生成的声音文件较小,但听起来的声音效果没有16位模式录制的声音好。

(3) 是以11kHZ、22kHZ还是44kHZ的采样频率录音。以44kHZ的采样频率能录制出最好的声音,生成的声音文件比较大,以11kHZ或22kHZ的采样频率录音,它们的声音效果不十分好,但它们的声音文件比较小。

对一个已经录制好的声音文件,可以改变上述声音的三个属性。使用Windows 系统中的“录音机”程序,可以实现声音文件属性的转换,其转换步骤是:

(1)启动“录音机”程序,并打开需要转换属性的声音文件。

(2)执行“录音机”的菜单“文件”中的“属性”命令。在弹出的“声音的属性”窗口中,单击“开始转换”按钮。

查看更多精彩图片

 (3) 在弹出的“选择声音”窗口中,在下拉列表中选择合适的声音“属性”,从“8,000 Hz,8位,单声 8KB/s”到“44,100 Hz,16位,立体声 172KB/s”中任选一个属性进行转换。查看更多精彩图片

(4)单击“确定”按钮,就可以进行属性的转换。然后回到“声音的属性”窗口,在“声音的属性”窗口中,单击“确定”按钮。

(5)保存已经转换属性的声音文件。

要注意,声音属性的转换是单向的。即一般是将属性从声音效果好的向声音效果差的方向转换,这样可以缩小文件的大小。但一般没有必要将属性从声音效果差的向声音效果好的方向转换,因为通过转换声音属性除了增加声音文件的大小外,并不能改善实际的声音效果。

如果希望录制一个效果比较好的声音文件,就应该在开始录制前,使用以上的声音“属性”转换方法,将默认的声音“属性”设置成一个声音效果比较好的属性,然后再进行声音录制。

六、思考讨论题或体会或对改进实验的建议

1、数字音频通常使用的采样率为多少?

2、怎样使用WaveStudio进行混音处理?

3、使用WaveStudio混音处理后的声音文件如果出现背景音乐过大或过小的问题,如何进行解决?

七、参考资料

1、《多媒体计算机技术基础及应用》   钟玉琢、蔡莲红等编著   高等教育出版社

2、《多媒体应用技术》    姚怡、劳眷、伍超奎、钟新荣编著    中国铁道出版社

 

第二篇:《计算机技术基础》实验报告7

塔里木大学计算机基础课程实验报告

实验步骤与内容:

1、 打印所有的“水仙花数”。“水仙花数”是一个三位数,其各位数立方和等于该数本身。

程序:

#include <stdio.h>

main()

{

       int a,b,c,i;

              for(i=100;i<=999;i++)

              {      a=i%10;b=(i-a)/10%10;c=(i-b*10-a)/100%10;

              if(i==a*a*a+b*b*b+c*c*c)

                            printf("%d\n",i);

                            else;

              }

}

运行结果:

2、 一个数如果恰好等于它的因子(不包括该数本身)之和,这个数就称为完数。求100之内的所有完数。

程序:

#include <stdio.h>

main()

{

       int i,a,b;

       for(i=0;i<=100;i++)

       {      b=0;

              for(a=1;a<i;a++)

              {if(i%a==0)

               b=b+a;}

               if(i==b)}

              printf("%d\n",i);

       }

}

运行结果:

3、 输入两个正整数m和n,求其最大公约数和最小公倍数。

程序:

#include<stdio.h>

main()

#include<stdio.h>

main()

{

       int i,m,n,s,v,a,j,t;

       scanf("%d%d",&m,&n);t=m;

       {s=0;v=0;

       if(n<m)

       m=n;

       for(i=1;i<=m;i++)

       {if(t%i==0)

                     s=i;

              if(n%i==0)

                     v=i;

              if(s==v)

                     a=s;

       }

       }

       printf("%d\n",a);

     if(n>m)

              m=n;

                     for(j=m;j<=t*n;j++)

                     {if(j%t==0&&j%n==0)

                     {printf("%d\n",j);

                     break ;

                     }

                     }

}

运行结果:

4、 判断m是否是素数。

程序:

#include<stdio.h>

main()

{

       int i,m;

       scanf("%d",&m);

       for(i=2;i<=m;i++)

       {if(m%i==0)

       {if(m==i)

       printf("%d是素数",i);

       else {printf("%d不是素数",m);break;}

       }

       }

}

运行结果:

5、 求出2-100之间的所有素数。

程序:

#include<stdio.h>

main()

{

       int i,m,j;

       for(j=2;j<=100;j++)

       {

              for(i=2;i<=j;i++)

       {if(j%i==0)

       {if(j==i)

       printf("%d是素数\n",i);

       else break;

       }

       }

       }

}

运行结果:

6、 打印下列图案

*

***

*****

*******

程序:

#include<stdio.h>

main()

{

       int i,j;

       for(i=1;i<=5;i++)

       {for(j=1;j<=i;j++)

                     printf("*");

              printf("\n");

       }

}

运行结果:

7、 打印下列图案

  *

 ***

*****

 ***

  *

程序:

运行结果:

8、 用牛顿迭代求方程2x3-4x2+3x-6=0在1.5附近的根。要求前后两次求出的x的差的绝对值小于10-5

程序:

#include<math.h>

main()

{

       float x,x0,f,f1;

       x=1.5;

       do{

              x0=x;

              f=((2*x0-4)*x0+3)*x0-6;

              f1=(6*x0-8)*x0+3;

              x=x0-f/f1;

       }while(fabs(x-x0)>=1e-5);

       printf("%f",x);

}

运行结果:

相关推荐