CN114827656A - 麦克风数据中混合多路音频的处理方法及装置 - Google Patents
麦克风数据中混合多路音频的处理方法及装置 Download PDFInfo
- Publication number
- CN114827656A CN114827656A CN202210430199.6A CN202210430199A CN114827656A CN 114827656 A CN114827656 A CN 114827656A CN 202210430199 A CN202210430199 A CN 202210430199A CN 114827656 A CN114827656 A CN 114827656A
- Authority
- CN
- China
- Prior art keywords
- audio
- data
- mixed
- audio data
- amplitude
- 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
- 238000003672 processing method Methods 0.000 title abstract description 4
- 238000000034 method Methods 0.000 claims abstract description 55
- 230000000694 effects Effects 0.000 claims abstract description 53
- 238000012545 processing Methods 0.000 claims abstract description 37
- 230000008569 process Effects 0.000 claims abstract description 35
- 230000003313 weakening effect Effects 0.000 claims description 22
- 238000004364 calculation method Methods 0.000 claims description 4
- 238000013500 data storage Methods 0.000 claims description 3
- 238000005070 sampling Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000003321 amplification Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 238000003199 nucleic acid amplification method Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/233—Processing of audio elementary streams
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/008—Multichannel audio signal coding or decoding using interchannel correlation to reduce redundancy, e.g. joint-stereo, intensity-coding or matrixing
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
- G10L19/16—Vocoder architecture
- G10L19/167—Audio streaming, i.e. formatting and decoding of an encoded audio signal representation into a data stream for transmission or storage purposes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/439—Processing of audio elementary streams
- H04N21/4394—Processing of audio elementary streams involving operations for analysing the audio stream, e.g. detecting features or characteristics in audio streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/439—Processing of audio elementary streams
- H04N21/4398—Processing of audio elementary streams involving reformatting operations of audio signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/485—End-user interface for client configuration
- H04N21/4852—End-user interface for client configuration for modifying audio parameters, e.g. switching between mono and stereo
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04R—LOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
- H04R3/00—Circuits for transducers, loudspeakers or microphones
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Mathematical Physics (AREA)
- Circuit For Audible Band Transducer (AREA)
Abstract
本发明一种麦克风数据中混合多路音频的处理方法及装置,涉及音视频处理技术领域,其包括接收并解码用户的音频混合请求,得到待混合音频数据;将待混合音频数据进行叠加;计算混合音频样本数据的输出振幅;将输出振幅与预设振幅进行判断,调整输出振幅,得到基础混合音频数据;拦截麦克风所输出的数据作为录音数据;将录音数据与基础混合音频数据进行混合处理,得到目标混合音频数据,以及将目标混合音频数据发送到进程中。本发明实施例实现了在麦克风数据中添加混合音频数据,便于调取使用,同时避免了其他音频对混合音频的干扰,提高了录音数据与多路音频的混合效果,避免系统上其他软件获取到的麦克风数据只有环境外部声音。
Description
技术领域
本申请涉及音视频处理技术领域,尤其涉及一种麦克风数据中混合多路音频的处理方法及装置。
背景技术
如今多媒体服务应用十分广泛,在多媒体服务中音频互动是重要的组成部分之一,它是多媒体服务中的最基本的要素,而对于视频会议的多媒体服务来说,语音数据的丢包及延时卡顿的问题是视频会议的难点,而多路音频的发送和多个端点同时相互发送数据会进一步增加网络传输的负担,如果将多路音频通过混音处理后发送则能够减低网络传输的负担。并且随着通信技术的发展壮大,网络直播和视频会议的运用越来越普遍,需要将麦克风添加多路混合音频,以形成混合音频。
现有的麦克风添加多路混合音频时,需要使用特定的软件并且极其消耗网络的带宽,而且因为音频数据不是混合进入麦克风输出的,所以导致系统上其他软件获取到的麦克风数据还是只有环境外部的声音,致使麦克风的多路音频混合效果较差。
发明内容
本申请实施例的目的在于提出一种麦克风数据中混合多路音频的处理方法及装置,以实现麦克风数据中添加混合音频数据,避免了其他音频对混合音频的干扰,提高录音数据与多路音频的混合效果。
为了解决上述技术问题,本申请实施例提供一种麦克风数据中混合多路音频的处理方法,包括:
接收用户的音频混合请求,并根据所述音频混合请求从音频数据库中获取所述音频混合请求对应的音频文件,作为初始音频,且对所述初始音频进行解码,得到待混合音频数据,其中,所述待混合音频数据为脉冲调制编码数据;
根据第一预设公式,将所述待混合音频数据进行叠加,得到叠加结果,其中,所述叠加结果中包括多帧混合音频样本数据;
针对所述叠加结果中任一帧的混合音频样本数据,计算其输出振幅;
将所述输出振幅与预设振幅进行比较,得到比较结果,并基于所述比较结果,调整所述混合音频样本数据的振幅,得到基础混合音频数据,且将所述基础混合音频数据储存于预设的虚拟共享内存中;
当存在进程请求获取麦克风输出数据时,拦截所述麦克风所输出的数据,作为录音数据;
从所述预设的虚拟共享内存中获取所述基础混合音频数据,将所述录音数据与所述基础混合音频数据进行混合处理,得到目标混合音频数据,且将所述目标混合音频数据发送到所述进程中。
为了解决上述技术问题,本申请实施例提供一种麦克风数据中混合多路音频的处理装置,包括:
待混合音频数据获取模块,用于接收用户的音频混合请求,并根据所述音频混合请求从音频数据库中获取所述音频混合请求对应的音频文件,作为初始音频,且对所述初始音频进行解码,得到待混合音频数据,其中,所述待混合音频数据为脉冲调制编码数据;
待混合音频数据叠加模块,用于根据第一预设公式,将所述待混合音频数据进行叠加,得到叠加结果,其中,所述叠加结果中包括多帧混合音频样本数据;
输出振幅计算模块,用于针对所述叠加结果中任一帧的混合音频样本数据,计算其输出振幅;
基础混合音频数据生成模块,用于将所述输出振幅与预设振幅进行比较,得到比较结果,并基于所述比较结果,调整所述混合音频样本数据的振幅,得到基础混合音频数据,且将所述基础混合音频数据储存于预设的虚拟共享内存中;
录音数据拦截模块,用于当存在进程请求获取麦克风输出数据时,拦截所述麦克风所输出的数据,作为录音数据;
目标混合音频数据生成模块,用于从所述预设的虚拟共享内存中获取所述基础混合音频数据,将所述录音数据与所述基础混合音频数据进行混合处理,得到目标混合音频数据,且将所述目标混合音频数据发送到所述进程中。
本发明实施例提供了一种麦克风数据中混合多路音频的处理方法及装置。其中,方法包括:接收用户的音频混合请求,并根据音频混合请求从音频数据库中获取音频混合请求对应的音频文件,作为初始音频,且对初始音频进行解码,得到待混合音频数据,其中,待混合音频数据为脉冲调制编码数据;根据第一预设公式,将待混合音频数据进行叠加,得到叠加结果,其中,叠加结果中包括多帧混合音频样本数据;针对叠加结果中任一帧的混合音频样本数据,计算其输出振幅;将输出振幅与预设振幅进行比较,得到比较结果,并基于比较结果,调整混合音频样本数据的振幅,得到基础混合音频数据,且将基础混合音频数据储存于预设的虚拟共享内存中;当存在进程请求获取麦克风输出数据时,拦截麦克风所输出的数据,作为录音数据;从预设的虚拟共享内存中获取基础混合音频数据,将录音数据与基础混合音频数据进行混合处理,得到目标混合音频数据,且将目标混合音频数据发送到进程中。
本发明实施例通过对音频混合请求进行解码,对解码后得到的待混合音频数据进行叠加和调整输出振幅,以使得多个音频进行混合,并拦截麦克风输出数据,将录音数据与基础混合音频数据进行混合处理,从而得到目标混合音频数据,实现了在麦克风数据中添加混合音频数据,便于调取使用,同时避免了其他音频对混合音频的干扰,提高了录音数据与多路音频的混合效果,使得系统上其他软件获取到的麦克风数据即为包含环境外部声音和音效的混合音频数据。
附图说明
为了更清楚地说明本申请中的方案,下面将对本申请实施例描述中所需要使用的附图作一个简单介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一的实现流程图;
图2是本发明实施例二的实现流程图;
图3是本发明实施例三的实现流程图;
图4是本发明实施例四的实现流程图;
图5是本发明实施例五的实现流程图;
图6是本发明实施例六的实现流程图
图7是本申请实施例提供的音效通道示意图;
图8是本发明实施例七的实现流程图;
图9是本申请实施例提供的音量调节示意图;
图10是本申请实施例提供的麦克风音量调节示意图;
图11是本申请实施例提供的麦克风数据中混合多路音频的处理装置示意图。
具体实施方式
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
为了使本技术领域的人员更好地理解本申请方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。
下面结合附图和实施方式对本发明进行详细说明。
需要说明的是,本申请实施例所提供的麦克风数据中混合多路音频的处理方法一般由服务器执行,相应地,麦克风数据中混合多路音频的处理装置一般配置于服务器中。
请参阅图1和2,图1是本发明实施例一的实现流程图,图2是本发明实施例二的实现流程图。
需注意的是,若有实质上相同的结果,本发明的方法并不以图1所示的流程顺序为限,该方法包括如下步骤:
S1:接收用户的音频混合请求,并根据音频混合请求从音频数据库中获取音频混合请求对应的音频,作为初始音频文件,且对初始音频进行解码,得到待混合音频数据,其中,待混合音频数据为脉冲调制编码数据。
具体的,本实施提供了一个音效助手软件,用户在音频通道点击了多个音频时,则生成音频混合请求,并根据音频混合请求从音频数据库中获取音频混合请求对应的音频文件,作为初始音频,且对初始音频进行解码,得到每一帧的脉冲调制编码数据,并将脉冲调制编码数据作为待混合音频数据。
在步骤S1之前还包括:
判断是否已开启通过麦克风输出混合音效;
若未开启通过麦克风输出混合音效,则停止执行待混合音频数据的混合处理,当存在进程请求获取麦克风输出数据时,直接向进程输出麦克风数据。
具体的,判断是否开启通过麦克风输出混合音效,若为未开启通过麦克风输出混合音效,则所有解码出来的待混合音频数据不会经过任何处理,麦克风输出的声音也不会有混合音效。若判断结果为开启通过麦克风输出混合音效,则执行步骤S2。
请参阅图3,图3是本发明实施例三的实现流程图,详叙如下:
S11:接收用户的音频混合请求,并对音频混合请求进行解析,以从音频数据库中获取音频混合请求对应的音频文件,作为初始音频。
S12:判断初始音频的格式是否兼容硬解码,得到第一判断结果。
S13:若第一判断结果为初始音频的格式兼容硬解码,则通过媒体编解码器对初始音频进行硬解码,得到脉冲调制编码数据,并将脉冲调制编码数据作为待混合音频数据。
S14:若第一判断结果为初始音频的格式不兼容硬解码,则对初始音频进行软解码,得到脉冲调制编码数据,并将脉冲调制编码数据作为待混合音频数据。
具体的,媒体编解码器是指MediaCodec,MediaCodec是Android提供的用于对音视频进行编解码的类,它通过访问底层的codec来实现编解码的功能。由于MediaCodec在对音频解码时能减少CPU性能的消耗,所以能够符合MediaCodec解码的格式的音频数据,优先使用MediaCodec进行解码。但是由于MediaCodec兼容的音频格式有限,所以需要判断初始音频是否能够兼容硬解码,若兼容则通过MediaCodec进行硬解码,否则通过FFmpeg对初始音频进行软解码。其中,硬解码是通过硬件实现的解码。软解码是指通过软件让CPU来对视频进行解码处理。FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。
本实施例中,通过接收用户的音频混合请求,并对音频混合请求进行解析,以从音频数据库中获取音频混合请求对应的音频,作为初始音频,并判断初始音频是否兼容硬解码,得到第一判断结果,并基于第一判断结果,将初始音频进行硬解码或软解码,有利于减少CPU性能的消耗,提高解码效率。
S2:若判断结果为开启通过麦克风输出混合音效,则根据第一预设公式,将待混合音频数据进行叠加,得到叠加结果,其中,叠加结果中包括多帧混合音频样本数据。
具体的,第一预设公式为:
其中,n为输入的音频流个数,m为一帧音频数据的采样数,j为一帧音频数据中的第j个样本,i为第i个音频流,mix[j]表示为混音后的一帧中的第j个混合音频样本数据,input[i][j]为第i个音频流当前帧的第j个混合音频样本数据。
S3:针对叠加结果中任一帧的混合音频样本数据,计算其输出振幅。
具体的,设置衰弱因子,先初始化衰弱因子为1,采用预设公式对任一帧的待混合音频数据进行计算处理,得到每一帧的待混合音频数据的输出振幅。
S4:将输出振幅与预设振幅进行判断,得到比较结果,并基于比较结果,调整混合音频样本数据的的振幅,得到基础混合音频数据,且将基础混合音频数据储存于预设的虚拟共享内存中。
请参阅图4,图4是本发明实施例四的实现流程图,详叙如下:
S41:将输出振幅与预设振幅进行比较,得到比较结果。
S42:预设衰弱因子,并初始化,若比较结果为输出振幅大于预设最大振幅,则获取第一因子,并根据第一因子更新衰弱因子,通过衰弱因子调整混合音频样本数据的振幅,得到基础混合音频数据,且将基础混合音频数据储存于预设的虚拟共享内存中。
S43:若比较结果为输出振幅小于预设最小振幅,则获取第二因子,并根据第二因子更新衰弱因子,通过衰弱因子调整混合音频样本数据的振幅,得到基础混合音频数据,且将基础混合音频数据储存于预设的虚拟共享内存中。
S44:若衰弱因子小于1,则将衰弱因子与步长进行相加,作为下一帧的衰弱因子,并返回执行针对叠加结果中任一帧的混合音频样本数据,计算其输出振幅的步骤,直至所有的脉冲调制编码数据混合处理完成,得到基础混合音频数据,且将基础混合音频数据储存于预设的虚拟共享内存中。
具体的,若比较结果为输出振幅大于预设最大振幅,则获取第一因子,并根据第一因子更新衰弱因子,通过衰弱因子调整输出振幅的振幅,其中,第一因子=最大振幅max/输出振幅output[j],如此,此时的输出振幅output[j]即为最大振幅max,也即使得输出振幅不大于预设最大振幅。若比较结果为输出振幅小于预设最小振幅,则获取第二因子,并根据第二因子更新衰弱因子,以及调整输出振幅的振幅,其中,第二因子=最小振幅min/输出振幅output[j],如此,此时的输出振幅output[j]即为最小振幅min,也即使得输出振幅不小于预设最小振幅。若输出振幅中的衰弱因子小于1,则将输出振幅中的衰弱因子与步长进行相加,作为的衰弱因子,并返回执行步骤S3,直至所有的脉冲调制编码数据混合处理完成,得到基础混合音频数据,以及将基础混合音频数据储存于预设的虚拟共享内存中。本实施例中的步长作为衰弱因子变化的步长,假设规定输出的混合音频为16位的音频,则步长取值为(1-f)/16。
需要说明的是,预设最大振幅和预设最小振幅根据实际情况进行设定,此处不做限定。
本实施例中,通过将输出振幅与预设振幅进行判断,得到比较结果,并基于比较结果,调整输出结果的振幅,得到基础混合音频数据,以及将基础混合音频数据储存于预设的虚拟共享内存中,实现了将多个音频进行混合处理,得到基础音频数据,便于将后续麦克风的录音数据与多路音频数据进行重新混合处理,有利于提高混合处理的效率。
请参阅图5,图5是本发明实施例五的实现流程图,详叙如下:
S421:预设衰弱因子,并初始化,若比较结果为输出振幅大于预设最大振幅,则获取第一因子,并根据第一因子更新衰弱因子,通过衰弱因子调整混合音频样本数据的振幅,得到基础混合音频数据。
S422:通过本地套接字LocalSocket将基础混合音频数据发送到硬件抽象层中。
S423:当硬件抽象层中的预设服务器程序接收到混合音频数据时,将混合音频数据储存于预设的虚拟共享内存中。
具体的,在得到基础混合音频数据后,通过本地套接字LocalSocket将基础混合音频数据,通过链表的形式有序地发送给硬件抽象层的预设服务端程序,预设服务端程序接收到基础混合音频数据后将其储存于预设的虚拟共享内存中。其中,链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。套接字(Socket),就是对网络中不同主机上的应用进程之间进行双向通信的端点的抽象。一个套接字就是网络上进程通信的一端,提供了应用层进程利用网络协议交换数据的机制。
S5:当存在进程请求获取麦克风输出数据时,拦截麦克风所输出的数据,作为录音数据。
具体的,当存在服务程序开始录音请求时,也即当存在进程请求获取麦克风输出数据时,拦截麦克风所输出的数据,作为录音数据,该录音数据为多帧脉冲调制编码数据。
S6:从预设的虚拟共享内存中获取基础混合音频数据,将录音数据与基础混合音频数据进行混合处理,得到目标混合音频数据,且将目标混合音频数据发送到进程中。
具体的,上述步骤已经将多路音频数据进行混合,并将混合后的基础混合音频数据已经储存于预设的虚拟共享内存中。当拦截到录音数据,需要将录音数据与基础混合数据进行混合处理时,则从预设的虚拟共享内存中获取基础混合音频数据,并将录音数据与基础混合音频数据进行混合处理。该混合处理过程与步骤S2-步骤5的混合过程相同,为避免重复,此处不再赘述。
请参阅图2,图2是本发明实施例二的实现流程图。
在实施例二中,用户打开音效助手软件,则音效助手软件展示用户操作界面,用户可以在用户操作界面上选择不同的音效(如音效、背景音乐、视频中的音频);然后通过解码器Decoder对选中的音效进行解码,得到不同的脉冲调制编码数据,再判断是否开启通过麦克风输出混合音效,得到判断结果,若判断结果为未开启通过麦克风输出混合音效,则停止执行待混合音频数据(脉冲调制编码数据)的混合处理;若判断结果为未开启通过麦克风输出混合音效,则通过自适应加权归一化混音算法(也即步骤S2-步骤S5)对待混合音频数据进行混合处理;当其他发起录音请求的程序向麦克风进程发起录音请求时,麦克风进程返回待混合音频数据,并拦截麦克风捕获的脉冲调制编码数据;然后通过服务端进程从预设的虚拟共享内容中读取待混合音频数据,将读取到的待混合音频数据与麦克风捕获的脉冲调制编码数据通过自适应加权归一化混音算法进行混合处理,得到最终混合后的音频数据。
本实施例中,接收用户的音频混合请求,并根据音频混合请求从音频数据库中获取音频混合请求对应的音频文件,作为初始音频,且对初始音频进行解码,得到待混合音频数据,其中,待混合音频数据为脉冲调制编码数据;根据第一预设公式,将待混合音频数据进行叠加,得到叠加结果,其中,叠加结果中包括多帧混合音频样本数据;针对叠加结果中任一帧的混合音频样本数据,计算其输出振幅;将输出振幅与预设振幅进行比较,得到比较结果,并基于比较结果,调整混合音频样本数据的振幅,得到基础混合音频数据,且将基础混合音频数据储存于预设的虚拟共享内存中;当存在进程请求获取麦克风输出数据时,拦截麦克风所输出的数据,作为录音数据;从预设的虚拟共享内存中获取基础混合音频数据,将录音数据与基础混合音频数据进行混合处理,得到目标混合音频数据,且将目标混合音频数据发送到进程中。本发明实施例通过对音频混合请求进行解码,对解码后得到的待混合音频数据进行叠加和调整输出振幅,以使得多个音频进行混合,并拦截麦克风输出数据,将录音数据与基础混合音频数据进行混合处理,从而得到目标混合音频数据,实现了在麦克风数据中添加混合音频数据,便于调取使用,同时避免了其他音频对混合音频的干扰,提高了录音数据与多路音频的混合效果,使得系统上其他软件获取到的麦克风数据即为包含环境外部声音和音效的混合音频数据。
请参阅图6-7,图6是本发明实施例六的实现流程图,图7示出了一种音效通道示意图。
S6A:若接收到显示请求,则显示多个预设的音频通道,其中,音频通道包括多个音效。
S6B:若用户选择音频通道中的多个音效,则生成音频混合请求。
具体的,音效助手软件的音频通道中包括了音效通道、背景音乐通道、视频源通道以及设置通道,音效通道中包括了多个音效(如短笑音效、群众欢呼音效),背景音乐通道包括了多首音乐,视频源通道包括了多个视频。在接收到用户显示请求,则音效助手软件打开该解码,并显示多个预设的音频通道。若用户点击了音效通道、背景音乐通道、视频源通道中的不同音效,则生成音频混合请求,音效助手软件会根据音频混合请求进行对应音频进行混合处理。
请参阅图8-10,图8示出了是本发明实施例七的实现流程图,图9示出了一种音量调节示意图,图10示出了一种麦克风音量调节示意图。
S6C:若接收到音频混合请求中对应音效的音量调节请求,则根据音量调节请求,调整待混合音频数据的输入振幅。
S6D:若接收到麦克风音量调节请求时,则根据麦克风音量调节请求调整录音数据的输入振幅。
具体的,请参阅图9,若用户点击图9中①的“+”号进入音乐选择界面,用户选择的音乐文件会在列表中显示,点击音乐的名字则会开始解码和播放音乐文件,点击图9中③的位置可以暂停解码与播放音乐,点击④的位置可以设置音乐播放的模式,如:随机播放、单曲循环、列表播放,点击图中的⑤的位置可以设置背景音乐在进行多音频合成时所占的声音大小,若发起音量调节请求,则根据音量调节请求,调整待混合音频数据的输入振幅。例如设置背景音乐的合成音量为0.5,则进行多路音频混合处理时,处理背景音乐的输入振幅时,将输入振幅的衰弱因子乘以0.5,以实现声音的减小。
请参阅图10,图10的麦克风状态表示的是当前麦克风输出声音数据的音量大小,该大小会动态变化;第二个设置,若开启麦克风输出,则音效助手软件会把解码出来的脉冲调制编码数据进行混合处理,并通过麦克风输出混合音效。若关闭麦克风输出,则所有解码出来的脉冲调制编码数据不会经过任何处理,麦克风输出的声音也不会有混合音效;第三个设置,若开启声音外放,则在解码音频文件的时候会同步将声音通过扬声器进行播放;若关闭声音外放,则不会通过扬声器播放,麦克风输出和声音外放两个设置是完全独立的,不会互相干扰。若接收到麦克风音量调节请求时,则根据麦克风音量调节请求调整录音数据的输入振幅。
请参考图11,作为对上述图1所示方法的实现,本申请提供了一种麦克风数据中混合多路音频的处理装置的一个实施例,该装置实施例与图1所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图11所示,本实施例的麦克风数据中混合多路音频的处理装置包括:待混合音频数据获取模块71、待混合音频数据叠加模块72、输出振幅计算模块73、基础混合音频数据生成模块74、基础混合音频数据生成模块74、录音数据拦截模块75以及目标混合音频数据生成模块76,其中:
待混合音频数据获取模块71,用于接收用户的音频混合请求,并根据音频混合请求从音频数据库中获取音频混合请求对应的音频文件,作为初始音频,且对初始音频进行解码,得到待混合音频数据,其中,待混合音频数据为脉冲调制编码数据;
待混合音频数据叠加模块72,用于根据第一预设公式,将待混合音频数据进行叠加,得到叠加结果,其中,叠加结果中包括多帧混合音频样本数据;
输出振幅计算模块73,用于针对叠加结果中任一帧的混合音频样本数据,计算其输出振幅;
基础混合音频数据生成模块74,用于将输出振幅与预设振幅进行比较,得到比较结果,并基于比较结果,调整混合音频样本数据的振幅,得到基础混合音频数据,且将基础混合音频数据储存于预设的虚拟共享内存中;
录音数据拦截模块75,用于当存在进程请求获取麦克风输出数据时,拦截麦克风所输出的数据,作为录音数据;
目标混合音频数据生成模块76,用于从预设的虚拟共享内存中获取基础混合音频数据,将录音数据与基础混合音频数据进行混合处理,得到目标混合音频数据,且将目标混合音频数据发送到进程中。
待混合音频数据获取模块71之前,装置还包括:
麦克风开关判断模块,用于判断是否已开启通过麦克风输出混合音效;
判断结果处理模块,用于若未开启通过麦克风输出混合音效,则停止执行待混合音频数据的混合处理,当存在进程请求获取麦克风输出数据时,直接向进程输出麦克风数据。
进一步的,待混合音频数据获取模块71,包括:
初始音频获取单元,用于接收用户的音频混合请求,并对音频混合请求进行解析,以从音频数据库中获取音频混合请求对应的音频文件,作为初始音频;
第一判断结果生成单元,用于判断初始音频的格式是否兼容硬解码,得到第一判断结果;
第一解码单元,用于若第一判断结果为初始音频的格式兼容硬解码,则通过媒体编解码器对初始音频进行硬解码,得到脉冲调制编码数据,并将脉冲调制编码数据作为待混合音频数据;
第二解码单元,用于若第一判断结果为初始音频的格式不兼容硬解码,则对初始音频进行软解码,得到脉冲调制编码数据,并将脉冲调制编码数据作为待混合音频数据。
进一步的,基础混合音频数据生成模块74,包括:
比较结果生成单元,用于将输出振幅与预设振幅进行比较,得到比较结果;
第一结果处理单元,用于预设衰弱因子,并初始化,若比较结果为输出振幅大于预设最大振幅,则获取第一因子,并根据第一因子更新衰弱因子,通过衰弱因子调整混合音频样本数据的振幅,得到基础混合音频数据,且将基础混合音频数据储存于预设的虚拟共享内存中;
第二结果处理单元,用于若比较结果为输出振幅小于预设最小振幅,则获取第二因子,并根据第二因子更新衰弱因子,通过衰弱因子调整混合音频样本数据的振幅,得到基础混合音频数据,且将基础混合音频数据储存于预设的虚拟共享内存中;
第三结果处理单元,用于若衰弱因子小于1,则将衰弱因子与步长进行相加,作为下一帧的衰弱因子,并返回执行针对叠加结果中任一帧的混合音频样本数据,计算其输出振幅的步骤,直至所有的脉冲调制编码数据混合处理完成,得到基础混合音频数据,且将基础混合音频数据储存于预设的虚拟共享内存中。
进一步的,第一结果处理单元包括:
第一因子生成子单元,用于预设衰弱因子,并初始化,若比较结果为输出振幅大于预设最大振幅,则获取第一因子,并根据第一因子更新衰弱因子,通过衰弱因子调整混合音频样本数据的振幅,得到基础混合音频数据;
数据发送子单元,用于通过本地套接字LocalSocket将基础混合音频数据发送到硬件抽象层中;
数据储存子单元,用于当硬件抽象层中的预设服务器程序接收到混合音频数据时,将混合音频数据储存于预设的虚拟共享内存中。
第一预设公式为:
其中,n为输入的音频流个数,m为一帧音频数据的采样数,j为一帧音频数据中的第j个样本,i为第i个音频流,mix[j]表示为混音后的一帧中的第j个混合音频样本数据,input[i][j]为第i个音频流当前帧的第j个混合音频样本数据。
进一步的,麦克风数据中混合多路音频的处理装置还包括:
显示请求模块,用于若接收到显示请求,则显示多个预设的音频通道,其中,音频通道包括多个音效;
音频混合请求生成模块,用于若用户选择音频通道中的多个音效,则生成音频混合请求。
进一步的,麦克风数据中混合多路音频的处理装置还包括:
第一输入振幅调整模块,用于若接收到音频混合请求中对应音效的音量调节请求,则根据音量调节请求,调整待混合音频数据的输入振幅;
第二输入振幅调整模块,用于若接收到麦克风音量调节请求时,则根据麦克风音量调节请求调整录音数据的输入振幅。
显然,以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。
Claims (10)
1.一种麦克风数据中混合多路音频的处理方法,其特征在于,包括:
接收用户的音频混合请求,并根据所述音频混合请求从音频数据库中获取所述音频混合请求对应的音频文件,作为初始音频,且对所述初始音频进行解码,得到待混合音频数据,其中,所述待混合音频数据为脉冲调制编码数据;
根据第一预设公式,将所述待混合音频数据进行叠加,得到叠加结果,其中,所述叠加结果中包括多帧混合音频样本数据;
针对所述叠加结果中任一帧的混合音频样本数据,计算其输出振幅;
将所述输出振幅与预设振幅进行比较,得到比较结果,并基于所述比较结果,调整所述混合音频样本数据的振幅,得到基础混合音频数据,且将所述基础混合音频数据储存于预设的虚拟共享内存中;
当存在进程请求获取麦克风输出数据时,拦截所述麦克风所输出的数据,作为录音数据;
从所述预设的虚拟共享内存中获取所述基础混合音频数据,将所述录音数据与所述基础混合音频数据进行混合处理,得到目标混合音频数据,且将所述目标混合音频数据发送到所述进程中。
3.根据权利要求1所述的麦克风数据中混合多路音频的处理方法,其特征在于,所述接收用户的音频混合请求,并根据所述音频混合请求从音频数据库中获取所述音频混合请求对应的音频文件,作为初始音频,且对所述初始音频进行解码,得到待混合音频数据,其中,所述待混合音频数据为脉冲调制编码数据,包括:
接收用户的所述音频混合请求,并对所述音频混合请求进行解析,以从所述音频数据库中获取所述音频混合请求对应的音频文件,作为所述初始音频;
判断所述初始音频的格式是否兼容硬解码,得到第一判断结果;
若所述第一判断结果为所述初始音频的格式兼容硬解码,则通过媒体编解码器对所述初始音频进行硬解码,得到所述待混合音频数据;
若所述第一判断结果为所述初始音频的格式不兼容硬解码,则对所述初始音频进行软解码,得到所述待混合音频数据。
4.根据权利要求1所述的麦克风数据中混合多路音频的处理方法,其特征在于,所述将所述输出振幅与预设振幅进行比较,得到比较结果,并基于所述比较结果,调整所述混合音频样本数据的振幅,得到基础混合音频数据,且将所述基础混合音频数据储存于预设的虚拟共享内存中,包括:
将所述输出振幅与所述预设振幅进行比较,得到所述比较结果;
预设衰弱因子,并初始化,若所述比较结果为所述输出振幅大于预设最大振幅,则获取第一因子,并根据所述第一因子更新衰弱因子,通过衰弱因子调整所述混合音频样本数据的振幅,得到所述基础混合音频数据,且将所述基础混合音频数据储存于预设的虚拟共享内存中;
若所述比较结果为所述输出振幅小于预设最小振幅,则获取第二因子,并根据所述第二因子更新衰弱因子,通过衰弱因子调整所述混合音频样本数据的振幅,得到所述基础混合音频数据,且将所述基础混合音频数据储存于预设的虚拟共享内存中;
若所述衰弱因子小于1,则将所述衰弱因子与步长进行相加,作为下一帧的衰弱因子,并返回执行所述针对所述叠加结果中任一帧的混合音频样本数据,计算其输出振幅的步骤,直至所有的所述脉冲调制编码数据混合处理完成,得到所述基础混合音频数据,且将所述基础混合音频数据储存于预设的虚拟共享内存中。
5.根据权利要求4所述的麦克风数据中混合多路音频的处理方法,其特征在于,所述预设衰弱因子,并初始化,若所述比较结果为所述输出振幅大于预设最大振幅,则获取第一因子,并根据所述第一因子更新衰弱因子,通过衰弱因子调整所述混合音频样本数据的振幅,得到所述基础混合音频数据,且将所述基础混合音频数据储存于预设的虚拟共享内存中,包括:
预设衰弱因子,并初始化,若所述比较结果为所述输出振幅大于预设最大振幅,则获取第一因子,并根据所述第一因子更新衰弱因子,通过衰弱因子调整所述混合音频样本数据的振幅,得到所述基础混合音频数据;
通过本地套接字LocalSocket将所述基础混合音频数据发送到硬件抽象层中;
当所述硬件抽象层中的预设服务器程序接收到所述混合音频数据时,将所述混合音频数据储存于预设的所述虚拟共享内存中。
6.根据权利要求1所述的麦克风数据中混合多路音频的处理方法,其特征在于,所述方法还包括:
若接收到显示请求,则显示多个预设的音频通道,其中,所述音频通道包括多个音效;
若所述用户选择所述音频通道中的多个音效,则生成所述音频混合请求。
7.根据权利要求1至6任一项所述的麦克风数据中混合多路音频的处理方法,其特征在于,所述方法还包括:
若接收到音频混合请求中对应音效的音量调节请求,则根据所述音量调节请求,调整所述待混合音频数据的输入振幅;
若接收到麦克风音量调节请求,则根据所述麦克风音量调节请求调整所述录音数据的输入振幅。
8.一种麦克风数据中混合多路音频的处理装置,其特征在于,包括:
待混合音频数据获取模块,用于接收用户的音频混合请求,并根据所述音频混合请求从音频数据库中获取所述音频混合请求对应的音频文件,作为初始音频,且对所述初始音频进行解码,得到待混合音频数据,其中,所述待混合音频数据为脉冲调制编码数据;
待混合音频数据叠加模块,用于根据第一预设公式,将所述待混合音频数据进行叠加,得到叠加结果,其中,所述叠加结果中包括多帧混合音频样本数据;
输出振幅计算模块,用于针对所述叠加结果中任一帧的混合音频样本数据,计算其输出振幅;
基础混合音频数据生成模块,用于将所述输出振幅与预设振幅进行比较,得到比较结果,并基于所述比较结果,调整所述混合音频样本数据的振幅,得到基础混合音频数据,且将所述基础混合音频数据储存于预设的虚拟共享内存中;
录音数据拦截模块,用于当存在进程请求获取麦克风输出数据时,拦截所述麦克风所输出的数据,作为录音数据;
目标混合音频数据生成模块,用于从所述预设的虚拟共享内存中获取所述基础混合音频数据,将所述录音数据与所述基础混合音频数据进行混合处理,得到目标混合音频数据,且将所述目标混合音频数据发送到所述进程中。
9.根据权利要求8所述的麦克风数据中混合多路音频的处理装置,其特征在于,所述待混合音频数据获取模块之前,所述装置还包括:
麦克风开关判断模块,用于判断是否已开启通过麦克风输出混合音效;
判断结果处理模块,用于若未开启通过麦克风输出混合音效,则停止执行所述待混合音频数据的混合处理,当存在进程请求获取麦克风输出数据时,直接向进程输出麦克风数据。
10.根据权利要求8所述的麦克风数据中混合多路音频的处理装置,其特征在于,所述待混合音频数据获取模块,包括:
初始音频获取单元,用于接收用户的所述音频混合请求,并对所述音频混合请求进行解析,以从所述音频数据库中获取所述音频混合请求对应的音频文件,作为所述初始音频;
第一判断结果生成单元,用于判断所述初始音频的格式是否兼容硬解码,得到第一判断结果;
第一解码单元,用于若所述第一判断结果为所述初始音频的格式兼容硬解码,则通过媒体编解码器对所述初始音频进行硬解码,得到所述脉冲调制编码数据,并将所述脉冲调制编码数据作为所述待混合音频数据;
第二解码单元,用于若所述第一判断结果为所述初始音频的格式不兼容硬解码,则对所述初始音频进行软解码,得到所述脉冲调制编码数据,并将所述脉冲调制编码数据作为所述待混合音频数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210430199.6A CN114827656A (zh) | 2022-04-22 | 2022-04-22 | 麦克风数据中混合多路音频的处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210430199.6A CN114827656A (zh) | 2022-04-22 | 2022-04-22 | 麦克风数据中混合多路音频的处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114827656A true CN114827656A (zh) | 2022-07-29 |
Family
ID=82504742
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210430199.6A Pending CN114827656A (zh) | 2022-04-22 | 2022-04-22 | 麦克风数据中混合多路音频的处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114827656A (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101989430A (zh) * | 2009-07-30 | 2011-03-23 | 比亚迪股份有限公司 | 一种混音处理系统及混音处理方法 |
CN102610235A (zh) * | 2011-12-22 | 2012-07-25 | 深圳市万兴软件有限公司 | 混音处理方法、装置及智能设备 |
CN105872253A (zh) * | 2016-05-31 | 2016-08-17 | 腾讯科技(深圳)有限公司 | 一种直播声音处理方法及移动终端 |
CN106375905A (zh) * | 2016-11-30 | 2017-02-01 | 北京酷我科技有限公司 | 一种多路音频的合成和调节的方法 |
US20180353855A1 (en) * | 2017-06-12 | 2018-12-13 | Microsoft Technology Licensing, Llc | Audio balancing for multi-source audiovisual streaming |
CN110430330A (zh) * | 2019-08-08 | 2019-11-08 | 北京云中融信网络科技有限公司 | 一种基于通话的音频数据处理方法及装置 |
CN112951251A (zh) * | 2021-05-13 | 2021-06-11 | 北京百瑞互联技术有限公司 | 一种lc3音频混合方法、装置及存储介质 |
CN113539279A (zh) * | 2020-04-16 | 2021-10-22 | 腾讯科技(深圳)有限公司 | 一种音频数据处理方法、装置以及计算机可读存储介质 |
-
2022
- 2022-04-22 CN CN202210430199.6A patent/CN114827656A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101989430A (zh) * | 2009-07-30 | 2011-03-23 | 比亚迪股份有限公司 | 一种混音处理系统及混音处理方法 |
CN102610235A (zh) * | 2011-12-22 | 2012-07-25 | 深圳市万兴软件有限公司 | 混音处理方法、装置及智能设备 |
CN105872253A (zh) * | 2016-05-31 | 2016-08-17 | 腾讯科技(深圳)有限公司 | 一种直播声音处理方法及移动终端 |
CN106375905A (zh) * | 2016-11-30 | 2017-02-01 | 北京酷我科技有限公司 | 一种多路音频的合成和调节的方法 |
US20180353855A1 (en) * | 2017-06-12 | 2018-12-13 | Microsoft Technology Licensing, Llc | Audio balancing for multi-source audiovisual streaming |
CN110430330A (zh) * | 2019-08-08 | 2019-11-08 | 北京云中融信网络科技有限公司 | 一种基于通话的音频数据处理方法及装置 |
CN113539279A (zh) * | 2020-04-16 | 2021-10-22 | 腾讯科技(深圳)有限公司 | 一种音频数据处理方法、装置以及计算机可读存储介质 |
CN112951251A (zh) * | 2021-05-13 | 2021-06-11 | 北京百瑞互联技术有限公司 | 一种lc3音频混合方法、装置及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7593354B2 (en) | Method and system for low latency high quality music conferencing | |
US8233765B2 (en) | Audio/video synchronization with no cleanpoints | |
US7853647B2 (en) | Network agnostic media server control enabler | |
US8433812B2 (en) | Systems and methods for managing multimedia operations in remote sessions | |
JP2003510734A (ja) | ストリーミングのエミュレート用ファイル分割 | |
US20060242676A1 (en) | Live streaming broadcast method, live streaming broadcast device, live streaming broadcast system, program, recording medium, broadcast method, and broadcast device | |
KR20080014843A (ko) | 쌍방향 미디어 응답 시스템에서 시각 단서를 제공하는 방법 | |
MX2008002738A (es) | Metodo que indica a dispositivo que no realice sincronizacion y que no incluye retraso de sincronizacion en flujos multimedia. | |
CN101582926A (zh) | 实现远程媒体播放重定向的方法和系统 | |
WO2021249323A1 (zh) | 一种信息处理方法、系统、装置、电子设备及存储介质 | |
WO2023083186A1 (zh) | 直播内容的处理方法、电子设备、可读存储介质及计算机程序产品 | |
CN103037243A (zh) | 多个智能终端之间切换网络视频的方法、系统及智能终端 | |
Rudkin et al. | Real-time applications on the Internet | |
CN114827656A (zh) | 麦克风数据中混合多路音频的处理方法及装置 | |
US20150100324A1 (en) | Audio encoder performance for miracast | |
Press | Net. Speech: desktop audio comes to the net | |
EP1804176A1 (en) | Method and system for downloading streaming content | |
US10165365B2 (en) | Sound sharing apparatus and method | |
CN112153322B (zh) | 数据分发方法、装置、设备及存储介质 | |
US20080088693A1 (en) | Content transmission method and apparatus using video call | |
Radović et al. | Internet radio player implementation using FFmpeg software support | |
TWI857414B (zh) | 播放器裝置與訊號處理方法 | |
CN104079948B (zh) | 生成铃声文件的方法及装置 | |
WO2024104080A1 (zh) | 传输媒体数据流的方法、装置、存储介质及电子设备 | |
Zhang et al. | Research on Audio and Video Synchronization Algorithm Based on AVI Format |
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 |