CN102984370A - 一种基于安卓的无线网络下变声通话的方法 - Google Patents
一种基于安卓的无线网络下变声通话的方法 Download PDFInfo
- Publication number
- CN102984370A CN102984370A CN2012104692074A CN201210469207A CN102984370A CN 102984370 A CN102984370 A CN 102984370A CN 2012104692074 A CN2012104692074 A CN 2012104692074A CN 201210469207 A CN201210469207 A CN 201210469207A CN 102984370 A CN102984370 A CN 102984370A
- Authority
- CN
- China
- Prior art keywords
- voice
- change
- wireless network
- equipment
- android
- 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.)
- Pending
Links
Images
Landscapes
- Telephonic Communication Services (AREA)
Abstract
本发明公开了一种在连接无线网络下的变声通话方法。它包括如下步骤:1)基于安卓系统的手机或平板电脑两个设备,均具备录音、放音以及无线网络连接的功能,使用无线网络网络模式连接到同一个无线网络信号下,经行通话;2)在通话的过程中,通话双方选择变声或原声模式,而且在变声模式中,实时调节声音变粗或者变细;3)安卓系统的手机或平板电脑两个设备在未建立任何通话连接的状态下,进行本地的变声测试。本发明结合通话和变音两方面进行详细的分析和探究,随着科技的发展,本方法将会发挥更具革命性的意义。
Description
技术领域
本发明涉及移动通信应用技术,更确切的说是涉及一种基于安卓的无线网络下变声通话的方法,可应用于各种符合功能条件的安卓设备中。
背景技术
安卓是当今最流行的手机系统之一,它是由谷歌开发的以Linux为基础的开放源代码操作系统,主要使用于便携设备。安卓支持使用Java作为编程语言来开发应用程序,谷歌重新设计了安卓的Java,以便能提高效率和减少资源占用。
了解到安卓的四层架构,了解到我们能做的应该是应用层的事情,要调用起硬件就必须使用安卓给出的固定的API。在developer.安卓.com(安卓开发者网站)上,Google给出了所有的安卓的API,也就是对应的各种类和方法。安卓系统架构由5部分组成,分别是:Linux Kernel、安卓 Runtime、Libraries、Application Framework、Applications。如果安卓系统没有提供某些API,那么只能通过在安卓系统底层编写C/C++代码来开发这些API并向安卓应用框架层提供接口。
自从移动网络的改革之后,手机GPRS的流量费用下降,手机中开始增加GPRS的应用,越来越多的人开始使用GPRS网络。在进入3G时代之初,就已经出现了网络电话的软件,人们再也不需要像电信运营商支付每分钟几毛钱的通话费了,使用网络电话只消耗流量费用,尤其当你手机连接上免费的无线网络时,打网络电话更可以不需要付一分钱。
socket的英文原义是“孔”或“插座”。作为4BDS UNIX的进程通信机制,取后一种意思。通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄。在Internet上的主机一般运行了多个服务软件,同时提供几种服务。每种服务都打开一个Socket,并绑定到一个端口上,不同的端口对应于不同的服务。Socket正如其英文原意那样,象一个多孔插座。一台主机犹如布满各种插座的房间,每个插座有一个编号,有的插座提供220伏交流电, 有的提供110伏交流电,有的则提供有线电视节目。 客户软件将插头插到不同编号的插座,就可以得到不同的服务。
应用程序通常通过"套接字"向网络发出请求或者应答网络请求。以J2SDK-1.3为例,Socket和ServerSocket类库位于java .net包中。ServerSocket用于服务器端,Socket是建立网络连接时使用的。在连接成功时,应用程序两端都会产生一个Socket实例,操作这个实例,完成所需的会话。对于一个网络连接来说,套接字是平等的,并没有差别,不因为在服务器端或在客户端而产生不同级别。不管是Socket还是ServerSocket它们的工作都是通过SocketImpl类及其子类完成的。
根据连接启动的方式以及本地套接字要连接的目标,套接字之间的连接过程可以分为三个步骤:服务器监听,客户端请求,连接确认。
发明内容
本发明的目的是克服现有技术的不足,提供一种基于安卓的无线网络下变声通话的方法。
基于安卓的无线网络下变声通话的方法包括如下步骤:
1)基于安卓系统的手机或平板电脑两个设备,均具备录音、放音以及无线网络连接的功能,使用无线网络网络模式连接到同一个无线网络信号下,经行通话;
2)在通话的过程中,通话双方选择变声或原声模式,而且在变声模式中,实时调节声音变粗或者变细;
3)安卓系统的手机或平板电脑两个设备在未建立任何通话连接的状态下,进行本地的变声测试。
所述的步骤1)包括:
(1)安卓系统的手机或平板电脑两个设备,已连接到统一无线网络下后,其中一个作服务端,另一个作客户端,使用Socket机制进行配对连接,数据流量通过无线网络传输;
(2)安卓系统的手机或平板电脑两个设备在通话中均可选四个模式:“双向对话”、“只接听”、“只发送”、“暂停”;
(3)安卓系统的手机或平板电脑两个设备中作为服务端的一方能获取自身设备所处网络的IP地址;
(4) 安卓系统的手机或平板电脑两个设备中作为客户端的一方发起通话连接请求。
所述的步骤2)包括:
(1)声音变粗或变细分为若干个调节档以供变声程度上的选择;
(2)变声的处理发生在当前说话方的设备上,然后再将声音信息以byte字节流的形式传输到另一台设备。
所述的步骤3)包括:
(1)声音变粗或变细分为若干个调节档以供变声程度上的选择;
(2)具备“录音”“停止”“播放”三个功能;
(3)在“录音”前选定变声的效果和程度,并在“停止”后,即录音停止后,进行声音算法处理,在“播放”中从设备喇叭口放出变声处理后的声音。
本发明利用Socket机制建立通话连接,利用安卓设备的麦克风和喇叭硬件采集和播放声音,将模拟的自然声音信号经采集后转为字节流的数字信号,并以数据流的形式经安卓设备的处理器经行变声算法处理,再通过Socket经行传输到另一台安卓设备,从而实现变声通话。本发明结合通话和变音两方面进行详细的分析和探究,随着科技的发展,本方法将会发挥更具革命性的意义。
附图说明
图1是本发明所用的Socket通信机制的连接方式以及对应的socket对象结构图;
图2是本发明所用变声方法的流程图;
图3是实施例的程序主界面;
图4是实施例的服务端截图;
图5是实施例的客户端截图;
图6是实施例的本地测试端截图;
图7是变声前后音频图。
具体实施方式
基于安卓的无线网络下变声通话的方法包括如下步骤:
1)基于安卓系统的手机或平板电脑两个设备,均具备录音、放音以及无线网络连接的功能,使用无线网络网络模式连接到同一个无线网络信号下,经行通话;
2)在通话的过程中,通话双方选择变声或原声模式,而且在变声模式中,实时调节声音变粗或者变细;
3)安卓系统的手机或平板电脑两个设备在未建立任何通话连接的状态下,进行本地的变声测试。
所述的步骤1)包括:
(1)安卓系统的手机或平板电脑两个设备,已连接到统一无线网络下后,其中一个作服务端,另一个作客户端,使用Socket机制进行配对连接,数据流量通过无线网络传输;
(2)安卓系统的手机或平板电脑两个设备在通话中均可选四个模式:“双向对话”、“只接听”、“只发送”、“暂停”;
(3)安卓系统的手机或平板电脑两个设备中作为服务端的一方能获取自身设备所处网络的IP地址;
(4) 安卓系统的手机或平板电脑两个设备中作为客户端的一方发起通话连接请求。
所述的步骤2)包括:
(1)声音变粗或变细分为若干个调节档以供变声程度上的选择;
(2)变声的处理发生在当前说话方的设备上,然后再将声音信息以byte字节流的形式传输到另一台设备。
所述的步骤3)包括(见图5):
(1)声音变粗或变细分为若干个调节档以供变声程度上的选择;
(2)具备“录音”“停止”“播放”三个功能;
(3)在“录音”前选定变声的效果和程度,并在“停止”后,即录音停止后,进行声音算法处理,在“播放”中从设备喇叭口放出变声处理后的声音。
实施例
下面结合附图及具体实施方向对本发明做进一步的详细描述。
1.主界面(如图3):
两个安卓设备连接到同一个无线网络网络下(一般指同一个路由器产生的无线网络),启动软件,选择作为服务端,或者客户端启动来进行通话,也可以选择只在本地测试。
2.服务端中(见图4):
点击“获取IP地址”按钮,可以获得本地IP并创建Socket 等待客户端的连接请求。得到客户端的连接请求后,服务端会创建录音和播放两个线程,独立工作,开始通话,线程工作原理下面会提到。
3.客户端中(见图5):
在客户端中输入服务端的IP地址,点击“开始通话”。客户端会创建录音和播放两个线程,独立工作,开始通话,线程工作原理下面会提到。
4.本地测试中(见图6):
为了在不连接的情况下用户可以体验变声的乐趣和效果。我们加入了本地测试的功能,本地测试可以实现录音,变声,播放的功能。重点在于体验变声效果,而不是通话。
5.录音,播放线程中:
线程是一个多任务概念,使得单线运行的CPU可以支持多任务同时进行。通话过程有录制本地声音和播放对方声音两个目的,所以必须写成线程独立工作。
录音线程用AudioRecord类获得音频数据流,并直接处理变声,写入socket. getOutputStream(),发送到另一台机器。变声过程下面会提到。
播放线程通过socket. getInputStream()得到另一台设备发送过来的音频数据流,调用AudioTrack播放音频数据流。
6.变音方法:
变音算法流程图(见图2),主要可以分为4个步骤
1) 获取音频数据流
这一步已经由录音线程完成
2) 确定基音周期长度并定位
根据声音自动确定长度的算法太复杂,不适合移动设备高速运行,所以我们直接给定一个平均长度200,长度确定后位置自然确定。
3) 删除或者增加基音周期
对于给定的伸缩比change_rat,确定每隔change_num =| [1/(1-change_rat)]|个基音周期增加或者删除基音周期,增加的基音周期的值,应与前一个基音周期的值相等。得到的数据流长度记为 length2, 变化前的长度为length1 。其中change_rat可以由客户端或者服务端的“变粗”“变细”“原声”3个按钮进行调节,默认change_rat=1,即不变声。
4) 伸缩语音长度到原始长度
把处理后的数据流增长或者缩短到原来的长度
设An = n*length2/length1; Bn = [An]; Cn = Bn+1;
Xn为缩短或增长后的数据流。
Y(An) = X(Bn) + (An - Bn)*( X(Cn) - X(Bn)
得到Yn就是变回原长的数据流
7.四种通话模式的实现:
一开始我们对暂停功能的实现时通过结束录音线程和播放线程,重新开始时再新建线程,但是这样经常失败,照成程序意外停止。具体的原因有很多,比如客户端的录音线程已经停止,但是服务端的播放线程还在继续,由于没有收到客户端发送过来的socket,服务端就出现了错误。
于是我们改变思路,设置了keepP和keepR两个标志位,
当keepP为真时:播放线程正常播放数据;
当keepP为假时:播放线程播放0数组;
当keepR为真时:录音线程写入正常麦克风采集到的数据;
当keepR为假时:录音线程往socket中写入0数组;
通过keepP和keepR的组合,我们设置了4中通话模式分别是双向通话(keepP真keepR真),只接听(keepP真keepR假),只发送(keepP假keepR真)和暂停(keepP假keepR假)。
总结
本发明的一种基于安卓的无线网络下变声通话的方法,完成了再安卓设备上的变声通话功能,增加了安卓平台软件的多样性,更能丰富人们日常生活的娱乐活动。
Claims (4)
1.一种基于安卓的无线网络下变声通话的方法,其特征在于包括如下步骤:
1)基于安卓系统的手机或平板电脑两个设备,均具备录音、放音以及无线网络连接的功能,使用无线网络网络模式连接到同一个无线网络信号下,经行通话;
2)在通话的过程中,通话双方选择变声或原声模式,而且在变声模式中,实时调节声音变粗或者变细;
3)安卓系统的手机或平板电脑两个设备在未建立任何通话连接的状态下,进行本地的变声测试。
2.根据权利要求1所述的一种基于安卓的无线网络下变声通话的方法,其特征在于所述的步骤1)包括:
(1)安卓系统的手机或平板电脑两个设备,已连接到统一无线网络下后,其中一个作服务端,另一个作客户端,使用Socket机制进行配对连接,数据流量通过无线网络传输;
(2)安卓系统的手机或平板电脑两个设备在通话中均可选四个模式:“双向对话”、“只接听”、“只发送”、“暂停”;
(3)安卓系统的手机或平板电脑两个设备中作为服务端的一方能获取自身设备所处网络的IP地址;
(4) 安卓系统的手机或平板电脑两个设备中作为客户端的一方发起通话连接请求。
3.根据权利要求1所述的一种基于安卓的无线网络下变声通话的方法,其特征在于所述的步骤2)包括:
(1)声音变粗或变细分为若干个调节档以供变声程度上的选择;
(2)变声的处理发生在当前说话方的设备上,然后再将声音信息以byte字节流的形式传输到另一台设备。
4.根据权利要求1所述的一种基于安卓的无线网络下变声通话的方法,其特征在于所述的步骤3)包括:
(1)声音变粗或变细分为若干个调节档以供变声程度上的选择;
(2)具备“录音”“停止”“播放”三个功能;
(3)在“录音”前选定变声的效果和程度,并在“停止”后,即录音停止后,进行声音算法处理,在“播放”中从设备喇叭口放出变声处理后的声音。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012104692074A CN102984370A (zh) | 2012-11-20 | 2012-11-20 | 一种基于安卓的无线网络下变声通话的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012104692074A CN102984370A (zh) | 2012-11-20 | 2012-11-20 | 一种基于安卓的无线网络下变声通话的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102984370A true CN102984370A (zh) | 2013-03-20 |
Family
ID=47858097
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012104692074A Pending CN102984370A (zh) | 2012-11-20 | 2012-11-20 | 一种基于安卓的无线网络下变声通话的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102984370A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104200824A (zh) * | 2014-08-25 | 2014-12-10 | 深圳市中兴移动通信有限公司 | 音频录制方法和装置 |
CN104616651A (zh) * | 2014-12-24 | 2015-05-13 | 张云霞 | 一种变声装置 |
CN105448300A (zh) * | 2015-11-12 | 2016-03-30 | 小米科技有限责任公司 | 用于通话的方法及装置 |
WO2019071374A1 (zh) * | 2017-10-09 | 2019-04-18 | 深圳传音通讯有限公司 | 一种移动通讯设备通话时改变原始声音的方法和系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1937663A (zh) * | 2006-09-30 | 2007-03-28 | 华为技术有限公司 | 实现变声通话业务的方法、系统及装置 |
CN101340480A (zh) * | 2007-07-03 | 2009-01-07 | 博祥网通股份有限公司 | 变音系统与网络电话整合应用的方法 |
CN101599285A (zh) * | 2009-07-02 | 2009-12-09 | 深圳市万兴软件有限公司 | 一种音频录制方法和系统 |
CN101764879A (zh) * | 2009-10-10 | 2010-06-30 | 宇龙计算机通信科技(深圳)有限公司 | 一种改变移动终端语音输出的方法及移动终端 |
CN202472879U (zh) * | 2011-12-20 | 2012-10-03 | 邹建文 | 变音备忘录 |
-
2012
- 2012-11-20 CN CN2012104692074A patent/CN102984370A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1937663A (zh) * | 2006-09-30 | 2007-03-28 | 华为技术有限公司 | 实现变声通话业务的方法、系统及装置 |
CN101340480A (zh) * | 2007-07-03 | 2009-01-07 | 博祥网通股份有限公司 | 变音系统与网络电话整合应用的方法 |
CN101599285A (zh) * | 2009-07-02 | 2009-12-09 | 深圳市万兴软件有限公司 | 一种音频录制方法和系统 |
CN101764879A (zh) * | 2009-10-10 | 2010-06-30 | 宇龙计算机通信科技(深圳)有限公司 | 一种改变移动终端语音输出的方法及移动终端 |
CN202472879U (zh) * | 2011-12-20 | 2012-10-03 | 邹建文 | 变音备忘录 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104200824A (zh) * | 2014-08-25 | 2014-12-10 | 深圳市中兴移动通信有限公司 | 音频录制方法和装置 |
CN104200824B (zh) * | 2014-08-25 | 2019-05-03 | 努比亚技术有限公司 | 音频录制方法和装置 |
CN104616651A (zh) * | 2014-12-24 | 2015-05-13 | 张云霞 | 一种变声装置 |
CN105448300A (zh) * | 2015-11-12 | 2016-03-30 | 小米科技有限责任公司 | 用于通话的方法及装置 |
WO2019071374A1 (zh) * | 2017-10-09 | 2019-04-18 | 深圳传音通讯有限公司 | 一种移动通讯设备通话时改变原始声音的方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10073553B2 (en) | Scripting cross-device wearable interaction | |
US10445441B1 (en) | Method and apparatus for voice recognition unit simulation | |
CN109947387B (zh) | 音频采集方法、音频播放方法、系统、设备及存储介质 | |
CN110266996B (zh) | 视频会议控制方法、装置及终端设备 | |
CN113873195B (zh) | 视频会议控制方法、装置和存储介质 | |
CN109857364A (zh) | 音频播放方法及装置、存储介质、通信终端 | |
CN112463634B (zh) | 微服务架构下的软件测试方法及装置 | |
CN102984370A (zh) | 一种基于安卓的无线网络下变声通话的方法 | |
JP7476327B2 (ja) | オーディオデータ処理方法、遅延時間取得方法、サーバ、及びコンピュータプログラム | |
US20220353227A1 (en) | Message processing method, apparatus and electronic device | |
CN104092809A (zh) | 通话录音方法、通话录音播放方法及其相应装置 | |
CN109671429A (zh) | 语音交互方法及设备 | |
CN110413528A (zh) | 测试环境智能配置方法及系统 | |
US11886484B2 (en) | Music playing method and apparatus based on user interaction, and device and storage medium | |
CN107391219A (zh) | 函数编译方法和装置 | |
CN105929967A (zh) | 多路实时音频信号处理的仿真系统 | |
CN102016818A (zh) | 预定和进行中事件参加者之间的通信 | |
CN113572898B (zh) | 语音通话中的无声异常检测方法及对应的装置 | |
CN105657632B (zh) | 一种音频测试方法、终端及系统 | |
CN114786116A (zh) | 会议一体机的声音处理方法、会议一体机以及存储介质 | |
CN106375527B (zh) | 通话质量检测方法及移动终端 | |
CN102934426A (zh) | 数据分发设备、数据分发方法和程序 | |
CN110012175B (zh) | 用于调试ivr业务的装置、系统及其应用方法 | |
CN102946498B (zh) | 多线程,多路并行ivr智能语音电话群呼控制方法 | |
CN112433697A (zh) | 一种资源展示方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20130320 |