音频路由管理方法、系统及电子设备技术方案

技术编号:35522186 阅读:12 留言:0更新日期:2022-11-09 14:42
本发明专利技术实施例涉及音频处理技术领域,公开了一种音频路由管理方法、系统及电子设备。该方法包括:确定目标音频输出设备以及向目标音频输出设备发送音频数据的目标音频输入设备;构建音轨线路,每条音轨线路中包括至少一个采集音轨节点、至少一个回放音轨节点和一个混音节点;将目标音频输入设备采集的音频数据写入采集音轨节点;读取写入采集音轨节点的音频数据,记为第一音频数据,将所有的第一音频数据进行混音处理后写入回放音轨节点;读取写入回放音轨节点的音频数据,记为第二音频数据,并将第二音频数据发送至目标音频输出设备。实施本发明专利技术实施例,可以提高对讲的实时性,提升了客户体验。客户体验。客户体验。

【技术实现步骤摘要】
音频路由管理方法、系统及电子设备


[0001]本专利技术涉及音频处理
,具体涉及一种音频路由管理方法、系统及电子设备。

技术介绍

[0002]现有Linux ALSA声卡架构,来自不同设备的音频数据被混音处理时,通常会出现数据不同步、实时性低、软件开发复杂度高、复用性低、路由管理不合理等问题。

技术实现思路

[0003]针对所述缺陷,本专利技术实施例公开了一种音频路由管理方法、系统及电子设备,解决了实时对讲过程中设备端延时高问题和设备端软件对不同音频设备兼容性差的问题,提高了对讲实时性,提升了客户体验;提高了软件复用性和音频设备兼容性,降低了软件开发复杂度,提升了经济效益。
[0004]本专利技术实施例第一方面公开一种音频路由管理方法,所述方法包括:
[0005]确定目标音频输出设备以及向所述目标音频输出设备发送音频数据的目标音频输入设备;
[0006]基于所述目标音频输出设备和目标音频输入设备构建音轨线路,每条音轨线路中包括至少一个采集音轨节点、至少一个回放音轨节点和一个混音节点;
[0007]将目标音频输入设备采集的音频数据写入采集音轨节点;
[0008]读取写入采集音轨节点的音频数据,记为第一音频数据,将所有的第一音频数据进行混音处理后写入回放音轨节点;
[0009]读取写入回放音轨节点的音频数据,记为第二音频数据,并将所述第二音频数据发送至目标音频输出设备。
[0010]作为一种可选的实施方式,在本专利技术实施例第一方面中,当其中一个或多个目标音频输入设备具有多通道音源时,通过多通道音源分离机制获取每个通道的音频数据,并将每个通道的音频数据写入对应的采集音轨节点中。
[0011]作为一种可选的实施方式,在本专利技术实施例第一方面中,当所述采集音轨节点为多个时:
[0012]对第一音频数据进行重采样;
[0013]或/和,
[0014]以任意一采集音轨节点为同步源,对所有的第一音频数据进行同步。
[0015]作为一种可选的实施方式,在本专利技术实施例第一方面中,当目标音频输出设备接收的第二音频数据为多个时,通过多通道音频合并机制合并该多个第二音频数据后,发送至目标音频输出设备。
[0016]作为一种可选的实施方式,在本专利技术实施例第一方面中,以任意一回放音轨节点为同步源,对目标音频输出设备接收的所有的第二音频数据进行同步后再通过多通道音频
合并机制合并该多个第二音频数据后,发送至目标音频输出设备。
[0017]作为一种可选的实施方式,在本专利技术实施例第一方面中,为每个目标音轨节点创建一个共享内存区域,并在所述共享内存区域内利用队列的数据结构构建环形缓冲区;为每个目标音轨节点设置写入下标和读取下标,其中,向所述目标音轨节点写入长度为L1的音频数据时,所述写入下标的数值增加L1,从目标音轨节点读取长度为L2的音频数据时,所述读取下标的数值增加L2;所述目标音轨节点为采集音轨节点或回放音轨节点。
[0018]作为一种可选的实施方式,在本专利技术实施例第一方面中,将音频数据写入目标音轨节点的方法,包括:
[0019]基于WritePos和(WritePos+WriteSize)%RingSize的大小判断写入下标增加待写入音频数据后是否超出边界,其中,WritePos为写入下标的值,WriteSize为待写入待写入音频数据的长度,RingSize为环形缓冲区的大小;
[0020]如果WritePos小于(WritePos+WriteSize)%RingSize,则将所述待写入音频数据直接写入环形缓冲区中,并更新写入下标的长度:WritePos=(WritePos+WriteSize)%RingSize;
[0021]如果WritePos大于(WritePos+WriteSize)%RingSize,则对待写入音频数据按时间顺序进行分割为第一待写入音频数据和第二待写入音频数据,其中,第一待写入音频数据的长度为(RingSize

WritePos),第二待写入音频数据的长度为WriteSize

(RingSize

WritePos);先将第一待写入音频数据写入环形缓冲区中,然后再将第二待写入音频数据写入环形缓冲区中,最后更新写入下标的长度:WritePos=(WritePos+WriteSize)%RingSize。
[0022]作为一种可选的实施方式,在本专利技术实施例第一方面中,读取所述目标音轨节点中音频数据的方法,包括:
[0023]基于WritePos和ReadPos的大小判断待读取音频数据是否存在边界,其中,WritePos为写入下标的值,ReadPos为读取下标的值;
[0024]如果WritePos大于ReadPos,则直接读取所述待读取音频数据,并更新读取下标:ReadPos=(ReadPos+ReadSize)%RingSize,其中,ReadSize为待读取音频数据的长度,RingSize为环形缓冲区的大小;
[0025]如果WritePos小于ReadPos,则将待读取音频数据按时间顺序进行分割为第一待读取音频数据和第二待读取音频数据,其中,第一待读取音频数据的长度为(RingSize

ReadPos),第二待读取音频数据的长度为ReadSize

(RingSize

ReadPos);先从环形缓冲区读取第一待写入音频数据,然后再从环形缓冲区读取第二待写入音频数据,最后更新读取下标的长度:ReadPos=(ReadPos+ReadSize)%RingSize。
[0026]本专利技术实施例第二方面公开一种音频路由管理系统,其包括:
[0027]确定单元,用于确定目标音频输出设备以及向所述目标音频输出设备发送音频数据的目标音频输入设备;
[0028]创建单元,用于基于所述目标音频输出设备和目标音频输入设备构建音轨线路,每条音轨线路中包括至少一个采集音轨节点、至少一个回放音轨节点和一个混音节点;
[0029]第一处理单元,用于将目标音频输入设备采集的音频数据写入采集音轨节点;
[0030]混音单元,用于读取写入采集音轨节点的音频数据,记为第一音频数据,将所有的
第一音频数据进行混音处理后写入回放音轨节点;
[0031]第二处理单元,用于读取写入回放音轨节点的音频数据,记为第二音频数据,并将所述第二音频数据发送至目标音频输出设备。
[0032]本专利技术实施例第三方面公开一种电子设备,包括:存储有可执行程序代码的存储器;与所述存储器耦合的处理器;所述处理器调用所述存储器中存储的所述可执行程序代码,用于执行本专利技术实施例第一方面公开的一种音频路由管理方法。
[0033]本专利技术实施例第四方面公开一种计算机可读存储介质,其存储计算机程序,其中,所述计算机程序使得计算机执行本专利技术实施例第一方面公开的一种本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种音频路由管理方法,其特征在于,包括:确定目标音频输出设备以及向所述目标音频输出设备发送音频数据的目标音频输入设备;基于所述目标音频输出设备和目标音频输入设备构建音轨线路,每条音轨线路中包括至少一个采集音轨节点、至少一个回放音轨节点和一个混音节点;将目标音频输入设备采集的音频数据写入采集音轨节点;读取写入采集音轨节点的音频数据,记为第一音频数据,将所有的第一音频数据进行混音处理后写入回放音轨节点;读取写入回放音轨节点的音频数据,记为第二音频数据,并将所述第二音频数据发送至目标音频输出设备。2.根据权利要求1所述的音频路由管理方法,其特征在于,当其中一个或多个目标音频输入设备具有多通道音源时,通过多通道音源分离机制获取每个通道的音频数据,并将每个通道的音频数据写入对应的采集音轨节点中。3.根据权利要求1所述的音频路由管理方法,其特征在于,当所述采集音轨节点为多个时:对第一音频数据进行重采样;或/和,以任意一采集音轨节点为同步源,对所有的第一音频数据进行同步。4.根据权利要求1所述的音频路由管理方法,其特征在于,当目标音频输出设备接收的第二音频数据为多个时,通过多通道音频合并机制合并该多个第二音频数据后,发送至目标音频输出设备。5.根据权利要求4所述的音频路由管理方法,其特征在于,以任意一回放音轨节点为同步源,对目标音频输出设备接收的所有的第二音频数据进行同步后再通过多通道音频合并机制合并该多个第二音频数据后,发送至目标音频输出设备。6.根据权利要求1所述的音频路由管理方法,其特征在于,为每个目标音轨节点创建一个共享内存区域,并在所述共享内存区域内利用队列的数据结构构建环形缓冲区;为每个目标音轨节点设置写入下标和读取下标,其中,向所述目标音轨节点写入长度为L1的音频数据时,所述写入下标的数值增加L1,从目标音轨节点读取长度为L2的音频数据时,所述读取下标的数值增加L2;所述目标音轨节点为采集音轨节点或回放音轨节点。7.根据权利要求6所述的音频路由管理方法,其特征在于,将音频数据写入目标音轨节点的方法,包括:基于WritePos和(WritePos+WriteSize)%RingSize的大小判断写入下标增加待写入音频数据后是否超出边界,其中,WritePos为写入下标的值,WriteSize为待写入待写入音频数据的长度,RingSize为环形缓冲区的大小;如果WritePos小于(WritePos+WriteSize)%RingSize,则将所述待写入音频数据直接写入环形缓冲区中,并更新写入下标的长度:WritePos=(WritePos+WriteSize)%RingSize;如果WritePos大于(WritePos+WriteSize)%RingSize,则对待写入...

【专利技术属性】
技术研发人员:谢亨胡松平
申请(专利权)人:世邦通信股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1