语音通讯系统毕业设计论文.docx

上传人:b****7 文档编号:9600863 上传时间:2023-02-05 格式:DOCX 页数:48 大小:151.09KB
下载 相关 举报
语音通讯系统毕业设计论文.docx_第1页
第1页 / 共48页
语音通讯系统毕业设计论文.docx_第2页
第2页 / 共48页
语音通讯系统毕业设计论文.docx_第3页
第3页 / 共48页
语音通讯系统毕业设计论文.docx_第4页
第4页 / 共48页
语音通讯系统毕业设计论文.docx_第5页
第5页 / 共48页
点击查看更多>>
下载资源
资源描述

语音通讯系统毕业设计论文.docx

《语音通讯系统毕业设计论文.docx》由会员分享,可在线阅读,更多相关《语音通讯系统毕业设计论文.docx(48页珍藏版)》请在冰豆网上搜索。

语音通讯系统毕业设计论文.docx

语音通讯系统毕业设计论文

 

即时消息系统的设计与实现---语音通讯模块的实现

  

刘永忠

西南大学计算机与信息科学学院,重庆400715

摘要:

本论文主要讨论了语音通讯系统的研究与实现,笔者在探讨即时通讯系统在国内外研究现状及发展趋势的基础上,结合当前计算机技术的发展情况,选择使用了Vistudio2005开发环境和当前比较流行的C#编程语言,结合语音捕获和回放相关知识和Socket相关知识开发了此语音通讯系统。

本系统主要包括连接建立、音频捕获、音频回放三大模块,实现了用户登录、通信连接建立、音频数据捕获、数据压缩与发送、数据接收及解压、音频数据回放等功能,重点介绍了通信连接建立、音频数据捕获和回放的实现。

在实现方法上,主要采用面向对象编程基本思想,利用C#编程语言将系统分为接口类、音频捕获类、音频回放类、音频压缩与解压类和异常处理类,再加一个公用的结构体类进行实现,并采用了现代比较流行的XMPP协议进行消息发送和建立其语音连接,通过Socket技术实现最终音频数据的发送和接收。

最后,本论文对基于C#技术的语音通讯系统的开发设计进行了总结和展望。

关键字:

音频捕获;音频回放;音频数据压缩;XMPP协议;

InstantMessagingSystemDesignandImplementation

---theimplementationofAudiocommunicationsmodule

LIUYongzhong

ComputerandinformationsciencecollegeofSouthwestUniversity,Chongqing400715,China

Abstract:

Thisthesismainlydiscusstheresearchandimplementationofaudiocommunicationsystem.Basedontheresearchanddevelopmenttrendofinstantmessagingathomeandabroad,combinewiththecurrentcomputertechnology,theauthoruseVisualstudio2005developmentenvironment,C#programminglanguage,audiocaptureandplaybacktechnology,aswellastherelevantknowledgeofSocketdeveloptheaudiocommunicationsystem.Thissystemmainlyintroducethreemodules,includingtheconnectionestablishment,audiocapture,andaudioplayback,aswellasthedetailedimplementationoftheuserlogon,theestablishmentofcommunicationlinks,audiodatacapture,datacompressionandtransmission,datareceptionanddecompression,audiodataplaybackandsoon,focusingontheimplementationoftheestablishmentofcommunicationlinks,audiodatacaptureandplayback.Ontherealization,mainlyusingbasicideaofobject-orientedprogramming,andC#programminglanguagetodividethesystemintosomeclassesasInterface,Audiocaputure,Audioplayback,Audiocompressionanddecompression,Exceptionhandler,andacommontypeofstructure,thenuseXMPPmessagingprotocoltoestablishtheaudioconnections,sendandreceivedataviaSockettechnique.Finally,thethesissummarizeandoutlookthedevelopmentanddesignofC#-basedaudiocommunicationsystems.

Keyword:

Audiocapture;Audioplayback;Voicedatacompression;Xmppprotocol

第一章引言

1.1论文背景

随着移动互联网的发展,即时通信技术也得到飞速的发展。

自1998年面世以来,特别是近几年的迅速发展,即时通信的功能日益丰富,逐渐集成了电子邮件、博客、音乐、电视、游戏和搜索等多种功能。

即时通信不再是一个单纯的聊天工具,它已经发展成集交流、资讯、娱乐、搜索、电子商务、办公协作和企业客户服务等为一体的综合化信息平台。

近年来,即时通信市场用户规模增长迅速,市场规模前景广阔。

随着互联网用户的快速增长,即时通信用户也日益增长,2004年中国即时通信用户数达7000万人,2005年达到9300万人。

中国即时通信市场规模在2005年约为6200万美元,2006年达到7700万美元,到2010年将达到1.14亿美元。

目前在互联网上受欢迎的即时通讯软件包括QQ、MSNMessenger、AOLInstantMessenger、YahooMessenger、NETMessengerService、ICQ等。

在这具大的市场份额的诱惑下,众多公司都希望在这一领域有所突破,各大门户网站纷纷挤入即时通信市场跑马圈地;国内的电信运营商也是虎视眈眈。

基于即时通信在现实生活中广泛的运用场景和发展趋势,考虑到其在生活中的实用性以及现在市场上流行的即时通信系统的局限性,我们考虑到很多公司其内部的交流需求,所以我们开发了一个可以在局域网内实现在线交流、文件传输、实时语音通讯和视屏通讯等功能的一个即时通信系统。

语音聊天是此即时通信系统的一个核心子模块,它采用现代比较流行的网络编程技术,面向各类企事业部门等局域网用户,利用即时通信协议以及相关技术实现在局域网内的实时语音聊天,方便内部人员进行实时交流,共同解决工作生活中遇到的困难,为企事业以及其它的局域网用户带来方便。

而传统的一些诸如飞鸽传书之类的局域网聊天工具虽然实现了在局域网内文字聊天、文件传送等一系列功能,但其在语音方面却尚未涉足,给用户的实时交流带来一定的影响。

所以,本系统以现在即时通信在现实生活中大量应用为契机,实现了局域网内实时语音聊天,为人们的生活、工作,学习带来了极大的便利。

1.2国内外研究现状及发展趋势

1.2.1研究现状

即时通信(IM)是指能够即时发送和接收互联网消息等的业务。

自1998年面世以来,特别是近几年的迅速发展,即时通信的功能日益丰富,逐渐集成了电子邮件、博客、音乐、电视、游戏和搜索等多种功能。

即时通信不再是一个单纯的聊天工具,它已经发展成集交流、资讯、娱乐、搜索、电子商务、办公协作和企业客户服务等为一体的综合化信息平台。

随着移动互联网的发展,互联网即时通信也在向移动化扩张。

目前,微软、AOL、Yahoo等重要即时通信提供商都提供通过手机接入互联网即时通信的业务,用户可以通过手机与其他已经安装了相应客户端软件的手机或电脑收发消息。

2006年6月,中国移动已经推出了自己的即时通信工具——Fetion,中国联通也将推出即时通讯工具“超信”,但由于进入市场较晚,其用户规模和品牌知名度还比不上原有的即时通信服务提供商。

    

1.2.2发展趋势

目前即时通信行业仍处于高速发展期,通过调查发现,即时通信在未来的发展中呈现出整合多种业务、扩张移动平台、渗透企业用户、融入收费内容的发展趋势。

1.整合多种业务

随着宽带的普及,即时通信的内涵也开始变化。

与过去的纯文本交流不同,新型的即时通信业务融合了视频、音频交流等宽带应用元素。

目前各种即时通信除提供了基本的即时互动交流外,还能提供视频、语音通信服务,在短信收发、文件共享、数据传输、游戏、娱乐、个性化设置等方面也都有大的开拓和创新。

总之,多媒体化是即时通信未来的发展方向,未来即时通信将捆绑更多的互联网和电信增值业务功能。

以腾讯QQ为例,它目前正在大力发展游戏、音乐、用户定制等业务,今后还可能推广新的通信录、博客服务、视频音频等服务。

同时,QQ.com已经是个成熟的内容网站,现在访问量已经排名第四,它会和QQ客户端形成一纵一横互相支持的业务模式。

2.扩张移动平台

移动通信业务的迅速发展使得传统的互联网即时通信服务商将移动用户作为下一步市场发展的重点,这在移动增值服务成为即时通信服务商收入的主要来源之后体现尤为突出。

即时通信业务承载的设备也趋于多样化,用户通过PC、手机、PDA以及其他设备等都可以使用即时通信。

MSN和国内的手机厂商如:

多普达、联想等合作,推出自带即时通信业务的手机;腾讯QQ也推出移动QQ的即时通信服务。

3.渗透企业用户

即时通信从个人通信向企业综合通信发展是其发展史上的重要一步。

随着企业信息化建设步伐的加快,企业即时通信工具(EIM)也将作为联系和沟通的方式被有针对性地应用在企业的日常生产中,作为企业内外沟通方式之一。

企业即时通信应用包括综合信息服务、内部即时通信、在线客户支持服务、在线呼叫、在线广告等。

2003年全球企业即时通信市场收入1.19亿美元,随着企业对EIM的了解日益加深,这个数字会继续增长。

据预测,全球的即时通信服务用户到2007年将增长至14.39亿户,其中企业用户数量将成倍增长,到2007年将增至3.49亿户。

另据Gartner的调查数字显示,2004年在所有使用即时通信的用户中,有约50%是商业用户。

4.融入收费内容

在互联网这个以免费、自由、互通为生存法则的世界里,即时通信从一个免费聊天工具不断生长壮大,吸引聚集了一些忠诚用户。

在此基础上,开始搭建网络广告、无线增值等一系列各种潜在的交易平台,增加了收费的内容。

未来即时通信行业的盈利点在互联网及增值业务、移动及固网增值业务、广告业务三个方面。

其中,互联网及增值业务包括两部分,核心业务主要是即时通信服务,包括传输文本信息、图像、视频、音频以及会员服务、号码服务、电子邮件等;另外还有娱乐资讯门户的建设,包括向用户提供新闻、体育、娱乐等多类资讯,还包括游戏中心、交友中心、校友录、电子贺卡等多种娱乐服务。

而移动及固网增值业务则主要是短信互通和部分2.5G产品,如彩信、彩铃下载和自写短信、短信订阅、新闻等多种服务。

也就是说,当用户通过手机短信与即时通信软件上的好友聊天,下载或订阅短信、彩信等产品时,通过电信运营商的平台付费,电信运营商收到费用之后再与SP结算分成。

 

第二章关键技术

语音实时通讯涉及到很多方面的技术,在开发的过程中受到诸多方面的制约,在本系统的实现过程中主要运用的关键技术有:

2.1XMPP协议

2.1.1XMPP协议简介

XMPP(ExtensibleMessageingandPresenceProtocol:

可扩展消息与存在协议)的前身是Jabber,一个开源形式组织产生的网络即时通信协议。

XMPP目前被IETF国际标准组织完成了标准化工作。

标准化的核心结果分为两部分:

核心的XML流传输协议和基于XML流传输的即时通讯扩展应用。

(1)XMPP的核心XML流传输协议的定义使得XMPP能够在一个比以往网络通信协议更规范的平台上。

借助于XML易于解析和阅读的特性,使得XMPP的协议能够非常漂亮地完成相关工作。

(2)XMPP的即时通讯扩展应用部分是根据IETF在这之前对即时通讯的一个抽象定义的,与其他业已得到广泛使用的即时通讯协议,诸如AIM,QQ等有功能完整、完善等先进性。

2.1.2XMPP协议基本网络结构

XMPP中定义了三个角色,客户端,服务器,网关。

通信能够在这三者的任意两个之间双向发生。

服务器同时承担了客户端信息记录,连接管理和信息的路由功能。

网关承担着与异构即时通信系统的互联互通,异构系统可以包括SMS(短信),MSN,ICQ等。

基本的网络形式是单客户端通过TCP/IP连接到单服务器,然后在之上传输XML。

2.1.2选择XMPP协议的理由

XMPP是目前主流的四种IM(IM:

instantmessaging,即时消息)协议之一,其他三种分别为:

即时信息和空间协议(IMPP)、空间和即时信息协议(PRIM)、针对即时通讯和空间平衡扩充的进程开始协议SIP(SIMPLE)。

在这四种协议中,XMPP是最灵活的。

XMPP用传送与即时通讯相关的指令是用TCP传XML流,在以前这些命令要么用2进制的形式发送(比如QQ),要么用纯文本指令加空格加参数加换行苻的方式发送(比如MSN)。

而XMPP传输的即时通讯指令的逻辑与以往相仿,只是协议的形式变成了XML格式的纯文本。

这不但使得解析容易了,人也容易阅读了,方便了开发和查错。

XMPP是一种基于XML的协议,它继承了在XML环境中灵活的发展性。

因此,基于XMPP的应用具有超强的可扩展性。

经过扩展以后的XMPP可以通过发送扩展的信息来处理用户的需求,以及在XMPP的顶端建立如内容发布系统和基于地址的服务等应用程序。

而且,XMPP包含了针对服务器端的软件协议,使之能与另一个进行通话,这使得开发者更容易建立客户应用程序或给一个配好系统添加功能。

这一切也是笔者选择此协议的原因。

2.2网络通信协议

网络中不同的工作站,服务器之间能传输数据,源于协议的存在。

随着网络的发展,不同的开发商开发了不同的通信方式。

为了使通信成功可靠,网络中的所有主机都必须使用同一语言,不能带有方言,因而必须开发严格的标准定义主机之间的每个包中每个字中的每一位。

这些标准来自于多个组织的努力,约定好通用的通信方式,即协议。

TCP/IP协议是目前在网络中应用得最广泛的协议,TCP/IP实际上是一个关于Internet的标准,并随着的Internet广泛应用而风靡全球,它也成为局域网的首选协议。

TCP/IP协议中的核心协议有TCP(传输控制协议)、UDP(用户数据报协议)和IP(因特网协议)。

TCP协议可以在网络用户启动的软件应用进程之间建立通信会话,并实现数据流量控制和错误检测,这样就可以在不可靠的网络上提供可靠的端到端数据传输。

UDP协议是一种无连接的协议,它在传输数据之前不建立连接,也不提供良好的可靠性和差错检查,只仅仅依赖于校验来保证可靠性。

UDP不进行流量控制,没有序列或者确认,因此它处理和传输数据的速度快,还被用来传输关键的网络状态消息。

IP协议的基本功能是提供数据传输、数据包编址、数据包路由,分段等。

通过IP编址约定,可以成功地将数据通过路由传输到正确的网络或者子网。

每个网络站点具有一个32位的IP地址,它和48位MAC地址一起协作,完成网络通信,IP协议也是一种无连接的协议。

因为考虑到语音数据音比较大(与你的采样频率密切相关),而且丢失一小部分数据并不会影响双方进行正常通讯,所以本系统中的语音通讯模块采用了无连接、不可靠、没有流量控制但处理和传输数据的速度快的UDP进行实现。

2.3Socket网络编程

利用Socket编程实现典型的网络通信程序,特别是在实时性要求比较高的项目中,Winsock编程方法是非常实用的。

在此必须了解怎样建立一个Socket,并怎样用用Socket建立两台计算机之间的连接,最终实现两台计算机之间的数据传送等一系列问题。

2.4音频捕获技术

语音通讯最先要解决的就是怎样捕获说话者从麦克风中传进来的语音,本系统中主要是采用Windows多媒体相关应用程序接口winmm.dll中所提供的一系列系统函数进行音频捕获。

其中主要运用的函数有:

(1)waveInOpen为录音而打开一个波形输入设备(即得到一个麦克风句柄)。

(2)waveInPrepareHeader为波形输入设备准备一个输入缓冲区。

(3)waveInAddBuffer向波形输入设备添加一个输入缓冲区。

(4)waveInStart启动在指定的波形输入设备的输入,开始录音。

(5)waveInUnprepareHeader清除缓存。

(6)waveInClose关闭设备,停止录音。

2.5音频回放技术

当本面接收到远程主机捕获发送过来的音频数据后,还必须经过回放,才能将音频数据从音响中播放出来,从而达到语音通讯的目的。

本系统中主要是采用Windows多媒体相关应用程序接口winmm.dll中所提供的一系列函数进行音频回放。

其中主要运用的函数有:

(1)waveOutOpen打开回放设备,并得到其句柄。

(2)waveOutPrepareHeader为回放设备准备一个波形缓冲区(内存块)。

(3)waveOutWrite向指定的波形输出设备发送一个数据块。

(4)waveOutRest停止放音。

(5)waveOutClose关闭回放设备。

2.6音频采样技术

由于计算机只能处理离散的二进制信息,而人的语音又是连续的模拟信号,所以我们必须通过采样把模拟信号转换成离散信号。

实现这个步骤使用的设备是模/数转换器(A/D),它以每秒上万次的速率对声波进行采样,每一次采样都记录下了原始模拟声波在某一时刻的状态,称之为样本。

将一串的样本连接起来,就可以描述一段声波了。

把每一秒钟所采样的数目称为采样频率或采率,单位为HZ(赫兹)。

采样频率越高所能描述的声波频率就越高。

采样位数可以理解为采集卡处理声音的解析度。

这个数值越大,解析度就越高,录制和回放的声音就越真实。

本系统中采用PCM(脉冲编码调制)进行模/数转换,样频率采用8000HZ,采样位数采用16位。

2.7音频压缩/解压技术

为了保证语音不失真,必须保证达到一定的采样频率(当然也不能过高)和一定的采样位数。

这样,音频数据量将非常大,若不加以压缩而直接传输,很可能会导致网络阻塞、数据大量丢失等情况,所以必须采用适当的技术对采样到的数据进行压缩再进行传送,在接收端得到数据后再经过解压还原得到原来的音频数据。

本系统主要采用了G729.dll中包含的压缩与解压算法对音频数据进行压缩、解压。

2.8P2P技术

P2P就是点对点。

当在两台主机之间语音通讯连接已经建立后,就不需要再用到服务器了。

因为语音数据不会再经过服务器传送到另一台主机上去,这样既消耗服务器的资源,又增加了数据的传送时间。

所以,在连接建立之后,两台主机之间就进行数据的点对点传输,既节省资源,又加快了数据的传输速度。

 

第三章语音通讯系统的分析

3.1语音通讯系统可行性分析

1.技术可行性分析

对于当前的语音通讯系统,在技术上有很大的选择,但其根本都会用到网络编程的基本知识。

根据对目前比较流行的编程语言以及通信协议的比较,笔者在技术上选择Visualstudio2005作为IDE,以VisualC#作为编程语言,结合网络编程技术以及XMPP即时通信协议进行此次开发。

Visualstudio2005的集成性与功能强大性、VisualC#的便捷性与灵活性、XMPP协议的可扩展性和对网络编程的支持性保证了本次系统开发在技术上的可行性。

2.经济可行性分析

从论文背景中可知,随着互联网用户的快速增长,即时通信用户也日益增长,2004年中国即时通信用户数达7000万人,2005年达到9300万人。

中国即时通信市场规模在2005年约为6200万美元,2006年达到7700万美元,到2010年将达到1.14亿美元。

即时通信的市场需求是非常大的,而系统采用小团队方式开发在局域网内的即时通信系统,在局域网内实现在线交流、文件传输、实时语音通讯和视屏通讯等功能。

面向各类企事业部门等局域网用户,利用网络实现在局域网内的实时语音聊天,方便内部人员进行实时交流,共同解决工作生活中遇到的困难,为企事业以及其它的局域网用户带来方便。

研发成功后即可在企事业以及其它局域网用户中得到普遍运用,而相对来说研发成本就比较低。

而且此系统的运行环境即局域网的组建也比较简单,费用也较低,所以运行环境的配置费用比较低,可以获得广泛的运用。

所以其带来的经济效益远远超过开发成本,在经济上也具有可行性。

3.操作可行性分析

通过对周边人群的调查显示,决大部分人现在都在使用即时通信工具,本语音通讯系统采用与现代比较流行的即时通信工具QQ相似的操作方式,在用户发出请求并经对方同意后,方可进行语音聊天,并且在聊天过程中可以随意调整音量大小,也可以随时结束语音通讯,这种操作方式合乎人们生活习惯,也具有可行性。

3.2语音通讯系统需求分析

3.2.1项目总述

随着互联网技术的发展,网上办公、网上购物、网上交友等正在以飞快的速度走进大众的生活中,人们可以在网上做在现实生活中做的很多事情,而现实生活中最重要的一件事情就是交流,人与人的交流莫过于口头直接进行交流最为直观最为快捷。

在这个“互联网世界”的今天,为了方便内部人员进行实时交流,共同解决工作生活中遇到的困难,为企事业以及其它的局域网用户带来方便;为了解决以前人们通过计算机只能用文字进行交流的局限性,实时语音通讯已经成为现实生活中不可缺少的一部分。

实现在局域网内语音实时聊天,是人们在互联网上便利生活、工作,学习的基础。

语音聊天是此即时通信系统的一个核心子模块,它采用现代比较流行的网络编程技术,面向各类企事业部门等局域网用户,实现实时语音捕获,音频数据压缩与发送,音频数据接收与回放等功能,从而达到了实时语音通讯的目的,方便内部人员进行实时交流,共同解决工作生活中遇到的困难,为企事业以及其它的局域网用户带来方便。

3.2.2市场需求分析

近年来,即时通信市场用户规模增长迅速,市场规模前景广阔。

随着互联网用户的快速增长,即时通信用户也日益增长,2004年中国即时通信用户数达7000万人,2005年达到9300万人。

2006年中国即时通信用户增长29%,达到1.2亿人。

另外,iResearch根据MorganStanley发表的研究数字整理发现,中国即时通信市场规模在2005年约为6200万美元,在2006年达到7700万美元,到2010年将达到1.14亿美元。

移动即时通信市场有着更加巨大的成长空间和诱惑力。

据iResearch2006年5月发布的调查报告显示,2005年我国移动即时通信的用户已达到500万;而在2006年,我国移动即时通信注册用户量达到700万;未来几年移动即时通信用户规模将呈现快速增长,预计到2010年中国移动即时通信用户将达到2000万人。

上面这些数字表明,即时通信系统的市场需求量是非常大的,而语音作为即时通信的一个核心模块,也将广泛的应用。

而且随着企事业单位以及其它局域网用户对语音通信的使用,其市场将越来越大,对其的需求也将随之增大。

3.2.3用户需求分析

在本系统中主要采用问卷调查以及与当前比较流行的即时通信系统(如QQ)作比较而得到用户对语音通信的一些基本要求:

一是速度要快(也就是要实时),二是质量要好(不能出现太大的杂音而影响正常通信),三是应该能在通信过程中动态调节音量的大小,并能进行

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 计算机软件及应用

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1