CN116489570A - 车载音频混音方法、装置、娱乐设备及存储介质 - Google Patents
车载音频混音方法、装置、娱乐设备及存储介质 Download PDFInfo
- Publication number
- CN116489570A CN116489570A CN202310458841.6A CN202310458841A CN116489570A CN 116489570 A CN116489570 A CN 116489570A CN 202310458841 A CN202310458841 A CN 202310458841A CN 116489570 A CN116489570 A CN 116489570A
- Authority
- CN
- China
- Prior art keywords
- audio
- mixing
- audio data
- data
- path
- 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
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000012545 processing Methods 0.000 claims abstract description 57
- 238000004364 calculation method Methods 0.000 claims description 33
- 238000005070 sampling Methods 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 7
- 238000004891 communication Methods 0.000 abstract description 15
- 238000005516 engineering process Methods 0.000 abstract description 8
- 230000008569 process Effects 0.000 description 7
- 230000003044 adaptive effect Effects 0.000 description 5
- 238000003491 array Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000015572 biosynthetic process Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 238000003786 synthesis reaction Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04R—LOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
- H04R2430/00—Signal processing covered by H04R, not provided for in its groups
- H04R2430/03—Synergistic effects of band splitting and sub-band processing
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Acoustics & Sound (AREA)
- Signal Processing (AREA)
- Fittings On The Vehicle Exterior For Carrying Loads, And Devices For Holding Or Mounting Articles (AREA)
Abstract
本申请涉及车载音频混音技术领域,特别涉及一种车载音频混音方法、装置、娱乐设备及存储介质,其中,方法包括:在娱乐设备的操作系统的应用层虚拟出多个音频通道;通过多个音频通道接收上层应用传递的音频数据得到多路音频数据,在应用层将多路音频数据混音成一路音频数据;发送混音成的一路音频数据至数字信号处理芯片,使得数字信号处理芯片基于混音成的一路音频数据驱动一个或多个车载扬声器播放音频。由此,解决了相关技术在数字信号处理芯片中进行混音处理,但是会受到操作系统和数字信号处理芯片通信的TDM通道限制,导致无法满足大量音频混音的需求、降低了音乐的丰富性等问题。
Description
技术领域
本申请涉及车载音频混音技术领域,特别涉及一种车载音频混音方法、装置、娱乐设备及存储介质。
背景技术
混音是音乐制作中的一个重要步骤,就是将多种来源的音频信号,整合至一个立体音轨或单音音轨中,经过混合后一起播放。
相关技术中,车载混音功能一般是在DSP(Digital Signal Process,数字信号处理)数字信号处理芯片上实现,但由于DSP通信的TDM(time-division multiplexing,时分复用技术)通道限制,无法满足大量音频数据的混音,降低了音乐的丰富性。
发明内容
本申请提供一种车载音频混音方法、装置、娱乐设备及存储介质,以解决相关技术在数字信号处理芯片中进行混音处理,但是会受到操作系统和数字信号处理芯片通信的TDM通道限制,导致无法满足大量音频混音的需求、降低了音乐的丰富性等问题。
本申请第一方面实施例提供一种车载音频混音方法,所述方法应用于娱乐设备,其中,所述方法包括以下步骤:在所述娱乐设备的操作系统的应用层虚拟出多个音频通道;通过所述多个音频通道接收上层应用传递的音频数据得到多路音频数据,在所述应用层将所述多路音频数据混音成一路音频数据;发送混音成的一路音频数据至数字信号处理芯片,使得所述数字信号处理芯片基于所述混音成的一路音频数据驱动一个或多个车载扬声器播放音频。
根据上述技术手段,本申请实施例在娱乐设备的操作系统的应用层虚拟出多个音频通道,通过多个音频通道接收上层应用传递的音频数据得到多路音频数据,在应用层将其混音成一路音频数据,并发送至数字信号处理芯片,使数字信号处理芯片基于音频数据驱动车载扬声器播放音频,在操作系统的应用层虚拟出更多的音频,打破了TDM通道的限制,也无需DSP额外处理,适用性较高,极大地增加了APP(Application,应用程序)的音乐需求的丰富性。
可选地,所述在所述应用层将所述多路音频数据混音成一路音频数据,包括:根据每路音频数据的脉冲编码的编码时长按照预设规则选择时间帧;根据所述时间帧中同一帧的每路音频数据的脉冲编码构建第一数组,对所述第一数组内所有脉冲编码进行自适应加权混音成一路音频数据,并依次对所述时间帧内所有帧的音频数据进行自适应加权混音处理。
根据上述技术手段,本申请实施例选取符合条件的时间帧,根据时间帧同一帧的音频数据的脉冲编码构建第一数组,并自适应加权混音成一路音频数据,依次对时间帧内所有帧的音频数据进行自适应加权混音处理,以完成多路音频数据混音成一路音频数据。
可选地,所述对所述数组内所有脉冲编码进行自适应加权混音成一路音频数据,包括:获取当前衰减因子和所述第一数组中目标位的脉冲编码;根据所述当前衰减因子、所述目标位及所述目标位之前所有位的脉冲编码加权计算得到第二数组中当前位的混音数据,直到所述第一数组中最后一位的脉冲编码计算完成,得到为所述一路音频数据的第二数组。
根据上述技术手段,本申请实施例根据当前衰减因子、目标位及目标位之前所有位的脉冲编码加权计算得到第二数组中当前位的混音数据,直到第一数组中最后一位的脉冲编码计算完成,得到一路音频数据的第二数组,利用自适应加权算法以便于实现数组内所有脉冲编码进行自适应加权混音成一路音频数据。
可选地,在根据所述当前衰减因子、所述目标位及所述目标位之前所有位的脉冲编码计算得到第二数组中当前位的混音数据之后,还包括:若所述混音数据的数值大于第一阈值,则获取中间参数与所述混音数据的数值乘积小于所述第一阈值时的最大中间参数,并将所述混音数据的数值修正为所述第一阈值;若所述混音数据的数值小于第二阈值,则获取中间参数与所述混音数据的数值乘积大于所述第二阈值时的最大中间参数,并将所述混音数据的数值修正为所述第二阈值;若所述最大中间参数大于第三阈值,则将所述最大中间参数作为下次计算时的衰减因子,否则将所述最大中间参数和预设步长之和作为下次计算时的衰减因子。
根据上述技术手段,本申请实施例中当混音数据的数值超出设定边界时,根据实际情况修正所述混音数据的数值,并根据最大中间参数的大小确认下次计算时的衰减因子,以保证混音数据的音质质量。
可选地,所述预设规则为编码时长的预设倍数。
可选地,在根据每路音频数据的脉冲编码的编码时长按照预设规则选择时间帧之前,还包括:对齐所述多路音频数据的采样参数,得到对齐后的多路音频数据。
根据上述技术手段,本申请实施例对齐多路音频数据的采样参数,得到对齐后的多路音频数据,以便于后续的混音处理。
可选地,在通过所述多个音频通道接收上层应用传递的音频数据得到多路音频数据之前,还包括:在所述操作系统的底层创建一个或多个播放器实例;设置每个播放器实例的音源类型和脉冲编码数据流,并通过上层应用传递所述每个播放器实例产生的音频数据。
根据上述技术手段,本申请实施例在操作系统的底层创建一个或多个播放器实例,设置每个播放器实例的音源类型和脉冲编码数据流,并通过上层应用传递每个播放器实例产生的音频数据,以便于后续音频数据的混音处理。
本申请第二方面实施例提供一种车载音频混音装置,所述装置应用于娱乐设备,其中,所述装置包括:虚拟模块,用于在所述娱乐设备的操作系统的应用层虚拟出多个音频通道;混音模块,用于通过所述多个音频通道接收上层应用传递的音频数据得到多路音频数据,在所述应用层将所述多路音频数据混音成一路音频数据;驱动模块,用于发送混音成的一路音频数据至数字信号处理芯片,使得所述数字信号处理芯片基于所述混音成的一路音频数据驱动一个或多个车载扬声器播放音频。
可选地,所述混音模块进一步用于:根据每路音频数据的脉冲编码的编码时长按照预设规则选择时间帧;根据所述时间帧中同一帧的每路音频数据的脉冲编码构建第一数组,对所述第一数组内所有脉冲编码进行自适应加权混音成一路音频数据,并依次对所述时间帧内所有帧的音频数据进行自适应加权混音处理。
可选地,所述混音模块进一步用于:获取当前衰减因子和所述第一数组中目标位的脉冲编码;根据所述当前衰减因子、所述目标位及所述目标位之前所有位的脉冲编码加权计算得到第二数组中当前位的混音数据,直到所述第一数组中最后一位的脉冲编码计算完成,得到为所述一路音频数据的第二数组。
可选地,所述混音模块进一步用于:在根据所述当前衰减因子、所述目标位及所述目标位之前所有位的脉冲编码计算得到第二数组中当前位的混音数据之后,还包括:若所述混音数据的数值大于第一阈值,则获取中间参数与所述混音数据的数值乘积小于所述第一阈值时的最大中间参数,并将所述混音数据的数值修正为所述第一阈值;若所述混音数据的数值小于第二阈值,则获取中间参数与所述混音数据的数值乘积大于所述第二阈值时的最大中间参数,并将所述混音数据的数值修正为所述第二阈值;若所述最大中间参数大于第三阈值,则将所述最大中间参数作为下次计算时的衰减因子,否则将所述最大中间参数和预设步长之和作为下次计算时的衰减因子。
可选地,所述混音模块进一步用于:所述预设规则为编码时长的预设倍数。
可选地,所述混音模块进一步用于:对齐所述多路音频数据的采样参数,得到对齐后的多路音频数据。
可选地,所述混音模块进一步用于:在所述操作系统的底层创建一个或多个播放器实例;设置每个播放器实例的音源类型和脉冲编码数据流,并通过上层应用传递所述每个播放器实例产生的音频数据。
本申请第三方面实施例提供一种娱乐设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序,以实现如上述实施例所述的车载音频混音方法。
本申请第四方面实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行,以用于实现如上述实施例所述的车载音频混音方法。
由此,本申请至少具有如下有益效果:
(1)本申请实施例在娱乐设备的操作系统的应用层虚拟出多个音频通道,通过多个音频通道接收上层应用传递的音频数据得到多路音频数据,在应用层将其混音成一路音频数据,并发送至数字信号处理芯片,使数字信号处理芯片基于音频数据驱动车载扬声器播放音频,在操作系统的应用层虚拟出更多的音频,打破了TDM通道的限制,也无需DSP额外处理,适用性较高,极大地增加了APP的音乐需求的丰富性。
(2)本申请实施例选取符合条件的时间帧,根据时间帧同一帧的音频数据的脉冲编码构建第一数组,并自适应加权混音成一路音频数据,依次对时间帧内所有帧的音频数据进行自适应加权混音处理,以完成多路音频数据混音成一路音频数据。
(3)本申请实施例根据当前衰减因子、目标位及目标位之前所有位的脉冲编码加权计算得到第二数组中当前位的混音数据,直到第一数组中最后一位的脉冲编码计算完成,得到一路音频数据的第二数组,利用自适应加权算法以便于实现数组内所有脉冲编码进行自适应加权混音成一路音频数据。
(4)本申请实施例中当混音数据的数值超出设定边界时,根据实际情况修正所述混音数据的数值,并根据最大中间参数的大小确认下次计算时的衰减因子,以保证混音数据的音质质量。
(5)本申请实施例对齐多路音频数据的采样参数,得到对齐后的多路音频数据,以便于后续的混音处理。
(6)本申请实施例在操作系统的底层创建一个或多个播放器实例,设置每个播放器实例的音源类型和脉冲编码数据流,并通过上层应用传递每个播放器实例产生的音频数据,以便于后续音频数据的混音处理。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为根据本申请实施例提供的一种车载音频混音方法的流程图;
图2为根据本申请实施例提供的基于Android系统的车载音频混音实现方法流程图;
图3为根据本申请实施例提供的混音实现结构框图;
图4为根据本申请实施例的一种车载音频混音装置的示例图;
图5为根据本申请实施例的娱乐设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
下面参考附图描述本申请实施例的车载音频混音方法、装置、娱乐设备及存储介质。针对上述背景技术中提到的由于系统和数字信号处理芯片通信的TDM通道限制,导致无法满足大量音频混音的需求、降低了音乐的丰富性等问题,本申请提供了一种车载音频混音方法,在该方法中,在娱乐设备的操作系统的应用层虚拟出多个音频通道,通过多个音频通道接收上层应用传递的音频数据得到多路音频数据,在应用层将其混音成一路音频数据,并发送至数字信号处理芯片,使数字信号处理芯片基于音频数据驱动车载扬声器播放音频,在操作系统的应用层虚拟出更多的音频,打破了TDM通道的限制,也无需DSP额外处理,适用性较高,极大地增加了APP的音乐需求的丰富性。由此,解决了相关技术在数字信号处理芯片中进行混音处理,但是会受到操作系统和数字信号处理芯片通信的TDM通道限制,导致无法满足大量音频混音的需求、降低了音乐的丰富性等问题。
具体而言,图1为本申请实施例所提供的一种车载音频混音方法的流程示意图。
如图1所示,该车载音频混音方法包括以下步骤:
在步骤S101中,在娱乐设备的操作系统的应用层虚拟出多个音频通道。
其中,娱乐设备可以是车机等设置,操作系统可以包括安卓系统,在以下实施例中,以安卓系统(Android)为例。
可以理解的是,本申请实施例直接在操作系统的应用层虚拟出多个音频通道,基于多个音频通道实现在操作系统的混音处理。
在步骤S102中,通过多个音频通道接收上层应用传递的音频数据得到多路音频数据,在应用层将多路音频数据混音成一路音频数据。
可以理解的是,本申请实施例通过多个音频通道接收上层应用传递的音频数据得到多路音频数据,并在应用层将多路音频数据混音成一路音频数据,实现了在应用层虚拟出多个音频通道以完成音频数据的混音,不受DSP通信的TDM通道的限制。
具体地,AudioFlinger会接收到上层应用传递下来的AudioTrack数据,按照预先的配置表进行混音处理,其中,混音处理单元为Mixer,数量与扬声器输出数量对应,同一时间,不同的Mixer将多个音频类型的pcm混成一路pcm输出,其中配置表的格式为XML(可扩展标记语言Extensible Markup Language),例如Media(媒体)为双声道Stereo(立体声),其中左声道输出到Mixer0FL、Mixer2RL、Mixer4CENTER、Mixer7BASS;右声道输出为Mixer1FR、Mixer3RR、Mixer4CENTER、Mixer7BASS;TTS(语音合成技术,Text To Speech)为单通道Mono(单声道),输出为Mixer0FL、Mixer1FR、Mixer2RL、Mixer3RR、Mixer4CENTER、Mixer6AVAS;Call为单通道Mono,输出为Mixer0FL、Mixer1FR、Mixer4CENTER。MixerN为预留的混音处理单元,与TDM通道数量相关。
在本申请实施例中,在通过多个音频通道接收上层应用传递的音频数据得到多路音频数据之前,还包括:在操作系统的底层创建一个或多个播放器实例;设置每个播放器实例的音源类型和脉冲编码数据流,并通过上层应用传递每个播放器实例产生的音频数据。
可以理解的是,本申请实施例在操作系统的底层创建播放器实例,并设置每个播放器实例的音源类型和脉冲编码数据流,通过上层应用传递每个播放器实例产生的音频数据,以便于后续音频数据的混音处理。
具体地,AudioTrack为Android原生的底层播放器,主要支持pcm数据流的播放,应用通过创建AudioTrack的实例,在创建时需指定音源类型Stream Type以及pcm数据流。
在本申请实施例中,在应用层将多路音频数据混音成一路音频数据,包括:根据每路音频数据的脉冲编码的编码时长按照预设规则选择时间帧;根据时间帧中同一帧的每路音频数据的脉冲编码构建第一数组,对第一数组内所有脉冲编码进行自适应加权混音成一路音频数据,并依次对时间帧内所有帧的音频数据进行自适应加权混音处理。
其中,预设规则为编码时长的预设倍数,例如:编码时长为10ms,则时间帧可以选择为20ms或者30ms,预设倍数可以是编码时长的2-3倍,不做具体限定。
可以理解的是,本申请实施例选取符合条件的时间帧,根据时间帧同一帧的音频数据的脉冲编码构建第一数组,并自适应加权混音成一路音频数据,依次对时间帧内所有帧的音频数据进行自适应加权混音处理,以完成多路音频数据混音成一路音频数据。
在本申请实施例中,在根据每路音频数据的脉冲编码的编码时长按照预设规则选择时间帧之前,还包括:对齐多路音频数据的采样参数,得到对齐后的多路音频数据。
其中,采样参数可以包括采样频率,采样精度等,不做具体限定。
可以理解的是,本申请实施例对齐多路音频数据的采样参数,得到对齐后的多路音频数据以便于后续的混音处理。
具体地,将多路音频数据混音成一路音频数据时,首先将多路pcm(Pulse CodeModulation,脉冲编码调制)的参数对齐,包括采样频率,采样精度等;然后根据音频编码特征选择一个时间帧,例如解编码时长为10ms,时间帧选择为10ms或者2-3个整数倍,本申请选择时间帧为30ms。
在本申请实施例中,对数组内所有脉冲编码进行自适应加权混音成一路音频数据,包括:获取当前衰减因子和第一数组中目标位的脉冲编码;根据当前衰减因子、目标位及目标位之前所有位的脉冲编码加权计算得到第二数组中当前位的混音数据,直到第一数组中最后一位的脉冲编码计算完成,得到为一路音频数据的第二数组。
可以理解的是,本申请实施例根据当前衰减因子、目标位及目标位之前所有位的脉冲编码加权计算得到第二数组中当前位的混音数据,直到第一数组中最后一位的脉冲编码计算完成,得到一路音频数据的第二数组,利用自适应加权算法以便于实现数组内所有脉冲编码进行自适应加权混音成一路音频数据。
具体地,选取一帧的音频数据,每个pcm的数据为一个数组M,pcm数量为K,混音后输出的音频数据数组为R,数组长度为L,按顺序处理,对于数组中任一位数据i,定义最大值为MAX,此申请定为32767,最小值为MIN,此发明定为-32768,有:
其中,初始f=1
其中,f为衰减因子,Ri为混音后输出数组的某一位,为混音前任一pcm数据数组的某一位。
在本申请实施例中,在根据当前衰减因子、目标位及目标位之前所有位的脉冲编码计算得到第二数组中当前位的混音数据之后,还包括:若混音数据的数值大于第一阈值,则获取中间参数与混音数据的数值乘积小于第一阈值时的最大中间参数,并将混音数据的数值修正为第一阈值;若混音数据的数值小于第二阈值,则获取中间参数与混音数据的数值乘积大于第二阈值时的最大中间参数,并将混音数据的数值修正为第二阈值;若最大中间参数大于第三阈值,则将最大中间参数作为下次计算时的衰减因子,否则将最大中间参数和预设步长之和作为下次计算时的衰减因子。
其中,第一阈值可以是最大值,例如:混音数据的数值大于32767,不做具体限定。
其中,第二阈值可以是最小值,例如:混音数据的数值小于-32768,不做具体限定。
其中,第三阈值可以是最大中间参数小于1,不做具体限定。
其中,预设步长的计算公式为:step=1-f/32,其中,f此时取最大中间参数,f表示衰减因子。
可以理解的是,本申请实施例当混音数据的数值超出设定边界时,根据实际情况修正混音数据的数值,并根据最大中间参数的大小确认下次计算时的衰减因子,以保证混音数据的音质质量。
具体地,若Ri>MAX,求最大的f0是否满足Ri*f0<AX,若满足则f=f0,Ri=MAX;若Ri<MIN,求最大的f0是否满足Ri*f0>IN,若满足则f=f0,Ri=MIN;若f<1,则f=f+step,其中,step=1-f/32,step为衰减因子变化的步长。
在步骤S103中,发送混音成的一路音频数据至数字信号处理芯片,使得数字信号处理芯片基于混音成的一路音频数据驱动一个或多个车载扬声器播放音频。
可以理解的是,由于本申请实施例已经在操作系统上完成了多路音频的混音处理,因此占用TDM通道的一路通道即可传递混音成的一路音频数据,降低对TDM通道的占用数量,因此打破了TDM通道的限制;同时DSP接收到的是混音成的一路音频数据,直接驱动扬声器播放音频即可,无需进行混音处理,由于不在DSP上进行混音处理,因此可以有效降低对DSP资源的占用率,且适用性较高,极大地增加了APP的音乐需求的丰富性。
根据本申请实施例提出的车载音频混音方法,在娱乐设备的操作系统的应用层虚拟出多个音频通道,通过多个音频通道接收上层应用传递的音频数据得到多路音频数据,在应用层将其混音成一路音频数据,并发送至数字信号处理芯片,使数字信号处理芯片基于音频数据驱动车载扬声器播放音频,在操作系统的应用层虚拟出更多的音频,打破了TDM通道的限制,也无需DSP额外处理,适用性较高,极大地增加了APP的音乐需求的丰富性。
下面将结合图2和图3对车载音频混音方法进行详细阐述,具体步骤如下:
S1,Android APP使用AudioTrack下发音频数据流
AudioTrack为Android原生的底层播放器,主要支持pcm数据流的播放,应用通过创建AudioTrack的实例,在创建时需指定音源类型Stream Type以及pcm数据流。
S2,AudioFlinger根据预先配置信息对上层下发的多路音频数据进行混音
AudioFlinger会接收到上层应用传递下来的AudioTrack数据,按照预先的配置表进行混音处理。混音处理单元为Mixer,数量与扬声器输出数量对应,同一时间,不同的Mixer(混频器)将多个音频类型的pcm混成一路pcm输出,其中配置表的格式为XML(可扩展标记语言Extensible Markup Language),例如Media(媒体)为双声道Stereo(立体声),其中左声道输出到Mixer0FL、Mixer2RL、Mixer4CENTER、Mixer7BASS;右声道输出为Mixer1FR、Mixer3RR、Mixer4CENTER、Mixer7BASS;TTS(语音合成技术,Text To Speech)为单通道Mono(单声道),输出为Mixer0FL、Mixer1FR、Mixer2RL、Mixer3RR、Mixer4CENTER、Mixer6AVAS;Call为单通道Mono,输出为Mixer0FL、Mixer1FR、Mixer4CENTER。MixerN为预留的混音处理单元,与TDM通道数量相关。
上述情况为pcm较多的混音,采用的混音算法为自适应的加权混音算法,具体步骤为:
(1)将多路pcm的参数对齐,包括采样频率,采样精度等。
(2)根据音频编码特征选择一个时间帧,例如解编码时长为10ms,时间帧选择为10ms或者2-3个整数倍,本申请选择时间帧为30ms。
(3)选取一帧的音频数据,每个pcm的数据为一个数组M,pcm数量为K,混音后输出的音频数据数组为R,数组长度为L,按顺序处理,对于数组中任一位数据i,定义最大值为MAX,此申请定为32767,最小值为MIN,此发明定为-32768,计算公式为:
1)初始f=1
其中,f为衰减因子,Ri为混音后输出数组的某一位,为混音前任一pcm数据数组的某一位。
2)如果Ri>MAX,求最大的f0若满足Ri*f0<M0X;
则f=f0;Ri=MAX
3)如果Ri<MIN,求最大的f0若满足Ri*f0>MIN;
则f=f0;Ri=MIN
4)如果f<1,则f=f+step,其中,step=1-f/32;step为衰减因子变化的步长。
5)继续处理下一帧数据,直到最后一位的脉冲编码计算完成
S3,将混音后的pcm(Pulse Code Modulation,脉冲编码调制)数据通过TDM通道传输给DSP
S4,DSP将接收数据给到对应的扬声器输出
综上,本申请实施例不在DSP处理,使得Android应用层可以虚拟出多个音频通道,不受Android系统和DSP通信的TDM通道限制,极大地增加了APP的音乐需求的丰富性。
其次参照附图描述根据本申请实施例提出的车载音频混音装置。
图4是本申请实施例的车载音频混音装置的方框示意图。
如图4所示,该车载音频混音装置10应用于娱乐设备,包括:虚拟模块100、混音模块200和驱动模块300。
其中,虚拟模块100用于在娱乐设备的操作系统的应用层虚拟出多个音频通道;混音模块200用于通过多个音频通道接收上层应用传递的音频数据得到多路音频数据,在应用层将多路音频数据混音成一路音频数据;驱动模块300用于发送混音成的一路音频数据至数字信号处理芯片,使得数字信号处理芯片基于混音成的一路音频数据驱动一个或多个车载扬声器播放音频。
在本申请实施例中,混音模块200进一步用于:在操作系统的底层创建一个或多个播放器实例;设置每个播放器实例的音源类型和脉冲编码数据流,并通过上层应用传递每个播放器实例产生的音频数据。
在本申请实施例中,混音模块200进一步用于:对齐多路音频数据的采样参数,得到对齐后的多路音频数据。
在本申请实施例中,混音模块200进一步用于:根据每路音频数据的脉冲编码的编码时长按照预设规则选择时间帧;根据时间帧中同一帧的每路音频数据的脉冲编码构建第一数组,对第一数组内所有脉冲编码进行自适应加权混音成一路音频数据,并依次对时间帧内所有帧的音频数据进行自适应加权混音处理。
在本申请实施例中,混音模块200进一步用于:预设规则为编码时长的预设倍数。
在本申请实施例中,混音模块200进一步用于:获取当前衰减因子和第一数组中目标位的脉冲编码;根据当前衰减因子、目标位及目标位之前所有位的脉冲编码加权计算得到第二数组中当前位的混音数据,直到第一数组中最后一位的脉冲编码计算完成,得到为一路音频数据的第二数组。
在本申请实施例中,混音模块200进一步用于:在根据当前衰减因子、目标位及目标位之前所有位的脉冲编码计算得到第二数组中当前位的混音数据之后,还包括:若混音数据的数值大于第一阈值,则获取中间参数与混音数据的数值乘积小于第一阈值时的最大中间参数,并将混音数据的数值修正为第一阈值;若混音数据的数值小于第二阈值,则获取中间参数与混音数据的数值乘积大于第二阈值时的最大中间参数,并将混音数据的数值修正为第二阈值;若最大中间参数大于第三阈值,则将最大中间参数作为下次计算时的衰减因子,否则将最大中间参数和预设步长之和作为下次计算时的衰减因子。
需要说明的是,前述对车载音频混音方法实施例的解释说明也适用于该实施例的车载音频混音装置,此处不再赘述。
根据本申请实施例提出的车载音频混音装置,在娱乐设备的操作系统的应用层虚拟出多个音频通道,通过多个音频通道接收上层应用传递的音频数据得到多路音频数据,在应用层将其混音成一路音频数据,并发送至数字信号处理芯片,使数字信号处理芯片基于音频数据驱动车载扬声器播放音频,在操作系统的应用层虚拟出更多的音频,打破了TDM通道的限制,也无需DSP额外处理,适用性较高,极大地增加了APP的音乐需求的丰富性。
图5为本申请实施例提供的娱乐设备的结构示意图。该娱乐设备可以包括:
存储器501、处理器502及存储在存储器501上并可在处理器502上运行的计算机程序。
处理器502执行程序时实现上述实施例中提供的车载音频混音方法。
进一步地,娱乐设备还包括:
通信接口503,用于存储器501和处理器502之间的通信。
存储器501,用于存放可在处理器502上运行的计算机程序。
存储器501可能包含高速RAM(Random Access Memory,随机存取存储器)存储器,也可能还包括非易失性存储器,例如至少一个磁盘存储器。
如果存储器501、处理器502和通信接口503独立实现,则通信接口503、存储器501和处理器502可以通过总线相互连接并完成相互间的通信。总线可以是ISA(IndustryStandard Architecture,工业标准体系结构)总线、PCI(Peripheral Component,外部设备互连)总线或EISA(Extended Industry Standard Architecture,扩展工业标准体系结构)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果存储器501、处理器502及通信接口503,集成在一块芯片上实现,则存储器501、处理器502及通信接口503可以通过内部接口完成相互间的通信。
处理器502可能是一个CPU(Central Processing Unit,中央处理器),或者是ASIC(Application Specific Integrated Circuit,特定集成电路),或者是被配置成实施本申请实施例的一个或多个集成电路。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上的车载音频混音方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不是必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或N个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“N个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或N个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,N个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列,现场可编程门阵列等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种车载音频混音方法,其特征在于,所述方法应用于娱乐设备,其中,所述方法包括以下步骤:
在所述娱乐设备的操作系统的应用层虚拟出多个音频通道;
通过所述多个音频通道接收上层应用传递的音频数据得到多路音频数据,在所述应用层将所述多路音频数据混音成一路音频数据;
发送混音成的一路音频数据至数字信号处理芯片,使得所述数字信号处理芯片基于所述混音成的一路音频数据驱动一个或多个车载扬声器播放音频。
2.根据权利要求1所述的车载音频混音方法,其特征在于,所述在所述应用层将所述多路音频数据混音成一路音频数据,包括:
根据每路音频数据的脉冲编码的编码时长按照预设规则选择时间帧;
根据所述时间帧中同一帧的每路音频数据的脉冲编码构建第一数组,对所述第一数组内所有脉冲编码进行自适应加权混音成一路音频数据,并依次对所述时间帧内所有帧的音频数据进行自适应加权混音处理。
3.根据权利要求2所述的车载音频混音方法,其特征在于,所述对所述数组内所有脉冲编码进行自适应加权混音成一路音频数据,包括:
获取当前衰减因子和所述第一数组中目标位的脉冲编码;
根据所述当前衰减因子、所述目标位及所述目标位之前所有位的脉冲编码加权计算得到第二数组中当前位的混音数据,直到所述第一数组中最后一位的脉冲编码计算完成,得到为所述一路音频数据的第二数组。
4.根据权利要求3所述的车载音频混音方法,其特征在于,在根据所述当前衰减因子、所述目标位及所述目标位之前所有位的脉冲编码计算得到第二数组中当前位的混音数据之后,还包括:
若所述混音数据的数值大于第一阈值,则获取中间参数与所述混音数据的数值乘积小于所述第一阈值时的最大中间参数,并将所述混音数据的数值修正为所述第一阈值;
若所述混音数据的数值小于第二阈值,则获取中间参数与所述混音数据的数值乘积大于所述第二阈值时的最大中间参数,并将所述混音数据的数值修正为所述第二阈值;
若所述最大中间参数大于第三阈值,则将所述最大中间参数作为下次计算时的衰减因子,否则将所述最大中间参数和预设步长之和作为下次计算时的衰减因子。
5.根据权利要求2所述的车载音频混音方法,其特征在于,所述预设规则为编码时长的预设倍数。
6.根据权利要求2所述的车载音频混音方法,其特征在于,在根据每路音频数据的脉冲编码的编码时长按照预设规则选择时间帧之前,还包括:
对齐所述多路音频数据的采样参数,得到对齐后的多路音频数据。
7.根据权利要求1所述的车载音频混音方法,其特征在于,在通过所述多个音频通道接收上层应用传递的音频数据得到多路音频数据之前,还包括:
在所述操作系统的底层创建一个或多个播放器实例;
设置每个播放器实例的音源类型和脉冲编码数据流,并通过上层应用传递所述每个播放器实例产生的音频数据。
8.一种车载音频混音装置,其特征在于,所述装置应用于娱乐设备,其中,所述装置包括:
虚拟模块,用于在所述娱乐设备的操作系统的应用层虚拟出多个音频通道;
混音模块,用于通过所述多个音频通道接收上层应用传递的音频数据得到多路音频数据,在所述应用层将所述多路音频数据混音成一路音频数据;
驱动模块,用于发送混音成的一路音频数据至数字信号处理芯片,使得所述数字信号处理芯片基于所述混音成的一路音频数据驱动一个或多个车载扬声器播放音频。
9.一种娱乐设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序,以实现如权利要求1-7任一项所述的车载音频混音方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行,以用于实现如权利要求1-7任一项所述的车载音频混音方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310458841.6A CN116489570A (zh) | 2023-04-25 | 2023-04-25 | 车载音频混音方法、装置、娱乐设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310458841.6A CN116489570A (zh) | 2023-04-25 | 2023-04-25 | 车载音频混音方法、装置、娱乐设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116489570A true CN116489570A (zh) | 2023-07-25 |
Family
ID=87219091
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310458841.6A Pending CN116489570A (zh) | 2023-04-25 | 2023-04-25 | 车载音频混音方法、装置、娱乐设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116489570A (zh) |
-
2023
- 2023-04-25 CN CN202310458841.6A patent/CN116489570A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6349285B1 (en) | Audio bass management methods and circuits and systems using the same | |
US7693722B2 (en) | Simultaneous audio decoding apparatus for plural compressed audio streams | |
CN109862475A (zh) | 音频播放设备及方法、存储介质、通信终端 | |
WO2008051722A2 (en) | Spatial reformatting of multi-channel audio content | |
CN101006750B (zh) | 用于扩展音频混合以填充所有可用输出声道的方法 | |
CA2917376C (en) | Audio processor for orientation-dependent processing | |
US11120808B2 (en) | Audio playing method and apparatus, and terminal | |
CN112799631A (zh) | 一种用于安卓系统上控制dsp的优化系统及其优化方法 | |
WO2017101327A1 (zh) | 多播放器共同播放高保真声音的方法及装置 | |
CN105808198A (zh) | 应用于安卓系统的音频文件处理方法及装置、终端 | |
CN116489570A (zh) | 车载音频混音方法、装置、娱乐设备及存储介质 | |
CN116661727A (zh) | 声道定位方法、装置、设备及计算机可读存储介质 | |
CN114125131B (zh) | 音频驱动马达的通路配置方法、装置、电子设备和存储介质 | |
US8605564B2 (en) | Audio mixing method and audio mixing apparatus capable of processing and/or mixing audio inputs individually | |
CN115223582B (zh) | 一种音频的噪声处理方法、系统、电子装置及介质 | |
CN115278858B (zh) | 一种低延时的音频数据传输方法及装置 | |
CN117730368A (zh) | 用于处理基于对象的音频和基于声道的音频的方法和装置 | |
CN113724717B (zh) | 车载音频处理系统、方法、车机控制器和车辆 | |
CN108255459A (zh) | 车机音频播放方法、车机、移动终端以及车辆 | |
CN118626040A (zh) | 音频播放方法、装置、设备及计算机可读存储介质 | |
CN114255734A (zh) | 一种混音优化方法及系统 | |
CN115842944A (zh) | 用于处理输入音频的方法、电子设备和存储介质 | |
WO2021191493A1 (en) | Switching between audio instances | |
CN116405068A (zh) | 车载娱乐系统、车辆、蓝牙音频传输方法及存储介质 | |
CN115209310A (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 |