音频和文本的同步方法、计算设备及存储介质与流程
本发明涉及数据处理技术领域,具体涉及一种音频和文本的同步方法、计算设备及存储介质。
背景技术:
随着电子书技术的不断发展,用户不仅可以用眼阅读书籍内容,还可以通过播放有声书籍获取书籍内容。其中,通过播放有声书籍获取书籍内容的方式还可称为听书方式,这种听书方式给用户带来了全新的阅读体验。然而对于由真人为书籍录制的音频,很难将音频与书籍文本进行同步,导致无法在音频播放过程中同步显示所读到的语句,当用户听不清或者听不懂音频所读的内容时,由于缺少同步语句的显示便不能很好地理解书籍内容,导致用户体验较差。
技术实现要素:
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的音频和文本的同步方法、计算设备及存储介质。
根据本发明的一个方面,提供了一种音频和文本的同步方法,该方法包括:
获取待匹配的音频和第一文本,将第一文本进行切分得到第一语句集合;
将音频进行切分,得到音频片断集合,对音频片段集合中的各个音频片断进行语音识别得到各个片断语句,将各个片断语句组合得到第二文本,获取第二文本对应的字符序列;
依次从第一语句集合中提取第一语句,获取第一语句对应的第一字符序列,依据预设窗口从第二文本对应的字符序列中提取第二字符序列,将第一字符序列与第二字符序列进行匹配,确定与第一字符序列相匹配的第三字符序列,建立第三字符序列对应的音频片断与第一语句的同步关系;其中,第三字符序列为第二字符序列的至少一部分序列。
根据本发明的另一方面,提供了一种计算设备,包括:处理器、存储器、通信接口和通信总线,处理器、存储器和通信接口通过通信总线完成相互间的通信;
存储器用于存放至少一可执行指令,可执行指令使处理器执行以下操作:
获取待匹配的音频和第一文本,将第一文本进行切分得到第一语句集合;
将音频进行切分,得到音频片断集合,对音频片段集合中的各个音频片断进行语音识别得到各个片断语句,将各个片断语句组合得到第二文本,获取第二文本对应的字符序列;
依次从第一语句集合中提取第一语句,获取第一语句对应的第一字符序列,依据预设窗口从第二文本对应的字符序列中提取第二字符序列,将第一字符序列与第二字符序列进行匹配,确定与第一字符序列相匹配的第三字符序列,建立第三字符序列对应的音频片断与第一语句的同步关系;其中,第三字符序列为第二字符序列的至少一部分序列。
根据本发明实施例的又一方面,提供了一种计算机存储介质,存储介质中存储有至少一可执行指令,可执行指令使处理器执行如上述音频和文本的同步方法对应的操作。
根据本发明提供的技术方案,将音频切分为多个音频片断,不仅能够便于进行语音识别,有助于提高语音识别的精准度,而且还便于建立与原始书籍文本中的语句之间的同步关系;通过将语句的字符序列与从语音识别得到的文本中提取出的字符序列进行匹配,实现了对音频片断与语句的同步关系的精准确定,那么在播放书籍的音频的过程时,可依据所建立的音频片断与语句的同步关系,通过高亮等显示方式对当前所读到的音频片断对应的语句进行显示,使得用户在听书的过程中能够阅读到所读的语句内容,从听觉和视觉两方面了解书籍内容,有效地提升阅读效果和用户体验。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明实施例一的一种音频和文本的同步方法的流程示意图;
图2a示出了根据本发明实施例二的一种音频和文本的同步方法的流程示意图;
图2b示出了第一语句匹配过程的流程示意图;
图3示出了根据本发明实施例四的一种计算设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
实施例一
图1示出了根据本发明实施例一的一种音频和文本的同步方法的流程示意图,如图1所示,该方法包括如下步骤:
步骤s101,获取待匹配的音频和第一文本,将第一文本进行切分得到第一语句集合。
其中,书籍平台中存储有各个书籍的原始书籍文本以及由真人为各个书籍录制的音频,在本实施例中,将书籍的原始书籍文本称为第一文本,将通过对书籍的音频进行语音识别得到的书籍文本称为第二文本。在步骤s101中,从书籍平台中获取需要进行同步处理的、对应于同一书籍的音频和第一文本作为待匹配的音频和第一文本,而后将第一文本进行切分得到包含有多个语句的第一语句集合。
步骤s102,将音频进行切分,得到音频片断集合,对音频片段集合中的各个音频片断进行语音识别得到各个片断语句,将各个片断语句组合得到第二文本,获取第二文本对应的字符序列。
考虑到人们在阅读文本时,通常会按照语句进行停顿,在本实施例中将音频中的停顿称为静默音。对于音频的切分,可识别音频中所包含的静默音,根据静默音的起始时间点和结束时间点对音频进行切分,从而得到包含有多个音频片断的音频片断集合。接着可利用现有的语音识别技术,对音频片段集合中的各个音频片断进行语音识别得到各个音频片断对应的片断语句,而后按照各个音频片断在原有的音频中的先后顺序,将各个音频片断对应的片断语句组合成一个完整的文本,将组合得到的文本作为第二文本,并获取第二文本对应的字符序列,以便通过匹配字符序列的方式来确定音频片断与第一语句之间的同步关系。
步骤s103,依次从第一语句集合中提取第一语句,获取第一语句对应的第一字符序列,依据预设窗口从第二文本对应的字符序列中提取第二字符序列。
由于多个第一语句之间具有先后顺序,那么在进行匹配时,需按照多个第一语句的先后顺序,依次从第一语句集合中提取第一语句,获取第一语句对应的第一字符序列,依据预设窗口从第二文本对应的字符序列中提取第二字符序列,以便将第一字符序列与第二字符序列进行匹配。其中,本领域技术人员可根据单个语句通常所包含的字符的最大数量来设置预设窗口的大小,例如可将预设窗口的大小设置为20个字符。
步骤s104,将第一字符序列与第二字符序列进行匹配,确定与第一字符序列相匹配的第三字符序列,建立第三字符序列对应的音频片断与第一语句的同步关系。
具体地,可利用编辑距离匹配等字符序列匹配方法,将第一字符序列与第二字符序列进行匹配,确定与第一字符序列相匹配的第三字符序列。其中,第三字符序列为第二字符序列的至少一部分序列,也就是说,与第一字符序列相匹配的字符序列可能为第二字符序列的全部序列,也可能为第二字符序列的部分序列。在确定了与第一字符序列相匹配的第三字符序列之后,即可建立第三字符序列对应的音频片断与第一语句的同步关系,例如,可建立第三字符序列对应的音频片断在音频中的起始时间点和结束时间点与第一语句的同步关系。利用步骤s103和步骤s104,依次完成第一语句集合中的每个第一语句与音频片断之间的同步关系的建立。
利用本实施例提供的音频和文本的同步方法,将音频切分为多个音频片断,不仅能够便于进行语音识别,有助于提高语音识别的精准度,而且还便于建立与原始书籍文本中的语句之间的同步关系;通过将语句的字符序列与从语音识别得到的文本中提取出的字符序列进行匹配,实现了对音频片断与语句的同步关系的精准确定,那么在播放书籍的音频的过程时,可依据所建立的音频片断与语句的同步关系,通过高亮等显示方式对当前所读到的音频片断对应的语句进行显示,使得用户在听书的过程中能够阅读到所读的语句内容,从听觉和视觉两方面了解书籍内容,有效地提升阅读效果和用户体验。
实施例二
图2a示出了根据本发明实施例二的一种音频和文本的同步方法的流程示意图,如图2a所示,该方法包括如下步骤:
步骤s201,获取待匹配的音频和第一文本,将第一文本进行切分得到第一语句集合。
从书籍平台中获取需要进行同步处理的、对应于同一书籍的音频和第一文本,接着可按照指定标点符号,将第一文本进行切分得到第一语句集合。其中,指定标点符号可为用于表示语句结束的标点符号,例如句号、问号、感叹号等。具体地,可识别第一文本中包含的指定标点符号的符号位置,依据符号位置确定第一切分点,例如,将指定标点符号的符号位置作为第一切分点的位置,然后按照第一切分点切分第一文本,得到第一语句集合,从而实现了按照语句对第一文本的切分。
步骤s202,将音频进行切分,得到音频片断集合,对音频片段集合中的各个音频片断进行语音识别得到各个片断语句。
其中,将音频切分为多个音频片断不仅能够便于进行语音识别,有助于提高语音识别的精准度,而且还便于建立与第一语句之间的同步关系。具体地,可识别音频中包含的静默音的起始时间点和结束时间点,依据起始时间点和结束时间点确定第二切分点,按照第二切分点切分音频,得到音频片断集合。音频片断集合包含有多个音频片断。
按照静默音的起始时间点和结束时间点对音频进行切分,可得到包含有读书声音的音频片断和包含有静默音的音频片断,考虑到在切分音频时可能存在切分误差而把一部分的读书声音也切分至包含有静默音的音频片断中,例如将位于静默音之前的部分读书声音以及位于静默音之后的部分读书声音都切分至包含有静默音的音频片断中。为了修正切分误差,在本实施例中对于音频的切分通过两次切分来完成,其中,第一次音频切分为粗粒度切分,第二次音频切分为针对包含有静默音的音频片断的细粒度切分。第二切分点包括:第二初次切分点和第二再次切分点。
在第一次音频切分过程中,识别音频中包含的静默时长超过第一预设时间间隔的静默音的起始时间点和结束时间点,将超过第一预设时间间隔的静默音的起始时间点和结束时间点确定为第二初次切分点,按照第二初次切分点切分音频,得到包含有多个音频片断的音频片断集合。在第二次音频切分过程中,针对音频片断集合中包含有静默音的音频片断,依据第二预设时间间隔和/或该音频片断的中点时间点确定第二再次切分点,按照第二再次切分点切分该音频片断。其中,第二预设时间间隔小于第一预设时间间隔,例如第一预设时间间隔可为850ms,第二预设时间间隔可为100ms。
考虑到由于切分误差,很可能会使得在切分得到的包含有静默音的音频片断中的前后部分存在读书声音,为了能够很好地将上述前后部分可能存在的读书声音分别切分至不同的音频片断中,在第二次音频切分过程中,可依据第二预设时间间隔和/或该音频片断的中点时间点确定第二再次切分点。具体地,判断按照第二预设时间间隔所确定的第二再次切分点是否能够将包含有静默音的音频片断进一步切分为偶数个音频片断;若是,则依据第二预设时间间隔确定第二再次切分点;若否,则依据第二预设时间间隔和该音频片断的中点时间点确定第二再次切分点。例如,某个包含有静默音的音频片断的音频时长为900ms,第二预设时间间隔为100ms,那么每隔100ms确定一个第二再次切分点,并且将450ms时间点(即该音频片断的中点时间点)也确定为第二再次切分点,即第二再次切分点包括:100ms时间点、200ms时间点、300ms时间点、400ms时间点、450ms时间点、500ms时间点、600ms时间点、700ms时间点和800ms时间点。通过这种切分方式,使得包含有静默音的音频片断能够进一步切分为偶数个音频片断,确保包含有静默音的音频片断中前后部分可能存在的读书声音会被分别切分至不同的音频片断中,以便后续能够精准地确定各个音频片断与第一语句的同步关系。
在针对每个包含有静默音的音频片断都完成了第二次音频切分之后,得到最终的音频片断集合,并记录每个音频片断在音频中的起始时间点和结束时间点,以便后续确定与第一语句之间的同步关系。
考虑到语音识别工具可能只能够识别某些数据格式的音频,那么在切分音频之前,可先将音频转换成语音识别工具所能够识别的数据格式,而后再进行音频切分,以便利用语音识别工具能够成功地对各个音频片断进行语音识别得到各个片断语句。
步骤s203,按照各个音频片断在音频中的先后顺序,组合各个音频片断的片断语句得到第二文本。
根据各个音频片断在音频中的起始时间点或结束时间点,可便捷地确定各个音频片断在音频中的先后顺序,然后按照各个音频片断在音频中的先后顺序,具体为从前到后的排列顺序,将各个音频片断对应的片断语句组合成一个完整的文本,将组合得到的文本作为第二文本。
步骤s204,获取第二文本包含的所有文字的拼音首字母作为第二文本对应的字符序列,并记录每个音频片断在第二文本对应的字符序列中所对应的起始字符和结束字符。
在中文中包含有许多发音相同或相似的文字,增加了语音识别的难度,导致语音识别结果可能会存在一定误差,本实施例考虑到现有的语音识别技术对于文字的拼音首字母的识别还是较为准确的,通过匹配文字的拼音首字母的方式来完成对第一语句的匹配。
在得到第二文本之后,获取第二文本包含的所有文字的拼音首字母,例如可将第二文本包含的所有文字转换成对应的拼音,从所有文字的拼音中提取拼音首字母作为第二文本对应的字符序列;另外,还需记录每个音频片断在第二文本中对应的起始字符和结束字符,以便后续根据匹配结果以及各个音频片断在第二文本对应的字符序列中所对应的起始字符和结束字符确定音频片断与第一语句的同步关系。
步骤s205,依次从第一语句集合中提取第一语句,获取第一语句包含的所有文字的拼音首字母作为第一字符序列,依据预设窗口从第二文本对应的字符序列中提取第二字符序列。
步骤s206,利用编辑距离匹配方法,将第一字符序列与第二字符序列进行匹配,确定与第一字符序列相匹配的第三字符序列,建立第三字符序列对应的音频片断与第一语句的同步关系。
图2b示出了第一语句匹配过程的流程示意图,通过图2b所示的流程示意图对步骤s205和步骤s206进行具体介绍。如图2b所示,步骤s205和步骤s206可进一步包括如下的步骤1至步骤6。
步骤1,依次从第一语句集合中提取第一语句,获取第一语句对应的第一字符序列。
在进行匹配时,需按照多个第一语句的先后顺序,依次从第一语句集合中提取第一语句。在本实施例中匹配的是文字的拼音首字母,因此需要获取第一语句包含的所有文字的拼音首字母作为第一字符序列,例如可将第一文本包含的所有文字转换成对应的拼音,从所有文字的拼音中提取拼音首字母作为第一字符序列。
假设第一语句集合中包含有100个第一语句,按照第一语句的先后顺序,分别称为语句1、语句2、……、语句99以及语句100,在开始匹配时,首先从第一语句集合中提取语句1,获取语句1包含的所有文字的拼音首字母作为语句1对应的第一字符序列,通过后续步骤2至步骤6完成对语句1的匹配,建立音频片断与语句1的同步关系;在完成对语句1的匹配之后,再从第一语句集合中提取语句2,获取语句2包含的所有文字的拼音首字母作为语句2对应的第一字符序列,通过步骤2至步骤6完成对语句2的匹配,建立音频片断与语句2的同步关系;依此类推,完成对第一语句集合中所有第一语句的匹配。
步骤2,依据预设窗口起始点,从第二文本对应的字符序列中提取第二字符序列,将第二字符序列的起始字符设定为第三字符序列的起始字符。
其中,针对语句1的第1次匹配,将预设窗口起始点的初始值设置为第二文本对应的字符序列的第1个字符,以预设窗口的大小为20个字符为例,从第二文本对应的字符序列中提取第二字符序列,即从第二文本对应的字符序列中提取第1个字符至第20个字符作为第二字符序列,将第二字符序列的起始字符设定为第三字符序列的起始字符,也就是将第三字符序列的起始字符设定为第二文本对应的字符序列的第1个字符。
步骤3,计算第一字符序列与第二字符序列之间的编辑距离矩阵。
编辑距离是指两个字符序列之间,由一个转换成另一个所需的最少编辑操作次数,编辑操作可包括:删除操作、插入操作和替换操作,其中,删除操作是指删除一个字符,插入操作是指插入一个字符,替换操作是指将一个字符替换成另一个字符。可利用编辑距离匹配方法,计算第一字符序列与第二字符序列之间的编辑距离矩阵。
若第一字符序列包含有m个字符,第二字符序列包含有n个字符,m、n为大于1的自然数,将第一字符序列中的第1个字符表示为t[1],将第一字符序列中起始于第1个字符、结束于第i个字符的字符序列表示为t[1,…,i],将第二字符序列中的第1个字符表示为s[1],将第二字符序列中起始于第1个字符、结束于第j个字符的字符序列表示为s[1,…,j],其中,1<i≤m,1<j≤n。在步骤3中,构建行数为m、列数为n的编辑距离矩阵,编辑距离矩阵用于保存完成某个转换需要执行的编辑操作的次数。具体地,将s[1]转换成t[1]需要执行的编辑操作的次数作为矩阵元素[1,1]的矩阵元素值,将s[1]转换成t[1,…,i]需要执行的编辑操作的次数作为矩阵元素[i,1]的矩阵元素值;将s[1,…,j]转换成t[1]需要执行的编辑操作的次数作为矩阵元素[1,j]的矩阵元素值;将s[1,…,j]转换成t[1,…,i]需要执行的编辑操作的次数作为矩阵元素[i,j]的矩阵元素值。通过上述方式计算得到第一字符序列与第二字符序列之间的编辑距离矩阵中每个矩阵元素的矩阵元素值。
步骤4,判断编辑距离矩阵中的最后一行是否存在矩阵元素值小于预设阈值的矩阵元素;若是,则执行步骤5;若否,则执行步骤6。
为了便于确定第二字符序列中是否包含有与第一字符序列相匹配的第三字符序列,可预先设置预设阈值,本领域可根据实际需要对预设阈值进行设置。以预设阈值为6为例,如果判断得到编辑距离矩阵中的最后一行存在矩阵元素值小于预设阈值的矩阵元素,说明当前的第二字符序列中存在通过小于6次编辑操作即可转换成第一字符序列的字符序列,即当前的第二字符序列中包含有与第一字符序列相匹配的第三字符序列,则执行步骤5;如果判断得到编辑距离矩阵中的最后一行不存在矩阵元素值小于预设阈值的矩阵元素,说明当前的第二字符序列中不存在通过小于6次编辑操作就可转换成第一字符序列的字符序列,即当前的第二字符序列中不包含有与第一字符序列相匹配的第三字符序列,则执行步骤6。
步骤5,将编辑距离矩阵中的最后一行的矩阵元素值最小的矩阵元素对应的第二字符序列中的字符设定为第三字符序列的结束字符,建立第三字符序列对应的音频片断与第一语句的同步关系;以及,将第三字符序列的结束字符的下一个字符设定为预设窗口起始点,跳转执行步骤1,直至所有第一语句均匹配完成。
在判断得到编辑距离矩阵中的最后一行存在矩阵元素值小于预设阈值的矩阵元素的情况下,将编辑距离矩阵中的最后一行的矩阵元素值最小的矩阵元素对应的第二字符序列中的字符设定为第三字符序列的结束字符,例如编辑距离矩阵中的最后一行的矩阵元素值最小的矩阵元素为矩阵元素[m,15],矩阵元素[m,15]对应的是第二字符序列中的第15个字符,那么将第二字符序列中的第15个字符在第二文本对应的字符序列中所对应的字符设定为第三字符序列的结束字符。通过上述方式能够便捷、精准地从第二字符序列中查找到与第一字符序列相匹配的第三字符序列,所确定的第三字符序列为第二字符序列中通过最少的编辑次数即可转换成第一字符序列的字符序列,实现了对字符序列的精准匹配。
在确定了第三字符序列之后,可根据步骤s204中记录的各个音频片断在第二文本中对应的起始字符和结束字符,确定第三字符序列对应的音频片断,而后建立第三字符序列对应的音频片断与第一语句的同步关系。假设音频片断1在第二文本对应的字符序列中所对应的起始字符为第1个字符、结束字符为第8个字符,音频片断2在第二文本对应的字符序列中所对应的起始字符为第9个字符、结束字符为第15个字符,音频片断3在第二文本对应的字符序列中所对应的起始字符为第16个字符、结束字符为第19个字符,音频片断4在第二文本对应的字符序列中所对应的起始字符为第20个字符、结束字符为第32个字符,而第二字符序列为第二文本对应的字符序列中第1个字符至第20个字符,第三字符序列的起始字符为第二文本对应的字符序列的第1个字符、结束字符为第二文本对应的字符序列的第15个字符,当前匹配的第一语句为语句1,根据各个音频片断在第二文本对应的字符序列中所对应的起始字符和结束字符可知,第三字符序列对应的音频片断包括音频片断1和音频片断2,则建立音频片断1和音频片断2与语句1的同步关系,即与语句1具有同步关系的音频片断包括音频片断1和音频片断2。
在步骤5中将第三字符序列的结束字符的下一个字符设定为预设窗口起始点,跳转执行步骤1,从第一语句集合中提取下一个第一语句进行匹配,直至所有第一语句均匹配完成。
步骤6,将第二字符序列的结束字符的下一个字符设定为预设窗口起始点,跳转执行步骤2。
在判断得到编辑距离矩阵中的最后一行不存在矩阵元素值小于预设阈值的矩阵元素的情况下,说明当前的第二字符序列中不包含有与第一字符序列相匹配的第三字符序列,则将第二字符序列的结束字符的下一个字符设定为预设窗口起始点,跳转执行步骤2,继续依据预设窗口起始点,从第二文本对应的字符序列中提取第二字符序列,继续将当前参与匹配的第一语句对应的第一字符序列与第二字符序列进行匹配。
以预设窗口的大小为20个字符为例,假设针对语句1的第1次匹配,第二字符序列为第二文本对应的字符序列中第1个字符至第20个字符,通过步骤4判断得到编辑距离矩阵中的最后一行不存在矩阵元素值小于预设阈值的矩阵元素,说明当前的第二字符序列中不包含有与语句1对应的第一字符序列相匹配的第三字符序列,则将第二字符序列的结束字符的下一个字符设定为预设窗口起始点,也就是将预设窗口起始点更新为第二文本对应的字符序列的第21个字符,跳转执行步骤2,从第二文本对应的字符序列中提取第21个字符至第40个字符作为针对语句1的第2次匹配所使用的第二字符序列,继续执行后续步骤。如果编辑距离矩阵中的最后一行存在矩阵元素值小于预设阈值的矩阵元素,假设最后一行的矩阵元素值最小的矩阵元素对应的是第二字符序列中的第12个字符,第二字符序列中的第12个字符为第二文本对应的字符序列中的第32个字符,则确定第三字符序列的起始字符为第二文本对应的字符序列的第21个字符、结束字符为第二文本对应的字符序列的第32个字符,若根据各个音频片断在第二文本对应的字符序列中所对应的起始字符和结束字符可知,音频片断4在第二文本对应的字符序列中所对应的起始字符为第20个字符、结束字符为第32个字符,则建立音频片断4与语句1的同步关系。如果编辑距离矩阵中的最后一行不存在矩阵元素值小于预设阈值的矩阵元素,则执行步骤6,继续针对语句1进行第3次匹配,直至完成对语句1的匹配,得到与语句1具有同步关系的音频片断,而后再通过上述各步骤对语句2进行匹配。
可选地,为了避免出现针对某第一语句因无法匹配成功而不停地进行匹配的情况,可为单个第一语句设置最大匹配次数或者为单个第一语句设置第二字符序列的最大字符提取范围,例如,可将最大字符提取范围设置为1000个字符,如果在第二文本对应的字符序列中的1000个字符内都未确定出与该第一语句对应的第一字符序列相匹配的第三字符序列,则可生成匹配失败提示信息并发送至工作人员,以便工作人员进行进一步核查处理。
利用本实施例提供的音频和文本的同步方法,依据静默音对音频进行切分,使得切分得到的音频片断能够很好地符合语句阅读习惯,且通过二次切分能够便捷地将包含有静默音的音频片断中的前后部分可能存在的读书声音分别切分至不同的音频片断中,实现了对切分误差的修正,有助于精准地确定各个音频片断与语句的同步关系;并且采用编辑距离匹配方法,将语句的第一字符序列与从语音识别得到的文本中提取出的第二字符序列进行匹配,能够便捷、精准地从第二字符序列中查找到与第一字符序列相匹配的第三字符序列,实现了对字符序列的精准匹配,从而能够更为精准地确定音频片断与语句的同步关系,使得在播放书籍的音频的过程时,可依据所建立的音频片断与语句的同步关系,通过高亮等显示方式对当前所读到的音频片断对应的语句进行显示,以有效地提升阅读效果和用户体验。
实施例三
本发明实施例三提供了一种非易失性的计算机存储介质,存储介质存储有至少一可执行指令,该可执行指令可执行上述任意方法实施例中的音频和文本的同步方法。
可执行指令具体可以用于使得处理器执行以下操作:获取待匹配的音频和第一文本,将第一文本进行切分得到第一语句集合;将音频进行切分,得到音频片断集合,对音频片段集合中的各个音频片断进行语音识别得到各个片断语句,将各个片断语句组合得到第二文本,获取第二文本对应的字符序列;依次从第一语句集合中提取第一语句,获取第一语句对应的第一字符序列,依据预设窗口从第二文本对应的字符序列中提取第二字符序列,将第一字符序列与第二字符序列进行匹配,确定与第一字符序列相匹配的第三字符序列,建立第三字符序列对应的音频片断与第一语句的同步关系;其中,第三字符序列为第二字符序列的至少一部分序列。
在一种可选的实施方式中,可执行指令进一步使处理器执行以下操作:识别第一文本中包含的指定标点符号的符号位置,依据符号位置确定第一切分点,按照第一切分点切分第一文本,得到第一语句集合。
在一种可选的实施方式中,可执行指令进一步使处理器执行以下操作:识别音频中包含的静默音的起始时间点和结束时间点,依据起始时间点和结束时间点确定第二切分点,按照第二切分点切分音频,得到音频片断集合。
在一种可选的实施方式中,第二切分点包括:第二初次切分点;可执行指令进一步使处理器执行以下操作:识别音频中包含的静默时长超过第一预设时间间隔的静默音的起始时间点和结束时间点,将起始时间点和结束时间点确定为第二初次切分点;按照第二初次切分点切分音频,得到包含有多个音频片断的音频片断集合。
在一种可选的实施方式中,第二切分点还包括:第二再次切分点;可执行指令进一步使处理器执行以下操作:针对音频片断集合中包含有静默音的音频片断,依据第二预设时间间隔和/或该音频片断的中点时间点确定第二再次切分点,按照第二再次切分点切分该音频片断;其中,第二预设时间间隔小于第一预设时间间隔;得到最终的音频片断集合,并记录每个音频片断在音频中的起始时间点和结束时间点。
在一种可选的实施方式中,可执行指令进一步使处理器执行以下操作:按照各个音频片断在音频中的先后顺序,组合各个音频片断的片断语句得到第二文本;获取第二文本包含的所有文字的拼音首字母作为第二文本对应的字符序列,并记录每个音频片断在第二文本对应的字符序列中所对应的起始字符和结束字符;获取第一语句包含的所有文字的拼音首字母作为第一字符序列。
在一种可选的实施方式中,可执行指令进一步使处理器执行以下操作:利用编辑距离匹配方法,将第一字符序列与第二字符序列进行匹配,确定与第一字符序列相匹配的第三字符序列。
在一种可选的实施方式中,可执行指令进一步使处理器执行以下操作:
步骤1,依次从第一语句集合中提取第一语句,获取第一语句对应的第一字符序列;
步骤2,依据预设窗口起始点,从第二文本对应的字符序列中提取第二字符序列,将第二字符序列的起始字符设定为第三字符序列的起始字符;
步骤3,计算第一字符序列与第二字符序列之间的编辑距离矩阵;
步骤4,判断编辑距离矩阵中的最后一行是否存在矩阵元素值小于预设阈值的矩阵元素;若是,则执行步骤5;若否,则执行步骤6;
步骤5,将编辑距离矩阵中的最后一行的矩阵元素值最小的矩阵元素对应的第二字符序列中的字符设定为第三字符序列的结束字符,建立第三字符序列对应的音频片断与第一语句的同步关系;以及,将第三字符序列的结束字符的下一个字符设定为预设窗口起始点,跳转执行步骤1,直至所有第一语句均匹配完成;
步骤6,将第二字符序列的结束字符的下一个字符设定为预设窗口起始点,跳转执行步骤2。
实施例四
图3示出了根据本发明实施例四的一种计算设备的结构示意图,本发明具体实施例并不对计算设备的具体实现做限定。
如图3所示,该计算设备可以包括:处理器(processor)302、通信接口(communicationsinterface)304、存储器(memory)306、以及通信总线308。
其中:
处理器302、通信接口304、以及存储器306通过通信总线308完成相互间的通信。
通信接口304,用于与其它设备比如客户端或其它服务器等的网元通信。
处理器302,用于执行程序310,具体可以执行上述音频和文本的同步方法实施例中的相关步骤。
具体地,程序310可以包括程序代码,该程序代码包括计算机操作指令。
处理器302可能是中央处理器cpu,或者是特定集成电路asic(applicationspecificintegratedcircuit),或者是被配置成实施本发明实施例的一个或多个集成电路。计算设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个cpu;也可以是不同类型的处理器,如一个或多个cpu以及一个或多个asic。
存储器306,用于存放程序310。存储器306可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。
程序310具体可以用于使得处理器302执行以下操作:获取待匹配的音频和第一文本,将第一文本进行切分得到第一语句集合;将音频进行切分,得到音频片断集合,对音频片段集合中的各个音频片断进行语音识别得到各个片断语句,将各个片断语句组合得到第二文本,获取第二文本对应的字符序列;依次从第一语句集合中提取第一语句,获取第一语句对应的第一字符序列,依据预设窗口从第二文本对应的字符序列中提取第二字符序列,将第一字符序列与第二字符序列进行匹配,确定与第一字符序列相匹配的第三字符序列,建立第三字符序列对应的音频片断与第一语句的同步关系;其中,第三字符序列为第二字符序列的至少一部分序列。
在一种可选的实施方式中,程序310进一步使得处理器302执行以下操作:识别第一文本中包含的指定标点符号的符号位置,依据符号位置确定第一切分点,按照第一切分点切分第一文本,得到第一语句集合。
在一种可选的实施方式中,程序310进一步使得处理器302执行以下操作:识别音频中包含的静默音的起始时间点和结束时间点,依据起始时间点和结束时间点确定第二切分点,按照第二切分点切分音频,得到音频片断集合。
在一种可选的实施方式中,第二切分点包括:第二初次切分点;程序310进一步使得处理器302执行以下操作:识别音频中包含的静默时长超过第一预设时间间隔的静默音的起始时间点和结束时间点,将起始时间点和结束时间点确定为第二初次切分点;按照第二初次切分点切分音频,得到包含有多个音频片断的音频片断集合。
在一种可选的实施方式中,第二切分点还包括:第二再次切分点;程序310进一步使得处理器302执行以下操作:针对音频片断集合中包含有静默音的音频片断,依据第二预设时间间隔和/或该音频片断的中点时间点确定第二再次切分点,按照第二再次切分点切分该音频片断;其中,第二预设时间间隔小于第一预设时间间隔;得到最终的音频片断集合,并记录每个音频片断在音频中的起始时间点和结束时间点。
在一种可选的实施方式中,程序310进一步使得处理器302执行以下操作:按照各个音频片断在音频中的先后顺序,组合各个音频片断的片断语句得到第二文本;获取第二文本包含的所有文字的拼音首字母作为第二文本对应的字符序列,并记录每个音频片断在第二文本对应的字符序列中所对应的起始字符和结束字符;获取第一语句包含的所有文字的拼音首字母作为第一字符序列。
在一种可选的实施方式中,程序310进一步使得处理器302执行以下操作:利用编辑距离匹配方法,将第一字符序列与第二字符序列进行匹配,确定与第一字符序列相匹配的第三字符序列。
在一种可选的实施方式中,程序310进一步使得处理器302执行以下操作:
步骤1,依次从第一语句集合中提取第一语句,获取第一语句对应的第一字符序列;
步骤2,依据预设窗口起始点,从第二文本对应的字符序列中提取第二字符序列,将第二字符序列的起始字符设定为第三字符序列的起始字符;
步骤3,计算第一字符序列与第二字符序列之间的编辑距离矩阵;
步骤4,判断编辑距离矩阵中的最后一行是否存在矩阵元素值小于预设阈值的矩阵元素;若是,则执行步骤5;若否,则执行步骤6;
步骤5,将编辑距离矩阵中的最后一行的矩阵元素值最小的矩阵元素对应的第二字符序列中的字符设定为第三字符序列的结束字符,建立第三字符序列对应的音频片断与第一语句的同步关系;以及,将第三字符序列的结束字符的下一个字符设定为预设窗口起始点,跳转执行步骤1,直至所有第一语句均匹配完成;
步骤6,将第二字符序列的结束字符的下一个字符设定为预设窗口起始点,跳转执行步骤2。
程序310中各步骤的具体实现可以参见上述音频和文本的同步实施例中的相应步骤对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
通过本实施例提供的方案,通过将语句的字符序列与从语音识别得到的文本中提取出的字符序列进行匹配,实现了对音频片断与语句的同步关系的精准确定,在播放书籍的音频的过程时,可依据所建立的音频片断与语句的同步关系,对当前所读到的音频片断对应的语句进行显示,从听觉和视觉两方面了解书籍内容,有效地提升阅读效果和用户体验。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都确定为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明公开了:a1.一种音频和文本的同步方法,包括:
获取待匹配的音频和第一文本,将所述第一文本进行切分得到第一语句集合;
将所述音频进行切分,得到音频片断集合,对所述音频片段集合中的各个音频片断进行语音识别得到各个片断语句,将各个片断语句组合得到第二文本,获取第二文本对应的字符序列;
依次从所述第一语句集合中提取第一语句,获取第一语句对应的第一字符序列,依据预设窗口从第二文本对应的字符序列中提取第二字符序列,将第一字符序列与第二字符序列进行匹配,确定与所述第一字符序列相匹配的第三字符序列,建立所述第三字符序列对应的音频片断与第一语句的同步关系;其中,所述第三字符序列为所述第二字符序列的至少一部分序列。
a2.根据a1所述的方法,所述将所述第一文本进行切分得到第一语句集合进一步包括:
识别所述第一文本中包含的指定标点符号的符号位置,依据所述符号位置确定第一切分点,按照所述第一切分点切分所述第一文本,得到第一语句集合。
a3.根据a1所述的方法,所述将所述音频进行切分,得到音频片断集合进一步包括:
识别所述音频中包含的静默音的起始时间点和结束时间点,依据所述起始时间点和所述结束时间点确定第二切分点,按照所述第二切分点切分所述音频,得到音频片断集合。
a4.根据a3所述的方法,所述第二切分点包括:第二初次切分点;
所述识别所述音频中包含的静默音的起始时间点和结束时间点,依据所述起始时间点和所述结束时间点确定第二切分点,按照所述第二切分点切分所述音频,得到音频片断集合进一步包括:
识别所述音频中包含的静默时长超过第一预设时间间隔的静默音的起始时间点和结束时间点,将所述起始时间点和所述结束时间点确定为第二初次切分点;
按照所述第二初次切分点切分所述音频,得到包含有多个音频片断的音频片断集合。
a5.根据a4所述的方法,所述第二切分点还包括:第二再次切分点;所述方法还包括:
针对所述音频片断集合中包含有所述静默音的音频片断,依据第二预设时间间隔和/或该音频片断的中点时间点确定第二再次切分点,按照所述第二再次切分点切分该音频片断;其中,所述第二预设时间间隔小于所述第一预设时间间隔;
得到最终的音频片断集合,并记录每个音频片断在所述音频中的起始时间点和结束时间点。
a6.根据a1-a5任一项所述的方法,所述将各个片断语句组合得到第二文本,获取第二文本对应的字符序列进一步包括:
按照各个音频片断在所述音频中的先后顺序,组合各个音频片断的片断语句得到第二文本;
获取第二文本包含的所有文字的拼音首字母作为第二文本对应的字符序列,并记录每个音频片断在所述第二文本对应的字符序列中所对应的起始字符和结束字符;
所述获取第一语句对应的第一字符序列具体为:获取第一语句包含的所有文字的拼音首字母作为第一字符序列。
a7.根据a1-a6任一项所述的方法,所述将第一字符序列与第二字符序列进行匹配,确定与所述第一字符序列相匹配的第三字符序列进一步包括:
利用编辑距离匹配方法,将第一字符序列与第二字符序列进行匹配,确定与所述第一字符序列相匹配的第三字符序列。
a8.根据a1-a7任一项所述的方法,所述依次从所述第一语句集合中提取第一语句,获取第一语句对应的第一字符序列,依据预设窗口从第二文本对应的字符序列中提取第二字符序列,将第一字符序列与第二字符序列进行匹配,确定与所述第一字符序列相匹配的第三字符序列,建立所述第三字符序列对应的音频片断与第一语句的同步关系进一步包括:
步骤1,依次从所述第一语句集合中提取第一语句,获取第一语句对应的第一字符序列;
步骤2,依据预设窗口起始点,从第二文本对应的字符序列中提取第二字符序列,将所述第二字符序列的起始字符设定为所述第三字符序列的起始字符;
步骤3,计算第一字符序列与第二字符序列之间的编辑距离矩阵;
步骤4,判断所述编辑距离矩阵中的最后一行是否存在矩阵元素值小于预设阈值的矩阵元素;若是,则执行步骤5;若否,则执行步骤6;
步骤5,将所述编辑距离矩阵中的最后一行的矩阵元素值最小的矩阵元素对应的第二字符序列中的字符设定为所述第三字符序列的结束字符,建立所述第三字符序列对应的音频片断与第一语句的同步关系;以及,将所述第三字符序列的结束字符的下一个字符设定为预设窗口起始点,跳转执行步骤1,直至所有第一语句均匹配完成;
步骤6,将所述第二字符序列的结束字符的下一个字符设定为预设窗口起始点,跳转执行步骤2。
本发明还公开了:b9.一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行以下操作:
获取待匹配的音频和第一文本,将所述第一文本进行切分得到第一语句集合;
将所述音频进行切分,得到音频片断集合,对所述音频片段集合中的各个音频片断进行语音识别得到各个片断语句,将各个片断语句组合得到第二文本,获取第二文本对应的字符序列;
依次从所述第一语句集合中提取第一语句,获取第一语句对应的第一字符序列,依据预设窗口从第二文本对应的字符序列中提取第二字符序列,将第一字符序列与第二字符序列进行匹配,确定与所述第一字符序列相匹配的第三字符序列,建立所述第三字符序列对应的音频片断与第一语句的同步关系;其中,所述第三字符序列为所述第二字符序列的至少一部分序列。
b10.根据b9所述的计算设备,所述可执行指令进一步使所述处理器执行以下操作:
识别所述第一文本中包含的指定标点符号的符号位置,依据所述符号位置确定第一切分点,按照所述第一切分点切分所述第一文本,得到第一语句集合。
b11.根据b9所述的计算设备,所述可执行指令进一步使所述处理器执行以下操作:
识别所述音频中包含的静默音的起始时间点和结束时间点,依据所述起始时间点和所述结束时间点确定第二切分点,按照所述第二切分点切分所述音频,得到音频片断集合。
b12.根据b11所述的计算设备,所述第二切分点包括:第二初次切分点;所述可执行指令进一步使所述处理器执行以下操作:
识别所述音频中包含的静默时长超过第一预设时间间隔的静默音的起始时间点和结束时间点,将所述起始时间点和所述结束时间点确定为第二初次切分点;
按照所述第二初次切分点切分所述音频,得到包含有多个音频片断的音频片断集合。
b13.根据b12所述的计算设备,所述第二切分点还包括:第二再次切分点;所述可执行指令进一步使所述处理器执行以下操作:
针对所述音频片断集合中包含有所述静默音的音频片断,依据第二预设时间间隔和/或该音频片断的中点时间点确定第二再次切分点,按照所述第二再次切分点切分该音频片断;其中,所述第二预设时间间隔小于所述第一预设时间间隔;
得到最终的音频片断集合,并记录每个音频片断在所述音频中的起始时间点和结束时间点。
b14.根据b9-b13任一项所述的计算设备,所述可执行指令进一步使所述处理器执行以下操作:
按照各个音频片断在所述音频中的先后顺序,组合各个音频片断的片断语句得到第二文本;
获取第二文本包含的所有文字的拼音首字母作为第二文本对应的字符序列,并记录每个音频片断在所述第二文本对应的字符序列中所对应的起始字符和结束字符;
获取第一语句包含的所有文字的拼音首字母作为第一字符序列。
b15.根据b9-b14任一项所述的计算设备,所述可执行指令进一步使所述处理器执行以下操作:
利用编辑距离匹配方法,将第一字符序列与第二字符序列进行匹配,确定与所述第一字符序列相匹配的第三字符序列。
b16.根据b9-b15任一项所述的计算设备,所述可执行指令进一步使所述处理器执行以下操作:
步骤1,依次从所述第一语句集合中提取第一语句,获取第一语句对应的第一字符序列;
步骤2,依据预设窗口起始点,从第二文本对应的字符序列中提取第二字符序列,将所述第二字符序列的起始字符设定为所述第三字符序列的起始字符;
步骤3,计算第一字符序列与第二字符序列之间的编辑距离矩阵;
步骤4,判断所述编辑距离矩阵中的最后一行是否存在矩阵元素值小于预设阈值的矩阵元素;若是,则执行步骤5;若否,则执行步骤6;
步骤5,将所述编辑距离矩阵中的最后一行的矩阵元素值最小的矩阵元素对应的第二字符序列中的字符设定为所述第三字符序列的结束字符,建立所述第三字符序列对应的音频片断与第一语句的同步关系;以及,将所述第三字符序列的结束字符的下一个字符设定为预设窗口起始点,跳转执行步骤1,直至所有第一语句均匹配完成;
步骤6,将所述第二字符序列的结束字符的下一个字符设定为预设窗口起始点,跳转执行步骤2。
本发明还公开了:c17.一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如a1-a8中任一项所述的音频和文本的同步方法对应的操作。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除