CN105611092A - 一种网络语音同步消噪通讯系统 - Google Patents
一种网络语音同步消噪通讯系统 Download PDFInfo
- Publication number
- CN105611092A CN105611092A CN201510968182.6A CN201510968182A CN105611092A CN 105611092 A CN105611092 A CN 105611092A CN 201510968182 A CN201510968182 A CN 201510968182A CN 105611092 A CN105611092 A CN 105611092A
- Authority
- CN
- China
- Prior art keywords
- audio
- module
- audio stream
- data
- voice
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M9/00—Arrangements for interconnection not involving centralised switching
- H04M9/08—Two-way loud-speaking telephone systems with means for conditioning the signal, e.g. for suppressing echoes for one or both directions of traffic
- H04M9/082—Two-way loud-speaking telephone systems with means for conditioning the signal, e.g. for suppressing echoes for one or both directions of traffic using echo cancellers
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Telephone Function (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明公开了一种网络语音同步消噪通讯系统,包括接收装置以及网络语音对讲装置,所述接收装置包括接收模块、音频解码模块和音频播放模块;所述网络语音对讲装置包括同步模块、回声消除模块、音频编码模块以及发送模块。本发明的优点在于:采用本发明实施例的系统,对本地录制的音频流和对端发送的音频流进行数据同步,并将对端发送的音频流作为过滤回声的参考音频,优化了编解码并消除了回声,提高了网络语音的对讲通话质量。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种网络语音同步消噪通讯系统。
背景技术
随着科学技术的不断发展,人们对生活的要求越来越高,相互之间的联系更是频繁,伴随着android系统和4G网络的广泛应用,android系统上的网络语音通话越来越普遍,人们可以通过以太网进行正常的语音对讲通讯,而免费、方便、清晰、流畅的通话系统是当今网络语音通话发展的一个方向。目前android系统上有一些较成熟的应用,能够满足对讲要求,但基本上都是收费的,而且很少能够做到实时、无噪声、流畅的通话,用户体验不是非常满意,能够满足这些要求的一般通过硬件来处理,但这种方式不通用,也增加了成本。
网络语音通讯系统,能够在两台或者多台设备之间通过以太网进行正常的语音通讯。网络语音通讯系统分为发送端和接收端,在发送端,音频录制模块通过MIC将声音转为pcm音频流,送入编码模块压缩音频数据,最后通过网络将编码后的数据发送出去;在接收端,通过接收模块获取编码的音频数据,送入解码模块,还原音频流数据,最后送入播放模块将接收到的音频流播放出来。在实际的使用过程中,网络语音通讯会产生回声,而且会有延时,造成通话质量不高。
发明内容
有鉴于此,本发明要解决的技术问题是提供一种网络语音同步消噪通讯系统,以解决网络语音对讲中的回声造成通话质量不高的问题。
本发明解决上述技术问题所采用的技术方案如下:一种网络语音同步消噪通讯系统,该系统包括接收装置以及网络语音对讲装置,接收装置包括接收模块、音频解码模块和音频播放模块,其中:
接收模块,用于接收编码压缩后的音频流;
音频解码模块,用于还原接收到的编码压缩后的音频流;
音频播放模块,用于播放还原的音频流。。
所述网络语音对讲装置包括同步模块、回声消除模块、音频编码模块以及发送模块,其中:
同步模块,用于对本地录制的音频流和对端发送的音频流进行数据同步;
回声消除模块,将对端发送的音频流作为参考音频流对本地录制的音频流中的回声进行过滤;
音频编码模块,用于对过滤后的音频流进行编码压缩;
发送模块,用于将编码压缩的音频流通过网络进行发送。
优选地,同步模块包括录制缓冲区、参考缓冲区和数据同步单元,其中:
录制缓冲区,用于对本地录制的音频流进行缓存;
参考缓冲区,用于对参考音频流进行缓存;
数据同步单元,用于当参考缓冲区接收到数据时,对本地录制的音频流和参考音频流进行数据同步。
优选地,回声消除模块具体用于:根据预设的固定间隔的时间段,检查对端发送的音频流的帧数据,当帧数据小于speex算法预定的缓冲值时,通过speex算法将本地录制的音频流中的回声进行过滤;当对端发送的音频流的帧数据大于speex算法预定的缓冲值时,则丢弃部分帧数据。
优选地,音频编码模块具体用于:对过滤后的音频流逐帧进行缓存和编码压缩。
本发明的优点在于:本发明对本地录制的音频流和对端发送的音频流进行数据同步,将对端发送的音频流作为过滤回声的参考音频,优化了编解码并消除了回声,提高了网络语音的对讲通话质量。
附图说明
图1是相关技术中回音产生的原理示意图;
图2是本发明实施例提供的一种网络语音对讲方法流程图。
图3是本发明实施例在应用层调用speex算法接口函数示意图;
图4是本发明实施例提供的一种网络语音对讲方法的具体流程图。
图5是本发明实施例提供的一种网络语音对讲装置的模块结构图。
图6是本发明实施例提供的一种网络语音同步消噪通讯系统的结构示意图。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图和实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在网络语音对讲中,影响通话质量的主要是回音和延时。请参与图1,在A端,人声a通过麦克风b录入,喇叭c播放B端传输过来的声音,c播放的一部分声音e也被麦克风b录入,声音e就是回声,这样声音e和声音a都被传输到了B端,喇叭j播放的声音就包括了人声a和声音e,而声音e是由B端传输过来的,所以B端播放的声音能够听到自己的声音e,同理,在A端也能够听到自己的声音h。根据这个原理可知,回音消除就是在麦克风录制之后滤除掉图1中的声音e和声音h。根据回音产生的原理,消除回音将播放的对端音频流作为参考音频,将麦克风录制的音频流中回声那部分通过一定算法(例如speex算法)滤除掉。但是如果参考的音频不正确,就难以滤除回声。
如图2所示是本发明实施例提供的一种网络语音对讲的方法,该方法包括:
S201、对本地录制的音频流和对端发送的音频流进行数据同步;
优选地,本步骤可以通过以下方式实现:
设置用于对本地录制的音频流进行缓存的录制缓冲区,以及对参考音频流进行缓存的参考缓冲区;当参考缓冲区接收到数据时,对所本地录制的音频流和参考音频流进行数据同步。录制缓冲区能够对N帧录制的音频流数据进行缓存,参考缓冲区能够对M帧参考音频流的数据进行缓存;其中M>N,且M和N为自然数。
S202、将对端发送的音频流作为参考音频流对本地录制的音频流中的回声进行过滤;
S203、对过滤后的音频流进行编码压缩并通过网络进行发送;
优选地,本步骤可以对过滤后的音频流逐帧进行缓存和编码压缩。编码压缩后的音频流用于对端接收并还原进行播放。
具体来说,设置录制音频流的缓冲区和存放对端音频流的缓冲区,同时都有接收到数据时,进行数据同步。即当录制的音频流的缓冲区接收到数据,且存放播放的对端音频流的缓冲区接收到数据时,可认为此时的数据是同步的,采用此时的对端音频流作为参考音频。在实际应用中,当录制的音频流的缓冲区接收到N帧数据,且播放的对端音频流的缓冲区接收到N+1帧数据时,效果较好。其中,帧数据与编码采样率成正比,例如:若编码采样率为8KB,一帧大小为160字节;若采样率为16KB,一帧大小为320字节;若采样率为32KB,一帧大小为640字节。
优选地,本发明实施例中的回声消除可采用一定算法的过滤,例如speex算法。由于本地录制的音频流是均匀稳定的,而网络传送过来的远端音频流的速度是不稳定的,可每间隔固定的时间段,检查作为参考音频的对端发送的音频流的帧数据大小,如果大于speex算法预定的缓冲值,则丢弃部分,以更好的选择参考音频;如果小于speex算法预定的缓冲值,则可以采用speex算法进行回声过滤。
由于音频的编码需要一段时间,按照8K采样,每帧160字节,编码需要大约20ms左右的时间,压缩音频数据与回音消除同步可减少延迟。可通过将缓存的一帧过滤后的音频流数据完成编码压缩后,再缓存新的一帧过滤后的音频流数据的方式来减少延迟。
以下以基于android平台,采用开源的speex算法做回音消除和音频编解码来进一步阐述本发明。Speex算法是专门针对音频的编解码的算法,该算法也在不断的更新,现在已经有了回音消除模块,经过实践证明,speex可以较好的实现音频编解码和消除回声。
请参阅图3,java应用层获取speex库函数的方法,由于speex算法是c语言编写,要在java应用层调用就需要将speex算法做成JNI库文件,如图所示,先从speex中提取接口函数封装JNI函数,回音消除主要是speex_echo_cancellation函数,该函数通过对比录制和播放的声音,从录制的声音中滤除播放(回声)的声音;编解码主要是speex_bits_write压缩函数和speex_bits_read_from解压函数。
各层封装函数请参阅表1,将JNI封装文件编译成.so库文件,在应用层加载这个库,封装应用接口函数,在应用层调用表1中java应用层封装函数进行回音消除和音频编解码。
表1开源的speex算法中的各层封装函数
请参阅图4,本发明实施例网络语音对讲的具体流程图。网络接收和发送同时运行。在发送端,通过音频录制模块从麦克风录制音频流,按照预定的缓冲值为一帧存储在录制缓冲区,打开回音消除线程锁,将音频流送入回音消除线程中,同时在回音消除线程中接收远端传输过来的音频流作为过滤回声的参考声音,当存放录制的音频流的缓冲区接收到了数据,并且存放播放的音频流的缓冲区接收到了数据时,送入回音消除SpeexDspAEC函数中滤除回音,经过多次试验,当录制缓冲区接收到6帧数据,并且播放缓冲区接收到7帧数据时,消除效果最佳;将得到的干净的声音送入编码模块,在编码模块中,由于音频的压缩时间长,所以为了防止数据阻塞,每次接收新的音频数据时都确保当前正在进行编码的音频数据已经编码完成,也就是接收数据和编码进行同步,编码后的音频数据通过网络发送出去。
在接收端,接收网络传送过来的音频数据,送解码模块将音频流还原,然后送播放模块,而播放的声音一部分被重新录入,被录入的这部分就是回声,也就是参考声音,将参考声音每次按照表2中预定的缓冲值作为一帧存入缓存列表中,经过多次试验,当列表中有7帧数据时才开始送入回音消除线程效果最佳,保证每次都有一帧(预定的缓冲值)的参考声音。如此反复进行,实现了网络对讲。
预定的缓冲值如表2所示,是本实施例中的一帧数据大小,也是回音消除以及编解码每次所能处理的数据大小,缓存也是根据这个大小为一帧进行的。在发送端和接收端,都需要对音频数据进行缓存,在本系统中,接收到音频流大小为预定的缓冲值时为一帧,收到一帧数据后放入列表中进行缓存,而在处理音频数据时从列表的第一帧开始取出,直到列表中的数据全部取完为止。
表2
如图5所示是本发明实施例提供的一种网络语音对讲装置的模块结构图。网络语音对讲装置10包括同步模块110、回声消除模块120、编码模块130以及发送模块140。同步模块110用于对本地录制的音频流和对端发送的音频流进行数据同步;回声消除模块120用于将对端发送的音频流作为参考音频流对本地录制的音频流中的回声进行过滤;音频编码模块130用于对过滤后的音频流进行编码压缩;发送模块140用于将编码压缩的音频流通过网络进行发送。
网络语音对讲装置10还包括录制模块100,用于录制本地的音频流。
同步模块110包括录制缓冲区1101、参考缓冲区1101和数据同步单元1103,其中:
录制缓冲区1101,用于对本地录制的音频流进行缓存;
参考缓冲区1102,用于对对端发送的音频流作为参考音频流进行缓存;
数据同步单元1103,用于当参考缓冲区接收到数据时,对本地录制的音频流和参考音频流进行数据同步。
回音消除模块120具体用于:根据预设的固定间隔的时间段,检查对端发送的音频流的帧数据,当帧数据小speex算法预定的缓冲值时,通过speex算法将本地录制的音频流中的回声进行过滤;当对端发送的音频流的帧数据大于speex算法预定的缓冲值时,则丢弃部分帧数据。
音频编码模块130具体用于:对过滤后的音频流逐帧进行缓存和编码压缩。
如图6所示是本发明实施例提供的一种网络语音同步消噪通讯系统的结构示意图,该系统包括上文的网络语音对讲装置10以及接收装置20。其中,接收装置20包括接收模块210、音频解码模块220和音频播放模块230,接收模块210用于接收编码压缩后的音频流,音频解码模块220用于还原接收到的编码压缩后的音频流,音频播放模块230播放还原的音频流。网络语音对讲装置10与上述实施例相同,这里不再重复。
本发明实施例通过对录制的音频流和接收的对端音频流进行数据同步,将接收的对端音频流作为过滤回声的参考音频,优化了编解码并消除了回声,提高了网络语音的对讲通话质量。
以上参照附图说明了本发明的优选实施例,并非因此局限本发明的权利范围。本领域技术人员不脱离本发明的范围和实质,可以有多种变型方案实现本发明,比如作为一个实施例的特征可用于另一实施例而得到又一实施例。凡在运用本发明的技术构思之内所作的任何修改、等同替换和改进,均应在本发明的权利范围之内。
Claims (4)
1.一种网络语音同步消噪通讯系统,其特征在于,包括接收装置以及网络语音对讲装置,所述接收装置包括接收模块、音频解码模块和音频播放模块,其中:
所述接收模块,用于接收编码压缩后的音频流;
所述音频解码模块,用于还原接收到的编码压缩后的音频流;
所述音频播放模块,用于播放还原的音频流;
所述网络语音对讲装置包括同步模块、回声消除模块、音频编码模块以及发送模块,其中:
同步模块,用于对本地录制的音频流和对端发送的音频流进行数据同步;
回声消除模块,将所述对端发送的音频流作为参考音频流对所述本地录制的音频流中的回声进行过滤;
音频编码模块,用于对过滤后的音频流进行编码压缩;
发送模块,用于将编码压缩的音频流通过网络进行发送。
2.根据权利要求1所述的网络语音同步消噪通讯系统,其特征在于,所述同步模块包括录制缓冲区、参考缓冲区和数据同步单元,其中:
录制缓冲区,用于对所述本地录制的音频流进行缓存;
参考缓冲区,用于对所述参考音频流进行缓存;
数据同步单元,用于当所述参考缓冲区接收到数据时,对所述本地录制的音频流和所述参考音频流进行数据同步。
3.根据权利要求1所述的网络语音同步消噪通讯系统,其特征在于,所述回声消除模块具体用于:根据预设的固定间隔的时间段,检查对端发送的音频流的帧数据,当帧数据小于speex算法预定的缓冲值时,通过speex算法将所述本地录制的音频流中的回声进行过滤;当对端发送的音频流的帧数据大于speex算法预定的缓冲值时,则丢弃部分帧数据。
4.根据权利要求2所述的网络语音同步消噪通讯系统,其特征在于,所述音频编码模块具体用于:对过滤后的音频流逐帧进行缓存和编码压缩。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510968182.6A CN105611092A (zh) | 2015-12-18 | 2015-12-18 | 一种网络语音同步消噪通讯系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510968182.6A CN105611092A (zh) | 2015-12-18 | 2015-12-18 | 一种网络语音同步消噪通讯系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105611092A true CN105611092A (zh) | 2016-05-25 |
Family
ID=55990621
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510968182.6A Withdrawn CN105611092A (zh) | 2015-12-18 | 2015-12-18 | 一种网络语音同步消噪通讯系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105611092A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106657700A (zh) * | 2017-01-11 | 2017-05-10 | 广州广有通信设备有限公司 | 一种能消除回声的免提通话装置及其控制方法 |
CN110473563A (zh) * | 2019-08-19 | 2019-11-19 | 山东省计算中心(国家超级计算济南中心) | 基于时频特征的呼吸声检测方法、系统、设备及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040086109A1 (en) * | 2002-10-30 | 2004-05-06 | Oki Electric Industry Co., Ltd. | Echo canceler with echo path change detector |
CN101346896A (zh) * | 2005-10-26 | 2009-01-14 | 日本电气株式会社 | 回声抑制方法及设备 |
CN103905928A (zh) * | 2012-12-25 | 2014-07-02 | 安科智慧城市技术(中国)有限公司 | 一种网络语音对讲方法、装置及系统 |
-
2015
- 2015-12-18 CN CN201510968182.6A patent/CN105611092A/zh not_active Withdrawn
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040086109A1 (en) * | 2002-10-30 | 2004-05-06 | Oki Electric Industry Co., Ltd. | Echo canceler with echo path change detector |
CN101346896A (zh) * | 2005-10-26 | 2009-01-14 | 日本电气株式会社 | 回声抑制方法及设备 |
CN103905928A (zh) * | 2012-12-25 | 2014-07-02 | 安科智慧城市技术(中国)有限公司 | 一种网络语音对讲方法、装置及系统 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106657700A (zh) * | 2017-01-11 | 2017-05-10 | 广州广有通信设备有限公司 | 一种能消除回声的免提通话装置及其控制方法 |
CN106657700B (zh) * | 2017-01-11 | 2019-12-10 | 广州广有通信设备有限公司 | 一种能消除回声的免提通话装置及其控制方法 |
CN110473563A (zh) * | 2019-08-19 | 2019-11-19 | 山东省计算中心(国家超级计算济南中心) | 基于时频特征的呼吸声检测方法、系统、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103905928A (zh) | 一种网络语音对讲方法、装置及系统 | |
US7136630B2 (en) | Methods of recording voice signals in a mobile set | |
CN102568494B (zh) | 消除回声的优化方法、装置及系统 | |
ES2836220T3 (es) | Sistema y procedimiento de recuperación de errores de transmisión de paquetes basada en redundancia | |
ES2287133T3 (es) | Configuracion y metodo relativo a la comunicacion del habla. | |
CN103312913B (zh) | 一种消除回声的系统及方法 | |
CN104394286A (zh) | 一种回声消除方法及装置 | |
CN103391381A (zh) | 回声消除方法及装置 | |
CN105960794A (zh) | 用于语音命令的智能蓝牙耳机 | |
CN109346098B (zh) | 一种回声消除方法及终端 | |
CN108111997A (zh) | 蓝牙设备音频同步方法和系统 | |
US10009475B2 (en) | Perceptually continuous mixing in a teleconference | |
CN108076239B (zh) | 一种改善ip电话回声的方法 | |
CN105551512A (zh) | 音频格式转换方法和装置 | |
JPH04151953A (ja) | 音声信号処理装置 | |
US8553520B2 (en) | System and method for echo suppression in web browser-based communication | |
CN105611092A (zh) | 一种网络语音同步消噪通讯系统 | |
CN110299144A (zh) | 音频混音方法、服务器及客户端 | |
CN107920176A (zh) | 一种用于语音通信系统的音质优化装置 | |
CN110149452A (zh) | 一种降低网络丢包率提升通话声音效果的方法 | |
CN103548329B (zh) | 通话机 | |
CN112688965A (zh) | 一种会议音频共享方法、装置、电子设备及存储介质 | |
CN102833524B (zh) | 一种对本地音频及呼叫方音频同时录像的控制方法 | |
CN105516524A (zh) | 一种网络语音同步消噪通讯方法 | |
KR100465318B1 (ko) | 광대역 음성신호의 송수신 장치 및 그 송수신 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20160525 |
|
WW01 | Invention patent application withdrawn after publication |