CN113342306B - 一种2路音频混合方法及处理终端 - Google Patents
一种2路音频混合方法及处理终端 Download PDFInfo
- Publication number
- CN113342306B CN113342306B CN202110682415.1A CN202110682415A CN113342306B CN 113342306 B CN113342306 B CN 113342306B CN 202110682415 A CN202110682415 A CN 202110682415A CN 113342306 B CN113342306 B CN 113342306B
- Authority
- CN
- China
- Prior art keywords
- audio data
- data
- audio
- dimensional array
- array
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 24
- 229910002056 binary alloy Inorganic materials 0.000 claims abstract description 9
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 230000003993 interaction Effects 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/16—Sound input; Sound output
- G06F3/165—Management of the audio stream, e.g. setting of volume, audio stream path
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Stereophonic System (AREA)
Abstract
本发明公开一种2路音频混合方法及处理终端,所述方法包括:接收2路音频数据,并存入同一个二维数组,得到二维数组音频数据;判断二维数组音频数据是否符合条件一,若符合,则继续处理,若否,则结束处理;将二维数组音频数据中的所有数据元素转换为十六进制,且将单数指针地址所在的数据元素左移8位,得到转换数组音频数据;遍历转换数组音频数据中的所有数据元素,将所有数据元素进行累加求和后除以2,得到混音音频数据;将混音音频数据的所有数据元素恢复为二进制,且将单数指针地址所在的数据元素右移8位,得到的数组音频数据再存入空音频文件,得到完整的音频数据文件。本发明能够实现音频交互的同时保证音频质量,且数据处理量小。
Description
技术领域
本发明涉及音频混音技术领域,具体涉及一种2路音频混合方法及处理终端。
背景技术
在视频通话或其他场景中,进程需要将远端传输过来的网络音频数据和本地音频数据进行混合算法处理后再输出,以提高混音质量效果。现有的很多音频混合算法处理复杂,处理数据量大,需要消耗大量的计算资源,在移动终端等计算资源相对有限的设备上不适用。因此,需要一种数据处理量小、混音效果好的算法。
发明内容
针对现有技术的不足,本发明的目的之一提供一种2路音频混合方法,其能够解决音频混合处理量大和混音质量差的问题;
本发明的目的之二提供一种处理终端,其能够解决音频混合处理量大和混音质量差的问题;
实现本发明的目的之一的技术方案为:一种2路音频混合方法,包括如下步骤:
步骤1:接收2路音频数据,并将所述2路音频数据存入同一个二维数组,得到二维数组音频数据;
步骤2:判断二维数组音频数据是否符合条件一,若符合,则继续处理,若否,则结束处理,
条件一:存在2路音频数据且二维数组音频数据中的2个音频数据的长度一致;
步骤3:遍历所述二维数组音频数据中的所有数据元素,将二维数组音频数据中每个指针地址为单数所在的数据元素转换为十六进制后再向左移8位,指针地址为双数所在的数据元素转换为十六进制,得到新的数组音频数据,并记为转换数组音频数据;
步骤4:遍历所述转换数组音频数据中的所有数据元素,将所有数据元素进行累加求和后除以当前输入的音频数据路数,得到混音音频数据;
步骤5:将混音音频数据中每个指针地址为单数所在的数据元素恢复为二进制后再向右移8位,指针地址为双数所在的数据元素转换恢复为二进制,得到新的数组音频数据,得到新的数组音频数据存入初始化过的空音频文件,从而得到完整的音频数据文件。
进一步地,2路音频数据包括网络音频流数据和本地音频流数据。
进一步地,所述判断二维数组音频数据是否符合条件一的具体实现,包括以下步骤:
判断二维数组音频数据是否为空,若为空,则未符合条件一,若为非空,则进一步判断二维数组音频数据的长度,若长度为1,则未符合条件一,否则,符合条件一。
实现本发明目的之二的技术方案为:一种处理终端,其包括,
存储器,用于存储程序指令;
处理器,用于运行所述程序指令,以执行所述2路音频混合方法的步骤。
本发明的有益效果为:本发明能够实现音频交互的同时保证音频质量,且整个音频混音过程仅涉及到数组存储和数组中数据元素的进制转换和求和等运算,处理量小,能够很好地应用在android系统等移动终端上。
附图说明
图1为本发明的流程示意图;
图2为本发明一种处理终端的结构示意图。
具体实施方式
下面,结合附图以及具体实施方案,对本发明做进一步描述。
如图1所示,一种2路音频混合方法,包括如下步骤:
步骤1:接收2路音频数据,并将所述2路音频数据存入同一个二维数组,得到二维数组音频数据。
2路音频数据也即是待混音的2路音频流数据,例如,一路为网络音频流数据,另一路为本地音频流数据。
假设网络音频流数据为networkAudio,本地音频流数据为nativeAudio,得到的二维数组音频数据为bMulRoadAudioes,则在程序上,将2路音频数据存入同一个二维数组如下:
Byte[][]bMulRoadAudioes={byte[]nativeAudio,byte[]networkAudio}。
步骤2:判断二维数组音频数据是否符合条件一,若符合,则继续处理,若否,则结束处理直接退出不混音。
条件一:存在2路音频数据且二维数组音频数据中的2个音频数据的长度一致。
其中,判断二维数组音频数据是否为空,若为空,则意味着二维数组音频数据没有成功接收到两路音频数据,可以直接结束处理。若为非空,则进一步判断二维数组音频数据的长度,若长度为1,则说明当前的二维数组音频数据只有一路的音频数据,从而说明二维数组音频数据中没有2路音频数据,否则,二维数组音频数据含有2路音频数据。没有音频数据或只有一路音频数据都无法进行混音,因此,可以直接结束处理。
其中,判断2个音频数据的长度是否一致,以其中一路的音频数据为基准,例如,以本地音频流数据为基准,判断网络音频流数据是否与本地音频流数据一致,若一致,则2个音频数据的长度是一致的,否则,就是不一致的。
步骤3:遍历所述二维数组音频数据中的所有数据元素,将二维数组音频数据中每个指针地址为单数所在的数据元素转换为十六进制后再向左移8位,指针地址为双数所在的数据元素转换为十六进制,得到新的数组音频数据,并记为转换数组音频数据。
本步骤中,由于二进制允许的最大值为255,因此若使用二进制则会超出最大值,故而需要转换为十六进制。
向左移8位目的在于选取二维数组音频数据中音频数据部分的高低位,也即获得数据存储的大小端。
音频数据编码格式默认为大端存储方式,大端存储方式也即是指音频数据的高字节保存在内存的低地址中,而音频数据的低字节保存在内存的高地址中,这样的存储方法类似于把音频数据当作字符串顺序处理:地址由小向大增加,而数据从高位往低位放。因此,需要左移8位取值,否则获取到的音频数据是错误,以至于合成的音频数据也是错误的。
步骤4:遍历所述转换数组音频数据中的所有数据元素,将所有数据元素进行累加求和后除以当前输入的音频数据路数,也即累加求和结果除以2,得到混音音频数据。
在程序上,可以用以下程序来表达实现:
mixVal+=mediumMulRoadAudioes[sr][sc];
//最终值不能大于short最大值,避免可能出现溢出
MixAudio[sr]=(short)(mixVal/2);
//2代表音频数据路数,即代表当前输入的音频数据为输入2路音频数据。MixAudio[sr]也即是得到的混音音频数据。
步骤5:将混音音频数据中每个指针地址为单数所在的数据元素恢复为二进制后再向右移8位,指针地址为双数所在的数据元素转换恢复为二进制,得到新的数组音频数据,得到新的数组音频数据存入初始化过的空音频文件,从而得到完整的音频数据文件,完成2路音频数据混合。
经过以上处理后得到的混音音频数据输出播放时,能够实现音频交互的同时保证音频质量,且整个音频混音过程仅涉及到数组存储和数组中数据元素的进制转换和求和等运算,处理量小,能够很好地应用在android系统等移动终端上。
如图2所示,本发明还涉及2路音频混合方法的实体实现处理终端100,其包括,
存储器101,用于存储程序指令;
处理器102,用于运行所述程序指令,以执行所述2路音频混合方法中的步骤。
本说明书所公开的实施例只是对本发明单方面特征的一个例证,本发明的保护范围不限于此实施例,其他任何功能等效的实施例均落入本发明的保护范围内。对于本领域的技术人员来说,可根据以上描述的技术方案以及构思,做出其它各种相应的改变以及变形,而所有的这些改变以及变形都应该属于本发明权利要求的保护范围之内。
Claims (4)
1.一种2路音频混合方法,其特征在于,包括如下步骤:
步骤1:接收2路音频数据,并将所述2路音频数据存入同一个二维数组,得到二维数组音频数据;
步骤2:判断二维数组音频数据是否符合条件一,若符合,则继续处理,若否,则结束处理,
条件一:存在2路音频数据且二维数组音频数据中的2个音频数据的长度一致;
步骤3:遍历所述二维数组音频数据中的所有数据元素,将二维数组音频数据中每个指针地址为单数所在的数据元素转换为十六进制后再向左移8位,指针地址为双数所在的数据元素转换为十六进制,得到新的数组音频数据,并记为转换数组音频数据;
步骤4:遍历所述转换数组音频数据中的所有数据元素,将所有数据元素进行累加求和后除以当前输入的音频数据路数,得到混音音频数据;
步骤5:将混音音频数据中每个指针地址为单数所在的数据元素恢复为二进制后再向右移8位,指针地址为双数所在的数据元素转换恢复为二进制,得到新的数组音频数据,得到新的数组音频数据存入初始化过的空音频文件,从而得到完整的音频数据文件。
2.根据权利要求1所述的2路音频混合方法,其特征在于,2路音频数据包括网络音频流数据和本地音频流数据。
3.根据权利要求1所述的2路音频混合方法,其特征在于,所述判断二维数组音频数据是否符合条件一的具体实现,包括以下步骤:
判断二维数组音频数据是否为空,若为空,则未符合条件一,若为非空,则进一步判断二维数组音频数据的长度,若长度为1,则未符合条件一,否则,符合条件一。
4.一种处理终端,其特征在于,其包括,
存储器,用于存储程序指令;
处理器,用于运行所述程序指令,以执行如权利要求1-3任一项所述的2路音频混合方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110682415.1A CN113342306B (zh) | 2021-06-18 | 2021-06-18 | 一种2路音频混合方法及处理终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110682415.1A CN113342306B (zh) | 2021-06-18 | 2021-06-18 | 一种2路音频混合方法及处理终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113342306A CN113342306A (zh) | 2021-09-03 |
CN113342306B true CN113342306B (zh) | 2022-10-11 |
Family
ID=77477806
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110682415.1A Active CN113342306B (zh) | 2021-06-18 | 2021-06-18 | 一种2路音频混合方法及处理终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113342306B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102867514A (zh) * | 2011-07-07 | 2013-01-09 | 腾讯科技(北京)有限公司 | 一种混音方法和混音装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105023577B (zh) * | 2014-04-17 | 2019-07-05 | 腾讯科技(深圳)有限公司 | 混音处理方法、装置和系统 |
CN105869648B (zh) * | 2016-05-19 | 2019-11-22 | 日立楼宇技术(广州)有限公司 | 混音方法及装置 |
EP3949179A1 (en) * | 2019-04-05 | 2022-02-09 | TLS Corp. | Distributed audio mixing |
CN111432384B (zh) * | 2020-03-18 | 2023-05-09 | 合肥讯飞读写科技有限公司 | 用于具有录音功能设备的大数据量音频蓝牙实时传输方法 |
-
2021
- 2021-06-18 CN CN202110682415.1A patent/CN113342306B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102867514A (zh) * | 2011-07-07 | 2013-01-09 | 腾讯科技(北京)有限公司 | 一种混音方法和混音装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113342306A (zh) | 2021-09-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109246671A (zh) | 数据传输方法、装置及系统 | |
CN109617829B (zh) | 一种业务请求数据的处理方法、装置及系统 | |
CN110913442A (zh) | 网络切换方法、装置、电子设备及存储介质 | |
CN109002357B (zh) | 资源分配方法、装置及物联网系统 | |
CN109144445A (zh) | 无线传屏方法及装置 | |
CN113342306B (zh) | 一种2路音频混合方法及处理终端 | |
CN103731672A (zh) | 一种音视频解码方法及智能电视 | |
CN110324632A (zh) | 一种基于OpenMP多核并行机制的数据处理与验证方法 | |
CN109495776A (zh) | 一种音频发送、播放的方法及智能终端 | |
WO2023231723A1 (zh) | 流媒体数据处理方法及系统 | |
CN111756649A (zh) | 一种数据传输方法、装置、设备及计算机可读存储介质 | |
WO2023077866A1 (zh) | 多媒体数据处理方法、装置、电子设备及存储介质 | |
CN110035308A (zh) | 数据处理方法、设备和存储介质 | |
CN112492335B (zh) | 一种视频处理系统、方法和装置 | |
CN116431585A (zh) | 文件的压缩方法及其装置、文件的解压方法及其装置 | |
CN113890540A (zh) | 一种并行加速lz77解码方法及装置 | |
CN113329076B (zh) | 数据传输方法、装置及系统、计算机设备、存储介质 | |
WO2024002077A1 (zh) | 数据传输的方法、多核芯片 | |
CN106341519B (zh) | 音频数据处理方法和装置 | |
CN114442951A (zh) | 传输多路数据的方法、装置、存储介质和电子设备 | |
CN105162882A (zh) | 控件间传输数据的方法和装置 | |
CN116541153B (zh) | 边缘计算的任务调度方法、系统、可读存储介质及计算机 | |
CN116665836B (zh) | 序列数据的编辑存储方法、读取播放方法和电子设备 | |
CN105068949A (zh) | 一种数据传输方法及装置 | |
CN117014647A (zh) | 一种音视频信息传输方法、系统、终端设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: No. 56 Nanli East Road, Shiqi Town, Panyu District, Guangzhou City, Guangdong Province, 510000 Patentee after: Guangdong Baolun Electronics Co.,Ltd. Address before: No.19 Chuangyuan Road, Zhongcun street, Panyu District, Guangzhou, Guangdong 510000 Patentee before: GUANGZHOU ITC ELECTRONIC TECHNOLOGY Co.,Ltd. |