多麦克风录音方法、装置、电子设备及存储介质与流程

未命名 08-13 阅读:202 评论:0


1.本发明实施例涉及音频技术领域,尤其涉及一种多麦克风录音方法、装置、电子设备及存储介质。


背景技术:

2.目前基于安卓平台的智能语音设备越来越普遍的出现在了生活中,其中录音设备因其应用场景丰富,所以使用频率越来越高。由于目前的智能语音设备仅支持一个麦克风进行录音,当一个智能语音设备同时接入多个麦克风时,只能录取其中一个的麦克风的声音,其他的麦克风的声音则无法录制,例如一个智能语音设备同时接入多个usb麦克风或多个蓝牙麦克风,当其中一个麦克风录制声音时,其它剩余的麦克风就无法进行声音录制,用户使用体验感差。


技术实现要素:

3.本发明实施例提供了一种多麦克风录音方法、装置、电子设备及存储介质,旨在解决现有智能语音设备不支持多个麦克风同时录音的问题。
4.第一方面,本发明实施例提供了一种多麦克风录音方法,其包括:
5.若接收到录音开始指令,则获取接入的多个麦克风的设备信息,并将所述设备信息写入麦克风信息链表中进行保存;
6.根据所述设备信息通过多个所述麦克风的声卡节点读取pcm数据,其中,所述pcm数据是启动录音后的所述麦克风生成的数据;
7.将所述pcm数据的格式进行转换及混音处理,得到目标音频数据。
8.第二方面,本发明实施例还提供了一种多麦克风录音装置,其包括:
9.第一获取单元,用于若接收到录音开始指令,则获取接入的多个麦克风的设备信息,并将所述设备信息写入麦克风信息链表中进行保存;
10.第一读取单元,用于根据所述设备信息通过多个所述麦克风的声卡节点读取pcm数据,其中,所述pcm数据是启动录音后的所述麦克风生成的数据;
11.转换混音单元,用于将所述pcm数据的格式进行转换及混音处理,得到目标音频数据。
12.第三方面,本发明实施例还提供了一种电子设备,其包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法。
13.第四方面,本发明实施例还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序当被处理器执行时可实现上述方法。
14.本发明实施例提供了一种多麦克风录音方法、装置、电子设备及存储介质。其中,所述方法包括:若接收到录音开始指令,则获取接入的多个麦克风的设备信息,并将所述设备信息写入麦克风信息链表中进行保存;根据所述设备信息通过多个所述麦克风的声卡节点读取pcm数据,其中,所述pcm数据是启动录音后的所述麦克风生成的数据;将所述pcm数
据的格式进行转换及混音处理,得到目标音频数据。本发明实施例的技术方案,通过麦克风信息链表中的设备信息读取所有麦克风的pcm数据,再将pcm数据进行格式转换并混音,以实现同时录制所有麦克风的声音的功能。
附图说明
15.为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
16.图1为本发明实施例提供的一种多麦克风录音方法的流程示意图;
17.图2为本发明实施例提供的一种多麦克风录音方法的子流程示意图;
18.图3为本发明另一实施例提供的一种多麦克风录音方法的流程示意图;
19.图4为本发明另一实施例提供的一种多麦克风录音方法的子流程示意图;
20.图5为本发明实施例提供的一种多麦克风录音装置的示意性框图;
21.图6为本发明实施例提供的一种电子设备的示意性框图。
具体实施方式
22.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
23.应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
24.还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
25.还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
26.如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
[0027]
请参阅图1,图1是本发明实施例提供的多麦克风录音方法的流程示意图。下面对所述多麦克风录音方法进行详细说明。如图1所示,该方法包括以下步骤s100-s120。
[0028]
s100、若接收到录音开始指令,则获取接入的多个麦克风的设备信息,并将所述设备信息写入麦克风信息链表中进行保存。
[0029]
在本发明实施例中,智能语音设备可以连接多种类型的多个麦克风,例如可以连接多个蓝牙麦克风、usb麦克风等多种类型的麦克风,以实现接入多个麦克风设备录制声音。智能设备接入多个麦克风后,用户便可向智能语音设备发送录音开始指令以启动所述
智能语音设备开始录音,例如在智能语音设备的触摸屏上点击开始录音按钮,或通过语音向智能设备发送开始录音的语音指令,使所述智能语音设备开始录音。当所述智能语音设备接收到录音开始指令时,则获取接入的多个麦克风的设备信息,例如获取接入的多个蓝牙麦克风和/或多个usb麦克风,并将多个蓝牙麦克风和/或多个usb麦克风的设备信息写入麦克风信息链表中进行保存。具体地,获取多个蓝牙麦克风和/或多个usb麦克风可通过在audio hal层调用adev_open_input_stream接口,并通过在proc/asound/card声卡中的capture设备使用tinyalsa库的tinypcminfo接口获取当前接入的麦克风的设备信息,其中,所述设备信息包括麦克风支持的采样率、采样精度以及通道数,并将麦克风的设备信息以结构体的方式保存至麦克风设备信息链表中,例如,以结构体struct的方式将麦克风的设备信息保存至麦克风设备信息链表中。需要说明的是,在其它实施例中,所述设备信息还可以包括周期数和周期大小等参数,在实际应用中可根据实际需求,获取相应的麦克风的参数作为麦克风的设备信息,在此不作具体限定。
[0030]
进一步地,所述智能语音设备还可以接入模拟麦克风以录制模拟麦克风的声音。具体地,将模拟麦克风的设备信息以结构体的方式预先存储至所述麦克风信息链表中,从而可以对模拟麦克风的设备信息进行维护。需要说明的是,在本发明实施例中,由于模拟麦是通过芯片原厂实现的模拟声卡上传声音的,而该声卡无论是否插入模拟麦克风都是存在的,而原厂实现的声卡有很多种,提前存入链表可以不需要区分原厂声卡哪个是模拟麦克风。将模拟麦克风的设备信息存入麦克风设备信息链表,就可以直接在hal层通过模拟麦克风的结构体信息获取到模拟麦克风的声音,实现兼容模拟麦类型的麦克风录制。因此,需要预先以结构体的方式将模拟麦克风的设备信息存储至所述麦克风信息链表中。当接入了模拟麦克风时,就可以根据保存的模拟麦克风的设备信息通过模拟声卡获取到模拟麦克风的声音。还需要说明的是,在本发明实施中,所述智能语音设备为基于android的智能语音设备,在其它实施例中,所述智能语音设备也可以是基于其它系统或平台的智能语音设备,在此不作具体限定。
[0031]
s110、根据所述设备信息通过多个所述麦克风的声卡节点读取pcm数据,其中,所述pcm数据是启动录音后的所述麦克风生成的数据。
[0032]
在本发明实施例中,当蓝牙麦克风和/或usb麦克风接入智能语音设备时,会实时生成声卡节点,通过该声卡节点可以读取接入的蓝牙麦克风和/或usb麦克风的pcm数据,其中,所述pcm数据是启动录音后的所述麦克风生成的数据。具体地,是根据存储在所述麦克风设备信息链表中的多个所述蓝牙麦克风和/或usb麦克风的设备信息,通过tinycalsa库的pcm_start及pcm_read接口,从多个所述蓝牙麦克风的声卡节点和/或多个所述usb麦克风的声卡节点读取pcm数据。而当模拟麦克风接入智能语音设备,由于模拟麦克风的模拟声卡在智能语音设备上是一直存在的,并不会因接入了模拟麦克风而实时生成,因此,只要智能语音设备接入了模拟麦克风,就可以根据麦克风信息链表中预先存储的模拟麦克风的设备信息,通过tinycalsa库的pcm_start及pcm_read接口从所述模拟麦克风的模拟声卡中读取模拟麦克风的pcm数据。在本发明实施例中,直接使用android的原生接口就能实现读取到usb麦克风、蓝牙麦克风以及模拟麦克风等多种类型的麦克风的pcm数据,无需定义新接口,实现起来更便捷。需要说明的是,在本发明实施例中,所述pcm(pulse-code modulation)数据为脉冲编码调制数据。
[0033]
请参阅图2,在一实施例中,例如,在本发明实施例中,所述步骤s110包括如下步骤s111-s112。
[0034]
s111、选取任意一个麦克风作为第一麦克风,根据所述第一麦克风的所述采样率、所述采样精度以及所述通道数,通过所述第一麦克风的声卡节点读取所述第一麦克风的pcm数据得到第一音频数据;
[0035]
s112、将除所述第一麦克风之外的剩余麦克风作为第二麦克风,根据所述第二麦克风的所述采样率、所述采样精度以及所述通道数,通过所述第二麦克风的声卡节点读取所述第二麦克风的pcm数据得到第二音频数据。
[0036]
在本发明实施例中,智能语音设备接入了多个麦克风进行录音,若接收到录音开始指令,选取接入的多个麦克风中的任意一个麦克风作为第一麦克风,并从麦克风信息链表中获取该第一麦克风的采样率、采样精度以及通道数,再根据该第一麦克风的采样率、采样精度以及通道数,通过该第一麦克风的声卡节点读取该第一麦克风的pcm数据,以得到第一音频数据;将除第一麦克风之外的已接入智能语音设备的剩余麦克风作为第二麦克风,并从麦克风信息链表中获取第二麦克风的采样率、采样精度以及通道数,再根据第二麦克风的采样率、采样精度以及通道数,通过该第二麦克风的声卡节点读取该第二麦克风的pcm数据,以得到第二音频数据。具体地,通过循环调用in_read接口读取第一麦克风的pcm数据得到第一音频数据,在每次调用in_read接口执行时会同步读取第二麦克风的pcm数据得到第二音频数据。可理解地,所述第二麦克风包括多个麦克风,例如除第一麦克风外剩余的多个蓝牙麦克风和/或usb麦克风和/或模拟麦克风,读取每个麦克风的pcm数据是通过每个麦克风对应的声卡节点进行读取的。
[0037]
s120、将所述pcm数据的格式进行转换及混音处理,得到目标音频数据。
[0038]
在本发明实施例中,读取到麦克风的pcm数据后需要对pcm数据进行格式转换并混音,以便于后续将启动录音的所有麦克风录制到的音频数据进行放溢播放。具体地,先获取第一音频数据的音频格式,将第二音频数据的音频格式转换为与第一音频数据相同的音频格式,得到待混音音频数据,再将该待混音音频数据与第一音频数据进行混音,得到目标音频数据。其中,获取第一音频数据的音频格式是获取第一音频数据的采样率、采样精度以及通道数,例如,获取得到第一音频数据的格式为48khz、8位、双通道的音频数据;而第二音频数据的格式为44.1khz、16位、单通道的音频数据,则需要将第二音频数据的48khz转换为44.1khz,单通道转换为双通道,16位转换为8位,得到格式为44.1khz、16位、单通道的待混音音频数据(即已进行格式转换后的第二音频数据)。最后将待混音音频数据与第一音频数据进行混音,就能得到目标音频数据,该目标音频数据即为接入智能语音设备中多个麦克风共同录制的声音。得到目标音频数据后,可将所述目标音频数据通过智能语音设备进行放溢播放,或亦将所述目标音频数据进行保存,或发送给其它终端设备,由其它终端设备进行保存或播放。需要说明的是,在本发明实施例中,44.1khz和48khz均表示麦克风的采样率;8位和16位均表示麦克风的采样精度;单通道和双通道均表示麦克风的通道数。本发明实施例,通过录制一个麦克风的声音的时候同步获取其它麦克风的声音,从而使智能语音设备实现了支持多个麦克风同时录音的功能,而且还能兼容蓝牙麦克风、usb麦克风以及模拟麦克风等不同类型的麦克风同时录制,应用场景更广泛,用户体验更好。
[0039]
请参阅图3,图3为本发明另一实施例提供的一种多麦克风录音方法的流程示意
图,在图3中包括步骤s200-s240,其中,步骤s200-s220与上述步骤s100-s120的步骤一样,为描述简便,在此不再赘述,如下具体介绍在步骤s200之前增加的步骤s230-s240。
[0040]
s230、获取麦克风设置信息,并根据所述麦克风设置信息对接入的多个所述麦克风的使用状态进行设置;
[0041]
s240、根据所述使用状态控制多个所述麦克风是否启动录音。
[0042]
在本发明实施例中,在开始录制麦克风的声音之前,用户可以对接入的麦克风进行选择并设置,以选取用于录音的麦克风,例如当接入了3个usb麦克风、2个蓝牙麦克风时,则可以选取3个usb麦克风中的2号usb麦克风和2个蓝牙麦克风中的1号蓝牙麦克风用于本次的录音。具体地,可以通过ui调用adev_set_param接口对接入的多个麦克风的使用状态进行设置,其中,所述麦克风设置信息包括启用指令和停用指令,用于设置接入的多个麦克风哪些麦克风会在录音时被使用。例如,当用户选择了2号usb麦克风和1号蓝牙麦克风进行录音时,则将所述2号usb麦克风和1号蓝牙麦克风的使用状态设置为“启用”状态,而剩余的麦克风的使用状态则被设置为“停用”状态,并将多个麦克风的使用状态保存到所述麦克风设备信息链表中。当智能语音设备接收到录音开始指令时,则可以根据麦克风设备信息链表中的麦克风的使用状态实现控制具体哪些麦克风启动录音,哪些麦克风不启动录音。在本发明实施例中,通过ui设置麦克风的使用状态,能动态选择录音的麦克风,具有良好的可操作性。
[0043]
请参阅图4,在一实施例中,例如,在本发明实施例中,所述步骤s240包括如下步骤s241-s243。
[0044]
s241、通过定义多个所述麦克风的录音标志位控制多个所述麦克风是否启动录音;
[0045]
s242、若多个所述麦克风的录音标志位为预设值,则控制多个所述麦克风启动录音;
[0046]
s243、若多个所述麦克风的录音标志位不为预设值,则控制多个所述麦克风不启动录音。
[0047]
在本发明实施中,根据麦克风的使用状态控制麦克风是否启动录音,可通过定义麦克风的录音标志位以实现控制麦克风是否启动录音。具体地,可通过adev_set_param接口定义麦克风的录音标志位为预设值以控制麦克风启动录音,例如,定义字符串“usb-mic2=1”来设置2号usb麦克风参与多麦克风录音(即2号usb麦克风启动录音)、定义字符串“bt-mic1=1”来设置1号蓝牙麦克风参与多麦克风录制(即1号蓝牙麦克风启动录音)。而当麦克风的录音标志位不是预设值时,则说明控制该麦克风不参与多麦克风录制(即不启动录音)。
[0048]
请参阅图5,图5是本发明实施例提供的一种多麦克风录音200的示意性框图。如图5所示,对应于以上多麦克风录音方法,本发明还提供一种多麦克风录音装置200。该多麦克风录音装置200包括用于执行上述多麦克风录音方法的单元,该装置可以被配置于电子设备中。具体地,请参阅图5,该多麦克风录音装置200包括第一获取单元201、第一读取单元202以及转换混音单元203。
[0049]
其中,所述第一获取单元201用于若接收到录音开始指令,则获取接入的多个麦克风的设备信息,并将所述设备信息写入麦克风信息链表中进行保存;所述第一读取单元202
用于根据所述设备信息通过多个所述麦克风的声卡节点读取pcm数据,其中,所述pcm数据是启动录音后的所述麦克风生成的数据;所述转换混音单元203用于将所述pcm数据的格式进行转换及混音处理,得到目标音频数据。
[0050]
在某些实施例,例如本实施例中,所述第一读取单元202包括第一读取子单元及第二读取子单元。
[0051]
其中,所述第一读取子单元用于选取任意一个麦克风作为第一麦克风,根据所述第一麦克风的所述采样率、所述采样精度以及所述通道数,通过所述第一麦克风的声卡节点读取所述第一麦克风的pcm数据得到第一音频数据;所述第二读取子单元用于将除所述第一麦克风之外的剩余麦克风作为第二麦克风,根据所述第二麦克风的所述采样率、所述采样精度以及所述通道数,通过所述第二麦克风的声卡节点读取所述第二麦克风的pcm数据得到第二音频数据。
[0052]
在某些实施例,例如本实施例中,所述转换混音单元203包括转换子单元及混音子单元。
[0053]
其中,所述转换子单元用于获取所述第一音频数据的音频格式,将所述第二音频数据的音频格式转换为与所述第一音频数据相同的音频格式,得到待混音音频数据;所述混音子单元用于将所述待混音音频数据与所述第一音频数据进行混音,得到目标音频数据。
[0054]
在某些实施例,例如本实施例中,所述第一获取单元201包括第一获取子单元及保存子单元。
[0055]
其中,所述第一获取子单元用于若接收到录音开始指令,则调用tinypcminfo接口获取当前接入的多个所述蓝牙麦克风的设备信息和/或多个所述usb麦克风的设备信息;所述保存子单元用于将多个所述蓝牙麦克风的设备信息和/或多个所述usb麦克风的设备信息以结构体的方式保存至所述麦克风信息链表。
[0056]
在某些实施例,例如本实施例中,所述第一读取单元202还包括存储子单元及第三读取子单元。
[0057]
其中,所述存储子单元用于将所述模拟麦克风的设备信息以结构体的方式预先存储至所述麦克风信息链表中;所述第三读取子单元用于根据所述模拟麦的设备信息通过所述模拟麦的模拟声卡读取pcm数据。
[0058]
在某些实施例,例如本实施例中,所述多麦克风录音装置200还包括设置单元及控制单元。
[0059]
其中,所述设置单元用于获取麦克风设置信息,并根据所述麦克风设置信息对接入的多个所述麦克风的使用状态进行设置;所述控制单元用于根据所述使用状态控制多个所述麦克风是否启动录音。
[0060]
在某些实施例,例如本实施例中,所述控制单元包括定义子单元、第一控制子单元以及第二控制子单元。
[0061]
其中,所述定义子单元用于通过定义多个所述麦克风的录音标志位控制多个所述麦克风是否启动录音;所述第一控制子单元用于若多个所述麦克风的录音标志位为预设值,则控制多个所述麦克风启动录音;所述第二控制子单元用于若多个所述麦克风的录音标志位不为预设值,则控制多个所述麦克风不启动录音。
[0062]
上述多麦克风录音装置可以实现为一种计算机程序的形式,该计算机程序可以在如图6所示的电子设备上运行。
[0063]
请参阅图6,图6是本发明实施例提供的一种电子设备的示意性框图。该电子设备300为具有多麦克风录音功能的智能语音设备。
[0064]
参阅图6,该电子设备300包括通过系统总线301连接的处理器302、存储器和网络接口305,其中,存储器可以包括非易失性存储介质303和内存储器304。
[0065]
该非易失性存储介质303可存储操作系统3031和计算机程序3032。该计算机程序3032被执行时,可使得处理器302执行一种多麦克风录音方法。
[0066]
该处理器302用于提供计算和控制能力,以支撑整个电子设备300的运行。
[0067]
该内存储器304为非易失性存储介质303中的计算机程序3032的运行提供环境,该计算机程序3032被处理器302执行时,可使得处理器302执行一种多麦克风录音方法。
[0068]
该网络接口305用于与其它设备进行网络通信。本领域技术人员可以理解,图6中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的电子设备300的限定,具体的电子设备300可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0069]
应当理解,在本发明实施例中,处理器302可以是中央处理单元(central processing unit,cpu),该处理器302还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0070]
本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序可存储于一存储介质中,该存储介质为计算机可读存储介质。该计算机程序被该计算机系统中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
[0071]
因此,本发明还提供一种存储介质。该存储介质可以为计算机可读存储介质。该存储介质存储有计算机程序。该计算机程序被处理器执行时使处理器执行上述多麦克风录音方法的任意实施例。
[0072]
所述存储介质可以是u盘、移动硬盘、只读存储器(read-only memory,rom)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。
[0073]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0074]
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结
合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
[0075]
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本发明实施例装置中的单元可以根据实际需要进行合并、划分和删减。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。
[0076]
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机,终端,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
[0077]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。
[0078]
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,尚且本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
[0079]
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

技术特征:
1.一种多麦克风录音方法,其特征在于,包括:若接收到录音开始指令,则获取接入的多个麦克风的设备信息,并将所述设备信息写入麦克风信息链表中进行保存;根据所述设备信息通过多个所述麦克风的声卡节点读取pcm数据,其中,所述pcm数据是启动录音后的所述麦克风生成的数据;将所述pcm数据的格式进行转换及混音处理,得到目标音频数据。2.根据权利要求1所述的方法,其特征在于,所述设备信息包括采样率、采样精度以及通道数,所述根据所述设备信息通过多个所述麦克风的声卡节点读取pcm数据,包括:选取任意一个麦克风作为第一麦克风,根据所述第一麦克风的所述采样率、所述采样精度以及所述通道数,通过所述第一麦克风的声卡节点读取所述第一麦克风的pcm数据得到第一音频数据;将除所述第一麦克风之外的剩余麦克风作为第二麦克风,根据所述第二麦克风的所述采样率、所述采样精度以及所述通道数,通过所述第二麦克风的声卡节点读取所述第二麦克风的pcm数据得到第二音频数据。3.根据权利要求2所述的方法,其特征在于,所述将所述pcm数据的格式进行转换及混音处理,得到目标音频数据,包括:获取所述第一音频数据的音频格式,将所述第二音频数据的音频格式转换为与所述第一音频数据相同的音频格式,得到待混音音频数据;将所述待混音音频数据与所述第一音频数据进行混音,得到目标音频数据。4.根据权利要求1所述的方法,其特征在于,所述麦克风包括蓝牙麦克风及usb麦克风,所述若接收到录音开始指令,则获取接入的多个麦克风的设备信息,并将所述设备信息写入麦克风信息链表中进行保存,包括:若接收到录音开始指令,则调用tinypcminfo接口获取当前接入的多个所述蓝牙麦克风的设备信息和/或多个所述usb麦克风的设备信息;将多个所述蓝牙麦克风的设备信息和/或多个所述usb麦克风的设备信息以结构体的方式保存至所述麦克风信息链表。5.根据权利要求1所述的方法,其特征在于,所述麦克风还包括模拟麦克风,所述根据所述设备信息通过多个所述麦克风的声卡节点读取pcm数据,还包括:将所述模拟麦克风的设备信息以结构体的方式预先存储至所述麦克风信息链表中;根据所述模拟麦的设备信息通过所述模拟麦的模拟声卡读取pcm数据。6.根据权利要求1所述的方法,其特征在于,所述方法还包括:获取麦克风设置信息,并根据所述麦克风设置信息对接入的多个所述麦克风的使用状态进行设置;根据所述使用状态控制多个所述麦克风是否启动录音。7.根据权利要求6所述的方法,其特征在于,所述根据所述使用状态控制多个所述麦克风是否启动录音,包括:通过定义多个所述麦克风的录音标志位控制多个所述麦克风是否启动录音;若多个所述麦克风的录音标志位为预设值,则控制多个所述麦克风启动录音;若多个所述麦克风的录音标志位不为预设值,则控制多个所述麦克风不启动录音。
8.一种多麦克风录音装置,其特征在于,包括:第一获取单元,用于若接收到录音开始指令,则获取接入的多个麦克风的设备信息,并将所述设备信息写入麦克风信息链表中进行保存;第一读取单元,用于根据所述设备信息通过多个所述麦克风的声卡节点读取pcm数据,其中,所述pcm数据是启动录音后的所述麦克风生成的数据;转换混音单元,用于将所述pcm数据的格式进行转换及混音处理,得到目标音频数据。9.一种电子设备,其特征在于,所述电子设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-7中任一项所述的方法。10.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序当被处理器执行时可实现如权利要求1-7中任一项所述的方法。

技术总结
本发明涉及音频技术领域,其公开了一种多麦克风录音方法、装置、电子设备及存储介质。其中方法包括:若接收到录音开始指令,则获取接入的多个麦克风的设备信息,并将所述设备信息写入麦克风信息链表中进行保存;根据所述设备信息通过多个所述麦克风的声卡节点读取pcm数据,其中,所述pcm数据是启动录音后的所述麦克风生成的数据;将所述pcm数据的格式进行转换及混音处理,得到目标音频数据。本发明实施例通过麦克风信息链表中的设备信息读取所有麦克风的pcm数据,再将pcm数据进行格式转换并混音,以实现同时录制所有麦克风的声音的功能。以实现同时录制所有麦克风的声音的功能。以实现同时录制所有麦克风的声音的功能。


技术研发人员:廖科华 梁书举 方奕佳
受保护的技术使用者:深圳市康冠商用科技有限公司
技术研发日:2023.05.10
技术公布日:2023/8/9
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐