音频数据的延时传输方法、装置、终端及存储介质与流程

文档序号:31332924发布日期:2022-08-31 07:37阅读:128来源:国知局
音频数据的延时传输方法、装置、终端及存储介质与流程

1.本发明涉及音频数据处理技术领域,特别是涉及一种音频数据的延时传输方法、装置、终端及存储介质。


背景技术:

2.语音混音是多媒体会议中一个重要的组成部分。由于混音的音频源来源于不同的设备、经过不同的传输途径,每路采集到的音频数据真正到达混音模块的时刻,与现实世界的声音产生的时刻存在一个延时。每路之间的延时可能存在较大差异,特别是通过网络传输的音频数据,由于比模拟音频采集还多了编码、网络传输、解码等处理过程,其延时会明显高于模拟音频源。不同的音频采集设备之间也可能因为内部处理流程及网络波动原因,存在不同的延时表现。如果不对各路音频的延时差异做处理,直接送入混音模块,则混音后的音频数据,可能存在叠音问题,严重影响混音效果。


技术实现要素:

3.本发明主要解决的技术问题是提供一种音频数据的延时传输方法、装置、终端及存储介质,解决现有技术中各路音频源数据的时间不同步,从而影响混音效果的问题。
4.为解决上述技术问题,本发明采用的第一个技术方案是:提供一种音频数据的延时传输方法,音频数据的延时传输方法包括:获取至少两个音频通道分别传输的同一音频信息;音频信息包括语音数据;对通过至少两个音频通道传输的音频信息分别进行语音识别,确定语音数据的识别时间;基于至少两个音频通道分别对应的识别时间,确定至少两个音频通道分别对应的队列缓存音频帧的个数。
5.其中,对通过至少两个音频通道传输的音频信息分别进行语音识别,确定语音数据的识别时间,包括:对音频信息进行语音识别;判断音频信息是否识别到语音数据的文本信息;响应于识别到语音数据的文本信息,则确定识别的文本信息的识别时间;其中,识别时间为识别到语音数据对应的文本信息的时刻。
6.其中,文本信息包括至少一个单词文本;响应于识别到语音数据的文本信息,则确定识别的文本信息的识别时间,包括:将识别到的单词文本和识别到单词文本的识别时间依次保存至数据队列;响应于数据队列的队列长度达到预设长度,则将数据队列中最后保存的单词文本的识别时间确定为文本信息的识别时间。
7.其中,基于至少两个音频通道分别对应的识别时间,确定至少两个音频通道分别对应的队列缓存音频帧的个数,包括:判断各个音频通道对应的预设长度的数据队列中保存的文本信息是否相同;响应于各个音频通道对应的预设长度的数据队列中保存的文本信息相同,则根据各个音频通道对应的文本信息中同一单词文本的识别时间,确定各音频通道分别对应的队列缓存音频帧的个数。
8.其中,基于至少两个音频通道分别对应的识别时间,确定至少两个音频通道分别对应的队列缓存音频帧的个数,包括:选取至少两个音频通道对应的识别时间中的最迟识
别时间;分别计算各音频通道对应的识别时间与最迟识别时间之间的差值,以确定各音频通道分别对应的队列缓存音频帧的个数。
9.其中,分别计算各音频通道对应的识别时间与最迟识别时间之间的差值,以确定各音频通道分别对应的队列缓存音频帧的个数,包括:计算得到音频通道对应的识别时间与最迟识别时间之间的差值;根据差值、获取音频信息的采样率和音频信息中每个音频帧的音频样本数,确定音频通道的队列缓存音频帧的个数。
10.其中,基于至少两个音频通道分别对应的识别时间,确定至少两个音频通道分别对应的队列缓存音频帧的个数,之后包括:在各音频通道的队列中分别增加对应的队列缓存音频帧个数的预设音频帧。
11.为解决上述技术问题,本发明采用的第二个技术方案是:提供一种音频数据的延时传输装置,音频数据的延时传输装置包括:获取模块,用于获取至少两个音频通道分别传输的同一音频信息;音频信息包括语音数据;识别模块,用于对通过至少两个音频通道传输的音频信息分别进行语音识别,确定语音数据的识别时间;处理模块,用于基于至少两个音频通道分别对应的识别时间,确定至少两个音频通道分别对应的队列缓存音频帧的个数。
12.为解决上述技术问题,本发明采用的第三个技术方案是:提供一种终端,该终端包括存储器、处理器以及存储于存储器中并在处理器上运行的计算机程序,处理器用于执行程序数据以实现上述音频数据的延时传输方法中的步骤。
13.为解决上述技术问题,本发明采用的第四个技术方案是:提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述音频数据的延时传输方法中的步骤。
14.本发明的有益效果是:区别于现有技术的情况,提供的一种音频数据的延时传输方法、装置、终端及存储介质,音频数据的延时传输方法包括:获取至少两个音频通道分别传输的同一音频信息;音频信息包括语音数据;对至少两个音频通道传输的音频信息分别进行语音识别,确定语音数据的识别时间;基于至少两个音频通道分别对应的识别时间,确定至少两个音频通道分别对应的队列缓存音频帧的个数。本技术通过对不同音频通道传输的音频信息进行识别,基于所有音频通道分别对应的识别时间确定音频通道的队列缓存音频帧的个数,以使混音模块可以接收到不同音频通道同步传输的音频数据,进而提高混音效果。
附图说明
15.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
16.图1是本发明提供的音频数据的延时传输方法的流程示意图;
17.图2是本发明提供的音频数据的延时传输方法一具体实施例的流程示意图;
18.图3是本发明提供的数据队列fifo的存放结构;
19.图4是本发明提供的音频数据的延时传输装置的示意框图;
20.图5是本发明提供的终端一实施方式的示意框图;
21.图6是本发明提供的计算机可读存储介质一实施方式的示意框图。
具体实施方式
22.下面结合说明书附图,对本技术实施例的方案进行详细说明。
23.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透彻理解本技术。
24.本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。此外,本文中的“多”表示两个或者多于两个。
25.为使本领域的技术人员更好地理解本发明的技术方案,下面结合附图和具体实施方式对本发明所提供的一种音频数据的延时传输方法做进一步详细描述。
26.请参阅图1,图1是本发明提供的音频数据的延时传输方法的流程示意图。本实施例中提供一种音频数据的延时传输方法,该方法可以适用于教育行业的录播产品,也可以应用于会议录播产品等行业。通过将各个音频通道采集的音频数据传输至录播主机进行混音。在此之前需要对各音频通道进行校准,保证各个音频通道在混音前能够达到同步性。该音频数据的延时传输方法包括如下步骤。
27.s11:获取至少两个音频通道分别传输的同一音频信息。
28.具体地,各个音频通道将采集的音频数据传输给录播主机,可以通过无线传输和/或有线传输的方式将音频信息传输给录播主机。其中,音频通道将音频数据传输至录播主机中的混音模块的传输方式包括有线传输、蓝牙传输、wifi传输、zigbee传输等传输方式,由于不同的音频数据可以通过不同的传输方式将采集的包含语音数据的音频数据传输到录播主机中的混音模块,不同传输方式的传输速度不同,且在标准同步音源传输过程中,对于语音数据进行编码、解码的方式也不相同,使得不同的音频通道传输至混音模块的时间出现延时,使得不同的音频通道将采集的语音数据不能同步传输至混音模块。其中,音频信息包括语音数据。
29.s12:对通过至少两个音频通道传输的音频信息分别进行语音识别,确定语音数据的识别时间。
30.具体地,对音频信息进行语音识别;判断音频信息是否识别到语音数据的文本信息;响应于识别到语音数据的文本信息,则确定识别的文本信息的识别时间;其中,识别时间识别到语音数据对应的文本信息的时刻。在一具体实施例中,文本信息包括至少一个单词文本;将识别到的单词文本和识别到单词文本的识别时间依次保存至数据队列;响应于数据队列的队列长度达到预设长度,则将数据队列中最后保存的单词文本的识别时间确定为文本信息的识别时间。其中,语音数据的识别时间是指识别到语音数据的时刻。具体地,语音数据的识别时间可以为识别到语音数据中预设词语或预设语句的时刻。
31.s13:基于至少两个音频通道分别对应的识别时间,确定至少两个音频通道分别对应的队列缓存音频帧的个数。
32.具体地,判断各个音频通道对应的预设长度的数据队列中保存的文本信息是否相同;响应于各个音频通道对应的文本信息相同,则根据各个音频通道对应的文本信息中同
一单词文本的识别时间,确定至少两个音频通道分别对应的队列缓存音频帧的个数。
33.在一具体实施例中,选取至少两个音频通道对应的识别时间中的最迟识别时间;分别计算各音频通道对应的识别时间与最迟识别时间之间的差值,以确定各音频通道分别对应的队列缓存音频帧的个数。
34.具体地,计算得到音频通道对应的识别时间与最迟识别时间之间的差值;根据差值、获取音频信息的采样率和音频信息中每个音频帧的音频样本数,确定音频通道的队列缓存音频帧的个数。
35.在另一实施例中,在各音频通道的队列中分别增加对应的队列缓存音频帧个数的预设音频帧。
36.本实施例提供一种音频数据的延时传输方法包括:获取至少两个音频通道分别传输的同一音频信息;音频信息包括语音数据;对至少两个音频通道传输的音频信息分别进行语音识别,确定语音数据的识别时间;基于至少两个音频通道分别对应的识别时间,确定至少两个音频通道分别对应的队列缓存音频帧的个数。本技术通过对不同音频通道传输的音频信息进行识别,基于所有音频通道分别对应的识别时间确定音频通道的队列缓存音频帧的个数,以使混音模块可以接收到不同音频通道同步传输的音频数据,进而提高混音效果。
37.请参阅图2,图2是本发明提供的音频数据的延时传输方法一具体实施例的流程示意图。本实施例中提供一种音频数据的延时传输方法,该方法可以适用于教育行业的录播产品,也可以应用于会议录播产品等行业。通过将各个音频通道采集的音频数据传输至录播主机进行混音。在此之前需要对各音频通道进行校准,保证各个音频通道在混音前能够达到同步性。该音频数据的延时传输方法包括如下步骤。
38.s201:至少两个音频通道同时采集同一语音数据。
39.具体地,通过至少两个音频设备采集自然人的讲话对应的语音数据,即通过至少两个音频通道同时采集语音数据。其中,音频通道可以为两个,也可以为多个。其中,音频通道可以为拾音器、模拟高清相机、网络摄像机(ip camera,ipc)和/或网络球机,也可以是其它音频获取设备,在此不做限定。语音数据可以为自然人说出的语音信息,语音信息可以是自然人的讲话。自然人在输出语音信息时,需要保持环境的安静,并且要以较大音量讲话,进而方便后续对采集的音频信息进行识别。在一实施例中,在采集语音数据之前对各音频通道内存储的音频帧进行初始化处理。也就是说,各音频通道内存储的音频帧的个数为零。
40.s202:获取至少两个音频通道分别传输的同一音频信息。
41.具体地,各个音频通道将采集的音频数据传输给录播主机,可以通过无线传输和/或有线传输的方式将音频信息传输给录播主机。其中,音频通道将音频数据传输至录播主机中的混音模块的传输方式包括有线传输、蓝牙传输、wifi传输、zigbee传输等传输方式,由于不同的音频数据可以通过不同的传输方式将采集的包含语音数据的音频数据传输到录播主机中的混音模块,不同传输方式的传输速度不同,且在标准同步音源传输过程中,对于语音数据进行编码、解码的方式也不相同,使得不同的音频通道传输至混音模块的时间出现延时,使得不同的音频通道将采集的语音数据不能同步传输至混音模块。
42.s203:对音频信息进行语音识别。
43.具体地,通过语音识别模块对接收的音频信息直接进行语音识别。当音频信息中
包含具有对应文本的音频数据时,则通过语音识别模块可以识别得到音频信息对应的文本信息,如果音频信息为不具有文本的音频数据,则通过语音识别模块不能识别到对应的文本信息。
44.在另一可选实施例中,也可以对接收的音频信息进行语音识别,得到对应的文本信息。为了更准确的确定识别得到的文本信息为音频信息中的语音数据的文本信息。需要对识别得到的文本信息进行再一次的确认。
45.s204:判断音频信息是否识别到语音数据的文本信息。
46.具体地,通过语音识别模块对音频数据进行识别,如果识别到音频信息中包含语音数据,则直接跳转至步骤s205;如果未识别到音频数据中的语音数据,则表明语音数据未被采集到,则直接跳转至步骤s201。
47.s205:确定识别的文本信息的识别时间。
48.具体地,如果识别到音频信息中包含语音数据,识别得到音频信息中语音数据对应的文本信息以及对应的识别时间。
49.请参阅图3,图3是本发明提供的数据队列fifo的存放结构。在一具体实施例中,语音数据的文本信息包括至少一个单词文本。记录语音数据的文本信息包含的每一单词文本w,记录语音数据的文本信息中每一单词文本的识别时间t。将识别到的单词文本w和识别到单词文本的识别时间t依次保存至数据队列fifo;响应于数据队列fifo的队列长度达到预设长度,则将数据队列中最后保存的单词文本的识别时间确定为文本信息的识别时间。
50.在一具体实施例中,将n个识别到的单词文本输入到数据队列fifo,数据队列fifo采用先进先出的数据结构,fifo1~fifon分别对应1~n音频通道,用于存放对应音频通道的语音识别文本。例如,每个数据队列的长度统一为5,表示数据队列最大能够保存最近的5个语音识别结果,语音识别结果包括识别到的单词文本wi和单词文本的识别时间ti。其中,index为每个队列的元素的位置序号,队列头为index=1,存放最新结果,依次类推,至队列尾部为index=5。队列采用先进先出的方式存储语音识别结果(wi,ti)。如新来一个文本在入队列前,会将index=1~4位置的内容分别移到index2~5,原先index=5的数据被丢弃。然后将新结果放到index=1的位置。
51.其中,识别时间为识别到语音数据的时刻。也就是说,各音频通道对应的识别时间为识别到对应音频通道采集的同一语音数据的起始时刻。
52.通过该步骤可以识别得到每一音频通道对应的音频信息中的文本信息以及对应的识别时间。
53.s206:判断各个音频通道对应的预设长度的数据队列中保存的文本信息是否一致。
54.具体地,在本实施例中,数据队列fifo中每个音频通道均存放5个语音识别结果,每个数据队列fifo中的5个单词文本w依次串成一行文本。由于混音音频源均在同一个教室内,当有人在教室内以超过预设分贝的音量讲话时,每个音频通道均会采集到该语音,并由对应的语音识别模块识别到,并输出识别结果。各个音频通道虽然可能存在延时,但由于人正常讲话肯定是会有停顿和有间隙的。因此总会出现在某一时刻,所有数据队列fifo中各个音频通道中均存放了一模一样的文本信息的情况。例如,教师讲课过程中,一定会有讲完一句话后,停顿5秒以上的情景,尽管音频通道之间有延时差异,但一般时差不会超过2秒,
停顿5以上以后,所有音频通道的音频信息应该均已采集到教师5秒前的讲话,并送给了语音识别模块识别。
55.为了根据同一语音数据确定各个音频通道对应的识别时间,则需要判断各个音频通道对应的识别到的文本信息是否一致。
56.如果各音频通道识别到的文本信息一致,则直接跳转至步骤s208;如果各音频通道识别到的文本信息不一致,则直接跳转至步骤s202。
57.s207:根据各个音频通道对应的文本信息中同一单词文本的识别时间,确定各音频通道分别对应的队列缓存音频帧的个数。
58.具体地,当每个数据队列fifo中保存的是同一句文本信息时,说明各个音频通道对应的文本信息相同,再根据文本信息内同一单词文本对应的识别时间,计算出各个音频通道对应的识别时间。
59.在一具体实施例中,确定各个音频通道对应的文本信息中第一个单词文本的识别时间,即取所有队列index=5的结果的识别时间t,记为t1'~tn'。。
60.s208:选取至少两个音频通道对应的识别时间中的最迟识别时间。
61.具体地,通过上述步骤得到不同音频通道对应的识别时间,将不同音频通道对应的识别时间依照从大到小进行排序,选取最大的识别时间作为多个音频通道对应的最迟识别时间。例如,各音频通道的识别时间的排序如:davgt0(通道0),davgt1(通道1),

,davgtn(通道n),取其中最大的识别时间:tm'=max{davgt1',

,davgtn'},m为对应的时间t最大的通道号。
62.s209:分别计算各音频通道对应的识别时间与最迟识别时间之间的差值,以确定各音频通道分别对应的队列缓存音频帧的个数。
63.具体地,计算得到音频通道对应的识别时间与最迟识别时间之间的差值;根据差值、获取音频信息的采样率和每个音频帧的音频样本数,确定音频通道分别对应的队列缓存音频帧的个数。
64.在一具体实施例中,根据最迟识别时间调节其它音频通道的识别时间。即使得其它的音频通道的识别时间需要与音频通道m的最迟识别时间保持一致。则分别计算音频通道对应的识别时间与最迟识别时间之间的差值。
65.根据音频通道对应的识别时间与最迟识别时间之间的差值与获取音频信息的采样率,确定音频通道对应的队列缓存音频帧的个数li',即l
′i=(tm
′‑
ti

)*fi/ni。其中,li为正整数,i为音频通道号,fi为音频通道获取音频信息的采样率,ni为音频通道的每个音频帧的音频样本数。具体地,队列缓存音频帧的个数表示的是在队列中预存音频帧的个数,每一音频帧包含的音频样本的个数相同。在本实施例中,音频样本可以为空白数据,即空音数据。
66.s210:在各音频通道的对应队列中存储预设数量的音频帧。
67.具体地,为了缩小各音频通道之间的延时差异,节省性能消耗,可以在各音频通道内存储预设数量的音频帧。其中,各个音频通道内分别存储音频帧的预设数量可以相同,也可以不同。在一具体实施例中,各个音频通道内存储音频帧的预设数量相同。且各音频通道内存储的音频帧的数量均为l个,l个音频帧中各个音频帧的时长相等。
68.s211:判断音频通道的队列中存储的音频帧的预设数量是否大于对应音频通道的
队列缓存音频帧的个数。
69.具体地,将音频通道的队列中存储的音频帧的预设数量与对应音频通道的队列缓存音频帧的个数进行比对。
70.如果音频通道的队列中存储的音频帧的预设数量小于对应音频通道的队列缓存音频帧的个数,则直接跳转至步骤s212;如果音频通道的队列中存储的音频帧的预设数量大于对应音频通道的队列缓存音频帧的个数,则直接跳转至步骤s213。
71.s212:通过增加预设音频帧使音频通道的队列中存储的音频帧的个数达到对应音频通道的队列缓存音频帧的个数。
72.具体地,响应于音频通道的队列中存储的音频帧的预设数量小于对应音频通道的队列缓存音频帧的个数,则通过增加预设音频帧使队列中存储的音频帧的个数达到对应音频通道的队列缓存音频帧的个数。
73.s213:通过丢弃预设音频帧使音频通道的队列中存储的音频帧的个数达到对应音频通道的队列缓存音频帧的个数。
74.具体地,响应于音频通道的队列中存储的音频帧的预设数量大于对应音频通道的队列缓存音频帧的个数,则通过丢弃预设音频帧使队列中存储的音频帧的个数达到音频通道对应的队列缓存音频帧的个数。
75.在另一实施例中,也可以直接在各音频通道的队列中直接增加计算得到的各音频通道对应队列缓存音频帧个数的预设音频帧。
76.本实施例提供一种音频数据的延时传输方法包括获取至少两个音频通道分别传输的同一音频信息;音频信息包括语音数据;对至少两个音频通道传输的音频信息分别进行语音识别,确定语音数据的识别时间;基于至少两个音频通道分别对应的识别时间,确定至少两个音频通道分别对应的队列缓存音频帧的个数。本技术通过对不同音频通道传输的音频信息进行识别,基于所有音频通道分别对应的识别时间确定音频通道的队列缓存音频帧的个数,以使混音模块可以接收到不同音频通道同步传输的音频数据,进而提高混音效果。
77.请参阅图4,图4是本发明提供的音频数据的延时传输装置的示意框图。本实施例提供一种音频数据的延时传输装置40,音频数据的延时传输装置40包括获取模块41、识别模块42、处理模块43。获取模块41用于获取至少两个音频通道分别传输的同一音频信息;音频信息包括语音数据;识别模块42用于对至少两个音频通道传输的音频信息分别进行语音识别,确定语音数据的识别时间;处理模块43用于基于至少两个音频通道分别对应的识别时间,确定至少两个音频通道分别对应的队列缓存音频帧的个数。
78.在一具体实施例中,识别模块42在音频通道对应的队列缓存音频帧的个数校准阶段时,处于运行(running)模式;在音频通道对应的队列缓存音频帧的个数校准完毕后,处于触发(bypass)模式。当识别模块42处于触发模式时,识别模块42对输入的音频数据不做任何处理,直接透传至下一级模块。
79.本实施例提供的音频数据的延时传输装置,通过对不同音频通道传输的音频信息进行识别,基于所有音频通道分别对应的识别时间确定音频通道的队列缓存音频帧的个数,以使混音模块可以接收到不同音频通道同步传输的音频数据,进而提高混音效果。
80.参阅图5,图5是本发明提供的终端一实施方式的示意框图。该实施方式中的终端
70包括:处理器71、存储器72以及存储在存储器72中并可在处理器71上运行的计算机程序,该计算机程序被处理器71执行时实现上述音频数据的延时传输方法中,为避免重复,此处不一一赘述。
81.参阅图6,图6是本发明提供的计算机可读存储介质一实施方式的示意框图。
82.本技术的实施方式中还提供一种计算机可读存储介质90,计算机可读存储介质90存储有计算机程序901,计算机程序901中包括程序指令,处理器执行程序指令,实现本技术实施方式提供的音频数据的延时传输方法。
83.其中,计算机可读存储介质90可以是前述实施方式的计算机设备的内部存储单元,例如计算机设备的硬盘或内存。计算机可读存储介质90也可以是计算机设备的外部存储设备,例如计算机设备上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。
84.以上仅为本发明的实施方式,并非因此限制本发明的专利保护范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1