录音波形处理方法、装置、电子终端设备和存储介质

文档序号:1963815 发布日期:2021-12-14 浏览:14次 >En<

阅读说明:本技术 录音波形处理方法、装置、电子终端设备和存储介质 (Recording waveform processing method and device, electronic terminal equipment and storage medium ) 是由 吕鹏 于 2021-09-18 设计创作,主要内容包括:本申请实施例提出了一种录音波形处理方法、装置、电子终端设备和存储介质,涉及音频数据处理领域,其中,该方法应用于电子终端设备,该方法包括:根据对于目标录音文件的播放指令,播放目标录音文件的音频内容;在播放音频内容时,在用户态模式下,获取目标录音文件对应的目标波形文件所映射的第一虚拟内存地址;查找第一虚拟内存地址对应的物理内存地址,其中,第一虚拟内存地址对应的物理内存地址与内核态模式下的第二虚拟内存地址映射的对应的物理内存地址相同;从物理内存地址中,查找目标波形文件的波形数据;根据查找到的波形数据,显示当前播放的音频内容对应的波形。以此可在播放长时间的录音时,快速显示与录音内容对应的波形。(The embodiment of the application provides a recording waveform processing method, a recording waveform processing device, electronic terminal equipment and a storage medium, and relates to the field of audio data processing, wherein the method is applied to the electronic terminal equipment and comprises the following steps: playing the audio content of the target sound recording file according to the playing instruction of the target sound recording file; when audio content is played, under a user mode, acquiring a first virtual memory address mapped by a target waveform file corresponding to a target sound recording file; searching a physical memory address corresponding to the first virtual memory address, wherein the physical memory address corresponding to the first virtual memory address is the same as a physical memory address mapped by the second virtual memory address in the kernel mode; searching waveform data of a target waveform file from a physical memory address; and displaying the waveform corresponding to the currently played audio content according to the searched waveform data. Therefore, when the long-time recording is played, the waveform corresponding to the recording content can be rapidly displayed.)

录音波形处理方法、装置、电子终端设备和存储介质

技术领域

本申请实施例涉及音频数据处理领域,尤其涉及一种录音波形处理方法、装置、电子终端设备和存储介质。

背景技术

录音机应用程序(Application,App),可用于录制和播放音频文件。用户在使用、处理录音时,通常需要使用或处理录音机App所呈现的一些音频信息,例如音频中的音量大小、频率等信息。

其中,显示录音文件的音量波形是一种重要的附加功能,该功能可以帮助用户及时确定有价值的录音区域。

虽然目前有许多终端设备的录音机App可以提供音量幅度波形显示的功能,但是局限性较大。例如,在面临超长时间(例如,超过24小时)的录音场景时,因兼容性较差而导致不支持长时间录音,或,在播放长时间录音时,显示内容加载缓慢、卡顿。

发明内容

本申请实施例提供了一种录音波形处理方法、装置、电子终端设备和存储介质,可以改善现有录音机App、终端设备的处理局限性,即使面临长时间录音场景,也可以具有良好的兼容性,可以在播放长时间录音时提供良好的波形显示。

第一方面,本申请实施例提供一种录音波形处理方法,应用于电子终端设备,所述方法包括:

根据对于目标录音文件的播放指令,播放所述目标录音文件的音频内容;

在播放所述音频内容时,在用户态模式下,获取所述目标录音文件对应的目标波形文件所映射的第一虚拟内存地址;

查找所述第一虚拟内存地址对应的物理内存地址,其中,所述第一虚拟内存地址对应的物理内存地址与内核态模式下的第二虚拟内存地址映射的对应的物理内存地址相同;

从所述物理内存地址中,查找所述目标波形文件的波形数据;

根据查找到的所述波形数据,显示当前播放的所述音频内容对应的波形。

在上述方法中,当需要播放目标录音文件的音频内容时,可以直接在用户态模式下,通过在第一虚拟内存地址对应的物理内存地址中查找波形数据,得到与当前播放的音频内容匹配的波形数据,从而进行波形显示。其中,由于在获取波形数据时,查找的物理内存地址是被用户态模式下的第一虚拟内存地址以及内核态模式下的第二虚拟内存地址所共同映射的内存地址,用户态模式下的第一虚拟内存地址对应的物理内存地址与内核态模式下的第二虚拟内存地址映射的对应的物理内存地址相同,因此,在针对目标录音文件来读取目标波形文件中的波形数据时,可以避免因用户空间与内核空间这两者空间不同、数据不通所需要的繁琐处理过程,这不仅可以实现波形数据的高效读取,改善波形加载缓慢、卡顿的问题,还可以改善传统技术中在处理长时间录音、波形文件时因数组处理过程而容易发生的内存溢出问题。此外,上述的方法可适用于多种操作系统版本的电子终端设备,在处理长时间录音文件及长时间录音所对应的波形时,具有较好的兼容性,在性能较低、硬件资源较为紧张的终端设备中也可以较为稳定地运行。

其中一种可能的实现方式中,所述从所述物理内存地址中,查找所述目标波形文件的波形数据,包括:在从所述物理内存地址中无法查找到所述波形数据时,从所述用户态模式切换到所述内核态模式;在所述内核态模式下,根据预先建立的第一映射关系,确定所述第一虚拟内存地址映射的所述目标波形文件的物理存储地址,将所述目标波形文件的波形数据从所述物理存储地址中,拷贝到所述第一虚拟内存地址映射的所述物理内存地址中,所述第一映射关系包括所述目标波形文件的物理存储地址与所述第一虚拟内存地址的映射关系;从所述内核态模式切换到所述用户态模式,在所述用户态模式下,从所述物理内存地址中查找得到所述波形数据。

通过上述的实现方式,即使当前无法得到所需的部分波形数据,也仅需进行一次拷贝,就可以将所需的波形数据直接写入第一虚拟内存地址所对应的物理内存,可以快速实现波形显示,无需像传统方案那样等到波形数组加载完整个波形文件的所有波形数据才开始显示,无需执行先将波形数据拷贝缓存到划分给内核空间的一部分特定物理内存,再将缓存在内核空间的波形数据拷贝到划分给用户空间的另一部分特定物理内存的逐级读取处理。

其中一种可能的实现方式中,所述查找所述第一虚拟内存地址对应的物理内存地址,包括:在无法查找到所述第一虚拟内存地址对应的物理内存地址时,从所述用户态模式切换至所述内核态模式;在所述内核态模式下,选取空闲的物理内存地址与所述第一虚拟内存地址进行地址映射,以使所述物理内存地址被所述第一虚拟内存地址和所述第二虚拟内存地址共同映射;所述从所述物理内存地址中,查找所述目标波形文件的波形数据,包括:在所述内核态模式下,根据预先建立的第一映射关系,确定所述目标波形文件的物理存储地址,以及,将所述目标波形文件的波形数据从所述物理存储地址中,拷贝到所述第一虚拟内存地址映射的所述物理内存地址中,所述第一映射关系包括所述目标波形文件的物理存储地址与所述第一虚拟内存地址的映射关系;从所述内核态模式切换至所述用户态模式,在所述用户态模式下,从所述物理内存地址中查找得到所述波形数据。

通过上述的实现方式,即使没有预先将波形数据缓存在内核空间,也可以快速加载、显示当前播放的音频内容所对应的波形。

其中一种可能的实现方式中,所述目标波形文件为二进制格式。

其中,上述实施方式以二进制格式进行存储,可以优化整个目标波形文件存储所占用的空间大小,并且,在以上述的方法读取该二进制格式的目标波形文件时,可以减少波形读取过程中对于实际内存的占用。

其中一种可能的实现方式中,所述根据查找到的所述波形数据,显示当前播放的所述音频内容对应的波形,包括:在所述用户态模式下,以设定字节长度的二进制数据作为一个浮点型波形数据,对从所述物理内存地址中得到的所述波形数据进行内容解析;根据当前播放的所述音频内容所对应的播放时间点,对解析确定的波形内容进行显示。

通过上述实现方式,可以快速加载、解析、显示出与当前播放的音频内容所对应的波形,利于实现超长时间(例如超过12小时、24小时等)录音处理场景下的波形实时绘制。

其中一种可能的实现方式中,所述方法还包括:响应用户发起的标记操作,获取所述标记操作对应的波形标记位置;对所述波形标记位置处对应的波形数据进行定位标记。

通过上述实现方式,支持随机访问,可以为录音播放过程、目标波形文件附加更丰富的信息,有利于更多维度的录音使用。

其中一种可能的实现方式中,所述方法还包括:响应用户发起的噪声过滤操作,获取所述噪声过滤操作对应的过滤区域;对所述过滤区域内的音频数据以及波形数据进行删除。

通过上述实现方式,可以在大量的音频数据、波形数据中快速剔除无效信息,留下更有价值的录音内容。

第二方面,本申请实施例提供一种录音波形处理装置,应用于电子终端设备,所述装置包括:

音频处理模块,用于根据对于目标录音文件的播放指令,播放所述目标录音文件的音频内容;

波形处理模块,用于在播放所述音频内容时,在用户态模式下,获取所述目标录音文件对应的目标波形文件所映射的第一虚拟内存地址;

所述波形处理模块,还用于查找所述第一虚拟内存地址对应的物理内存地址,其中,所述第一虚拟内存地址对应的物理内存地址与内核态模式下的第二虚拟内存地址映射的对应的物理内存地址相同;

所述波形处理模块,还用于从所述物理内存地址中,查找所述目标波形文件的波形数据;

所述波形处理模块,还用于根据查找到的所述波形数据,显示当前播放的所述音频内容对应的波形。

其中一种可能的实现方式中,所述波形处理模块还用于:在从所述物理内存地址中无法查找到所述波形数据时,从所述用户态模式切换到所述内核态模式;在所述内核态模式下,根据预先建立的第一映射关系,确定所述第一虚拟内存地址映射的所述目标波形文件的物理存储地址,将所述目标波形文件的波形数据从所述物理存储地址中,拷贝到所述第一虚拟内存地址映射的所述物理内存地址中,所述第一映射关系包括所述目标波形文件的物理存储地址与所述第一虚拟内存地址的映射关系;从所述内核态模式切换到所述用户态模式,在所述用户态模式下,从所述物理内存地址中查找得到所述波形数据。

其中一种可能的实现方式中,所述波形处理模块还用于:在无法查找到所述第一虚拟内存地址对应的物理内存地址时,从所述用户态模式切换至所述内核态模式;在所述内核态模式下,选取空闲的物理内存地址与所述第一虚拟内存地址进行地址映射,以使所述物理内存地址被所述第一虚拟内存地址和所述第二虚拟内存地址共同映射;在所述内核态模式下,根据预先建立的第一映射关系,确定所述目标波形文件的物理存储地址,以及,将所述目标波形文件的波形数据从所述物理存储地址中,拷贝到所述第一虚拟内存地址映射的所述物理内存地址中,所述第一映射关系包括所述目标波形文件的物理存储地址与所述第一虚拟内存地址的映射关系;从所述内核态模式切换至所述用户态模式,在所述用户态模式下,从所述物理内存地址中查找得到所述波形数据。

其中一种可能的实现方式中,所述波形处理模块还用于:在所述用户态模式下,以设定字节长度的二进制数据作为一个浮点型波形数据,对从所述物理内存地址中得到的所述波形数据进行内容解析;根据当前播放的所述音频内容所对应的播放时间点,对解析确定的波形内容进行显示。

其中一种可能的实现方式中,所述波形处理模块还用于:响应用户发起的标记操作,获取所述标记操作对应的波形标记位置;对所述波形标记位置处对应的波形数据进行定位标记。

其中一种可能的实现方式中,所述波形处理模块还用于:响应用户发起的噪声过滤操作,获取所述噪声过滤操作对应的过滤区域;所述音频处理模块还用于对所述过滤区域内的音频数据进行删除,所述波形处理模块还用于对所述过滤区域内的波形数据进行删除。

第三方面,本申请实施例提供一种电子终端设备,包括:

音频处理组件;

显示组件;

至少一个处理器;以及

与所述处理器通信连接的至少一个存储器,其中:

所述音频处理组件用于播放目标录音文件的音频内容;

所述显示组件用于显示与所述音频内容对应的波形;

所述存储器中存储有可被所述处理器执行的程序指令,所述程序指令被所述处理器调用时能够执行第一方面所述的方法。

第四方面,本申请实施例提供一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时执行第一方面所述的方法。

应当理解的是,本申请实施例的第二~四方面与本申请实施例的第一方面的技术方案一致,各方面及对应的可行实施方式所取得的有益效果相似,不再赘述。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1为本申请实施例提供的一种录音波形处理方法的流程图;

图2为本申请实施例提供的另一种录音波形处理方法的流程图;

图3为本申请实施例提供的再一种录音波形处理方法的流程图;

图4为本申请实施例提供的一个应用场景下的波形数据读取原理图;

图5为本申请实施例提供的一种录音波形处理方法的部分流程图;

图6为本申请实施例提供的一种录音波形处理方法的另一部分流程图;

图7为本申请实施例提供的一种录音波形处理方法的又一部分流程图;

图8为本申请实施例提供的一种录音波形处理装置的功能结构框图;

图9为本申请实施例提供的一种电子终端设备的结构示意图。

具体实施方式

为了更好的理解本说明书的技术方案,下面结合附图对本申请实施例进行详细描述。

应当明确,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本说明书保护的范围。

在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本申请实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。

现有技术中,存在很多录音机应用程序(Application,App)可以用来录制、播放音频文件,并且提供音量幅度波形显示的功能,但是都具有一定的局限性,例如兼容性差、无法支持长时间的录音、无法在播放长时间录音时实时显示录音内容对应的波形图等。

现有技术中存在一些录音机App,在进行长时间录音时,波形加载较慢,导致录音内容已经播放了一段时间,波形却还未显示。并且,对于配置较低、内存资源较少的设备机型,例如,操作系统为Android go版本的终端设备,在加载超过24小时的超长时录音时会偶现内存溢出而崩溃的现象,也正是因为这一情况,市场上的很多录音机App为了能够兼容配置性能较差的机型而选择了限制录音时长(例如,限制单次录音时长为几分钟、不超过半小时、不超过几个小时等)。

发明人经过研究发现,在现有技术中,录音阶段会将采集的波形数据转换为ASCII码格式的文本,并在存储波形数据时,以每行写入一个波形数据的方式进行存储,从而得到波形文本文件。而在录音播放阶段,会先创建一个用于容纳整个波形文本文件中的所有波形数据的波形数组,通过对波形数组不断扩容、向波形数组中加载波形数据,加载完所有波形数据以后,按固定时间间隔从数组中取波形数据开始进行波形显示的方式来绘制录音波形。现有技术在播放长时间录音时存在的不足之处至少由以下两方面原因造成:

第一,在现有技术中,播放录音时,需要创建一个波形数组,并且将整个波形文本文件中的所有波形数据全部加载到波形数组中,当波形数组加载完整个波形文本文件中所有的波形数据以后才会开始绘制、显示波形。其中,此处的波形数据的加载过程涉及到波形数组的空间分配、内存扩容、文本文件读取等一系列过程,而在波形数组添加波形数据、传统读写文件传输等过程中需要进行多次数据拷贝。在录音时长较短的情况下,例如,录音时长仅为几分钟、半个小时、1个小时等情况下,耗时等待总时长对于使用者而言还不太明显,但是,在录制超长时间的音频时,例如录制超过12小时、超过24小时的超长时录音的情况下,前述的一系列耗时操作所引起的等待总时长必然会放大,导致出现明显的波形加载缓慢、卡顿情况,该现象在低配置的机型上会较为严重。

第二,以Android操作系统为例,Android操作系统为了维持设备的多任务环境正常运行,会为每个应用程序的堆大小设置上限,不同设备的实际堆大小的上限取决于该设备总体可用的运行内存大小,所以,当一个应用进程在达到堆容量上限后,尝试分配更多内存时,可能会发生Out Of Memory Error(即,内存不足,或称为内存溢出)现象。通常情况下,Android go版本的设备的可用内存比较小,在类似的设备机型上播放长时间录音文件时,如果存储波形数据的波形数组不断进行扩容从而容纳整个波形文本文件的所有波形数据,很容易造成分配的内存空间达到应用堆大小的限制,从而触发内存溢出的异常情况导致运行崩溃。

有鉴于此,发明人提出以下实施例予以改善。

通过本申请提出的录音波形处理方法、装置、电子终端设备和存储介质,即使在需要处理长时间录音的场景下,也可以快速读取到与当前播放的音频内容所匹配的波形数据并进行波形显示,可以减少用户等待时间,并且可以合理利用堆外内存来对长时间录音文件对应的波形数据进行处理,缓解内存占用情况,可有效支持低内存的设备达到良好的录音波形呈现效果。

为了便于理解,下面将对本申请实施例中的一些概念进行介绍。

内核:是操作系统的内部核心,内核向外部提供了对整个计算机设备的核心管理调用。内核所在的地址空间可称作内核空间,而在内核以外的可统称外部管理程序,大部分的外部管理程序涉及对外围设备的管理和界面操作,外部管理程序和用户进程所占据的地址空间可称为外部空间或用户空间。

其中,为了限制不同程序之间的访问能力,避免随意获取其他程序的内存数据或随意获取外围设备的数据,划分了不同权限等级的处理模式:用户态模式和内核态模式。当执行到内核空间的一段代码时,可视为处于内核态,而当程序执行到用户空间的代码时,可视为处于用户态。内核态与用户态是操作系统的两种运行级别。

请参阅图1,图1为本申请实施例提供的一种录音波形处理方法的流程图。

其中,该方法可以应用于电子终端设备。该电子终端设备的操作系统可以是但不限于:iOS、Windows、macOS、Linux、Android、HarmonyOS等。

如图1所示,该方法可以包括以下步骤:

S110:根据对于目标录音文件的播放指令,播放所述目标录音文件的音频内容。

其中,目标录音文件中包括音频数据,目标录音文件具有其对应的目标波形文件,该目标波形文件中包括有与该音频数据对应的波形数据。目标波形文件和目标波形文件可以是电子终端设备在录音阶段生成并存储的文件,也可以是从外部设备处获得的文件。目标波形文件和目标波形文件可存储在电子终端设备的非易失性存储器中的不同物理存储位置。

对于目标录音文件的播放指令,可以是在电子终端设备感应到用户触发指定的功能按钮时生成的,也可以是电子终端设备从外部设备处接收到的。

当电子终端设备收到对于目标录音文件的播放指令时,可读取目标录音文件和目标波形文件的内容,从而一边进行音频播放,一边进行波形显示。

电子终端设备可调用音频处理组件对目标录音文件进行音频播放,以播放目标录音文件的音频内容,同时还可以启动指定的应用进程来进行波形处理,从而在播放录音的整个过程中,显示与当前播放的音频内容所匹配的波形。

S120:在播放所述音频内容时,在用户态模式下,获取所述目标录音文件对应的目标波形文件所映射的第一虚拟内存地址。

其中,第一虚拟内存地址是用户空间的一段逻辑地址。

在本申请实施例中,首次播放目标录音文件、读取目标波形文件前可以进行初始化,初始化过程可以为该目标波形文件创建、分配或更新一处虚拟内存地址作为目标波形文件所映射的第一虚拟内存地址,还可以建立该第一虚拟内存地址与目标波形文件的物理存储地址之间的映射关系,记为第一映射关系。当然,初始化过程也可以是在电子终端设备收到播放指令时执行。

在初始化确定目标波形文件所映射的第一虚拟内存地址的情况下,当电子终端设备得到前述的播放指令时,可以直接在用户态模式下获取目标波形文件所映射的第一虚拟内存地址,通过内存指针访问该第一虚拟内存地址,并继续执行S130。

S130:查找所述第一虚拟内存地址对应的物理内存地址,其中,所述第一虚拟内存地址对应的物理内存地址与内核态模式下的第二虚拟内存地址映射的对应的物理内存地址相同。

在本申请实施例中,关于S130中的第一虚拟内存地址对应的物理内存地址,同时还被内核态模式下的第二虚拟内存地址所映射,该物理内存地址可视为被用户空间和内核空间共享。基于此,电子终端设备在内核态模式下对该物理内存地址的读写操作可以直接从用户态模式下得知。其中,内核态模式下的第二虚拟内存地址为内核态模式下进行内存管理的虚拟内存。

上述的S130是在用户态模式下执行的步骤。其中,在能够直接从用户态模式下通过S130查找到第一虚拟内存地址对应的物理内存地址时,可在用户态模式下继续执行S140,以获取所需的波形数据,从而执行S150进行波形显示。而如果当前通过S130查找不到第一虚拟内存地址对应的物理内存地址,可参阅后续介绍的S131-S132。

S140:从所述物理内存地址中,查找所述目标波形文件的波形数据。

其中,如果通过S140可以直接得到当前所需的波形数据,则可继续执行150。如果当前通过S140对该物理内存地址进行查找时没有查找到所需的波形数据,可参阅后续介绍的S141b-S143b。

其中,需要从物理内存地址中查找的波形数据包括与当前播放的音频数据所匹配的波形数据。关于从该物理内存地址中查找的波形数据,可以是在播放阶段从目标波形文件中预读取的一部分数据,也可以是临时读取的一部分数据。

S150:根据查找到的所述波形数据,显示当前播放的所述音频内容对应的波形。

其中,通过对目标录音文件中的音频数据、目标波形文件中的波形数据进行播放时间点的匹配,可以确定出与当前播放的音频内容所对应的波形数据应该是哪部分,从而进行波形显示。

需要说明的是,上述的方法可以在播放过程中多次、循环执行,在S150之后可以继续通过上述的方法读取下一部分波形数据并进行显示。

在上述S110-S150的方法中,当需要播放目标录音文件的音频内容时,可以直接在用户态模式下,通过在第一虚拟内存地址对应的物理内存地址中查找波形数据,得到与当前播放的音频内容匹配的波形数据,从而进行波形显示。其中,由于在获取波形数据时,查找的物理内存地址是被用户态模式下的第一虚拟内存地址以及内核态模式下的第二虚拟内存地址所共同映射的内存地址,用户态模式下的第一虚拟内存地址对应的物理内存地址与内核态模式下的第二虚拟内存地址映射的对应的物理内存地址相同,因此,在针对目标录音文件来读取目标波形文件中的波形数据时,通过在共享的物理内存地址中得到当前所需的波形数据并基于此进行显示,可以避免传统方案中因用户空间与内核空间这两者空间不同、数据不通所需要的繁琐处理过程,示例性的,这些繁琐处理过程可包括数组空间的分配、针对数组的内存扩容、不同空间的繁琐拷贝等。通过上述的方法不仅可以实现波形数据的高效读取,改善波形加载缓慢、卡顿的问题,还可以改善传统技术中在处理长时间录音、波形文件时容易发生的内存溢出问题。此外,上述的方法可适用于多种操作系统版本的电子终端设备,在处理长时间录音文件及长时间录音所对应的波形时,具有较好的兼容性,在性能较低、硬件资源较为紧张的终端设备中也可以较为稳定地运行,有利于在播放长时间音频内容的过程中实时绘制对应的波形。

作为一种实现方式,请参阅图2,如果在执行上述S130时出现这种情况:当前查找不到该第一虚拟内存地址对应的物理内存地址,在找不到被共享的物理内存时,则可执行下述的S131-S132以及S141a-S142a。S130可包括S131-S132,S140可包括S141a-S142a。

S131:在无法查找到所述第一虚拟内存地址对应的物理内存地址时,从所述用户态模式切换至所述内核态模式。

S132:在所述内核态模式下,选取空闲的物理内存地址与所述第一虚拟内存地址进行地址映射,以使所述物理内存地址被所述第一虚拟内存地址和所述第二虚拟内存地址共同映射。

其中,空闲的物理内存地址是指当前未被占用、未被使用的内存地址。

在内核态模式下,可以依据内核空间的虚拟内存地址对物理内存进行管理,基于此管理方式,可以在内核态模式下,将已经被第二虚拟内存地址映射的空闲的物理内存地址,映射至用户态模式下的第一虚拟内存地址,以此可以使得同一物理内存地址被不同的虚拟内存地址共同映射。

在本申请实施例中,在前述的初始化过程不涉及物理内存分配的情况下,首次读取目标波形文件时,可以通过S131进行模式切换,并通过S132在内核态模式下进行物理内存的分配,以使得用户态模式下的第一虚拟内存地址和内核态模式下的第二虚拟内存地址具有共同映射的物理内存地址。

在执行完S132时,由于才在内核态模式下分配空闲的物理内存,且此时分配的物理内存中还未写入当前所需的波形数据,因此可继续在内核态模式下直接执行S141a以向分配的物理内存中载入当前所需的波形数据。

S141a:在所述内核态模式下,根据预先建立的第一映射关系,确定所述目标波形文件的物理存储地址,以及,将所述目标波形文件的波形数据从所述物理存储地址中,拷贝到所述第一虚拟内存地址映射的所述物理内存地址中。

所述第一映射关系包括所述目标波形文件的物理存储地址与所述第一虚拟内存地址的映射关系。

该第一映射关系是一种内存映射文件的关系。内存映射是指将一个虚拟内存区域与实际物理存储位置中的对象进行关联,以初始化这个虚拟内存区域的内容,这个过程称为内存映射,例如,将磁盘上存储的目标波形文件与第一虚拟内存地址进行映射可视为内存映射文件,基于内存映射文件有利于实现在用户态模式下直接操作文件所映射的虚拟内存来实现对文件内容的读写。

其中,由于内核态模式下分配的物理内存地址是被第一虚拟内存地址、第二虚拟内存地址共同映射的,在基于第一映射关系确定目标波形文件的物理存储地址的情况下,可通过该第一映射关系将目标波形文件中的波形数据,直接写入到被第一虚拟内存地址、第二虚拟内存地址共同映射的物理内存地址中,以便于电子终端设备可以通过下述的S142a,在切换回用户态模式时直接从该物理内存地址中得到所需的波形数据,无需对同一部分波形数据进行再次拷贝。

S142a:从所述内核态模式切换至所述用户态模式,在所述用户态模式下,从所述物理内存地址中查找得到所述波形数据。

在S142a后可执行S150以进行波形显示。

通过上述S131、S132、S141a、S142a和S150的实现方式,在无法查找到对应的物理内存地址来获取波形数据时,例如在首次播放目标录音文件、首次读取目标波形文件时,可以先进行模式切换,然后在内核态模式下寻找空闲的物理内存地址进行地址映射,从而使得该空闲的物理内存地址被内核态模式、用户态模式共享,然后再确定波形数据所在的物理存储位置,接着对波形数据进行拷贝读取,使得波形数据直接被载入第一虚拟内存地址对应的物理内存地址中,接着回到用户态模式下,从物理内存地址中获取被载入的波形数据进行波形显示。通过该实现过程,即使没有预先将波形数据缓存在内核空间,也可以快速加载、显示当前播放的音频内容所对应的波形。

作为另一种实现方式,请参阅图3,在用户态模式下通过前述的S130可以查找到第一虚拟内存地址对应的物理内存地址,但是继续执行S140的过程中却查找不到所需的波形数据时,可执行S141b-S143b。

即,S140可以包括:S141b-S143b。

S141b:在从所述物理内存地址中无法查找到所述波形数据时,从所述用户态模式切换到所述内核态模式。

其中,在用户态模式下能够查找到第一虚拟内存地址对应的物理内存地址,但是在用户态模式下从该物理内存地址查找不到所需的波形数据时,可执行S141b以进行模式切换,然后执行S142b以载入所需的波形数据,接着执行S143b以切换回用户态模式,在用户态模式下从该物理内存地址中得到所需的波形数据。

S142b:在所述内核态模式下,根据预先建立的第一映射关系,确定所述第一虚拟内存地址映射的所述目标波形文件的物理存储地址,将所述目标波形文件的波形数据从所述物理存储地址中,拷贝到所述第一虚拟内存地址映射的所述物理内存地址中。

所述第一映射关系包括所述目标波形文件的物理存储地址与所述第一虚拟内存地址的映射关系。

S143b:从所述内核态模式切换到所述用户态模式,在所述用户态模式下,从所述物理内存地址中查找得到所述波形数据。

关于S142b-S143b中与映射、拷贝有关的内容可参阅前述关于S141a-S142a的内容。在执行完S143b后可执行S150以进行波形显示。

通过上述S130、S141b-S143b和S150的实现方式,当无法从第一虚拟内存地址对应的物理内存地址中查找到所需的波形数据时,进行模式切换,基于预先建立的第一映射关系,先确定波形数据所在的物理存储位置,然后对波形数据进行拷贝读取,使得波形数据直接被载入第一虚拟内存地址对应的物理内存地址中,接着回到用户态模式下,获取物理内存地址中被载入的波形数据,从而进行波形显示。在该过程中,即使当前无法得到所需的部分波形数据,也仅需进行一次拷贝,就可以将所需的波形数据直接写入第一虚拟内存地址所对应的物理内存,可以快速实现波形显示,无需像传统方案那样等到波形数组加载完整个波形文件的所有波形数据才开始显示,无需执行先将波形数据拷贝缓存到划分给内核空间的一部分特定物理内存,再将缓存在内核空间的波形数据拷贝到划分给用户空间的另一部分特定物理内存的逐级读取处理。

示例性地,该电子终端设备的操作系统可以是Android go。该电子终端设备的运行内存容量可以小于或等于1GB。

需要说明的是,前述图1、图2、图3的内容可以在一次录音播放过程中进行组合使用。

在一个应用场景下,录音结束后、首次读取目标波形文件进行波形显示前,可以获取存储在磁盘中的目标录音文件所对应的目标波形文件在磁盘中的存储路径,以此可确定目标波形文件的物理存储位置。通过该存储路径可得到该目标波形文件在内核中的文件描述符fd,基于该文件描述符fd,可以在初始化过程中使用mmap(Memory Mapped Files)这种映射方法建立指定应用进程的第一虚拟内存地址(例如图4中的“B”)与该目标波形文件的物理存储位置(例如图4中的“A”)之间的第一映射关系。其中,mmap的英文全称是MemoryMapped Files,是一种内存文件映射的方法,用于将一个文件或者其他对象映射到进程的地址空间,实现文件磁盘地址和进程虚拟地址空间中的一段虚拟地址的一一映射关系。

当首次读取该目标波形文件的数据时,访问第一虚拟内存地址,但是此时没有确定被共享的物理内存,因此需要通过MMU(Memory Management Unit,内存管理单元)对第一虚拟内存地址进行地址映射。其中,由于此时查找不到第一虚拟内存地址对应的物理内存地址,因此触发缺页错误,从用户态模式切换到内核态模式。并且,在内核态模式下,可以采用按需求调页的方式进行物理内存的分配,可基于内核空间的虚拟内存地址从内核所管理的所有物理内存中寻找物理内存的空闲帧,以此查找空闲的物理内存地址,并将查找的第二虚拟内存地址(例如图4中的“C”)所对应的空闲物理内存地址(例如图4中的“D”),通过MMU映射到第一虚拟内存地址。然后,继续在内核态模式下通过之前建立的第一映射关系,可采用DMA(Direct Memory Access,直接访问存储器)技术将本次所需的部分波形数据从目标波形文件的物理存储位置处填充至分配的空闲物理内存地址中。接着从内核态模式切换回用户态模式,获取该物理内存地址中的波形数据进行解析并显示。这种按需求调页分配的方式可以节约应用进程所占的内存,在访问到第一虚拟内存地址并触发缺页错误时才分配物理内存、载入波形数据到物理内存中,所以在播放超长时间的录音内容时,整个目标波形文件的内容无需一次性读入物理内存。

其中,如果在内核态模式下拷贝波形数据时,以预读取的方式进行数据拷贝,此处的预读取并非限定为将整个目标波形文件的所有数据一次性写入物理内存,而是指可以提前将下一次或后续更多次需要的波形数据提前写入该物理内存地址。例如,首次读取时,本次只需要解析4字节的波形数据,但实际应用中可以在分配物理内存后,多写入一部分超过4字节的波形数据,例如写入12字节、40字节或更多字节的波形数据,以便于下一次或后续更多次能够快速从分配的物理内存中得到所需的波形数据进行显示。被预读取的部分波形数据可以由内核管理,应用进程只需要在用户态模式下获取本次需要显示的那部分波形数据进行处理即可,以此可提高数据处理效率,无需在每次读取一点波形数据时都进行一次物理内存分配过程和磁盘数据读取过程。当被预读取的波形数据由应用进程在用户态模式下解析显示完毕之后,继续在用户态模式下访问分配的该物理内存时,可再次触发缺页错误,并再次进入内核态模式拷贝新的波形数据到分配的物理内存地址中,以使得电子终端设备能够在切换回用户态模式后继续得到新的波形数据进行波形显示。

在非首次读取目标波形文件,但是需要从该目标波形文件中得到新的波形数据进行显示时,可能会出现前述被分配的物理内存地址中没有当前所需的波形数据的情况,例如,在上一次读取的那部分波形数据已经显示过,接下来要播放下一时间点的音频数据,并需要下一组新的波形数据时,此时访问第一虚拟内存地址对应的物理内存地址会因为查找不到本次所需的波形数据而再次触发缺页错误,此时,只需要在内核态模式下写入新的波形数据到之前分配过的物理内存地址中即可,此次写入波形数据后则可直接切换回用户态模式进行波形数据的解析与显示。

可选的,本申请实施例中的目标波形文件可以为二进制格式。

在一个应用场景下,电子终端设备进行录音时,按照设定的时间间隔进行音频采样,得到原始音频数据、音量幅度信息。该设定的时间间隔可以是但不限于:100毫秒、200毫秒。通过在录音过程中不断地采集相互对应的原始音频数据、音量幅度信息,并对采集到的该两种内容分别进行存储,直至录音过程结束,得到两个文件:基于原始音频数据得到的目标录音文件、基于音量幅度信息得到的目标波形文件。其中,目标录音文件、目标波形文件都可以是二进制格式的文件。

以波形处理为例,音量幅度信息可以表示为信噪比,在存储时可以转换为以分贝(db)为单位的二进制格式的浮点型数据进行存储,从而得到全部波形数据为二进制格式的目标波形文件。

可选的,本申请实施例中的一个波形数据可以为4字节的浮点型波形数据,一个波形数据的二进制表示形式可以示例为:00111110001000000000000000000000=0.1562。在该例中,32位的浮点型波形数据符合IEEE754规定,最高位为符号位,接下来8位是指数信息,剩下的23位为有效数字。一份目标波形文件中的所有波形数据包括连续的二进制浮点型数据,每个浮点型数据4字节。

其中,相较于传统方案中以ASCII码(American Standard Code for InformationInterchange,美国标准资讯交换码)的文本文件格式对波形数据进行存储的方式,上述实施方式以二进制格式进行存储,可以优化整个目标波形文件存储所占用的空间大小,并且,在以上述的方法读取该二进制格式的目标波形文件时,可以减少波形读取过程中对于实际内存的占用,便于快速读取解析。

作为一种实施方式,如图5所示,上述的S150可以包括:

S151:在所述用户态模式下,以设定字节长度的二进制数据作为一个浮点型波形数据,对从所述物理内存地址中得到的所述波形数据进行内容解析。

以设定字节长度为4个字节为例,通过这样的方式对从物理内存地址中得到的波形数据进行内容解析,可以实现高效解析。

S152:根据当前播放的所述音频内容所对应的播放时间点,对解析确定的波形内容进行显示。

其中,当前播放的音频内容所对应的播放时间点与波形内容的播放显示点可以设置为相同,也可以设置为在允许的误差延时条件下播放,使用者对于被允许的误差延时条件下发生的显示延时可视为是无感知的。

在一个应用场景下,目标波形文件中的一部分波形数据已经被载入了第一虚拟内存地址对应的物理内存地址,但还有一部分波形数据未从磁盘中被载入物理内存,此时,对于已经载入到物理内存地址的这部分波形数据,可以按照每次4个字节进行内容解析,从而得到与当前播放的音频内容所匹配的波形进行显示。解析和显示的处理过程可以视为将二进制的浮点型数据转换为音量幅度的波形,并且与音频播放流的播放时间节点进行时间同步,使得屏幕上显示的波形与播放的音频内容同步。

通过上述S151-S152的实现方式,可以快速加载、解析、显示出与当前播放的音频内容所对应的波形,利于实现超长时间(例如超过12小时、24小时等)录音处理场景下的波形实时绘制。并且,以4字节的二进制浮点型数据进行波形处理,有利于显示出一些具体时间点比较小的音量变化,具有较好的细节呈现能力。

可选地,如图6所示,本申请实施例提供的录音波形处理方法还可以包括:

S161:响应用户发起的标记操作,获取所述标记操作对应的波形标记位置。

S162:对所述波形标记位置处对应的波形数据进行定位标记。

在一个应用场景下,用户可以在录音的播放过程中,在电子终端设备的操作界面上进行标记操作,电子终端设备根据用户的标记操作,可以获取该标记操作对应的波形标记位置以及该波形标记位置处实际对应的音频内容,可以对该波形标记位置处对应的波形数据进行定位标记,从而有利于后续根据该定位标记快速寻找到该处被标记过的波形以及该波形所对应的音频内容。

通过上述S161-S162的实现方式,支持随机访问,可以为录音播放过程、目标波形文件附加更丰富的信息,有利于更多维度的录音使用。实际应用过程可以采用数字标识对波形数据进行具体标记,可通过数字标记对播放时间点进行详细定位,从而为音频增加更丰富的信息,当然,标记方式可以不仅限于数字标记,例如,可以采用其他的符号进行标记。

下面通过表1给出几种数据传输方法在读写处理速度方面的对比结果,其中,对比过程中采用了四种文件读写方式进行对比,该四种读写方式传输的都是40MB的文件。

表1

需要说明的是,表1中的“普通输入流”、“缓冲输入流”这两种方式都是依赖数组完成的,都需要创建波形数组、进行数组扩容、向数组载入整个波形文件的所有波形数据,因此,容易在可用内存较低的低配置终端设备上出现内存溢出情况。因此,为了尽可能避免内存溢出,在不使用传统方案的数组处理过程的情况下达到随机读取数据的效果,通常只能选择内存映射文件或随机文件访问RandomAccessFile类来提供随机访问功能。其中,Random Access File类是Java输入/输出流体系中功能丰富的一种文件内容访问类,它提供了众多的方法函数来访问文件内容,支持访问文件中任意位置的数据。通过表1可知,通过内存映射文件所进行的数据读写速度会更快,因此,通过本申请实施例提供的录音波形处理方法对录音过程进行随机定位标记时,处理速度会更快,将该方法应用于性能配置较低、可用内存较低的设备也可具有较好的兼容性与稳定性。

可选地,如图7所示,本申请实施例提供的录音波形处理方法还可以包括:

S171:响应用户发起的噪声过滤操作,获取所述噪声过滤操作对应的过滤区域。

S172:对所述过滤区域内的音频数据以及波形数据进行删除。

在一个应用场景下,用户可以在录音的播放过程中,在电子终端设备的操作界面上进行噪声过滤操作,电子终端设备根据用户的噪声过滤操作可以获取该噪声过滤操作对应的过滤区域,然后将过滤区域内的音频数据和波形数据删去,从而留下用户感兴趣的音频数据与波形数据。

通过上述S171-S172的实现方式,可以在大量的音频数据、波形数据中快速剔除无效信息,留下更有价值的录音内容。可以理解的是,基于该原理也可以筛选出有效、有价值区域的一段音频数据以及波形数据,筛选得到的内容可以另外进行存储。

通过本申请实施例提供的录音波形处理方法,摒弃了使用数组存储波形数据的方式,而是直接从波形文件的物理存储位置处读取到应用进程的第一虚拟内存地址所映射的物理内存地址中,以直接读取文件的方式避免了数组拷贝过程造成的耗时。此外,还节省了以数组存储波形数据所需要申请的堆内存空间,合理利用了堆外内存来优化应用进程对于内存的占用,改善内存溢出问题。另外,由于在读取目标波形文件的过程中,引入了Javanio库提供的内存映射文件所支持的文件读写方式,可以在录音播放过程中快速实现随机访问所需数据,相较于Random Access File类的随机文件访问方式可以具有更快的处理速度,减少了数据拷贝过程中的大量耗时,有利于使用者快速为目标波形文件附加更丰富的信息。其中,录音过程中如果将用于表现音量幅度信息的目标波形文件以二进制格式进行存储,可以减少目标波形文件存储所用的空间,且更方便读取与解析,有利于实现在录音播放过程的同时实时绘制波形图案。上述方案即使在性能配置较低、可用内存资源较低的Android go设备上也可以稳定运行,且支持多种操作系统,可用于处理超长时间的录音内容及对应的波形。

上述内容对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

请参阅图8,图8为本申请实施例提供的一种录音波形处理装置的功能结构框图。该装置可设置于电子终端设备中。

如图8所示,该录音波形处理装置可包括:音频处理模块210和波形处理模块220。

其中,该音频处理模块210,用于根据对于目标录音文件的播放指令,播放所述目标录音文件的音频内容。

该波形处理模块220,用于在播放所述音频内容时,在用户态模式下,获取所述目标录音文件对应的目标波形文件所映射的第一虚拟内存地址。

该波形处理模块220,还用于查找所述第一虚拟内存地址对应的物理内存地址,其中,所述第一虚拟内存地址对应的物理内存地址与内核态模式下的第二虚拟内存地址映射的对应的物理内存地址相同。

该波形处理模块220,还用于从所述物理内存地址中,查找所述目标波形文件的波形数据。

该波形处理模块220,还用于根据查找到的所述波形数据,显示当前播放的所述音频内容对应的波形。

可选地,该波形处理模块220,还用于:在从所述物理内存地址中无法查找到所述波形数据时,从所述用户态模式切换到所述内核态模式。在所述内核态模式下,根据预先建立的第一映射关系,确定所述第一虚拟内存地址映射的所述目标波形文件的物理存储地址,将所述目标波形文件的波形数据从所述物理存储地址中,拷贝到所述第一虚拟内存地址映射的所述物理内存地址中,所述第一映射关系包括所述目标波形文件的物理存储地址与所述第一虚拟内存地址的映射关系。从所述内核态模式切换到所述用户态模式,在所述用户态模式下,从所述物理内存地址中查找得到所述波形数据。

可选地,该波形处理模块220,还用于:在无法查找到所述第一虚拟内存地址对应的物理内存地址时,从所述用户态模式切换至所述内核态模式。在所述内核态模式下,选取空闲的物理内存地址与所述第一虚拟内存地址进行地址映射,以使所述物理内存地址被所述第一虚拟内存地址和所述第二虚拟内存地址共同映射。以及用于:在所述内核态模式下,根据预先建立的第一映射关系,确定所述目标波形文件的物理存储地址,以及,将所述目标波形文件的波形数据从所述物理存储地址中,拷贝到所述第一虚拟内存地址映射的所述物理内存地址中,所述第一映射关系包括所述目标波形文件的物理存储地址与所述第一虚拟内存地址的映射关系。从所述内核态模式切换至所述用户态模式,在所述用户态模式下,从所述物理内存地址中查找得到所述波形数据。

其中,上述的目标波形文件可以为二进制格式。

可选地,该波形处理模块220,还用于:在所述用户态模式下,以设定字节长度的二进制数据作为一个浮点型波形数据,对从所述物理内存地址中得到的所述波形数据进行内容解析;根据当前播放的所述音频内容所对应的播放时间点,对解析确定的波形内容进行显示。

可选地,该波形处理模块220,还用于:响应用户发起的标记操作,获取所述标记操作对应的波形标记位置;对所述波形标记位置处对应的波形数据进行定位标记。

可选地,该波形处理模块220,还用于:响应用户发起的噪声过滤操作,获取所述噪声过滤操作对应的过滤区域;该音频处理模块210还用于对所述过滤区域内的音频数据进行删除,该波形处理模块220还用于对所述过滤区域内的波形数据进行删除。

图8所示实施例提供的录音波形处理装置可用于执行本说明书图1-图7所示方法实施例的技术方案,关于该录音波形处理装置、电子终端设备的其他细节,可参阅实施例中与录音波形处理方法、电子终端设备有关的内容,相同的实现原理与技术效果可参考方法实施例中的相关描述,此处将不再赘述。

在本申请实施例中,前述的电子终端设备可以为但不限于智能手机、平板电脑或笔记本电脑、智能穿戴设备等智能电子设备。

示例性的,请参阅图9,图9为本申请实施例提供的一种电子终端设备300的示意图,图9以智能手机为例示出了电子终端设备300的一种结构示意图。

如图9所示,该电子终端设备300可包括:音频处理组件310、显示组件320、处理器330、存储器340、电源模块350、通信模块360、扬声器311、受话器312、麦克风313、耳机接口314。

音频处理组件310、显示组件320、存储器340、电源模块350、通信模块360、扬声器311、受话器312、麦克风313、耳机接口314均可以与处理器330直接或间接通信连接。

其中,存储器340可以用于存储计算机可执行程序代码,可执行程序代码包括指令。存储器340可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子终端设备300使用过程中所创建的数据(比如音频数据,电话本)等。此外,存储器340可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。处理器330通过运行存储在存储器340的指令,和/或存储在设置于处理器中的存储器的指令,执行电子终端设备300的各种功能应用以及数据处理。例如,处理器330可通过运行存储在存储器340中的程序指令,从而执行各种功能应用以及数据处理,例如实现本申请实施例提供的录音波形方法。

处理器330可以包括一个或多个处理单元,例如:处理器330可以包括应用处理器(Application Processor,AP),调制解调处理器,图形处理器(Graphics ProcessingUnit,GPU),图像信号处理器(Image Signal Processor,ISP),控制器,视频编解码器,数字信号处理器(Digital Signal Processor,DSP),基带处理器,和/或神经网络处理器(Neural-network Processing Unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。

处理器330中也可以设置内部存储器,用于存储指令和数据。在一些实施例中,处理器330中的存储器为高速缓冲存储器,该存储器可以保存处理器330刚用过或循环使用的指令或数据,如果处理器330需要再次使用该指令或数据,可从该存储器中直接调用,避免了重复存取,减少了处理器330的等待时间,因而提高了系统的效率。

在一些实施例中,处理器330可以包括一个或多个接口,用于与电子终端设备300中的各个组件进行通信连接。例如,接口可以包括集成电路(inter-integrated circuit,I2C)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,通用输入输出(general-purpose input/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。

电子终端设备300可以通过音频处理组件310,扬声器311,受话器312,麦克风313,耳机接口314,以及应用处理器等实现音频功能,例如音频播放,录音等。

音频处理组件310用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。音频处理组件310还可以用于对音频信号编码和解码。在一些实施例中,音频处理组件310可以设置于处理器330中,或将音频处理组件310的部分功能模块设置于处理器330中。

扬声器311,也称“喇叭”,用于将音频电信号转换为声音信号。电子终端设备300可以通过扬声器311收听音乐,播放录音,或收听免提通话。

受话器312,也称“听筒”,用于将音频电信号转换成声音信号。当电子终端设备300接听电话或语音信息时,可以通过将受话器312靠近人耳接听语音。

麦克风313,也称“话筒”,“传声器”,用于将声音信号转换为电信号。电子终端设备300可以设置一个或多个麦克风313,用以实现采集声音信号,降噪,还可以识别声音来源,实现定向录音功能等。

耳机接口314用于连接耳机。耳机接口314可以是USB接口,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。

电子终端设备300可通过GPU,显示组件320,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示组件320和应用处理器,用于执行数学和几何计算,用于图形渲染。处理器330可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。

显示组件320用于显示图像,视频等,例如可以用以显示波形图、波形动画。显示组件320包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emitting diode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode的,AMOLED),柔性发光二极管(flex light-emitting diode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot light emitting diodes,QLED)等。在一些实施例中,电子终端设备300可以包括1个或N个显示组件320,N为大于1的正整数。

在本申请实施例中,所述音频处理组件310用于播放目标录音文件的音频内容。所述显示组件320用于显示与所述音频内容对应的波形。所述存储器340中存储有可被所述处理器330执行的程序指令,所述程序指令被所述处理器330调用时能够执行前述实施例所述的录音波形处理方法。

电源模块350可用于接收电池和/或充电模块的输入,为处理器330、存储器340、显示组件320、通信模块360等供电。电源模块350还可以用于监测电池容量,电池循环次数,电池健康状态(漏电,阻抗)等参数。

通信模块360可以为电子终端设备300提供有线或无线通信功能。电子终端设备300的无线通信功能可以通过天线,通信模块360,调制解调处理器以及基带处理器等实现。天线用于发射和接收电磁波信号。电子终端设备300中的每个天线可用于覆盖单个或多个通信频带。通信模块360中的移动通信模块可以提供应用在电子终端设备300上的包括2G/3G/4G/5G等无线通信的解决方案。在一些实施例中,移动通信模块的至少部分功能模块可以被设置于处理器330中。在一些实施例中,移动通信模块的至少部分功能模块可以与处理器330的至少部分模块被设置在同一个器件中。

可以理解的是,本申请实施例示意的结构并不构成对电子终端设备300的具体限定。在本申请另一些实施例中,电子终端设备300可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。例如,电子终端设备300还可以包括摄像头、马达、按键等。

电子终端设备300可以连接外部存储卡,例如Micro SD卡,实现扩展电子终端设备300的存储能力。外部存储卡通过外部存储器接口与处理器330通信,实现数据存储功能。例如将录音文件、波形文件保存在外部存储卡中。

除了前述实施例,本申请实施例还提供一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时执行前述实施例所述的录音波形处理方法。该存储介质可以是一种非暂态计算机可读存储介质。

上述存储介质可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、射频(radio frequency,RF)等等,或者上述的任意合适的组合。

在本发明实施例的描述中,参考术语“实施例”、“示例”等的描述意指结合该实施例或示例描述的具体特征、结构或者特点包含于本说明书的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。

在本说明书所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

另外,在本说明书各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上功能单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)或处理器(processor)执行本说明书各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM)、随机存取存储器(RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。

27页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:视频推荐方法、装置、设备及介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!