本发明涉及音频播放,具体涉及一种基于dsp运算的多声道音频的播放控制方法。
背景技术:
1、用户在利用多声道音频播放音箱播放交响乐或电影等音频文件时,可以使用户有身临其境的感受,大大提高了用户的体验,多声道音频播放音箱可以播放5.1声道音频文件或立体声音频文件等。但是,由于多声道音频播放音箱的价格不菲,且对于摆放位置要求很高,而一般用户的家居环境又不满足如此高要求的摆放方式,所以很多的用户最终放弃了多声道音频播放音箱。
2、在专利公告号为公开号cn107277691a的一篇中国专利中,公开了一种基于云的多声道音频播放方法、系统及音频网关装置,在其方案中主要包括将多声道音频比特流分成相应数量的单声道音频比特流和元数据信息;将属于相同主题标识的单声道音频比特流和相应的元数据信息通过网络发送给音频网关装置;音频网关装置根据接收到的属于相同主题标识的多个单声道音频比特流和相应的元数据信息,同步生成相应的多个单声道音频信号;将属于相同主题标识的多个单声道音频信号通过不同的无线接口发送给相应的无线音箱,在成本低的情况下提供了高质量的音乐或视频聆听效果,但是在实际情况下,由于音箱的性能和硬件配置可能存在差异,导致每个音箱在对接收到的各个声道音频进行解码时所产生的时间也不相同,因此会出现多音频播放不同步的现象,从而降低了用户实际体验。
技术实现思路
1、本发明的目的在于提供一种基于dsp运算的多声道音频的播放控制方法,解决以下技术问题:
2、但是在实际情况下,由于音箱的性能和硬件配置可能存在差异,导致每个音箱在对接收到的各个声道音频进行解码时所产生的时间也不相同,因此会出现多音频播放不同步的现象,从而降低了用户实际体验感觉。
3、本发明的目的可以通过以下技术方案实现:
4、一种基于dsp运算的多声道音频的播放控制方法,音频分配器与多个音箱相连,其特征在于,包括以下步骤:
5、s1,获取云数据服务器向音频分配器传输的原音频流数据的参数;所述参数包括比特率、采样率、采样位数和声道数;
6、s2,音频分配器内设置缓存区,当缓存区接收到原音频流数据时,向所有相连音箱发出数据量为q的反馈指令并接收所有相连音箱的响应信号,得到所有音箱的响应时长并标记为t1,t2,...,tn,n为音箱的个数,根据计算公式v=q/t计算得到所有音箱的响应速率并标记为v1,v2,...,vn;
7、s3,当缓存区预先存储了时长为t的原始音频流数据时,若存在任一音箱的响应速率vi小于比特率,将所述时长为t的原始音频流数据的比特率进行压缩,将压缩后的比特率设置为该音箱的响应速率vi,并将压缩后的音频流数据发送至该音箱;
8、s4,对缓存区内的原始音频流数据进行分析,判定当前时长t内的原音频为人声音频或声乐音频,并根据当前时长t内的原音频的种类,分别对原音频流数据的采样率和采样位数进行调整。
9、作为本发明进一步的方案:其特征在于,音频分配器与多个音箱相连方式包括不限于蓝牙通讯、无线网络通讯、有线网络通讯和无线传输通讯。
10、作为本发明进一步的方案:其特征在于,所述音频分配器中还包括数据调整模块,用于与所述缓存区相连,所述数据调整模块中包含n个音频矩阵模块,所述音频矩阵模块均采用均衡pipeline结构,所述均衡pipeline结构由若干二选一选择器串联组成。
11、作为本发明进一步的方案:其特征在于,所述n个音频矩阵模块均采用统一的时钟来选择和处理数据。
12、作为本发明进一步的方案:其特征在于,对音频流数据的分析过程为:
13、将所述原音频流数据按预设帧长进行分帧处理得到若干音频帧并标记为y1,y2,...,yn,n为正整数,采用线性预测编码分析处理后的每一帧音频流数据并提取音频特征,所述音频特征包括短时过零率、lpc预测系数和lpc预测残差幅度谱的偏度和峰度,根据所述音频特征形成特征向量,将所述特征向量带入预设识别支持向量模型,识别所述每一帧音频流数据中是否含有人声,若含有人声则将该音频帧标记为特殊音频帧并标记为q1,q2,...,qz,z为正整数,若z/n大于等于预设阈值,则判定时长t内的原音频为人声音频,若z/n小于预设阈值,则判定时长t内的原音频为声乐音频。
14、作为本发明进一步的方案:其特征在于,若当前时长t内的原音频种类为人声音频,则优先对原音频数据的采样位数进行降低;若当前时长t内的原音频种类为声乐音频,则优先对原音频数据的采样率进行降低。
15、作为本发明进一步的方案:其特征在于,降低量的具体计算过程为:
16、ci'=c-(b-vi)/s*w;
17、wi'=w-(b-vi)*s*c;
18、其中,b为原音频流数据的比特率,s为原音频流数据的声道数,c为原音频流数据的采样率,w为原音频流数据的采样位数,vi为任一音箱的响应速率,ci'为调整后的音频流数据的采样率,wi'为调整后音频流数据的采样位数。
19、作为本发明进一步的方案:其特征在于,所述s3中,还包括若存在任一音箱的响应速率vi大于等于比特率,则保持原始音频流数据的比特率。
20、作为本发明进一步的方案:所述s3中,还包括获取任一音箱的最佳频率响应区间[m,n],并对缓存区内的原始音频流数据进行频谱分析,提取处于该音箱最佳频率响应区间的音频流数据并标记为目标音频流数据,将所述目标音频流数据发送至该音箱
21、本发明的有益效果:
22、本发明通过设置缓存区获取并缓存一定时长的原音频流数据,并在缓存过程中向所有相连音箱发出数据量为q的反馈指令并接收所有相连音箱的响应信号,得到所有音箱的响应时长,并响应时长计算得到所有音箱的响应速率;可以理解的是响应时间代表了音箱的硬件性能,响应速率越快其解码效率越高,当缓存区预先存储了时长为t的原始音频流数据时,若存在任一音箱的响应速率vi小于比特率,将所述时长为t的原始音频流数据的比特率进行压缩,将压缩后的比特率设置为该音箱的响应速率vi,并将压缩后的音频流数据发送至该音箱,可以理解的是在音频分配器发送原音频流数据时,该音箱的解码效率不足以支持当前原音频流流比特率,导致该音箱相对于其他音箱产生延迟,因此降低音频数据的比特率并根据提取的音频流数据进行分析,并判定当前时长t内的原音频是否为人声音频或声乐音频,并根据判定结果,对缓存区内的原音频数据的采样率和采样位数进行调整,既确保了音频的流畅播放,又能够根据音频内容的特点优化音频的播放效果,提升用户体验。
1.一种基于dsp运算的多声道音频的播放控制方法,音频分配器与多个音箱相连,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种基于dsp运算的多声道音频的播放控制方法,其特征在于,音频分配器与多个音箱相连方式包括不限于蓝牙通讯、无线网络通讯、有线网络通讯和无线传输通讯。
3.根据权利要求1所述的一种基于dsp运算的多声道音频的播放控制方法,其特征在于,所述音频分配器中还包括数据调整模块,用于与所述缓存区相连,所述数据调整模块中包含n个音频矩阵模块,所述音频矩阵模块均采用均衡pipeline结构,所述均衡pipeline结构由若干二选一选择器串联组成。
4.根据权利要求3所述的一种基于dsp运算的多声道音频的播放控制方法,其特征在于,所述n个音频矩阵模块均采用统一的时钟来选择和处理数据。
5.根据权利要求1所述的一种基于dsp运算的多声道音频的播放控制方法,其特征在于,对音频流数据的分析过程为:
6.根据权利要求1所述的一种基于dsp运算的多声道音频的播放控制方法,其特征在于,若当前时长t内的原音频种类为人声音频,则优先对原音频数据的采样位数进行降低;若当前时长t内的原音频种类为声乐音频,则优先对原音频数据的采样率进行降低。
7.根据权利要求6所述的一种基于dsp运算的多声道音频的播放控制方法,其特征在于,降低量的具体计算过程为:
8.根据权利要求1所述的一种基于dsp运算的多声道音频的播放控制方法,其特征在于,所述s3中,还包括若存在任一音箱的响应速率vi大于等于比特率,则保持原始音频流数据的比特率。
9.根据权利要求1所述的一种基于dsp运算的多声道音频的播放控制方法,其特征在于,所述s3中,还包括获取任一音箱的最佳频率响应区间[m,n],并对缓存区内的原始音频流数据进行频谱分析,提取处于该音箱最佳频率响应区间的音频流数据并标记为目标音频流数据,将所述目标音频流数据发送至该音箱。
