CN113035246A - 音频数据同步处理方法、装置、计算机设备及存储介质 - Google Patents
音频数据同步处理方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN113035246A CN113035246A CN201911347593.8A CN201911347593A CN113035246A CN 113035246 A CN113035246 A CN 113035246A CN 201911347593 A CN201911347593 A CN 201911347593A CN 113035246 A CN113035246 A CN 113035246A
- Authority
- CN
- China
- Prior art keywords
- audio data
- audio
- data
- processing
- memory
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
- G11B27/102—Programmed access in sequence to addressed parts of tracks of operating record carriers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/60—Information retrieval; Database structures therefor; File system structures therefor of audio data
- G06F16/61—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/10527—Audio or video recording; Data buffering arrangements
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/10527—Audio or video recording; Data buffering arrangements
- G11B2020/10537—Audio or video recording
- G11B2020/10546—Audio or video recording specifically adapted for audio data
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/10527—Audio or video recording; Data buffering arrangements
- G11B2020/1062—Data buffering arrangements, e.g. recording or playback buffers
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
本申请实施例属于电子技术领域,涉及一种音频数据的同步处理方法,包括获得不同的音频属性,配置对应的音频处理算法和音频处理路线;接收原始音频数据,进行预处理获得目标音频数据;针对每一个音频处理路线建立对应的内存数据缓冲区;将目标音频数据分别拷贝至每个内存数据缓冲区中存储;分别同步读取每个内存数据缓冲区中的目标音频数据,使用不同的音频处理算法,同步多路处理读取的目标音频数据,分别得到符合音频属性的音频数据;将得到的音频数据传输给对应的USB音频类设备。本申请还提供一种音频数据的同步处理装置、计算机设备及存储介质。本申请提供了一种可以多路处理音频数据的方式,便于根据不同的音频类的要求输出不同的音频属性。
Description
技术领域
本申请涉及电子技术领域,尤其涉及音频数据同步处理方法、装置、计算机设备及存储介质。
背景技术
音频数据即数字化的声音数据,随着音频处理技术的不断发展,现如今的音频数据通常都是根据实际需要的音频属性,经过特定的算法处理后进行传输和保存。
目前的音频处理设备接收到声源后只能单独输出一种音频属性的音频数据,难以满足不同USB音频类设备对同一组原始音频数据的需求。
发明内容
本申请实施例的目的在于提出一种音频数据同步处理方法、装置、计算机设备及存储介质,能够将麦克风阵列音频数据同时同步给到多个功能模块处理并多路输出。
为了解决上述技术问题,本申请实施例提供一种音频数据同步处理方法,采用了如下所述的技术方案:
一种音频数据同步处理方法,包括下述步骤:
获得不同的USB音频类设备可识别的不同的音频属性,并为识别到的不同的音频属性配置对应的音频处理算法和音频处理路线;
接收麦克风采集的原始音频数据,并对所述原始音频数据进行预处理获得目标音频数据;
在数据库中针对每一个音频处理路线建立对应的内存数据缓冲区;
将目标音频数据分别拷贝至每个所述内存数据缓冲区中存储;
分别同步读取每个所述内存数据缓冲区中的目标音频数据,并使用不同的音频处理算法,同步多路处理读取的目标音频数据,分别得到符合所述音频属性的音频数据;
将得到的所述音频数据传输给对应的USB音频类设备。
进一步的,所述在数据库中针对每一个音频处理路线建立对应的内存数据缓冲区的步骤包括:
根据预设的参数计算每次拷贝至内存数据缓冲区的音频数据量;
根据当前的音频属性配置的音频处理算法,确定每次从所述内存数据缓冲区读取的音频数据量;
根据每次拷贝的音频数据量和每次读取的音频数据量,创建对应当前处理路线的内存数据缓冲区;
其中,所述内存数据缓冲区大小为每次拷贝的音频数据量和每次读取的音频数据量的最小公倍数或最小公倍数的整数倍。
进一步的,所述根据预设的参数计算每次拷贝的音频数据量的步骤包括:
根据预设的采样周期、采样率、位宽和通道数的乘积计算每次拷贝的音频数据量。
进一步的,所述将目标音频数据分别拷贝至每个所述内存数据缓冲区中存储的步骤包括:
根据每次拷贝的音频数据量将对应的内存数据缓冲区划分为多个内存数据缓冲块,其中,每个所述内存数据缓冲块的大小与每次拷贝的音频数据量相等;
将音频数据拷贝至每个所述内存数据缓冲区中的内存数据缓冲块中储存;
在所述分别同步读取每个所述内存数据缓冲区中的音频数据的步骤之后,包括:
当检测到所述内存数据缓冲块中的全部音频数据被读取,清空所述内存数据缓冲块,以存入新的音频数据。
进一步的,所述在数据库中针对每一个音频处理路线建立对应的内存数据缓冲区的步骤包括:
在数据库中针对每一个音频处理路线创建对应的第一偏移索引、第二偏移索引和数据标识,其中,所述数据标识用于实时记录所述对应的内存数据缓冲区中当前存储的音频数据量;
所述将目标音频数据分别拷贝至每个所述内存数据缓冲区中存储的步骤包括:
记录每次拷贝至内存数据缓冲区的音频数据量,生成第一记录,并将所述第一记录保存在所述第一偏移索引中;
叠加所述第一记录,获得第一记录总和,当第一偏移索引中第一记录总和的大小等于内存数据缓冲区的大小时,清空所述第一偏移索引中的记录,以重新进行记录;
计算内存数据缓冲区大小与数据标识的记录之间的差值,得到第一差值;
当所述第一差值小于所述每次拷贝的音频数据量时,停止音频数据的拷贝;
记录每次从内存数据缓冲区读取的音频数据量,生成第二记录,并将所述第二记录保存在所述第二偏移索引中;
叠加所述的第二记录,获得第二记录总和,当第二偏移索引中第一记录总和的大小等于内存数据缓冲区的大小时,清空所述第二偏移所以中的记录,以重新进行记录;
当所述数据标识的记录小于所述每次读取的音频数据量时,停止音频数据的读取。
进一步的,所述麦克风为阵列麦克风,所述阵列麦克风包括多个麦克风通道;
所述对所述原始音频数据进行预处理获得音频数据的步骤包括:
从原始音频数据中分别获取每一音频帧的音频数据;
分别根据所述音频处理算法的处理要求,获得算法要求中麦克风的排列顺序;
根据所述排列顺序对每一音频帧中各麦克风通道的音频数据进行排序,以符合对应音频处理算法的要求。
进一步的,所述接收麦克风采集的原始音频数据的步骤包括:
接收麦克风采集的声源;
通过模数转换处理将原始采集到的声源转换为数字信号,以获得原始音频数据。
为了解决上述技术问题,本申请实施例还提供一种音频数据同步处理装置,采用了如下所述的技术方案:
一种音频数据同步处理装置,包括:
选取模块,用于获得不同的USB音频类设备可识别的不同的音频属性,并为识别到的不同的音频属性配置对应的音频处理算法和音频处理路线;
接收模块,用于接收麦克风采集的原始音频数据,并对所述原始音频数据进行预处理获得目标音频数据;
创建模块,用于在数据库中创建对应不同的音频处理路线的内存数据缓冲区;
拷贝模块,用于将目标音频数据分别拷贝至每个所述内存数据缓冲区中存储;
处理模块,用于分别同步读取每个所述内存数据缓冲区中的音频数据,并使用不同的音频处理算法,同步多路处理读取的音频数据,分别得到符合所述音频属性的音频数据;
传输模块,用于将得到的所述音频数据传输给对应的USB音频类设备。
为了解决上述技术问题,本申请实施例还提供一种计算机设备,采用了如下所述的技术方案:
一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现上述的音频数据同步处理方法的步骤。
为了解决上述技术问题,本申请实施例还提供一种计算机可读存储介质,采用了如下所述的技术方案:
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的音频数据同步处理方法的步骤.
与现有技术相比,本申请实施例主要有以下有益效果:
本申请能够将麦克风阵列音频数据同时同步多路线处理,并分别输出到需要音频属性不同的USB音频类设备中,满足不同设备对应音频属性不同的需求。
附图说明
为了更清楚地说明本申请中的方案,下面将对本申请实施例描述中所需要使用的附图作一个简单介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请可以应用于其中的示例性系统架构图;
图2根据本申请的音频数据同步处理方法的一个实施例的流程图;
图3是根据本申请的音频数据同步处理装置的一个实施例的结构示意图;
图4是根据本申请的计算机设备的一个实施例的结构示意图。
附图标记:200、计算机设备;201、存储器;202、处理器;203、网络接口;300、音频数据同步处理装置;301、选取模块;302、接收模块;303、创建模块;304、拷贝模块;305、处理模块;306、传输模块。
具体实施方式
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
为了使本技术领域的人员更好地理解本申请方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如网页浏览器应用、购物类应用、搜索类应用、即时通信工具、邮箱客户端、社交平台软件等。
终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(Moving Picture ExpertsGroup Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving PictureExperts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103上显示的页面提供支持的后台服务器。
需要说明的是,本申请实施例所提供的音频数据同步处理方法一般由服务器/终端设备执行,相应地,音频数据同步处理装置一般设置于服务器/终端设备中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
音频从模拟信号转化为数字信号,一个音频采样源为一个通道(channle),每通道每次采集音频数据称为一个采样(sample),所有通道每次采样称为一帧(frame),每秒采集到的采样个数称为采样率(sample rate),每个采样占用的比特大小称为位宽(bit rate)。
继续参考图2,示出了根据本申请的音频数据同步处理的方法的一个实施例的流程图。所述的音频数据同步处理方法,包括以下步骤:
S1:获得不同的USB音频类设备可识别的不同的音频属性,并为识别到的不同的音频属性配置对应的音频处理算法和音频处理路线。
在本实施例中,不同的USB音频类设备需要的音频属性不同,通过选取不同的音频处理算法,生成音频属性不同的音频数据,进而满足多种设备的需求。以下举例说明:
不同的USB音频类设备需要的音频属性可以为96kHZ/24bit/mono或16kHZ/16bit/mono;比如:接收到的原音频数据为16kHZ/32bit/8channels(采样率/位宽/通道数)的PCM(Pulse Code Modulation,脉冲编码调制)音频数据,当需要的音频属性为96kHZ/24bit/mono时,可以选取FLAC压缩算法(flac encoder)将原音频数据转码为FLAC压缩数据,并通过补全处理获得音频属性为96kHZ/24bit/mono的音频数据。而当需要的音频属性为16kHZ/16bit/mono时,可以选取飞利浦Beclear音频处理算法(beclear algo)或者微软MAS音频处理算法(mas algo)处理原音频数据,输出音频属性为16kHZ/16bit/mono的PCM音频数据;其中,飞利浦Beclear音频处理算法包括波束成形、回声消除和降噪等算法。微软MAS音频处理算法包括波束成形和回声消除等算法。
S2:接收麦克风采集的原始音频数据,并对所述原始音频数据进行预处理获得目标音频数据。
在本实施例中,对原始音频数据进行预处理,使得获得的目标音频数据可以满足后续算法对音频数据处理的要求。
具体的,所述麦克风为阵列麦克风,所述阵列麦克风包括多个麦克风通道;在步骤S2中,即所述对所述原始音频数据进行预处理获得音频数据的步骤包括:
从原始音频数据中分别获取每一音频帧的音频数据;
分别根据所述音频处理算法的处理要求,获得算法要求中麦克风的排列顺序;
根据所述排列顺序对每一音频帧中各麦克风通道的音频数据进行排序,以符合对应音频处理算法的要求。
在本实施例中,可以选取七路麦克风加1路回采型的阵列麦克风,七路麦克风加1路回采对应八个麦克风通道。七路麦克风相对应其他麦克风来说,具有更加全方位立体的接收声源的功能,避免因为声源的方向不同,导致接收到不够清晰准确的声源;一路回采是指:通过Loopback回路,在Speakr(音频播放器)播放音频之前,拿到播放数据,通过把回采数据+麦克风音频数据合并,送入算法处理,以实现回声消除。
其中,在步骤S2中,即所述接收麦克风采集的原始音频数据的步骤包括:
接收麦克风采集的声源;
通过模数转换处理将原始采集到的声源转换为数字信号,以获得原始音频数据。
在本实施例中,通过模数转换将原始采集到的声源转换为数字信号,便于进一步的处理。
S3:在数据库中针对每一个音频处理路线建立对应的内存数据缓冲区。
在本实施例中,针对每一个音频处理路线都建立对应的内存数据缓冲区,以保证每一个音频处理路线相互独立,互不干扰。
具体的,在步骤S3中,即在数据库针对每一个音频处理路线建立对应的内存数据缓冲区的步骤包括:
根据预设的参数计算每次拷贝至内存数据缓冲区的音频数据量;
根据当前的音频属性配置的音频处理算法,确定每次从所述内存数据缓冲区读取的音频数据量;
根据每次拷贝的音频数据量和每次读取的音频数据量,创建对应当前处理路线的内存数据缓冲区;
其中,所述内存数据缓冲区大小为每次拷贝的音频数据量和每次读取的音频数据量的最小公倍数或最小公倍数的整数倍。
在本实施例中,比如:当音频输入源每次传输的音频数据量为8192bytes/16ms,音频处理模块每次处理的音频数据量为5120bytes/10ms时,则创建的数据环形缓存区的大小为8192和5120的最小公倍数,即40960bytes;或者创建的数据环形缓存区的大小为8192和5120的最小公倍数的整数倍,以使得数据环形缓存区刚好可以被多次写满音频数据,或者多次取完音频数据,节省设备执行写入和取出的次数,提升设备的使用寿命。
其中,所述根据预设的参数计算每次拷贝的音频数据量的步骤包括:
根据预设的采样周期、采样率、位宽和通道数的乘积计算每次拷贝的音频数据量。
在本实施例中,比如:每次拷贝的音频数据量为8192bytes/16ms时,其计算公式为16×(16000/1000)×(32/8)×8,其中16表示采样周期,单位为ms,16000/1000表示采样率,32/8表示位宽,8表示通道数。
S4:将目标音频数据分别拷贝至每个所述内存数据缓冲区中存储。
在本实施例中,由于现有的音频设备保存音频数据的特点是读取一次就刷新。而音频数据又必须不间断的读取,以避免卡顿或爆音。那么就需要创建独立的音频处理路线,来满足多种音频属性的获得,首先就需要将目标音频数据分别缓存到对应的内存数据缓冲区,以确保音频处理路线的独立性。
具体的,在步骤S4中,即所述将目标音频数据分别拷贝至每个所述内存数据缓冲区中存储的步骤包括:
根据每次拷贝的音频数据量将对应的内存数据缓冲区划分为多个内存数据缓冲块,其中,每个所述内存数据缓冲块的大小与每次拷贝的音频数据量相等;
将音频数据拷贝至每个所述内存数据缓冲区中的内存数据缓冲块中储存;
在所述分别同步读取每个所述内存数据缓冲区中的音频数据的步骤之后,包括:
当检测到所述内存数据缓冲块中的全部音频数据被读取,清空所述内存数据缓冲块,以存入新的音频数据。
在本实施例中,及时清空被读取过的内存数据缓冲块中的数据,以保证可以存入新的音频数据,且不与被读取过的音频数据发生混合。
进一步的,在步骤S3之中,即所述在数据库中针对每一个音频处理路线建立对应的内存数据缓冲区的步骤包括:
在数据库中针对每一个音频处理路线创建对应的第一偏移索引、第二偏移索引和数据标识,其中,所述数据标识用于实时记录所述对应的内存数据缓冲区中当前存储的音频数据量;
在步骤S4中,即所述将目标音频数据分别拷贝至每个所述内存数据缓冲区中存储的步骤包括:
记录每次拷贝至内存数据缓冲区的音频数据量,生成第一记录,并将所述第一记录保存在所述第一偏移索引中;
叠加所述第一记录,获得第一记录总和,当第一偏移索引中第一记录总和的大小等于内存数据缓冲区的大小时,清空所述第一偏移索引中的记录,以重新进行记录;
计算内存数据缓冲区大小与数据标识的记录之间的差值,得到第一差值;
当所述第一差值小于所述每次拷贝的音频数据量时,停止音频数据的拷贝;
记录每次从内存数据缓冲区读取的音频数据量,生成第二记录,并将所述第二记录保存在所述第二偏移索引中;
叠加所述的第二记录,获得第二记录总和,当第二偏移索引中第一记录总和的大小等于内存数据缓冲区的大小时,清空所述第二偏移所以中的记录,以重新进行记录;
当所述数据标识的记录小于所述每次读取的音频数据量时,停止音频数据的读取。
在本实施例中,通过创建第一偏移索引、第二偏移索引和数据标识,以实现记录内存数据缓冲区中音频数据增加、读取和存在的音频数据的数量。在当前路线中的每一次拷贝,都保存在当前路线对应的第一偏移索引中。在下一个路线的每一次拷贝,都保存在下一个路线对应的第一偏移索引中。在当前路线中的每一次读取,都保存在当前路线对应的第二偏移索引中。在下一个路线的每一次读取,都保存在下一个路线对应的第二偏移索引中。当所述第一差值小于所述每次拷贝的音频数据量时,停止音频数据的拷贝,以避免新的音频数据难以拷贝至内存数据缓冲区中,造成音频数据的缺失。当所述数据标识的记录小于所述每次读取的音频数据量时,停止音频数据的读取,以避免下一次读取到的音频数据小于算法每次处理所需要的音频数据量,造成处理后,输出错误的音频数据。
S5:分别同步读取每个所述内存数据缓冲区中的目标音频数据,并使用不同的音频处理算法,同步多路处理读取的目标音频数据,分别得到符合所述音频属性的音频数据。
在本实施例中,通过使用不同的音频处理算法,多路同步处理音频数据,以满足不同设备对音频属性的要求。
S6:将得到的所述音频数据传输给对应的USB音频类设备。
在本实施例中,根据USB音频类设备的不同,将生成的不同属性的音频数据传输给对应的音频类设备,实现音频数据的多种属性输出。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
进一步参考图3,作为对上述图2所示方法的实现,本申请提供了一种音频数据同步处理装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图3所示,本实施例所述的音频数据同步处理装置300包括:
选取模块,用于获得不同的USB音频类设备可识别的不同的音频属性,并为识别到的不同的音频属性配置对应的音频处理算法和音频处理路线;
接收模块,用于接收麦克风采集的原始音频数据,并对所述原始音频数据进行预处理获得目标音频数据;
创建模块,用于在数据库中创建对应不同的音频处理路线的内存数据缓冲区;
拷贝模块,用于将目标音频数据分别拷贝至每个所述内存数据缓冲区中存储;
处理模块,用于分别同步读取每个所述内存数据缓冲区中的音频数据,并使用不同的音频处理算法,同步多路处理读取的音频数据,分别得到符合所述音频属性的音频数据;
传输模块306,用于将得到的所述音频数据传输给对应的USB音频类设备。
在本实施例中,本申请能够将麦克风阵列音频数据流同时同步给到多个功能模块处理,并多路输出到需要音频属性不同的USB音频类设备中,满足不同设备对应音频属性不同的需求。
所述创建模块303包括计算子模块、确定子模块和创建子模块。所述计算子模块用于根据预设的参数计算每次拷贝至内存数据缓冲区的音频数据量;所述确定子模块用于根据当前的音频属性配置的音频处理算法,确定每次从所述内存数据缓冲区读取的音频数据量;所述创建子模块用于根据每次拷贝的音频数据量和每次读取的音频数据量,创建对应当前处理路线的内存数据缓冲区,其中,所述内存数据缓冲区大小为每次拷贝的音频数据量和每次读取的音频数据量的最小公倍数或最小公倍数的整数倍。
所述拷贝模块304还包括划分子模块和拷贝子模块,所述划分子模块用于根据每次拷贝的音频数据量将对应的内存数据缓冲区划分为多个内存数据缓冲块,其中,每个所述内存数据缓冲块的大小与每次拷贝的音频数据量相等。所述拷贝子模块用于将音频数据拷贝至每个所述内存数据缓冲区的内存数据缓冲块中储存。
所述音频数据同步处理装置300还包括清空模块,所述清空模块用于当检测到所述内存数据缓冲块中的全部音频数据被读取,清空所述内存数据缓冲块,以存入新的音频数据。
为解决上述技术问题,本申请实施例还提供计算机设备。具体请参阅图4,图4为本实施例计算机设备基本结构框图。
所述计算机设备200包括通过系统总线相互通信连接存储器201、处理器202、网络接口203。需要指出的是,图中仅示出了具有组件201-203的计算机设备200,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
所述存储器201至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器201可以是所述计算机设备200的内部存储单元,例如该计算机设备200的硬盘或内存。在另一些实施例中,所述存储器201也可以是所述计算机设备200的外部存储设备,例如该计算机设备200上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。当然,所述存储器201还可以既包括所述计算机设备200的内部存储单元也包括其外部存储设备。本实施例中,所述存储器201通常用于存储安装于所述计算机设备200的操作系统和各类应用软件,例如音频数据同步处理方法的程序代码等。此外,所述存储器201还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器202在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器202通常用于控制所述计算机设备200的总体操作。本实施例中,所述处理器202用于运行所述存储器201中存储的程序代码或者处理数据,例如运行所述音频数据同步处理方法的程序代码。
所述网络接口203可包括无线网络接口或有线网络接口,该网络接口203通常用于在所述计算机设备200与其他电子设备之间建立通信连接。
在本实施例中,能够将麦克风阵列音频数据流同时同步给到多个功能模块处理,并多路输出到需要音频属性不同的USB音频类设备中,满足不同设备对应音频属性不同的需求。
本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有音频数据同步处理程序,所述音频数据同步处理程序可被至少一个处理器执行,以使所述至少一个处理器执行如上述的音频数据同步处理方法的步骤。
在本实施例中,能够将麦克风阵列音频数据流同时同步给到多个功能模块处理,并多路输出到需要音频属性不同的USB音频类设备中,满足不同设备对应音频属性不同的需求。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
显然,以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。
Claims (10)
1.一种音频数据同步处理方法,其特征在于,包括下述步骤:
获得不同的USB音频类设备可识别的不同的音频属性,并为识别到的不同的音频属性配置对应的音频处理算法和音频处理路线;
接收麦克风采集的原始音频数据,并对所述原始音频数据进行预处理获得目标音频数据;
在数据库中针对每一个音频处理路线建立对应的内存数据缓冲区;
将目标音频数据分别拷贝至每个所述内存数据缓冲区中存储;
分别同步读取每个所述内存数据缓冲区中的目标音频数据,并使用不同的音频处理算法,同步多路处理读取的目标音频数据,分别得到符合所述音频属性的音频数据;
将得到的所述音频数据传输给对应的USB音频类设备。
2.根据权利要求1所述的音频数据处理方法,其特征在于,所述在数据库中针对每一个音频处理路线建立对应的内存数据缓冲区的步骤包括:
根据预设的参数计算每次拷贝至内存数据缓冲区的音频数据量;
根据当前的音频属性配置的音频处理算法,确定每次从所述内存数据缓冲区读取的音频数据量;
根据每次拷贝的音频数据量和每次读取的音频数据量,创建对应当前处理路线的内存数据缓冲区;
其中,所述内存数据缓冲区大小为每次拷贝的音频数据量和每次读取的音频数据量的最小公倍数或最小公倍数的整数倍。
3.根据权利要求2所述的音频数据处理方法,其特征在于,所述根据预设的参数计算每次拷贝的音频数据量的步骤包括:
根据预设的采样周期、采样率、位宽和通道数的乘积计算每次拷贝的音频数据量。
4.根据权利要求2或3所述的音频数据处理方法,其特征在于,所述将目标音频数据分别拷贝至每个所述内存数据缓冲区中存储的步骤包括:
根据每次拷贝的音频数据量将对应的内存数据缓冲区划分为多个内存数据缓冲块,其中,每个所述内存数据缓冲块的大小与每次拷贝的音频数据量相等;
将音频数据拷贝至每个所述内存数据缓冲区中的内存数据缓冲块中储存;
在所述分别同步读取每个所述内存数据缓冲区中的音频数据的步骤之后,包括:
当检测到所述内存数据缓冲块中的全部音频数据被读取,清空所述内存数据缓冲块,以存入新的音频数据。
5.根据权利要求4所述的音频数据处理方法,其特征在于,所述在数据库中针对每一个音频处理路线建立对应的内存数据缓冲区的步骤包括:
在数据库中针对每一个音频处理路线创建对应的第一偏移索引、第二偏移索引和数据标识,其中,所述数据标识用于实时记录所述对应的内存数据缓冲区中当前存储的音频数据量;
所述将目标音频数据分别拷贝至每个所述内存数据缓冲区中存储的步骤包括:
记录每次拷贝至内存数据缓冲区的音频数据量,生成第一记录,并将所述第一记录保存在所述第一偏移索引中;
叠加所述第一记录,获得第一记录总和,当第一偏移索引中第一记录总和的大小等于内存数据缓冲区的大小时,清空所述第一偏移索引中的记录,以重新进行记录;
计算内存数据缓冲区大小与数据标识的记录之间的差值,得到第一差值;
当所述第一差值小于所述每次拷贝的音频数据量时,停止音频数据的拷贝;
记录每次从内存数据缓冲区读取的音频数据量,生成第二记录,并将所述第二记录保存在所述第二偏移索引中;
叠加所述的第二记录,获得第二记录总和,当第二偏移索引中第一记录总和的大小等于内存数据缓冲区的大小时,清空所述第二偏移所以中的记录,以重新进行记录;
当所述数据标识的记录小于所述每次读取的音频数据量时,停止音频数据的读取。
6.根据权利要求1所述的音频数据处理方法,其特征在于,所述麦克风为阵列麦克风,所述阵列麦克风包括多个麦克风通道;
所述对所述原始音频数据进行预处理获得音频数据的步骤包括:
从原始音频数据中分别获取每一音频帧的音频数据;
分别根据所述音频处理算法的处理要求,获得算法要求中麦克风的排列顺序;
根据所述排列顺序对每一音频帧中各麦克风通道的音频数据进行排序,以符合对应音频处理算法的要求。
7.根据权利要求1所述的音频数据处理方法,其特征在于,所述接收麦克风采集的原始音频数据的步骤包括:
接收麦克风采集的声源;
通过模数转换处理将原始采集到的声源转换为数字信号,以获得原始音频数据。
8.一种音频数据同步处理装置,其特征在于,包括:
选取模块,用于获得不同的USB音频类设备可识别的不同的音频属性,并为识别到的不同的音频属性配置对应的音频处理算法和音频处理路线;
接收模块,用于接收麦克风采集的原始音频数据,并对所述原始音频数据进行预处理获得目标音频数据;
创建模块,用于在数据库中创建对应不同的音频处理路线的内存数据缓冲区;
拷贝模块,用于将目标音频数据分别拷贝至每个所述内存数据缓冲区中存储;
处理模块,用于分别同步读取每个所述内存数据缓冲区中的音频数据,并使用不同的音频处理算法,同步多路处理读取的音频数据,分别得到符合所述音频属性的音频数据;
传输模块,用于将得到的所述音频数据传输给对应的USB音频类设备。
9.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述的音频数据同步处理方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的音频数据同步处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911347593.8A CN113035246B (zh) | 2019-12-24 | 2019-12-24 | 音频数据同步处理方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911347593.8A CN113035246B (zh) | 2019-12-24 | 2019-12-24 | 音频数据同步处理方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113035246A true CN113035246A (zh) | 2021-06-25 |
CN113035246B CN113035246B (zh) | 2022-06-17 |
Family
ID=76451751
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911347593.8A Active CN113035246B (zh) | 2019-12-24 | 2019-12-24 | 音频数据同步处理方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113035246B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113936698A (zh) * | 2021-09-26 | 2022-01-14 | 度小满科技(北京)有限公司 | 音频数据的处理方法、装置以及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101609676A (zh) * | 2008-06-19 | 2009-12-23 | 美国博通公司 | 一种处理音频信号的方法及系统 |
CN109828742A (zh) * | 2019-02-01 | 2019-05-31 | 珠海全志科技股份有限公司 | 音频多路同步输出方法、计算机装置及计算机可读存储介质 |
CN109918306A (zh) * | 2019-03-08 | 2019-06-21 | 深圳市腾讯网络信息技术有限公司 | 音频处理设备、系统、方法、装置及存储介质 |
CN109976696A (zh) * | 2017-12-28 | 2019-07-05 | 深圳市优必选科技有限公司 | 获取音频数据的方法及装置、设备、计算机可读存储介质 |
-
2019
- 2019-12-24 CN CN201911347593.8A patent/CN113035246B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101609676A (zh) * | 2008-06-19 | 2009-12-23 | 美国博通公司 | 一种处理音频信号的方法及系统 |
CN109976696A (zh) * | 2017-12-28 | 2019-07-05 | 深圳市优必选科技有限公司 | 获取音频数据的方法及装置、设备、计算机可读存储介质 |
CN109828742A (zh) * | 2019-02-01 | 2019-05-31 | 珠海全志科技股份有限公司 | 音频多路同步输出方法、计算机装置及计算机可读存储介质 |
CN109918306A (zh) * | 2019-03-08 | 2019-06-21 | 深圳市腾讯网络信息技术有限公司 | 音频处理设备、系统、方法、装置及存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113936698A (zh) * | 2021-09-26 | 2022-01-14 | 度小满科技(北京)有限公司 | 音频数据的处理方法、装置以及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113035246B (zh) | 2022-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200234478A1 (en) | Method and Apparatus for Processing Information | |
CN110298906B (zh) | 用于生成信息的方法和装置 | |
CN111276123B (zh) | 一种语音播报留言的方法、装置、计算机设备及存储介质 | |
CN110534085B (zh) | 用于生成信息的方法和装置 | |
CN111078930A (zh) | 音频文件数据处理方法及装置 | |
CN110213614A (zh) | 从视频文件中提取关键帧的方法和装置 | |
US20230091272A1 (en) | Audio content recognition method and apparatus, and device and computer-readable medium | |
CN111142667A (zh) | 一种基于文本标记生成语音的系统和方法 | |
CN110085241A (zh) | 数据编码方法、装置、计算机存储介质及数据编码设备 | |
US20120053937A1 (en) | Generalizing text content summary from speech content | |
WO2021068493A1 (zh) | 用于处理信息的方法和装置 | |
CN111813465A (zh) | 一种信息获取方法、装置、介质和设备 | |
CN113035246B (zh) | 音频数据同步处理方法、装置、计算机设备及存储介质 | |
CN109949793A (zh) | 用于输出信息的方法和装置 | |
CN112102836B (zh) | 语音控制屏幕显示方法、装置、电子设备和介质 | |
EP3933564A1 (en) | Song list switching method, apparatus and system, terminal, and storage medium | |
CN113299285A (zh) | 设备控制方法、装置、电子设备及计算机可读存储介质 | |
WO2023184266A1 (zh) | 语音控制方法及装置、计算机可读存储介质、电子设备 | |
CN107179916A (zh) | 一种应用程序开发方法、装置、设备以及开发架构 | |
CN111580766B (zh) | 一种信息显示方法、装置和信息显示系统 | |
CN114661289A (zh) | 一种基于知识和数据驱动的微应用开发系统和方法 | |
CN107743151A (zh) | 内容推送方法、装置、移动终端以及服务器 | |
CN109246281B (zh) | 一种来电接听方法、系统、服务器和存储介质 | |
US9542922B2 (en) | Method for inserting watermark to image and electronic device thereof | |
CN114513548B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |