一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

音频播放控制方法及其装置、设备、介质、产品与流程

2022-02-19 09:58:17 来源:中国专利 TAG:


1.本技术涉及音频信号处理技术领域,尤其涉及一种音频播放控制方法及其相应的装置、计算机设备、计算机可读存储介质,以及计算机程序产品。


背景技术:

2.在终端设备上进行卡拉ok以及直播唱歌场景中,设备播放音乐伴奏,主播演唱音乐,然后将主播演唱歌词和设备播放音乐伴奏混音后推送至远端,如图1所示。
3.图1中,混音的时间t4和采集时间t3的间隔很短,可以认为t4=t3。由于采集主播的声音时间为t3,而播放音乐时间为t1,如果在混音时没有时延补偿或补偿值不准确,则在远端会出现人声演唱t1时间的歌词,而伴奏却在播放其他时刻的伴奏,即人声与伴奏不同步,影响用户体验。
4.时延补偿的值即为音频环回延迟的值,环回延迟值是指终端设备外放的声音再被设备采集的时间间隔(上图中的t3

t1)。不同的音频接口、不同的平台(android/ios/mac/win)、不同的厂家设备音频环回延迟各不同,因此,需要一种技术来计算音频环回延迟。一般来说,时延补偿的误差小于50ms时,人耳便体验不出人声与伴奏的不同步,因此,音频环回延迟的计算方法误差一般都会控制在50ms之内。
5.现有技术中存在大量的用于估算环回延迟值的方法,各有优劣,例如拉尔森测试方法和webrtc中的延迟测量方法都需要提前测量好延迟,不能够实时进行,在嘈杂环境中还会出现检测不准或检测不到的情况,并且检测精度不高。
6.故此,本技术人出于创新的考虑,也做出相应的探索。


技术实现要素:

7.本技术的首要目的在于解决上述问题至少之一而提供一种音频播放控制方法及其相应的装置、计算机设备、计算机可读存储介质、计算机程序产品。
8.为满足本技术的各个目的,本技术采用如下技术方案:
9.适应本技术的目的之一而提供的一种音频播放控制方法,包括如下步骤:
10.在网络直播过程中持续采集本地的外部输入音源产生的实时音频数据;
11.检出预添加至所述本机播放音源的音频数据中被外放环回的参考信号,确定相应的环回延迟值;所述参考信号为人耳听力频带外的高频信号;
12.控制本机播放音源的音频数据叠加所述环回延迟值后与所述实时音频数据相混音,获得校正后音频数据;
13.将所述校正后音频数据作为网络直播的音频流输出。
14.深化的实施例中,在网络直播过程中持续采集本地的外部输入音源产生的实时音频数据,包括如下步骤:
15.获取本地播放音源相对应的音频数据进行外放;
16.持续采集外部输入音源产生的外部语音信号;
17.将所述外部语音信号转换为所述实时音频数据。
18.深化的实施例中,检出预添加至所述本机播放音源的音频数据中被外放环回的参考信号,确定相应的环回延迟值,包括如下步骤:
19.构造所述参考信号;
20.在第一时刻向本地播放音源的音频数据添加所述参考信号以供外放;
21.启动对所述实时音频数据中的所述参考信号的检测,在检出该参考信号时确定出第二时刻;
22.将第二时刻与第一时刻的差值确定为所述环回延迟值。
23.扩展的实施例中,启动对所述实时音频数据中的所述参考信号的检测之后,包括如下步骤:
24.对所述实时音频数据沿时域跟踪噪声信号;
25.将所述噪声信号变换至频域,获得相应的噪声能量谱数据;
26.根据所述实时音频数据的语音帧所映射的语音能量谱数据与所述噪声能量谱数据检测出所述参考信号。
27.具体化的实施例中,根据所述实时音频数据的语音帧所映射的语音能量谱数据与所述噪声能量谱数据检测出所述参考信号,包括如下步骤:
28.根据实时音频数据中每个语音帧相映射的语音能量谱数据,定位其中各个频点的峰值位置;
29.根据各个频点相对应的语音能量与噪声能量计算每个语音帧中参考信号存在概率;
30.在多个连续语音帧的存在概率满足预设条件时判定检测出所述参考信号。
31.较佳的实施例中,所述参考信号包括多个单频信号,各单频信号在频域上等间隔设置。
32.扩展的实施例中,启动对所述实时音频数据中的所述参考信号的检测之后,包括如下步骤:
33.响应检测所述参考信号失败的事件,重新构造参考信号并启动二次检测,重新构造的参考信号为人耳听力频带外的高频信号,其频率低于在先构造的参考信号的频率。
34.适应本技术的目的之一而提供的一种音频播放控制装置,包括:
35.音频采集模块,用于在网络直播过程中持续采集本地的外部输入音源产生的实时音频数据;;
36.环回检测模块,用于检出预添加至所述本机播放音源的音频数据中被外放环回的参考信号,确定相应的环回延迟值;所述参考信号为人耳听力频带外的高频信号;
37.混音校正模块,用于控制本机播放音源的音频数据叠加所述环回延迟值后与所述实时音频数据相混音,获得校正后音频数据;
38.音频推流模块,用于将所述校正后音频数据作为网络直播的音频流输出。
39.深化的实施例中,所述音频采集模块包括:
40.本地外放子模块,用于获取本地播放音源相对应的音频数据进行外放;
41.本地采集子模块,用于持续采集外部输入音源产生的外部语音信号;
42.语音转换子模块,用于将所述外部语音信号转换为所述实时音频数据。
43.深化的实施例中,所述环回检测模块包括:
44.信号构造子模块,用于构造所述参考信号;
45.信号预置子模块,用于在第一时刻向本地播放音源的音频数据添加所述参考信号以供外放;
46.信号检测子模块,启动对所述实时音频数据中的所述参考信号的检测,在检出该参考信号时确定出第二时刻;
47.延迟计算子模块,用于将第二时刻与第一时刻的差值确定为所述环回延迟值。
48.扩展的实施例中,所述信号检测子模块包括:
49.噪声跟踪单元,用于对所述实时音频数据沿时域跟踪噪声信号;
50.噪声变换单元,用于将所述噪声信号变换至频域,获得相应的噪声能量谱数据;
51.信号测算单元,用于根据所述实时音频数据的语音帧所映射的语音能量谱数据与所述噪声能量谱数据检测出所述参考信号。
52.具体化的实施例中,所述信号测算单元包括:
53.峰值定位子单元,用于根据实时音频数据中每个语音帧相映射的语音能量谱数据,定位其中各个频点的峰值位置;
54.概率评估子单元,用于根据各个频点相对应的语音能量与噪声能量计算每个语音帧中参考信号存在概率;
55.信号判定子单元,用于在多个连续语音帧的存在概率满足预设条件时判定检测出所述参考信号。
56.较佳的实施例中,所述参考信号包括多个单频信号,各单频信号在频域上等间隔设置。
57.扩展的实施例中,所述信号检测子模块还包括:
58.重启检测单元,用于响应检测所述参考信号失败的事件,重新构造参考信号并启动二次检测,重新构造的参考信号为人耳听力频带外的高频信号,其频率低于在先构造的参考信号的频率。
59.适应本技术的目的之一而提供的一种计算机设备,包括中央处理器和存储器,所述中央处理器用于调用运行存储于所述存储器中的计算机程序以执行本技术所述的音频播放控制方法的步骤。
60.适应本技术的另一目的而提供的一种计算机可读存储介质,其以计算机可读指令的形式存储有依据所述的音频播放控制方法所实现的计算机程序,该计算机程序被计算机调用运行时,执行该方法所包括的步骤。
61.适应本技术的另一目的而提供的一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现本技术任意一种实施例中所述音频播放控制方法的步骤。
62.相对于现有技术,本技术的优势如下:
63.本技术在由本机播放音源相对应的音频数据中预置人耳无法识别的高频信号作为参考信号,根据该参考信号确定所述音频数据被外放后环回的环回延迟值,然后将该环回延迟值反馈到采集侧的混音环节,利用该环回延迟值实现两类本机播放音源与外部输入音源相对应的两路音频数据的对齐,获得校正后音频数据进行推流输出,使两者声音实现
时间上的同步,由于所述参考信号是在所述本地播放音频的音频数据被外放的过程中添加后再在采集实时音频数据时检出的,能够适应终端设备的各种因素个性化精准确定通信设备相应的环回延迟值,因此,经校正后的音频数据能够实现更为精准的音源同步效果。
64.本技术中,所述参考信号为人耳无法感知的听力频带范围之外的带外高频信号,而一般的语音信号则是在带内的,因此,该参考信号自成特征,其在被外放后,不会影响在播放的语音或音乐的音质和听感,而且还易被计算机程序准确高效地识别,检出的成功率明显提升,故能高效准确地确定环回延迟值以便用于校正音频数据。
65.本技术可以应用于在线娱乐性质的应用场景中,包括但不限于网络视频直播、远程卡拉ok、网络远程教学等场景,在此类场景下,主讲方基于本技术获得的环回延迟值对实时音频数据实现校正后输出,当其被传输到对应的远端用户终端设备后,能够使收听者获得多种音源同步播放的音效,确保从听者的角度来感知,能够感知演唱者的发声与视频中的歌词和背景音乐保持同步的音效,从而改善用户体验。
附图说明
66.本技术上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
67.图1为计算音频信号的环回延迟值的原理示意图,其中t1至t4表示不同时刻,采集线程负责音频数据采集,播放线程负责音频数据的转换和播放,主播指示外部输入音源;
68.图2为本技术的音频播放控制方法的典型实施例的流程示意图;
69.图3为本技术的实施例中确定环回延迟值的过程的流程示意图;
70.图4为本技术的实施例中从音频数据中检出参考信号的过程的流程示意图;
71.图5为本技术的实施例中根据语音帧检测参考信号的过程的流程示意图;
72.图6为本技术的音频播放控制装置的典型实施例的原理框图;
73.图7为本技术所采用的一种计算机设备的结构示意图。
具体实施方式
74.下面详细描述本技术的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本技术,而不能解释为对本技术的限制。
75.本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本技术的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
76.本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本技术所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的
意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
77.本技术领域技术人员可以理解,这里所使用的“客户端”、“终端”、“终端设备”既包括无线信号接收器的设备,其仅具备无发射能力的无线信号接收器的设备,又包括接收和发射硬件的设备,其具有能够在双向通信链路上,进行双向通信的接收和发射硬件的设备。这种设备可以包括:蜂窝或其他诸如个人计算机、平板电脑之类的通信设备,其具有单线路显示器或多线路显示器或没有多线路显示器的蜂窝或其他通信设备;pcs(personal communications service,个人通信系统),其可以组合语音、数据处理、传真和/或数据通信能力;pda(personal digital assistant,个人数字助理),其可以包括射频接收器、寻呼机、互联网/内联网访问、网络浏览器、记事本、日历和/或gps(global positioning system,全球定位系统)接收器;常规膝上型和/或掌上型计算机或其他设备,其具有和/或包括射频接收器的常规膝上型和/或掌上型计算机或其他设备。这里所使用的“客户端”、“终端”、“终端设备”可以是便携式、可运输、安装在交通工具(航空、海运和/或陆地)中的,或者适合于和/或配置为在本地运行,和/或以分布形式,运行在地球和/或空间的任何其他位置运行。这里所使用的“客户端”、“终端”、“终端设备”还可以是通信终端、上网终端、音乐/视频播放终端,例如可以是pda、mid(mobile internet device,移动互联网设备)和/或具有音乐/视频播放功能的移动电话,也可以是智能电视、机顶盒等设备。
78.本技术所称的“服务器”、“客户端”、“服务节点”等名称所指向的硬件,本质上是具备个人计算机等效能力的电子设备,为具有中央处理器(包括运算器和控制器)、存储器、输入设备以及输出设备等冯诺依曼原理所揭示的必要构件的硬件装置,计算机程序存储于其存储器中,中央处理器将存储在外存中的程序调入内存中运行,执行程序中的指令,与输入输出设备交互,借此完成特定的功能。
79.需要指出的是,本技术所称的“服务器”这一概念,同理也可扩展到适用于服务器机群的情况。依据本领域技术人员所理解的网络部署原理,所述各服务器应是逻辑上的划分,在物理空间上,这些服务器既可以是互相独立但可通过接口调用的,也可以是集成到一台物理计算机或一套计算机机群的。本领域技术人员应当理解这一变通,而不应以此约束本技术的网络部署方式的实施方式。
80.本技术的一个或数个技术特征,除非明文指定,既可部署于服务器实施而由客户端远程调用获取服务器提供的在线服务接口来实施访问,也可直接部署并运行于客户端来实施访问。
81.本技术所涉及的各种数据,除非明文指定,既可远程存储于服务器,也可存储于本地终端设备,只要其适于被本技术的技术方案所调用即可。
82.本领域技术人员对此应当知晓:本技术的各种方法,虽然基于相同的概念而进行描述而使其彼此间呈现共通性,但是,除非特别说明,否则这些方法都是可以独立执行的。同理,对于本技术所揭示的各个实施例而言,均基于同一发明构思而提出,因此,对于相同表述的概念,以及尽管概念表述不同但仅是为了方便而适当变换的概念,应被等同理解。
83.本技术即将揭示的各个实施例,除非明文指出彼此之间的相互排斥关系,否则,各个实施例所涉的相关技术特征可以交叉结合而灵活构造出新的实施例,只要这种结合不背离本技术的创造精神且可满足现有技术中的需求或解决现有技术中的某方面的不足即可。
对此变通,本领域技术人员应当知晓。
84.本技术的一种音频播放控制方法,既可应用于离线环境的终端设备中,也可应用于由服务器支持即时通话的场景下的终端设备中,所述场景包括但不限于各种即时通信、网络直播、在线客服、远程卡拉ok、远程歌唱直播、远程语音教学等示例性应用场景,作为一项音频处理的基础技术,有着广泛的应用范围。该方法可被编程实现为计算机程序产品,部署于终端设备中运行而实施。
85.请参阅图2,并参考图1,在本技术的音频播放控制方法的典型实施例中,其包括如下步骤:
86.步骤s1100、在网络直播过程中持续采集本地的外部输入音源产生的实时音频数据;
87.为便于理解以下的说明而示例的应用场景中,在网络直播间中,主播用户所在的终端设备正在播放歌曲,包含伴奏的背景音乐,所述的背景音乐可以是主播用户调用本地音乐文件进行播放的,也可以是从远程服务器拉流进行播放的,播放所述背景音乐时,在显示器中显示相应的歌词,而网络视频直播间的主播用户正拿着麦克风专注着歌词引吭高歌,所述背景音乐相对应的音频数据,作为本机产生的本地播放音源相对应的音频数据,既在本地进行外放,也被传输至支持直播间运行的服务器中,推送给直播间用户收听。
88.在此类场景中,至少包含两个音源,对应产生两个音频数据,其中第一音源是其终端设备播放相应的背景音乐所体现的,即为所述的本地播放音源;第二音源是该终端设备的麦克风所接收的外部语音信号所体现的,即为所述的外部输入音源。对应第一音源产生的音频数据为第一音频数据,对应第二音源产生的音频数据为第二音频数据,终端设备一方面通过一个采集线程对这两路音频数据进行混音,形成混音后的音频数据推送到直播间;另一方面通过一个播放线程,将所述本地播放音源的音频数据与其他可能的音源的音频数据进行混音后在本地进行外放。
89.其他示例性的应用场景,与此同理,例如,所述的远程语音教学场景中,主播用户可以使用其他背景音频代替所述的背景音乐,但在本质上仍构成本地播放音源。
90.终端设备对音频数据的外放和采集,是持续同步进行的,可由本领域技术人员灵活实施,一个推荐的实施例中,可以按照如下步骤进行:
91.步骤s1110、获取本地播放音源相对应的音频数据进行外放:
92.如前所述,本地播放音源相对应的音频数据,可以从本地终端设备的本地文件中调用,通过播放器对其播放即可,也可以是从远程服务器中拉流来获得。
93.具体到获取本地播放音源的音频数据时,还可以从终端设备本机的声卡中采集,或者直接对相应的音频文件进行解码获得,相关技术为本领域技术人员所熟知,恕不赘述。
94.步骤s1120、持续采集外部输入音源产生的外部语音信号:
95.终端设备的声卡会源源不断地采集外部语音信号,因此,同理可通过声卡,采集麦克风等输入设备输入的语音信号。
96.步骤s1130、将所述外部语音信号转换为所述实时音频数据:
97.所述的声卡将其所采集的语音信号进行采样转换,形成相应的第二音频数据,即外部输入音源相对的所述实时音频数据。因此,在本变通实施例中,外部输入音源主要是表现为通过终端设备的声卡自行采样获得的语音输入形式。
98.所述的外部输入音源,不应局限于麦克风之类的外部输入形式,也可以理解为由另一设备以电信号形式传输外部语音信号或者直接传输相应的音频数据的形式,只要存在环回延迟值计算的必要,均可应用本技术的技术方案。
99.步骤s1200、检出预添加至所述本机播放音源的音频数据中被外放环回的参考信号,确定相应的环回延迟值;所述参考信号为人耳听力频带外的高频信号:
100.为了检测本技术的第一音频数据被终端设备外放之后环回所产生的延迟值,即所述的环回延迟值,本技术在播放侧的业务逻辑中,为所述第一音频数据即本机播放音源相对应的音频数据中预置一个参考信号,后续通过在实时音频数据中检测这一参考信号的播放回声信号所经过的时长,将这一时长确定为所述的环回延迟值,作为采集侧校正音频数据以实现多路音源的音频数据对齐之用。
101.由于环回延迟值主要取决于终端设备的硬件性能,同一终端设备其环回延迟值相对固定,因此,获得所述环回延迟值之后,可以将其保存至终端设备本地,后续可直接调用。
102.所述的参考信号,由本技术自定义,被构造为具有一定的规律性和独特性的信号,使其便于与所述本地播放音源的音频数据相对应的信号内容相区别即可。本技术中,该参考信号被限定为人耳听力范围相对应的频带的带外高频信号。人耳能接收的频率在20hz

20000hz之间,个别因人而异,带外信号对人耳而言,无法知觉。因此,在本技术所适应的应用场景中选用人耳听力频带外的高频信号作为参考信号,充分考虑到音质控制的需求,不会破坏各路音源的语音信息内容,也不会对用户造成困扰。
103.本技术较佳的实施例中,所述参考信号被配置为包括多个单频信号,并且各个单频信号在频域上等间隔设置,例如,相邻两个单频信号可以间隔一个、两个或三个采样分辨率单位。采用此种方式,相对容易检测,相应的检测算法运算效率高效,占时极少。
104.变通实施的实施例中,所述参考信号的各个单频信号也可以按照等比间隔设置,所述参考信号同理还可以有其他形式的构造,只要后续在采集侧的业务逻辑中运用相应的算法将其检出即可。
105.步骤s1300、控制本机播放音源的音频数据叠加所述环回延迟值后与所述实时音频数据相混音,获得校正后音频数据:
106.所述的环回延迟值,对应到图1所示的原理框图中,即为其中t3

t1的差值,被用于在采集侧对所述本机播放音源相应的音频数据做时延补偿,以便在采集侧混音阶段实现本机播放音源和外部输入音源在音频数据上的对齐,使混音后获得的校正后音频数据被推流并被远端设备解析播放后,实现不同音源的发声在时域上基本同步播放,或者至少在听觉上被认为同步。
107.因此,当确定了所述的环回延迟值之后,便可由采集侧的业务逻辑来负责实施时延补偿,在采集侧混音阶段,对于所述本机播放音源所产生的音频数据,叠加所述的环回延迟值之后,再与所述外部输入音源所产生的音频数据进行混音,实现对多个音源之间的对齐关系的校正,而获得校正后音频数据。
108.步骤s1400、将所述校正后音频数据作为网络直播的音频流输出:
109.由于本技术所构造的参考信号更具特点,更易被检测,从而能够高效而准确地确定所述的环回延迟值,因此,所述的校正后音频数据被转换为语音信号进行播放后,在听觉上,能够明显感知不同音源之间的同步性和协调性,音质较好。
110.本技术中,为了检测所述参考信号,对于本机播放音源的音频数据的播放,适宜以外放的形式进行,以便通过采集侧采集实时音频数据后,从实时音频数据内的回声信号中获取所述的参考信号。当然,一旦确定所述环回延迟值并予以保存之后,后续直接调用即可,可不必再利用所述本机播放音源的音频数据的外放回声信号。
111.对于本技术所示例的直播间之类的即时通信场景而言,需要将所述校正后音频数据作为音频流包含于直播流中传输至直播间的服务器,再由服务器推送至直播间的受众用户的终端设备中进行播放。可以理解,受众用户依据所述校正后音频数据进行播放输出,可以获得多路音源对齐的播放效果。
112.本技术扩展的一个实施例中,为了确保本方法中检测参考信号的成功率,可预先对本技术的实施环境进行检测,具体而言,可以按照如下步骤执行:
113.检测终端设备是否同时处于音频数据采集状态和外放状态,所述外放状态即指本地终端设备启动了音箱之类能够便于获取回声信号的扬声器而非通过耳机之类的设备进行扬声;
114.检测终端设备所实施的采样活动是否以预设的采样率进行,例如预设为44.1khz或48khz的采样率;
115.检测终端设备是否存在所述本机播放音源相对应的音频环回路径,若存在音频环回路径,便可据此进行参考信号的预置以及进行参考信号的检测。
116.通过以上的检测,确认相应的条件均得到满足时,即终端设备同时处理采集状态和外放状态,并以预设的采样率进行采样,且正通过外放形成音频环回路径,在这种情况下,便可实施本技术的检测参考信号的过程。
117.本技术通过外放线程在由本机播放音源的音频数据中预置人耳无法识别的高频信号作为参考信号,根据该参考信号确定所述本机播放音源的音频数据被外放后环回的环回延迟值,然后将该环回延迟值反馈到采集线程的混音环节,利用该环回延迟值实现两类音源的对齐,获得校正后音频数据进行推流,使校正后音频数据得以在直播间的受众用户的终端设备中播放时,依然实现多个音源在时间上的基础同步,或者被用户认可多个音源在时间上基本协调同步,由于所述参考信号是外放线程在播放本机播放音源相对应的音频数据中实时添加后,再由采集线程根据实时音频数据所包含的回声信号检出的,因此能够适应终端设备的各种因素个性化精准确定相应的环回延迟值,因此,经校正后的音频数据能够实现更为精准的音源同步效果。
118.本技术中,所述参考信号为人耳无法感知的听力频带范围之外的带外高频信号,而一般的语音信号则是在带内的,因此,该参考信号自成特征,其在被外放后,不会影响在播放的语音或音乐的音质和听感,而且还易被计算机程序准确高效地识别,检出的成功率明显提升,故能高效准确地确定环回延迟值以便用于校正音频数据。
119.本技术可以应用于在线娱乐性质的应用场景中,包括但不限于网络直播和远程卡拉ok、远程语音教学、远程歌唱直播等场景,在此类场景下,基于本技术获得的环回延迟值对音频实现校正后输出至远端终端设备时,能够使收听者获得多种音源同步播放的音效,确保从听者的角度来感知,能够感知演唱者的发声与背景音频或背景歌词保持同步的音效,从而改善用户体验。
120.请参阅图3,深化的实施例中,所述步骤s1200、检出预添加至所述本机播放音源的
音频数据中被外放环回的参考信号,确定相应的环回延迟值,包括如下步骤:
121.步骤s1210、构造所述参考信号:
122.构造参考信号为高频处的多个单频信号,例如三个单频信号,各单频信号的频点均在人耳可感知的听力频带之外,如下所示:
[0123][0124]
式中f
0,
f1,f2为参考信号频率,其中:
[0125]
f1=f0 2δf
[0126]
f2=f0 4δf
[0127]
δf为频率分辨率,即当前音频采样率f
s
,dft(离散傅里叶变换)点数为n的情况下α0为参考信号的幅度,以16bit量化的音频为例,α0参考取值为8192。单频信号持续时间一般为200ms。
[0128]
一个较佳的实施例中,考虑到音频环回路径的存在,为了采集侧检测时能够更好地检测所添加的单频信号,在播放侧添加参考信号前可添加一段时间例如2秒的静音信号ref_silence(t)以便滞后启动采集侧的检测。至此,播放侧业务逻辑中,参考信号可表示为:
[0129][0130]
步骤s1220、在第一时刻向本地播放音源的音频数据添加所述参考信号以供外放;
[0131]
假设终端设备待播放的本机播放音源的音频数据为render(t),将render(t)和参考信号ref0(t)进行混音播放,便完成了实时播放时添加参考信号的作业,对应的,此时的时刻被标记为第一时刻。
[0132]
步骤s1230、启动对所述实时音频数据中的所述参考信号的检测,在检出该参考信号时确定出第二时刻:
[0133]
在所述参考信号随本机播放音源的音频数据被外放线程播放后,采集线程便开始实时检测所述参考信号。可以理解,对所述参考信号的检测,需要对应该参考信号所具有的特征设计对应的算法进行相应的处理,尽管这些对应算法的具体实现本身也可以有多种,以便准确辨识参考信号的特征而判定出存在参考信号的事实。本技术后续将通过其他实施例进一步揭示出与本实施例中的参考信号相对应的算法的实现和运用,此处暂不详述。
[0134]
当借助这些对应算法检出所述的参考信号之后,便可确定检出之时的时间,将其标记为第二时刻。
[0135]
步骤s1240、将第二时刻与第一时刻的差值确定为所述环回延迟值。
[0136]
请再参考图1可知,由于第一时刻是播放侧向待输出的本机播放音源的音频数据中添加参考信号的时间,而第二时刻是采集侧检出所述参考信号的时间,因此,第二时刻与第一时刻的差值便是所述参考信号走完音频环回路径的实际时间,因此,将第二时刻与第一时刻的差值确定为所述的环回延迟值即可。
[0137]
本实施例中,示例性地深化揭示了参考信号的构造方式,通过构造一个由在频域上等间隔排列的多个单频信号来定义出所述的参考信号,使该参考信号呈现出较为个性化
的特征,更易于被识别。该参考信号由于在人耳可感知频带之外,因此不会对音源自身的声音构造人耳可感知的干扰。并且,该参考信号也充分考虑到音频环回所需,而先于所述参考信号预置静音信号,使单频信号的出现滞后于静音信号,确保采集侧能够有充足的时间等待参考信号的出现,进一步提升检测参考信号的成功率。
[0138]
请参阅图4,扩展的实施例中,步骤s1230、启动对所述实时音频数据中的所述参考信号的检测之后,包括如下步骤:
[0139]
步骤s2310、对所述实时音频数据沿时域跟踪噪声信号:
[0140]
如前所述,所述参考信号被构造为高频信号,易被高频信号干扰,因此,为了防止高频噪声对检测所述参考信号带来的影响,需要在采集侧实现对所述的实时音频数据中的噪声信号的跟踪。本领域技术人员可以借助多种常见的算法来实现噪声信号的跟踪,本技术中,推荐使用mcra系列的算法,尤其是imcra算法,进行频点噪声跟踪,imcra算法是在时域上跟踪频点最小值的算法,为本领域技术人员所知晓。
[0141]
步骤s2320、将所述噪声信号变换至频域,获得相应的噪声能量谱数据:
[0142]
为了便于对噪声信号的能量进行引用,以供参考,需要将实时音频数据中的噪声信号变换至频域,并获得相应的噪声能量谱数据。计算频域能量较为常见的算法是使用fft算法,fft算法会计算出整个频域频点的能量值,因此,本实施例可以应用fft算法来转换出噪声信号相对应的噪声能量谱数据。
[0143]
在本实施例基础上优化的实施例中,考虑到所述参考信号在前文的实施例中是灵活自定义的,仅包括若干个单频信号,因而只需计算播放侧添加的若干个频点相对应的能量值即可,例如前述实施例中揭示的3个频点相对应的能量值,在这种情况下,使用fft会占据很大的算法复杂度,fft复杂度为o(nlogn)。故此,优化的实施例中,推荐使用goertzel算法(格兹尔算法)计算频域能量,其算法复杂度为o(n),大幅缩减了算法复杂度,其估计的频点噪声表示为:λ(f
i
),i=0,1,2。
[0144]
可以理解,本领域技术人员可以借助多种方式将噪声信号从时域变换至频域,以获取相应的噪声能量谱数据。
[0145]
步骤s2330、根据所述实时音频数据的语音帧所映射的语音能量谱数据与所述噪声能量谱数据检测出所述参考信号:
[0146]
相应的,所述实时音频数据中各个语音帧也被利用傅里叶变换算法,从时域变换到频域,获得语音能量谱数据,以便确定其相应的能量值。在此基础上,根据噪声能量谱数据和语音能量谱数据,便可检测出所述的参考信号。
[0147]
请参阅图5,一个对应前文实施例中具体定义的参考信号的具体化实施例继续给出检测出所述参考信号的详细过程,具体包括如下步骤:
[0148]
步骤s2331、根据实时音频数据中每个语音帧相映射的语音能量谱数据,定位其中各个频点的峰值位置:
[0149]
当播放侧添加了ref_s0(t)信号时,采集侧开始进行检测。
[0150]
针对实时音频数据中的语音帧所映射的语音能量谱数据,采集侧首先判断当前频点是否为峰值,表示为p
peak(i)

[0151]
[0152]
其中e(f
i
)是通过goertzel算法计算出的当前频点的能量值,由于添加的参考信号是间隔一个δf,所以当前检测频率的能量应该是上下频点的峰值。
[0153]
步骤s2332、根据各个频点相对应的语音能量与噪声能量计算每个语音帧中参考信号存在概率:
[0154]
根据每个频点能量与背景噪声能量去计算参考信号存在概率p
f(i)
,使用下式:
[0155][0156]
其中e
max
表示当前帧存在参考信号的能量阈值,即当参考信号的能量值超过预设的能量阈值时,判定对应的语音帧高度盖然性地存在所述的参考信号,所述能量阈值一般取e
max
(f
i
)=1.8*e(f
i
),根据实际情况,可适当灵活调节。loge(f
i
)

logλ(f
i
)可以理解为当前频点的信噪比。
[0157]
一帧信号满足p
peak(i)
=1时,才有可能是参考信号,因此联合上述两个特征,可以求得当前帧的参考信号存在概率:
[0158][0159]
其中w为权值,要求一般取w
f(i)
=1/3,i=0,1,2。特别地,若某些设备在高频处采集信号弱,可适当调节该频率处权值。
[0160]
步骤s2333、在多个连续语音帧的存在概率满足预设条件时判定检测出所述参考信号:
[0161]
示例性的实施例中,播放侧添加参考信号是在时域上维持200ms,因此在采集侧检测时引入了时域因素,定义帧间概率保持ipp(interframe probability persistence)如下式:
[0162][0163]
式中t为帧间概率保持的帧数,一般取当t=3,ipp=1t=6,ipp=0.8认为确定检测到参考信号。此时用第一次检测到参考信号的时间,即第二时刻,和第一次添加ref_s0(t)的时间,即第一时刻,该两个时刻的时间间隔则为音频环回延迟。
[0164]
一般而言,当检测到参考信号时,播放侧便不再添加参考信号,在实测理想的情况下,播放侧需要添加3帧参考信号。通过上述方法检测信号,实测检测误差在20ms之内。
[0165]
本实施例显示,启动对所述参考信号的检测的过程中,根据噪声能量和语音能量进行所述参考信号的检测,其中,借助概率估算的方式,检测多个单频信号,并且考虑到帧间保持的因此,而确保通过多个语音帧检测到所述的参考信号,给出的算法简便易实现,运算效率高,可以将检测误差控制在20ms以内,非常精准。
[0166]
当播放侧添加了参考信号后,采集侧的业务逻辑开始对所述参考信号进行检测,其检测次数可灵活设定,例如二次,当检测到参考信号后,便可确定相应的环回延迟值,将
该环回延迟值保存以备调用。如果连续二次均未能检测出参考信号,导致无法计算环回延迟值,这种情况下,可以启用参考信号重构机制。
[0167]
扩展的实施例中,所述步骤s1230、启动对所述实时音频数据中的所述参考信号的检测之后,因应所述步骤s2330检测参考信号失败的事件,具体可以是因应所述步骤s2333未能检出参考信号的事件而执行如下步骤:
[0168]
步骤s2340、响应检测所述参考信号失败的事件,重新构造参考信号并启动二次检测,重新构造的参考信号为人耳听力频带外的高频信号,其频率低于在先构造的参考信号的频率。
[0169]
之所以将重新构造的参考信号的频率控制在前一参考信号的频点之下,主要是考虑到硬件原因:当前终端设备采集高频信号的能量偏弱。基于这一原因,便需要适当调节所述参考信号中的频率,甚至调节其幅度,以期能被采集侧的业务逻辑检出。
[0170]
作为示例,重新构造的参考信号可以按照表示为:
[0171][0172]
其中:
[0173][0174]
一般来说,α1>α0,f
1i
<f
i
。实际中,一般取α1=10922,f
1i
的频率在19khz左右。
[0175]
重构出新的参考信号之后,便可按照前述实施例所揭示的过程,重新执行检测程序,以期通过改变参考信号而成功检测新的参考信号,从而可以顺利确定所述的环回延迟值。
[0176]
实际应用场景中,本技术通过实时计算音频环回延迟,无需用户额外操作,保证了远程卡拉ok和直播唱歌场景中人声和伴奏对齐的问题,提升了网络直播过程中的用户体验。通过本技术的技术方案实时计算出音频环回延迟值后,可以使得人声和伴奏能够更严格地实现对齐,领先于同类其他产品体验。下表是在4台移动端设备上实施本技术的技术方案计算的5次音频环回延迟值和人工测量结果的对比:
[0177][0178]
表中,android机型op**r*n*3和v***xpl**6均在媒体音下以java api进行采集播放测试。从表中能看出,本技术检测误差控制在20ms之内。
[0179]
请参阅图6,本技术提供的一种音频播放控制装置,适应本技术的音频播放控制方法进行功能化部署,包括:
[0180]
音频采集模块1100,用于在网络直播过程中持续采集本地的外部输入音源产生的
实时音频数据;
[0181]
环回检测模块1200,用于检出预添加至所述本机播放音源的音频数据中被外放环回的参考信号,确定相应的环回延迟值;所述参考信号为人耳听力频带外的高频信号;
[0182]
混音校正模块1300,用于控制本机播放音源的音频数据叠加所述环回延迟值后与所述实时音频数据相混音,获得校正后音频数据;
[0183]
音频推流模块1400,用于将所述校正后音频数据作为网络直播的音频流输出。
[0184]
深化的实施例中,所述音频采集模块1100包括:
[0185]
本地外放子模块,用于获取本地播放音源相对应的音频数据进行外放;
[0186]
本地采集子模块,用于持续采集外部输入音源产生的外部语音信号;
[0187]
语音转换子模块,用于将所述外部语音信号转换为所述实时音频数据。
[0188]
深化的实施例中,所述环回检测模块1200包括:
[0189]
信号构造子模块,用于构造所述参考信号;
[0190]
信号预置子模块,用于在第一时刻向本地播放音源的音频数据添加所述参考信号以供外放;
[0191]
信号检测子模块,启动对所述实时音频数据中的所述参考信号的检测,在检出该参考信号时确定出第二时刻;
[0192]
延迟计算子模块,用于将第二时刻与第一时刻的差值确定为所述环回延迟值。
[0193]
扩展的实施例中,所述信号检测子模块包括:
[0194]
噪声跟踪单元,用于对所述实时音频数据沿时域跟踪噪声信号;
[0195]
噪声变换单元,用于将所述噪声信号变换至频域,获得相应的噪声能量谱数据;
[0196]
信号测算单元,用于根据所述实时音频数据的语音帧所映射的语音能量谱数据与所述噪声能量谱数据检测出所述参考信号。
[0197]
具体化的实施例中,所述信号测算单元包括:
[0198]
峰值定位子单元,用于根据实时音频数据中每个语音帧相映射的语音能量谱数据,定位其中各个频点的峰值位置;
[0199]
概率评估子单元,用于根据各个频点相对应的语音能量与噪声能量计算每个语音帧中参考信号存在概率;
[0200]
信号判定子单元,用于在多个连续语音帧的存在概率满足预设条件时判定检测出所述参考信号。
[0201]
较佳的实施例中,所述参考信号包括多个单频信号,各单频信号在频域上等间隔设置。
[0202]
扩展的实施例中,所述信号检测子模块还包括:
[0203]
重启检测单元,用于响应检测所述参考信号失败的事件,重新构造参考信号并启动二次检测,重新构造的参考信号为人耳听力频带外的高频信号,其频率低于在先构造的参考信号的频率。
[0204]
为解决上述技术问题,本技术实施例还提供计算机设备。如图7所示,计算机设备的内部结构示意图。该计算机设备包括通过系统总线连接的处理器、计算机可读存储介质、存储器和网络接口。其中,该计算机设备的计算机可读存储介质存储有操作系统、数据库和计算机可读指令,数据库中可存储有控件信息序列,该计算机可读指令被处理器执行时,可
使得处理器实现一种音频播放控制方法。该计算机设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该计算机设备的存储器中可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行本技术的音频播放控制方法。该计算机设备的网络接口用于与终端连接通信。本领域技术人员可以理解,图7中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0205]
本实施方式中处理器用于执行图6中的各个模块及其子模块的具体功能,存储器存储有执行上述模块或子模块所需的程序代码和各类数据。网络接口用于向用户终端或服务器之间的数据传输。本实施方式中的存储器存储有本技术的音频播放控制装置中执行所有模块/子模块所需的程序代码及数据,服务器能够调用服务器的程序代码及数据执行所有子模块的功能。
[0206]
本技术还提供一种存储有计算机可读指令的存储介质,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行本技术任一实施例的音频播放控制方法的步骤。
[0207]
本技术还提供一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被一个或多个处理器执行时实现本技术任一实施例所述音频播放控制方法的步骤。
[0208]
本领域普通技术人员可以理解实现本技术上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(read

only memory,rom)等计算机可读存储介质,或随机存储记忆体(random access memory,ram)等。
[0209]
综上所述,本技术根据预置的人耳听力频带的带外高频参考信号进行音频信号的环回延迟值估算,可以更为精确高效地估计出音频信号的环回延迟值用于校正音频信号,实现多音源的发声对齐,具有广阔的应用前景。
[0210]
本技术领域技术人员可以理解,本技术中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本技术中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本技术中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。
[0211]
以上所述仅是本技术的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本技术的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献