首页
会员中心
到顶部
到尾部
VC毕业设计

VC声音采集程序毕业设计VC162

时间:2020/10/13 21:13:38  作者:  来源:  查看:0  评论:0
内容摘要: 基于VC的声音采集程序设计摘    要    多媒体技术是界面技术、通信技术和控制技术的综合,是计算机广泛应用于人们日常工作、学习和生活的重要技术基础。多媒体应用,特别是网络上的多媒体应用,已经成为信息时代的一个...

基于VC的声音采集程序设计
摘    要
    多媒体技术是界面技术、通信技术和控制技术的综合,是计算机广泛应用于人们日常工作、学习和生活的重要技术基础。多媒体应用,特别是网络上的多媒体应用,已经成为信息时代的一个根本特征。多媒体的出现使计算机摆脱了其只是处理数字和文字的机器的传统角色。如今,运用多媒体技术的产品在我们身边已经越来越普遍了,如视频会议、视频聊天、远程监控等在我们工作中也扮演着越来越重要的角色。声音信号的采集、压缩、播放、传输是上述系统的一个重要组成部分。
     本文详细的细讨论了声音信号的基本原理和Window环境下多媒体编程的技巧。另外,我们在这里使用Visual C++ 6.0实现了一个声音信号的实时采集系统,该程序从计算机的音频输入口采集声音,采集声音的同时,播放这些声音,完成了声音信号的实时采集和回放。
系统使用的关键技术有Windows环境下声音信号的采集、播放技术和多线程编程技术。本文将对这些技术做详细的介绍。http://www.16sheji8.cn/
关键词:声音采集,声音播放,多线程编程,MFC
The  collection  of  the  sound  design  using  Visual C++  Language
 Abstract
    Multimedia technology include interface technology, communications technology and the control technology.It is widely used in people daily, learning and living important technical. Multimedia applications, particularly network of multimedia applications, the information age has become a fundamental feature. The emergence of multimedia computers out of its deal with figures and characters of machinery in the traditional role. Today, the use of multimedia technology products around us has become increasingly common, such as video conferencing, video chat, Remote Monitoring, etc. in our work also play an increasingly important role. Voice signal acquisition, compression, broadcast, the transmission system is an important component.
    This paper discussed the details of the voice signal and the fundamental principles Window environment multimedia programming skills. Also, we are here to use Visual C + + 6.0 of a voice signal real-time data acquisition system, The procedure from the computer's audio input port Acquisition voice, the voice of the acquisition, broadcast voices and completed the voices of real-time signal acquisition and playback. http://www.16sheji8.cn/
    The use of the system are key technologies Windows environment voice signal acquisition, broadcasting and multi-threaded programming. This paper will do these technical details.
 
Keywords: Audio acquisition,Audio playing,Multithread programming,MFC

目 录
1引言 1
1.1 课题背景 1
1.2 应用范围 1
1.3 国内外研究现状 1
1.4 系统相关概念介绍 2
2. 基本原理介绍 2
2.1声音采集基本原理 2
2.1.1  数字音频基础知识 2
2.1.2  Fourier级数 3
2.1.3  PCM 4
2.1.4  取样频率 5
2.1.5  样本大小 5
2.1.6  声音强度 6
2.2 音频编程方法 6
2.2.1声音采集相关函数 6
2.2.2 音频播放相关函数 11
2.3 相关消息 12
2.3.1 MM_WIM_OPEN 12
2.3.2 MM_WIM_DATA 12
2.3.3 MM_WIM_CLOSE 13
3 系统开发与设计 13
3.1. 开发工具介绍 13
3.2系统的总体设计 13
3.2.1 声音采集系统Mytest设计实现目标 13
3.2.2 声音采集系统Mytest总体结构设计 13
3.3系统各模块功能及详细设计 14
3.3.1基本步骤及思想 14
3.3.2 录音模块 14
3.3.3 回放模块 17
3.3.4 MM消息处理模块 20
3.4 运行界面 22
结    论 24http://www.16sheji8.cn/
参考文献 25
致    谢 26
声    明 27


1引言

1.1 课题背景
    声音是一种最直接,最方便进行信息交流的手段,因此音频成为多媒体技术中最基本的,不可缺少的媒体。所谓波形声音(包括语音,音乐)是自然界中所有声音的数字化拷贝,它的获取是通过声音数字化接口进行的,输入的声音经数字化后存在计算机中(A/D转换);需要时再将其回复成原始波形输出(所谓的D/A转换)。
    波形声音是最常用的Windows多媒体特性。波形声音设备可以通过麦克风捕捉声音,并将其转换为数值,然后把它们储存到内存或者磁盘上的波形文件中,波形文件的扩展名是.WAV。这样,声音就可以播放了。数字化的波形声音是一种使用二进制表示的串行比特流,它遵循一定的标准或者规范编码,其数据是按时间顺序组织的,文件扩展名为“wav”。
    声音采集系统是众多多媒体相关软件的重要组成部分,也是众多高科技科研项目的重要模块。如何高速、真实的采集信号,是这项技术的核心。相信音频信号的相关技术的应用会越来越广泛的。
    现在市面上此类工具软件很多,但是很多都是单纯实现录音或者单纯实现回放的,有的软件(如Windows的录音机)能实现录音和回放,但不是实时的。我们在这里要实现一个实时录音、实时回放的系统,同时兼容了录音到文件、从文件播放的功能。
    本系统的大概实现思想是在程序中保存一个音频数据的数组,采集模块不停的采集,而播放模块不停的播放,采集和播放用两个工作线程实现,用临界区实现线程的互斥。信息速率可以灵活设置。
1.2 应用范围http://www.16sheji8.cn/
     当下比较流行的即时通信工具,比如MSN,QQ等都实现了视音频的功能,通过视频,音频,我们可以更好的和朋友通过网络进行沟通。网络视音频系统主要功能就在于视音频的采集,当然对于声音的采集也是必不可少的。
1.3 国内外研究现状
     现在已经研发出来的多种声音采集工具有多种,主要有 Windows 的“录音机”、 GoldWave 、 SoundForge 等。
Windows 所带的“录音机”小巧易用,录下的声音被保存为波形 ( . wav) 文件,录音的最长时间只有 60 秒,但其中的对声音编辑功能很实用,可以满足一般课件制作中对声音编辑的需要。
    GoldWave 是比较适合进行音频素材采集与制作的软件,它集数码录音和编辑于一体,功能强大。 Goldwave 的录音受两处设置的控制: Goldwave 本身的设置和 Windows 的设置。这两处的设置关系是: Windows 的设置是基础, Goldwave 的设置是基于 Windows 的设置之上的。换句话说,即使 Goldwave 的设置正确,也可能因为 Windows 的设置不正确而导致不能录音。如果不能录音,应查看这两处的设置。
     SoundForge 是个非常出色的音频编辑软件,其最重要的基本功能之一就是它的录音功能,可以将接在计算机上的麦克风、线路输入、 CD 播放器、 MIDI 等声音录制成数字的声音文件。它能够非常方便、直观地实现对音频文件( wav 文件)以及视频文件( avi 文件)中的声音部分进行各种处理, SoundForge 最多同时只可以处理一条立体声音轨 ( 相当于 2 根单声道声轨 ) 。
1.4 系统相关概念介绍
     面向对象编程(Object Oriented Programming,OOP,面向对象程序设计)是一种计算机编程架构。OOP 的一条基本原则是计算机程序是由单个能够起到子程序作用的单元或对象组合而成。OOP 达到了软件工程的三个主要目标:重用性、灵活性和扩展性。
     面向对象其实是现实世界模型的自然延伸。现实世界中任何实体都可以看作是对象。对象之间通过消息相互作用。另外,现实世界中任何实体都可归属于某类事物,任 何对象都是某一类事物的实例。如果说传统的面向过程式编程语言是以过程为中心以算法为驱动的话,面向对象的编程语言则是以对象为中心以消息为驱动。用公式 表示,过程式编程语言为:程序=算法+数据;面向对象编程语言为:程序=对象+消息。http://www.16sheji8.cn/
     所有面向对象编程语言都支持三个概念:封装、多态性和继承。 现实世界中的对象均有属性和行为,映射到计算机程序上,属性则表示对象的数据,行为表示对象的方法(其作用是处理数据或同外界交互)。所谓封装,就是用一 个自主式框架把对象的数据和方法联在一起形成一个整体。可以说,对象是支持封装的手段,是封装的基本单位。
2. 基本原理介绍
  2.1声音采集基本原理
    2.1.1  数字音频基础知识

    数字音频是未来音频处理的必然趋势。然而,在数字化音频的时代,普通用户对于数字音频还是知之甚微。本节着重从基础谈起,介绍音频的一些基础知识。
    在接触声音之前,具备一些预备知识很重要,这些知识包括物理学、听觉以及声音进出计算机的程序。声音就是振动。当声音改变了鼓膜上空气的压力时,我们就感觉到了声音。麦克风可以感应这些振动,并且将它们转换为电流。同样,电流再经过放大器和扩音器,就又变成了声音。传统上,声音以模拟方式储存(例如录音磁带和唱片),这些振动储存在磁气脉冲或者轮廓凹槽中。当声音转换为电流时,就可以用随时间振动的波形来表示。振动最自然的形式可以用正弦波表示。
     正弦波有两个参数-振幅(也就是一个周期中的最大振幅)和频率。人们知道振幅就是音量,频率就是音调。一般来说人耳可感受的正弦波的范围是从20Hz(每秒周期)的低频声音到20,000Hz的高频声,但随着年龄的增长,对高频声音的感受能力会逐年退化。人感受频率的能力与频率是对数关系而不是线性关系。也就是说,我们感受20Hz到40Hz的频率变化与感受40Hz到80Hz的频率变化是一样的。在音乐中,这种加倍的频率定义为八度音阶。因此,人耳可感觉到大约10个八度音阶的声音。钢琴的范围是从27.5Hz到4186Hz之间,略小于7个八度音阶。虽然正弦波代表了振动的大多数自然形式,但纯正弦波很少在现实生活中单独出现,而且,纯正弦波并不动听。大多数声音都很复杂。
  2.1.2  Fourier级数
    任何周期的波形可以分解成多个正弦波,这些正弦波的频率都是整数倍。级数中其他正线波的频率是基础频率的整数倍。基础频率称为一级谐波。它以法国数学家和物理学家JeanBaptisteJosephFourier(1768-1830)的名字命名。周期的频率是基础。级数中其它正弦波的频率是基础频率的2倍、3倍、4倍。这些频率的声音称为泛音。基础频率也称作一级谐波。第一泛音是二级谐波,以此类推。正弦波谐波的相对强度给每个周期的波形唯一的声音。这就是音质,它使得喇叭吹出喇叭声,钢琴弹出钢琴声。http://www.16sheji8.cn/
    人们一度认为电子合成乐器仅仅需要将声音分解成谐波并且与多个正弦波重组即可。不过,事实证明现实世界中的声音并不是这么简单。代表现实世界中声音的波形都没有严格的周期。乐器之间谐波的相对强度是不同的,并且谐波也随着每个音符的演时间改变。特别是乐器演奏音符的开始位置-我们称作起奏(attack)-相当复杂,但这个位置又对我们感受音质至关重要。由于近年来数字储存能力的提高,我们可以将声音直接以数字形式储存而不用复杂的重组。
Fourier级数的定义:

  


相关评论
广告联系QQ:45157718 点击这里给我发消息 电话:13516821613 杭州余杭东港路118号雷恩国际科技创新园  网站技术支持:黄菊华互联网工作室 浙ICP备06056032号