CN115273875A - 一种基于车载安卓系统的音频处理方法和相关装置 - Google Patents
一种基于车载安卓系统的音频处理方法和相关装置 Download PDFInfo
- Publication number
- CN115273875A CN115273875A CN202210890966.1A CN202210890966A CN115273875A CN 115273875 A CN115273875 A CN 115273875A CN 202210890966 A CN202210890966 A CN 202210890966A CN 115273875 A CN115273875 A CN 115273875A
- Authority
- CN
- China
- Prior art keywords
- audio data
- processed
- recorded
- vehicle
- algorithm
- 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 claims abstract description 16
- 238000012545 processing Methods 0.000 claims abstract description 105
- 238000000034 method Methods 0.000 claims abstract description 92
- 230000008569 process Effects 0.000 claims abstract description 67
- 230000015654 memory Effects 0.000 claims description 52
- 238000005070 sampling Methods 0.000 claims description 17
- 238000012952 Resampling Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 11
- 230000003993 interaction Effects 0.000 description 8
- 230000009467 reduction Effects 0.000 description 7
- 230000009471 action Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000003032 molecular docking Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000012827 research and development Methods 0.000 description 2
- 241000238558 Eucarida Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 210000001503 joint Anatomy 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- 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
- G10L21/00—Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
- G10L21/02—Speech enhancement, e.g. noise reduction or echo cancellation
-
- 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
-
- 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
- G10L21/00—Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
- G10L21/02—Speech enhancement, e.g. noise reduction or echo cancellation
- G10L21/0208—Noise filtering
- G10L2021/02082—Noise filtering the noise being echo, reverberation of the speech
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Quality & Reliability (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Circuit For Audible Band Transducer (AREA)
Abstract
本申请公开了一种基于车载安卓系统的音频处理方法和相关装置,车载安卓系统中的语音处理模块获取录入音频数据和参考音频数据。语音处理模块向算法库发送录入音频数据和参考音频数据。其中,算法库中包括至少一种用于处理录入音频数据的算法,算法库能够通过其包括的算法,以参考音频数据作为处理依据,对录入音频数据进行处理,得到处理音频数据。算法库将处理音频数据发送给语音处理模块。由此,通过将用于处理音频数据的算法整合在算法库中,在对音频处理时调用算法库进行处理,实现了在载安卓系统中通过软件的方式处理音频,不仅降低了成本,还能通过设置算法库中包括的算法,提高定制的灵活性。
Description
技术领域
本发明涉及通信技术领域,尤其是涉及一种基于车载安卓系统的音频处理方法和相关装置。
背景技术
车载安卓(Android)系统是基于安卓系统提升驾驶体验而优化的系统,包括基于Android系统的车载信息娱乐系统。例如,车载安卓系统可让用户在车内浏览和播放音乐、电台、有声读物及其他音频内容。
相关技术中,在车载安卓系统中,针对语音、电话等音频场景,需要对音频进行处理以提高用户体验,如对音频进行回声消除、降噪等音频处理。一般采用通过硬件的方式进行回声消除和降噪。
但是上述方式成本较高,且定制的灵活性较差。
发明内容
针对上述问题,本申请提供一种基于车载安卓系统的音频处理方法和相关装置,用于降低成本,提高定制的灵活性。
基于此,本申请实施例公开了如下技术方案:
一方面,本申请实施例提供一种基于车载安卓系统的音频处理方法,所述方法应用于车载安卓系统中的语音处理模块,所述方法包括:
获取录入音频数据和参考音频数据,所述录入音频数据为通过所述车载安卓系统录入的,所述参考音频数据为所述录入音频数据的处理依据;
向算法库发送所述录入音频数据和所述参考音频数据,以便所述算法库根据所述参考音频数据对所述录入音频数据进行处理,得到处理音频数据,所述算法库包括至少一种用于处理所述录入音频数据的算法;
从所述算法库获取所述处理音频数据。
可选的,所述语音处理模块包括接口库,所述接口库包括多个接口,所述方法还包括:
所述语音处理模块将所述处理音频数据存储至目标物理内存中,以便音频硬件抽象层Audio HAL通过所述多个接口中的一个接口获取所述处理音频数据。
可选的,所述语音处理模块对应第一进程,所述Audio HAL对应第二进程,所述语音处理模块将所述处理音频数据存储至目标物理内存中,以便音频硬件抽象层Audio HAL通过所述多个接口中的一个接口获取所述处理音频数据,包括:
所述第一进程将所述处理音频数据存储至目标共享内存中,以便所述第二进程通过所述多个接口中的一个接口获取所述处理音频数据,所述目标共享内存为所述第一进程和所述第二进程共用的内存区域。
可选的,所述获取录入音频数据和参考音频数据,包括:
获取预设采样参数和通过车载麦克录入的待处理音频数据;
根据所述预设采样参数重采样所述待处理音频数据,得到所述录入音频数据。
可选的,所述语音处理模块包括后端,所述后端包括第一线程和第二线程,获取通过车载麦克录入的待处理音频数据,包括:
所述第一线程调用所述车载麦克,以便通过所述车载麦克获取所述待处理音频数据;
所述第一线程通过将所述待处理音频数据缓存储至目标缓存区域;
所述第二线程从所述目标缓存区域获取所述待处理音频数据。
另一方面,本申请提供了一种基于车载安卓系统的音频处理装置,所述装置内置于车载安卓系统中的语音处理模块中,所述装置包括:第一获取单元、发送单元和第二获取单元;
所述第一获取单元,用于获取录入音频数据和参考音频数据,所述录入音频数据为通过所述车载安卓系统录入的,所述参考音频数据为所述录入音频数据的处理依据;
所述发送单元,用于向算法库发送所述录入音频数据和所述参考音频数据,以便所述算法库根据所述参考音频数据对所述录入音频数据进行处理,得到处理音频数据,所述算法库包括至少一种用于处理所述录入音频数据的算法;
所述第二获取单元,用于从所述算法库获取所述处理音频数据。
可选的,所述语音处理模块包括接口库,所述接口库包括多个接口,所述装置还包括存储单元,用于:
将所述处理音频数据存储至目标物理内存中,以便音频硬件抽象层Audio HAL通过所述多个接口中的一个接口获取所述处理音频数据。
可选的,所述语音处理模块对应第一进程,所述Audio HAL对应第二进程,所述存储单元,具体用于:
所述第一进程将所述处理音频数据存储至目标共享内存中,以便所述第二进程通过所述多个接口中的一个接口获取所述处理音频数据,所述目标共享内存为所述第一进程和所述第二进程共用的内存区域。
可选的,所述第一获取单元,具体用于:获取预设采样参数和通过车载麦克录入的待处理音频数据;
根据所述预设采样参数重采样所述待处理音频数据,得到所述录入音频数据。
可选的,所述语音处理模块包括后端,所述后端包括第一线程和第二线程,所述第一获取单元,具体用于:
所述第一线程调用所述车载麦克,以便通过所述车载麦克获取所述待处理音频数据;
所述第一线程通过将所述待处理音频数据缓存储至目标缓存区域;
所述第二线程从所述目标缓存区域获取所述待处理音频数据。
另一方面,本申请提供了一种计算机设备,所述设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行上述方面所述的方法。
另一方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行上述方面所述的方法。
另一方面,本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方面所述的方法。
本申请上述技术方案的优点在于:
车载安卓系统中的语音处理模块获取录入音频数据和参考音频数据,其中,录入音频数据为通过车载安卓系统录入的,参考音频数据为录入音频数据的处理依据。语音处理模块向算法库发送录入音频数据和参考音频数据。其中,算法库中包括至少一种用于处理录入音频数据的算法,算法库能够通过其包括的算法,以参考音频数据作为处理依据,对录入音频数据进行处理,得到处理音频数据。算法库将处理音频数据发送给语音处理模块。由此,通过将用于处理音频数据的算法整合在算法库中,在对音频处理时调用算法库进行处理,实现了在载安卓系统中通过软件的方式处理音频,不仅降低了成本,还能通过设置算法库中包括的算法,提高定制的灵活性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本申请提供的一种基于车载安卓系统的音频处理方法的流程图;
图2为本申请提供的一种基于车载安卓系统的音频处理装置的示意图;
图3为本申请实施例提供的一种计算机设备的结构图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
下面结合图1,对本申请实施例提供的一种基于车载安卓系统的音频处理方法进行介绍。参见图1,该图为本申请实施例提供的一种基于车载安卓系统的音频处理方法的流程图,该方法可以包括S101-S105。
在车载安卓系统中,包括多个模块,如核心(Kernel)模块,用于通过硬件录制音频数据,包括音频驱动(AudioDriver)、处理音频的数字音频处理器(AudioDsp)等;音频硬件抽象层(Audio HAL)模块,用于与音频硬件设备的交互,由音频策略的执行者(AudioFlinger)直接调用等。在本申请实施例中,在车载安卓系统中增加了语音处理模块,用于对音频数据进行处理。作为一种可能的实现方式,语音处理模块内还可以包括多个子模块,不同子模块用于对音频数据做不同的处理。例如,语音处理模块包括回音消除和降噪回声(Echo Cancellation and Noise Reduction,ECNR)子模块,用于对音频数据进行降噪和消除回声的处理。下面以语音处理模块为执行主体,对本申请实施例提供的基于车载安卓系统的音频处理方法进行介绍。
S101:获取录入音频数据和参考音频数据。
其中,录入音频数据为通过车载安卓系统录入的,如用户在开车过程中接到电话,可以通过车载安卓系统接听电话,从而车载安卓系统可以获取用户录入的录入音频数据。又或者,用户通过语音唤醒车载安卓系统的车载机器人,此时车载安卓系统可以获取用户录入的录入音频数据。
参考音频数据为录入音频数据的处理依据,通过参考音频数据可以确定出用户想要对录入音频数据处理的程度,例如,用户A在开车过程中通过车载安卓系统与用户B打电话,用户A通过车载安卓系统听到的用户B的音频数据可以作为参考音频数据,用户A通过车载安卓系统录入的用户A的音频数据可以作为录入音频数据,由此,ECNR子模块可以基于参考音频数据对录入音频数据进行回声消除和降噪处理。若用户想要唤醒车载机器人,用户自己说话的声音可以作为参考音频数据。
作为一种可能的实现方式,若接收到用户接听电话的接听指令,AudioRecord(Android原生模块,用于录制PCM未编码的数据的模块,属Android应用框架API类)从软件层面准备开始录制录入音频数据,AudioRecord调用AudioFlinger(Android原生模块,处理播放或者录制数据,包括重采样,混音等)以便从软件层面处理录入音频数据,AudioFlinger调用Audio HAL(Android产品的硬件抽象层,提供播放和录制相关的所有音频相关功能),以便Audio HAL调用AudioDriver,通过硬件录制录入音频数据。
S102:向算法库发送录入音频数据和参考音频数据,以便算法库根据参考音频数据对录入音频数据进行处理,得到处理音频数据。
其中,算法库包括至少一种用于处理录入音频数据的算法。例如,若针对录入音频数据进行降噪处理,算法库中可以包括降噪算法。若针对录入音频数据进行消除回声处理,算法库中可以包括消除回声算法。本申请对此不做具体限定。
需要说明的是,算法库可以置于云端,还可以置于车载安卓系统内部,本申请对此不做具体限定。若算法库置于云端,车载安卓系统可以通过网络将录入音频数据发送给算法库;若算法库置于车载安卓系统内部,车载安卓系统可以通过进程将录入音频数据发送给算法库。
算法库在接收到录入音频数据和参考音频数据后,将参考音频数据作为处理依据,对录入音频数据进行处理,得到处理音频数据。需要说明的是,若算法库包括一种算法,可以直接根据该算法对录入音频数据进行处理,若算法库包括多种算法,在发送录入音频数据和参考音频数据的同时,发送处理方式标识,以便算法库根据处理方式标识从多种算法中确定所需算法,进而根据所需算法对录入音频数据进行处理。
S103:从算法库获取处理音频数据。
当算法库处理完录入音频数据得到处理音频数据后,语音处理模块从算法库获取处理音频数据。若用户A通过车载安卓系统中的蓝牙电话与用户B打电话,语音处理模块将处理音频数据通过蓝牙协议栈传递给用户B。
由上述技术方案可知,车载安卓系统中的语音处理模块获取录入音频数据和参考音频数据,其中,录入音频数据为通过车载安卓系统录入的,参考音频数据为录入音频数据的处理依据。语音处理模块向算法库发送录入音频数据和参考音频数据。其中,算法库中包括至少一种用于处理录入音频数据的算法,算法库能够通过其包括的算法,以参考音频数据作为处理依据,对录入音频数据进行处理,得到处理音频数据。算法库将处理音频数据发送给语音处理模块。由此,通过将用于处理音频数据的算法整合在算法库中,在对音频处理时调用算法库进行处理,实现了在载安卓系统中通过软件的方式处理音频,不仅降低了成本,还能通过设置算法库中包括的算法,提高定制的灵活性。
作为一种可能的实现方式,语音处理模块包括接口库,其中,该接口库包括多个接口。语音处理模块将处理音频数据存储至目标物理内存中,以便Audio HAL通过多个接口中的一个接口获取处理音频数据。其中,目标物理内存是Audio HAL和语音处理模块共享的内存。由此,车载安卓系统包括的多个模块通过接口库与语音处理模块进行交互,实现了各个模块间的独立,通过低耦合高内聚的方式存在,使得车载安卓系统中各个模块可以独立研发,从而加快研发进度,降低研发难度。此外,两个模块间共享部分内存,即目标物理内存,将两个模块均需要的数据存储至目标物理内存中,从而加快模块间的数据交互,降低音频延迟。
以语音处理模块包括的ECNR子模块为例,ECNR子模块提供一个接口库(libinterface库),运行在Audio HAL进程中,Audio HAL和ECNR子模块通过共享内存方式传递数据。具体地,ECNR子模块获取处理音频数据后,Audio HAL调用ECNR子模块提供的libinterface库的接口来读取数据,libinterface库负责通过共享内存方式和ECNR子模块交互。
作为一种可能的实现方式,ECNR子模块包括前端(ECNR Client)和后端(ECNRSever)。其中,前端可以看作是ECNR子模块的客户端,用于与车载安卓系统包括的其他模块进行交互,可以包括libinterface库和libaudioecnrhal(ECNR子模块的接口库对接的Client库)。后端可以看作是ECNR子模块的服务端,可以包括ECNR子模块处理单元(ECNRProcess,用于处理重采样或者回声消除等细节处理,Client和Server负责传输数据)、重采样单元(resample)和tinyalsa(Android原生模块,用户空间对接硬件抽象层的接口,用于播放和录制)。
需要说明的是,前端与后端通过共享内存的方式进行数据交互,例如,后端将处理音频数据存储至目标物理内存中,Audio HAL调用ECNR子模块提供的libinterface库的接口从目标物理内存中读取处理音频数据。
作为一种可能的实现方式,ECNR Client和ECNR Server采用HIDL FMQ的共享内存方式进行控制交互和数据传递。其中,HIDL为Android原生的一个跨进程通信的机制。FMQ为快速消息队列,用于实现HIDL跨进程时传输数据时的共享内存处理。需要说明的是,不同模块之间使用的目标物理内存为共享内存。同一模块内的不同子模块使用的目标物理内存为缓存。
作为一种可能的实现方式,车载安卓系统包括的多个模块通过进程进行交互。继续以前述为例,语音处理模块对应第一进程,Audio HAL对应第二进程,第一进程将处理音频数据存储至目标共享内存中,以便第二进程通过多个接口中的一个接口获取处理音频数据,其中,目标共享内存为第一进程和第二进程共用的内存区域,即前述所述的目标物理内存的一种。由此,模块间通过进程进行交互,例如,Audio HAL通过跨进程方式和ECNR模块进行交互,并且音频数据存储在目标共享内存中,通过共享内存的方式传递数据,从而降低音频延迟。
作为一种可能的实现方式,本申请实施例还提供一种S101,即获取录入音频数据和参考音频数据的具体实施方式,具体地,获取预设采样参数和通过车载麦克录入的待处理音频数据;根据预设采样参数重采样待处理音频数据,得到录入音频数据。其中,预设采样参数可以预先设置在车载安卓系统中,如采样率、通道数等。车载麦克是车辆安装的用于录制音频的设备。
例如,tinyalsa通过AudioDriver获取车载麦克录入的待处理音频数据,resample从tinyalsa获取待处理音频数据,根据预设采样参数重采样待处理音频数据,得到录入音频数据,然后通过ECNR Process存储至共享内存中,以便前端获取。同理,还可以根据预设采样参数重采样参考音频数据,得到处理后的参考音频数据,然后通过ECNR Process存储至缓存中,以便算法库获取。
作为一种可能的实现方式,语音处理模块包括后端,后端包括第一线程和第二线程,第一线程调用车载麦克,以便通过车载麦克获取待处理音频数据;第一线程通过将待处理音频数据缓存储至目标缓存区域;第二线程从目标缓存区域获取待处理音频数据。
由于音频数据链路较长,导致ECNR Server数据处理时间消耗较长,通过研究发现,是因为ECNR Server近采用一个线程对数据进行处理,基于此,本申请实施例采用至少两个线程处理,即第一线程和第二线程。其中,第一线程用于是数据源处理,即通过车载麦克获取待处理音频数据,将待处理音频数据缓存储至目标缓存区域(生产数据)。第二线程作为ECNR Server的主线程,负责按照ECNR Client要求组织数据并且从共享内存中获取数据,即从目标缓存区域获取待处理音频数据(消费数据)。由此,通过多线程并行处理数据,能够进一步降低延时。
作为一种可能的实现方式,第一线程和第二线程可以采用MonoPipe方式缓存来实现管理生产和消费数据。由此,通过MonoPipe方式实现线程间的交互,能够更加安全简单的实现数据交互。其中,MonoPipe是一种缓存技术,线程安全的机制。
为了使本申请实施例提供的技术方案更加清楚,下面以一个实例对本申请实施例提供的基于车载安卓系统的音频处理方法进行说明。
车载安卓系统包括可以包括APP模块、FW模块、Native模块、HAL模块和Kernel模块,下面分别进行说明。
APP模块是面向用户的模块,提供如播放音乐、蓝牙电话等功能。
FW模块是音频应用框架(Audio Application Framework)模块,包括AudioTrack、AudioRecord和AudioSystem。
其中,AudioTrack:负责回放数据的输出,属Android应用框架API类;AudioRecord:负责录音数据的采集,属Android应用框架API类;AudioSystem:负责音频事务的综合管理,属Android应用框架API类。
Native模块用于提供音频服务,包括AudioFlinger,即音频策略的执行者,负责输入输出流设备的管理及音频流数据的处理传输
HAL模块包括Audio HAL和语音处理模块。其中,Audio HAL为音频硬件抽象层,负责与音频硬件设备的交互,由AudioFlinger直接调用;语音处理模块以ECNR子模块为例。
ECNR子模块包括前端和后端,前端可以看作是ECNR子模块的客户端,用于与车载安卓系统包括的其他模块进行交互,可以包括libinterface库和libaudioecnrhal(ECNR子模块的接口库对接的Client库)。后端可以看作是ECNR子模块的服务端,可以包括ECNR子模块处理单元(ECNR Process,用于处理重采样或者回声消除等细节处理,Client和Server负责传输数据)、重采样单元(resample)和tinyalsa(Android原生模块,用户空间对接硬件抽象层的接口,用于播放和录制)。
Kernel模块通过硬件录制音频数据,包括用于获取录入音频数据的音频驱动(AudioDriver)。
S1:Audio HAL调用相关接口,以便车载安卓系统的硬件和软件准备工作。
例如,Audio HAL通过调用libinterface库的as_pcm_set_ref_device_card设置参考音的声卡和pcm设备号,相对在ECNR子模块内固定声卡号和pcm设备号。
S2:ECNR Client初始化,并与Audio HAL模块通信,获取来自客户端的相关参数。
例如,与客户端通信、获取用户设置的预设采样参数、音量等数据。
具体地,Audio HAL通过调用libinterface库的as_pcm_set_mode设置模式,包括蓝牙电话,系统语音,CarPlay电话,CarPlay Siri等几种模式,用于区分算法处理,以便初始化算法库,调用算法库中对应的算法。
Audio HAL通过调用libinterface库的as_pcm_open打开Mic(车载麦克)和Ref(参考音频数据)两个声卡和相关信息,以便ECNR Sever已经开始读取和处理相关数据并且缓存相关数据。
S3:ECNR子模块获取录入音频数据和参考音频数据。
例如,Audio HAL通过调用libinterface库的as_pcm_read跨进程读取ECNR Sever已经处理好后并且已经缓存的处理音频数据。
tinyalsa通过AudioDriver获取车载麦克录入的待处理音频数据,resample从tinyalsa获取待处理音频数据,根据预设采样参数重采样待处理音频数据,得到录入音频数据,然后通过ECNR Process存储至缓存中,以便算法库获取。根据预设采样参数重采样参考音频数据,得到处理后的参考音频数据,然后通过ECNR Process存储至缓存中,以便算法库获取。
S4:ECNR子模块向算法库发送录入音频数据和参考音频数据,以便算法库根据参考音频数据对录入音频数据进行处理,得到处理音频数据。
需要说明的是,在于算法库进行交互的过程中,需要将录入音频数据从交替结构转成块结构,然后将从算法库获取的数据从块结构转换为交替结构。
S5:ECNR子模块从算法库获取处理音频数据。
ECNR子模块将处理音频数据发送至共享内存,以便客户端获取。
需要说明的是,Audio HAL通过调用libinterface库的as_pcm_close停止录制语音数据,并删除相关数据。本申请实施例除了提供的基于车载安卓系统的音频处理方法外,还提供了基于车载安卓系统的音频处理装置,所述装置内置于车载安卓系统中的语音处理模块中,所述装置包括:第一获取单元201、发送单元202和第二获取单元203;
所述第一获取单元201,用于获取录入音频数据和参考音频数据,所述录入音频数据为通过所述车载安卓系统录入的,所述参考音频数据为所述录入音频数据的处理依据;
所述发送单元202,用于向算法库发送所述录入音频数据和所述参考音频数据,以便所述算法库根据所述参考音频数据对所述录入音频数据进行处理,得到处理音频数据,所述算法库包括至少一种用于处理所述录入音频数据的算法;
所述第二获取单元203,用于从所述算法库获取所述处理音频数据。
作为一种可能的实现方式,所述语音处理模块包括接口库,所述接口库包括多个接口,所述装置还包括存储单元,用于:
将所述处理音频数据存储至目标物理内存中,以便音频硬件抽象层Audio HAL通过所述多个接口中的一个接口获取所述处理音频数据。
作为一种可能的实现方式,所述语音处理模块对应第一进程,所述Audio HAL对应第二进程,所述存储单元,具体用于:
所述第一进程将所述处理音频数据存储至目标共享内存中,以便所述第二进程通过所述多个接口中的一个接口获取所述处理音频数据,所述目标共享内存为所述第一进程和所述第二进程共用的内存区域。
作为一种可能的实现方式,所述第一获取单元201,具体用于:获取预设采样参数和通过车载麦克录入的待处理音频数据;
根据所述预设采样参数重采样所述待处理音频数据,得到所述录入音频数据。
作为一种可能的实现方式,所述语音处理模块包括后端,所述后端包括第一线程和第二线程,所述第一获取单元201,具体用于:
所述第一线程调用所述车载麦克,以便通过所述车载麦克获取所述待处理音频数据;
所述第一线程通过将所述待处理音频数据缓存储至目标缓存区域;
所述第二线程从所述目标缓存区域获取所述待处理音频数据。
由上述技术方案可知,车载安卓系统中的语音处理模块获取录入音频数据和参考音频数据,其中,录入音频数据为通过车载安卓系统录入的,参考音频数据为录入音频数据的处理依据。语音处理模块向算法库发送录入音频数据和参考音频数据。其中,算法库中包括至少一种用于处理录入音频数据的算法,算法库能够通过其包括的算法,以参考音频数据作为处理依据,对录入音频数据进行处理,得到处理音频数据。算法库将处理音频数据发送给语音处理模块。由此,通过将用于处理音频数据的算法整合在算法库中,在对音频处理时调用算法库进行处理,实现了在载安卓系统中通过软件的方式处理音频,不仅降低了成本,还能通过设置算法库中包括的算法,提高定制的灵活性。
本申请实施例还提供了一种计算机设备,参见图3,该图示出了本申请实施例提供的一种计算机设备的结构图,如图3所示,所述设备包括处理器310以及存储器320:
所述存储器310用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器320用于根据所述程序代码中的指令执行上述实施例提供的任一种基于车载安卓系统的音频处理方法。
本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序于执行上述实施例提供的任一种基于车载安卓系统的音频处理方法。
本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方面的各种可选实现方式中提供的基于车载安卓系统的音频处理方法。
需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统或装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种基于车载安卓系统的音频处理方法,其特征在于,所述方法应用于车载安卓系统中的语音处理模块,所述方法包括:
获取录入音频数据和参考音频数据,所述录入音频数据为通过所述车载安卓系统录入的,所述参考音频数据为所述录入音频数据的处理依据;
向算法库发送所述录入音频数据和所述参考音频数据,以便所述算法库根据所述参考音频数据对所述录入音频数据进行处理,得到处理音频数据,所述算法库包括至少一种用于处理所述录入音频数据的算法;
从所述算法库获取所述处理音频数据。
2.根据权利要求1所述的方法,其特征在于,所述语音处理模块包括接口库,所述接口库包括多个接口,所述方法还包括:
所述语音处理模块将所述处理音频数据存储至目标物理内存中,以便音频硬件抽象层Audio HAL通过所述多个接口中的一个接口获取所述处理音频数据。
3.根据权利要求2所述的方法,其特征在于,所述语音处理模块对应第一进程,所述Audio HAL对应第二进程,所述语音处理模块将所述处理音频数据存储至目标物理内存中,以便音频硬件抽象层Audio HAL通过所述多个接口中的一个接口获取所述处理音频数据,包括:
所述第一进程将所述处理音频数据存储至目标共享内存中,以便所述第二进程通过所述多个接口中的一个接口获取所述处理音频数据,所述目标共享内存为所述第一进程和所述第二进程共用的内存区域。
4.根据权利要求1所述的方法,其特征在于,所述获取录入音频数据和参考音频数据,包括:
获取预设采样参数和通过车载麦克录入的待处理音频数据;
根据所述预设采样参数重采样所述待处理音频数据,得到所述录入音频数据。
5.根据权利要求4所述的方法,其特征在于,所述语音处理模块包括后端,所述后端包括第一线程和第二线程,获取通过车载麦克录入的待处理音频数据,包括:
所述第一线程调用所述车载麦克,以便通过所述车载麦克获取所述待处理音频数据;
所述第一线程通过将所述待处理音频数据缓存储至目标缓存区域;
所述第二线程从所述目标缓存区域获取所述待处理音频数据。
6.一种基于车载安卓系统的音频处理装置,其特征在于,所述装置内置于车载安卓系统中的语音处理模块中,所述装置包括:第一获取单元、发送单元和第二获取单元;
所述第一获取单元,用于获取录入音频数据和参考音频数据,所述录入音频数据为通过所述车载安卓系统录入的,所述参考音频数据为所述录入音频数据的处理依据;
所述发送单元,用于向算法库发送所述录入音频数据和所述参考音频数据,以便所述算法库根据所述参考音频数据对所述录入音频数据进行处理,得到处理音频数据,所述算法库包括至少一种用于处理所述录入音频数据的算法;
所述第二获取单元,用于从所述算法库获取所述处理音频数据。
7.根据权利要求6所述的装置,其特征在于,所述语音处理模块包括接口库,所述接口库包括多个接口,所述装置还包括存储单元,用于:
将所述处理音频数据存储至目标物理内存中,以便音频硬件抽象层Audio HAL通过所述多个接口中的一个接口获取所述处理音频数据。
8.一种计算机设备,其特征在于,所述设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行权利要求1-5任意一项所述的方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行权利要求1-5任意一项所述的方法。
10.一种计算机程序产品,其特征在于,包括计算机程序或指令;当所述计算机程序或指令被处理器执行时,执行权利要求1-5任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210890966.1A CN115273875A (zh) | 2022-07-27 | 2022-07-27 | 一种基于车载安卓系统的音频处理方法和相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210890966.1A CN115273875A (zh) | 2022-07-27 | 2022-07-27 | 一种基于车载安卓系统的音频处理方法和相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115273875A true CN115273875A (zh) | 2022-11-01 |
Family
ID=83769140
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210890966.1A Pending CN115273875A (zh) | 2022-07-27 | 2022-07-27 | 一种基于车载安卓系统的音频处理方法和相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115273875A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116132413A (zh) * | 2023-01-13 | 2023-05-16 | 深圳市瑞云科技股份有限公司 | 一种基于WebRTC实时语音透传改进方法 |
-
2022
- 2022-07-27 CN CN202210890966.1A patent/CN115273875A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116132413A (zh) * | 2023-01-13 | 2023-05-16 | 深圳市瑞云科技股份有限公司 | 一种基于WebRTC实时语音透传改进方法 |
CN116132413B (zh) * | 2023-01-13 | 2024-08-20 | 深圳市瑞云科技股份有限公司 | 一种基于WebRTC实时语音透传改进方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8660038B1 (en) | Previewing voicemails using mobile devices | |
US5434797A (en) | Audio communication system for a computer network | |
CN110673964A (zh) | 一种车载系统的音频播放控制方法和装置 | |
CN109147784A (zh) | 语音交互方法、设备以及存储介质 | |
US20190237070A1 (en) | Voice interaction method, device, apparatus and server | |
CN110457078A (zh) | 智能服务方法、装置及设备 | |
CN109508230A (zh) | 音频数据的采集方法、装置与存储介质 | |
CN109785845A (zh) | 语音处理方法、装置及设备 | |
CN115273875A (zh) | 一种基于车载安卓系统的音频处理方法和相关装置 | |
CN110781014B (zh) | 基于Android设备的录音数据的多进程分发方法与系统 | |
CN204808402U (zh) | 一种电子储蓄装置、电子储蓄罐玩具及电子储蓄系统 | |
CN113870912A (zh) | 一种录音方法、装置、设备及存储介质 | |
CN113992965A (zh) | 一种低延迟传输方法及系统 | |
CN113689062A (zh) | 智能体协调装置,智能体协调方法以及记录有智能体协调程序的记录介质 | |
CN112734545A (zh) | 区块链数据共享方法、装置及系统 | |
CN117539423A (zh) | 语音数据的处理方法、系统及虚拟机 | |
CN110874343B (zh) | 基于深度学习芯片进行语音处理的方法和深度学习芯片 | |
CN110457077A (zh) | 智能服务方法、装置及设备 | |
EP4167580A1 (en) | Audio control method, system, and electronic device | |
CN113727051A (zh) | 基于虚拟坐席的双向视频方法及系统、设备及存储介质 | |
CN107277284A (zh) | 基于VoLTE的语音通话方法和系统、存储装置 | |
CN113159752A (zh) | 转账交易凭证生成方法及装置 | |
CN113342501B (zh) | 系统故障处理方法及装置 | |
CN111355853A (zh) | 呼叫中心数据处理方法及装置 | |
CN110971744A (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 |