CN110322870A - 一种汉语语音信号切分方法和装置 - Google Patents

一种汉语语音信号切分方法和装置 Download PDF

Info

Publication number
CN110322870A
CN110322870A CN201910530807.9A CN201910530807A CN110322870A CN 110322870 A CN110322870 A CN 110322870A CN 201910530807 A CN201910530807 A CN 201910530807A CN 110322870 A CN110322870 A CN 110322870A
Authority
CN
China
Prior art keywords
sentence
data
value
voice
slit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910530807.9A
Other languages
English (en)
Other versions
CN110322870B (zh
Inventor
张秀琴
吴树兴
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BEIJING INFORMATION TECHNOLOGY COLLEGE
Original Assignee
BEIJING INFORMATION TECHNOLOGY COLLEGE
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by BEIJING INFORMATION TECHNOLOGY COLLEGE filed Critical BEIJING INFORMATION TECHNOLOGY COLLEGE
Priority to CN201910530807.9A priority Critical patent/CN110322870B/zh
Publication of CN110322870A publication Critical patent/CN110322870A/zh
Application granted granted Critical
Publication of CN110322870B publication Critical patent/CN110322870B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L13/00Speech synthesis; Text to speech systems
    • G10L13/08Text analysis or generation of parameters for speech synthesis out of text, e.g. grapheme to phoneme translation, prosody generation or stress or intonation determination
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/45Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of analysis window

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Signal Processing (AREA)
  • Machine Translation (AREA)

Abstract

本发明实施例公开了一种汉语语音信号切分方法和装置,其中,方法包括:通过将汉语文本切分成若干句子并获取每个句子的字数;将语音数据处理得到音频数据;根据所述音频数据、噪声与语音信号估计门限值、初始单字占用时间和对应句子的字数,得到音频数据中待切分句子的切分点;根据待切分句子的切分点,得到所述待切分句子的元音主体个数,并根据所述元音主体个数获取对应的静音段;计算得到所述待切分句子的精确切分位置。能够对输入的汉语语音和对应的文本数据进行自动切分处理,切分准确率较高,后续人工调整的工作量极小。

Description

一种汉语语音信号切分方法和装置
技术领域
本发明涉及语音处理技术领域,尤其是一种汉语语音信号切分方法和装置。
背景技术
在语音识别和语音合成技术中,经常需要构建大规模训练语料库。目前,能够获得的语料资源很多,但需要对这些语料重新进行加工处理。其中,将大段语料分成多个句子在构建语料库过程中是必不可少的,实现自动、准确的切分,对于语音识别和语音合成来讲是非常重要的,它关系着语音识别的准确率和语音合成的自然度。
在实现本发明的过程中,发明人发现,现有技术中已有各种切分算法,但普遍存在准确度不高的问题,当语料库很大时,人工进行校正的工作量就会变得很大。因此,采用切分准确度比较高的自动切分方法,就显得非常重要。
发明内容
本发明实施例所要解决的一个技术问题是:提供一种汉语语音信号切分方法和装置,解决现有技术中语音信号切分不准确的问题。
本发明实施例提供的一种汉语语音信号切分方法,包括:
获取待切分的语音数据和对应的汉语文本;
将所述汉语文本切分成若干句子,每个句子存储为一个文本文件;并获取每个句子的字数;
将所述语音数据进行幅度归一化处理、迟滞处理,并通过算术平均做数据平滑处理,得到与所述语音数据长度相等的音频数据;
根据所述音频数据确定噪声与语音信号估计门限值;
根据所述音频数据和噪声与语音信号估计门限值,计算初始单字占用时间;
根据所述音频数据、噪声与语音信号估计门限值、初始单字占用时间和对应句子的字数,得到所述音频数据中待切分句子的切分点;
根据所述待切分句子的切分点,得到所述待切分句子的元音主体个数,并根据所述元音主体个数获取对应的静音段;
根据所述音频数据、噪声与语音信号估计门限值、静音段,计算得到所述待切分句子的精确切分位置;
根据所述精确切分位置,从所述语音数据中截取数据,作为切分后的音频数据。
所述将所述语音数据进行幅度归一化处理、迟滞处理,包括:
如果对所述语音数据的当前采样值大于前面采样值的最大值x_max,则取当前采样值为该点的语音数据输出,将最大值x_max更新为当前采样值;
如果对所述语音数据的当前采样值小于x_max并且连续计数器值大于等于某个预设的设定值,则取当前采样值为该点的语音数据输出,同时将x_max更新为当前采样值;
如果对所述语音数据的当前采样值小于前面数据的最大值x_max并且连续计数器值小于某个预设的设定值,则取最大值x_max作为该点的语音数据输出;
将语音数据输出的每一个点之前L个数据和之后L个数据共2N+1个数据,取算术平均值作为该点的音频数据out_max_ave。
所述根据所述音频数据确定噪声与语音信号估计门限值,包括:
依据所述音频数据out_max_ave来确定噪声与语音信号估计门限值;
设所述噪声与语音信号估计门限值为k*0.001,k为大于等于1、小于等于1000的正整数;噪声与语音信号估计门限值步长为0.001,分别由小到大设定不同噪声与语音信号估计门限值,对整个语音数据的话音数据部分采样点数进行统计;
使用计数器统计话音数据的采样点数,得到的统计值按照k从小到大取值的对应顺序进行排列,再由后一个统计值减去前一个统计值获得的差值,得到不同门限值下话音采样点数变化率;
当所述变化率较小时,对所有所述变化率取平均值后再取绝对值,然后再乘以对应系数,得到结果门限值Vt;
将各自不同k值所对应的话音数据采样点数变化率与所述门限值Vt进行比较,得到最接近Vt的最小k值,k*0.001即为噪声与信号估计门限值T1。
所述根据所述音频数据、噪声与语音信号估计门限值、初始单字占用时间和对应句子的字数,得到所述音频数据中待切分句子的切分点,包括:
如果待切分句子在所述音频数据中是首句,那么根据对应文本文件计算出首句字数N和每个字占用时间Dur,计算出起始一句话的占用时间N*Dur;
增加一倍的富余量来保证估算的话音数据量一定是大于实际话音数据量,估计的首句话的占用时间为N*Dur*2;
对音频数据out_max_ave从头向后搜索,使用噪声与信号估计门限值T1作为门限,找出该句话音数据的结束点,记为position_end,从整个音频数据中截取第一个采样点到第position_end个采样点,作为所述音频数据中待切分句子的切分点。
如果所述待切分句子在所述音频数据中不是首句,则:
统计前一句音频数据的话音采样点数,如果out_max_ave的值大于T1,计数器加1,得到话音采样点数记为v_counter_s;用time_per_words_pre=v_counter_s/fs/N,所述N是由文本分句模块计算的该句子的字数N,fs是采样率,得到前一句的平均单字占用时间;
根据所述平均单字占用时间来预测当前句所占用时间;设定当前句之前的第三句占用时间为t3,当前句之前的第二句所占用时间为t2,当前句之前的一句所占用时间为t1,预测当前句单字占用时间为t=1/4*t3+1/4*t2+1/2*t1,得到当前句所占用时间为t_cur=t*当前句字数*1.3,1.3为设定系数;
由所述前一句语音数据的结束点position开始向后搜索out_max_ave,使用T1作为门限,找到所预估的当前句语音数据的结束点,记为position_end;
从第position_end个采样点向采样点索引减小方向进行搜索,如果搜索到连续1秒out_max_ave的值小于T1,停止搜索,该位置即为静音段,该位置记为i,前一句语音数据的结束点position作为起始点,i作为结束点截取数据,得到所有的所述音频数据中待切分句子的切分点。
所述根据所述待切分句子的切分点,得到所述待切分句子的元音主体个数,并根据所述元音主体个数获取对应的静音段,包括:
将待切分句子的字数与文本统计出的字数进行比较,如果大于,继续向采样点索引减小方向搜索;
先搜索语音段,如果搜索到连续0.05秒所述音频数据out_max_ave的值大于噪声与语音信号估计门限值T1,则所述位置为语音段;
继续向采样点索引减小方向搜索,如果搜索到连续0.3秒out_max_ave的值小于T1,停止搜索,所述位置即为静音段,将所述位置记为NNN;
去掉所述NNN点后边的数据,得到的数据段,得到所述音频数据对应待切分句子的元音主体个数;
继续将待切分句子的字数与文本统计出的字数进行比较,如果大于,则重复上述步骤,直到待切分句子的字数小于文本统计出的字数;
找到与文本统计出的字数最接近的那个元音主体数目,相应的静音段即为所述静音段。
所述根据所述音频数据、噪声与语音信号估计门限值、静音段,计算得到所述待切分句子的精确切分位置,包括:
由所述静音段位置点NNN开始分别向采样点索引减小方向和采样点索引增大方向搜索,如果搜索到连续0.1秒所述音频数据out_max_ave的值大于噪声与语音信号估计门限值T1,则搜索到语音段边界,较小索引值记为begin_s,较大索引值记为end_s,中间索引值(begin_s+end_s)/2向下取整作为切分点position。
在基于本发明上述方法的另一个实施例中,还包括一种汉语语音信号切分装置,包括语音数据初始处理模块、文本分句模块、噪声与信号门限估计模块、初始单字占用时间估计模块、数据截取模块、元音主体数目统计模块、单字占用时间预测模块及数据切分模块,其中,
所述语音数据初始处理模块,用于读入待切分的语音数据,进行幅度归一化处理、迟滞处理,并通过算术平均做数据平滑处理,得到与输入语音数据长度相等的语音数据out_max_ave;
所述文本分句模块,用于将对应的汉语文本按照要求切分成若干句子,每个句子存储为一个文件,并且统计出整个汉语文本的字数,输出给初始单字占用时间估计模块,也要统计每个句子的字数,输出给数据截取模块和元音主体数目统计模块;
所述噪声与信号门限估计模块,用于根据所述语音数据初始处理模块得到的语音数据out_max_ave来确定区分噪声与信号的门限值;为所述初始单字占用时间估计模块、数据截取模块、元音主体数目统计模块、数据切分模块提供区分噪声与信号的门限值T1;
所述初始单字占用时间估计模块,用于根据所述语音数据初始处理模块的输出数据out_max_ave和噪声与信号估计门限T1和文本分句模块统计的总字数来估算初始单字占用时间;
所述数据截取模块,用于将初始单字占用时间Dur、out_max_ave、T1,数据切分模块得到的前一句切分数据结束点position和待切分句子字数作为输入数据,粗略估计待切分句子的切分点;
所述元音主体数目统计模块,用于通过对元音主体数目和静音位置点NNN的统计来实现对待切分句子的切分点进行精确估计;
所述数据切分模块,用于根据out_max_ave、T1和元音主体数目统计模块输出的静音位置点NNN,来计算出待切分句子的精确切分位置;然后从整个原始数据中截取数据,存储为切分后的音频数据。
所述数据截取模块,具体用于:
当待切分句子为语音数据中首句时,采用整体数据对单字占用时间进行估计;
当待切分句子为非首句时,采用待切分句子的前三句的数据使用单字占用时间预测算法进行估计;具体包括:设定之前第三句占用时间为t3,之前第二句所占用时间为t2,之前一句所占用时间为t1,预测当前句单字占用时间为t=1/4*t3+1/4*t2+1/2*t1,得到当前句所占用时间为t_cur=t*当前句字数*1.3。
所述元音主体数目统计模块,具体用于:
对输入的语音信号序列x(n),首先进行加窗分帧处理,得到第i帧语音信号为xi(n),采用能量和谱熵的比值进行端点检测;
语音信号xi(n)取FFT后表示为Xi(k),只取正频率部分,计算在频域中的短时能量Ei,计算每个频率分量的归一化谱概率密度函数pi(k);根据熵的定义,计算出该语音帧的短时谱熵Hi,对应的能熵比为
计算得到每一帧的能熵比EEFi后,再对所述语音信号的全部EEFi进行归一化,归一化的数据记为Ef;
用设定的门限值Th1做判断,判断能熵比值是否大于Th1;
把大于Th1的部分都作为有话段的候选值,再进一步判断该段的长度是否大于最小值miniL;只有大于最小值的才能作为有话段;
在获得的有话段中,寻找出能熵比的最大值Emax,设置一个比例系数r2,令阈值Th2=Emax*r2,对于不同的有话段有不同的Th2值,判断能熵比值是否大于Th2,把大于Th2的部分都作为元音主体的候选值;
判断该段的长度是否大于最小长度mnlong,当检测出元音主体长度小于mnlong时该元音主体将被剔除,只有长度大于或者等于mnlong时才作为元音主体来处理,最后得到元音主体的个数。
基于本发明上述实施例提供的汉语语音信号切分方案,通过将汉语文本切分成若干句子,每个句子存储为一个文本文件;并获取每个句子的字数;将语音数据进行幅度归一化处理、迟滞处理、数据平滑处理,得到音频数据;根据所述音频数据、噪声与语音信号估计门限值、初始单字占用时间和对应句子的字数,得到音频数据中待切分句子的切分点;根据待切分句子的切分点,得到所述待切分句子的元音主体个数,并根据所述元音主体个数获取对应的静音段;根据所述音频数据、噪声与语音信号估计门限值、静音段,计算得到所述待切分句子的精确切分位置;根据所述精确切分位置,从所述语音数据中截取数据,作为切分后的音频数据。能够对输入的汉语语音和对应的文本数据进行自动切分处理,切分准确率较高,后续人工调整的工作量极小。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
构成说明书的一部分的附图描述了本发明的实施例,并且连同描述一起用于解释本发明的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本发明,其中:
图1为本发明方法一个实施例提供的汉语语音信号切分方法原理流程图。
图2为本发明装置一个实施例提供的汉语语音信号切分装置结构示意图。
具体实施方式
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
在语音识别和语音合成大规模语料库的构建中,特别是大规模语音合成语料库,需要把较长内容的音频文件分割成一定字数要求的音频数据文件和对应的文本文件。目前,除了需要分别将音频文件和文本文字进行正确切分外,关键是要将切分的音频文件与文本文件内容正确无误对应上。本发明实施例提供一种比较有效、准确率比较高的自动切分方法及装置。该方案相比于现有的切分方法,具有准确率高的优势,自动切分后,人工进行调整的工作量很小。
如图1所示,为本实施例提供的汉语语音信号切分方法原理流程图,其中,
步骤11,获取待切分的语音数据和对应的汉语文本。
步骤12,将所述汉语文本切分成若干句子,每个句子存储为一个文本文件;并获取每个句子的字数。
在一个实施例中,将一个汉语文本(一般来说是一个篇章,内容对应于要进行切分的话音数据文件)按照要求切分成若干句子,每个句子存储为一个文件。例如要求切分的每个句子要大于等于5个字,遇到句子结束标点符号时则不限制字数,如“北宋仁宗作汴梁。君正臣贤,民安康,可恨西夏来入侵,致使中原冒火光。三月的天气万物复苏,秦川八百里,绿柳成行。”切分成7个句子,“北宋仁宗作汴梁”、“君正臣贤,民安康”、“可恨西夏来入侵”、“致使中原冒火光”、“三月的天气万物复苏”、“秦川八百里”、“绿柳成行”,对应7个文件。这步操作由文本分句模块来实现。
步骤13,将所述语音数据进行幅度归一化处理、迟滞处理,并通过算术平均做数据平滑处理,得到与所述语音数据长度相等的音频数据。
先做幅度归一化处理,再做迟滞处理,如果当前采样值大于前面采样值的最大值x_max,则取当前采样值为该点输出,将最大值x_max更新为当前采样值,如果当前采样值小于x_max并且连续计数器值大于等于某个设定值(例如当采用率为22050时,将这个连续计数器设定值为2000),则取当前采样值为该点输出,同时将x_max更新为当前采样值,如果当前采样值小于前面数据的最大值x_max并且连续计数器值小于某个设定值,则取最大值x_max作为该点输出。再将输出数据的每一个点之前L个数据和之后的L个数据共2N+1个数据取算术平均值作为该点的数值,得到的数据记为out_max_ave,这是个与输入语音数据长度相等的数据。
步骤14,根据所述音频数据确定噪声与语音信号估计门限值。
依据上一步得到的数据out_max_ave来确定门限值,设门限值为k*0.001,k为大于等于1、小于等于1000的正整数,门限值步长为0.001,分别由小到大设定不同门限值,对整个语音数据的话音数据部分采样点数进行统计,例如,当k为5时门限设定值是0.005,对于处理后的语音数据out_max_ave所有的点,只要大于0.005就认为是话音数据部分,使用计数器统计话音部分的采样点数,得到的统计值按照k从小到大取值的对应顺序进行排列,再由后一个统计值减去前一个统计值获得的差值,即为不同门限值下话音采样点数变化率,当这个变化率较小时,说明门限值是稳定的,也就说明对应的k值是合适的,对该变化率取平均值后再取绝对值然后再乘以系数0.5,该结果记为Vt,将各自不同k值所对应的话音采样点数变化率与该门限Vt进行比较,得到最接近Vt的最小k值,k*0.001就是我们要寻找的噪声与信号估计门限T1。
步骤15,根据所述音频数据和噪声与语音信号估计门限值,计算初始单字占用时间。
用得到的语音数据out_max_ave和噪声与信号门限估计模块得到的噪声与信号估计门限T1,计算初始单字占用时间。将语音数据out_max_ave所有的点,只要大于T1就认为是话音数据部分,使用计数器统计话音部分的采样点数M,用Dur=M/fs/总字数,总字数由文本分句模块计算得到,得到初始单字占用时间。
步骤16,根据所述音频数据、噪声与语音信号估计门限值、初始单字占用时间和对应句子的字数,得到所述音频数据中待切分句子的切分点。
将初始单字占用时间Dur、out_max_ave、T1,数据切分模块得到的前一句切分数据结束点position(如果是首句,不需要这个数据)和待切分句子字数作为输入数据,得到待切分句子的切分点。
如果待切分句子是首句,那么根据文本分句模块计算出首句字数N和初始单字占用时间估计模块输出的每个字占用时间Dur,计算出起始一句话的占用时间N*Dur,由于初始单字占用时间估计是对整个数据的整体估计,会导致Dur这个值出现偏差,这里增加一倍的富余量来保证估算的话音数据量一定是大于实际话音数据量,因此估计的首句话的占用时间为N*Dur*2,对数据out_max_ave从头向后搜索,使用T1作为门限,找出该句话音数据的结束点(当大于T1的采样点数目总数大于等于N*Dur*2*fs时),记为position_end,从整个数据中截取第一个采样点到第position_end个采样点,作为输出。
否则,
a.统计由数据切分模块得到的前一句语音数据的话音采样点数,如果out_max_ave的值大于T1,计数器加1,最后得到话音采样点数记为v_counter_s,用time_per_words_pre=v_counter_s/fs/N,这里字数N是由文本分句模块计算的该句子的字数N,得到前一句的平均单字占用时间。
b.根据之前获得的句子的平均单字占用时间来预测当前句所占用时间。假设,当前句之前的第三句占用时间为t3,当前句之前的第二句所占用时间为t2,当前句之前的一句所占用时间为t1,预测当前句单字占用时间为t=1/4*t3+1/4*t2+1/2*t1(如果当前句是第二句,则t=time_per_words_pre,如果当前句是第三句,则t=1/4*t2+3/4*t1),得到当前句所占用时间为t_cur=t*当前句字数(由文本分句模块进行统计)*1.3,系数1.3是为了保证能够取到足够的数据量。这一部分对应着数据截取模块中的单字占用时间预测。
c.由数据切分模块输出的前一句语音数据的结束点position开始向后搜索out_max_ave,使用T1作为门限,找到所预估的当前句话音数据的结束点(当大于T1的采样点数目总数大于等于t_cur时),记为position_end。
从第position_end个采样点向采样点索引减小方向进行搜索,如果搜索到连续1秒out_max_ave的值小于T1,停止搜索,该位置即为静音段,该位置记为i,前一句语音数据的结束点position作为起始点,i作为结束点截取数据输出到元音主体数目统计模块中。
步骤17,根据所述待切分句子的切分点,得到所述待切分句子的元音主体个数,并根据所述元音主体个数获取对应的静音段。
上一步得到的数据,输入到元音主体数目统计模块中,得到这段数据的元音主体个数,由于音节数目与元音主体数目是一致的,也就是得到了这一段的字数,将这一字数与文本统计出的字数进行比较,如果大于,继续向采样点索引减小方向搜索,先搜索语音段,如果搜索到连续0.05秒out_max_ave的值大于T1,该位置即为语音段,继续向采样点索引减小方向搜索,再搜索静音段,如果搜索到连续0.3秒out_max_ave的值小于T1,停止搜索,该位置即为静音段,将该位置记为NNN,去掉该点后边的数据,得到的数据段,输入到元音主体数目统计模块中,得到这段数据的元音主体个数,继续将这一字数与文本统计出的字数进行比较,如果大于,则重复这一过程,如果小于,则停止。找到与文本统计出的字数最接近的那个元音主体数目,相应的静音段即为所寻找的静音段。
步骤18,根据所述音频数据、噪声与语音信号估计门限值、静音段,计算得到所述待切分句子的精确切分位置。
步骤19,根据所述精确切分位置,从所述语音数据中截取数据,作为切分后的音频数据。
从上一步得到的静音段的位置点NNN,输入到数据切分模块。在数据切分模块中,由位置点NNN开始分别向采样点索引减小方向和采样点索引增大方向搜索,如果搜索到连续0.1秒out_max_ave的值大于T1,则认为搜索到语音段边界,较小索引值记为begin_s,较大索引值记为end_s,中间索引值(begin_s+end_s)/2向下取整作为切分点position。将前一句语音数据的结束点position作为当前句语音数据的起始点,由上一步得到的切分点position作为当前句语音数据的结束点(如果当前句是首句,则当前句语音数据的起始点即为原始数据的起始点),从整个原始数据中截取数据,存储为当前句的语音数据文件。
如果整个数据都被切分完成,则整个流程结束。否者,需要重复步骤16到步骤19,以将所有语音数据全部完成切分。
本实施例通过将汉语文本切分成若干句子,每个句子存储为一个文本文件;并获取每个句子的字数;将语音数据进行幅度归一化处理、迟滞处理、数据平滑处理,得到音频数据;根据所述音频数据、噪声与语音信号估计门限值、初始单字占用时间和对应句子的字数,得到音频数据中待切分句子的切分点;根据待切分句子的切分点,得到所述待切分句子的元音主体个数,并根据所述元音主体个数获取对应的静音段;根据所述音频数据、噪声与语音信号估计门限值、静音段,计算得到所述待切分句子的精确切分位置;根据所述精确切分位置,从所述语音数据中截取数据,作为切分后的音频数据。能够对输入的汉语语音和对应的文本数据进行自动切分处理,切分准确率较高,后续人工调整的工作量极小。
如图2所示,为本实施例提供的汉语语音信号切分装置结构示意图,包括语音数据初始处理模块、文本分句模块、噪声与信号门限估计模块、初始单字占用时间估计模块、数据截取模块、元音主体数目统计模块、单字占用时间预测模块及数据切分模块,其中,
语音数据初始处理模块:读入要切分的语音数据,主要进行幅度归一化处理,迟滞处理,通过算术平均做数据平滑处理,得到与输入语音数据长度相等的数据out_max_ave,该模块处理好的数据输出给噪声与信号门限估计模块、初始单字占用时间估计模块、数据截取模块。输入的语音数据格式不限,可以是mp3格式,也可以是wav格式的,采样率也没有限制。
文本分句模块:主要功能是将一个较长的汉语文本按照要求切分成若干句子,每个句子存储为一个文件,并且统计出整个汉语文本的字数,输出给初始单字占用时间估计模块,也要统计每个句子的字数,输出给数据截取模块和元音主体数目统计模块。
噪声与信号门限估计模块:依据语音数据初始处理模块得到的数据out_max_ave来确定区分噪声与信号的门限值。为初始单字占用时间估计模块、数据截取模块、元音主体数目统计模块、数据切分模块四个模块提供区分噪声与信号的门限值T1。
初始单字占用时间估计模块:依据语音数据初始处理模块的输出数据out_max_ave和噪声与信号估计门限T1和文本分句模块统计的总字数来估算初始单字占用时间。
数据截取模块:将初始单字占用时间Dur、out_max_ave、T1,数据切分模块得到的前一句切分数据结束点position(如果是首句,不需要这个数据)和待切分句子字数作为输入数据,粗略估计待切分句子的切分点。待切分句子为第一句时,采用整体数据对单字占用时间进行估计,当待切分句子为非首句时,采用待切分句子的前三句的数据使用单字占用时间预测算法进行估计,单字占用时间预测算法:假设,之前第三句占用时间为t3,之前第二句所占用时间为t2,之前一句所占用时间为t1,预测当前句单字占用时间为t=1/4*t3+1/4*t2+1/2*t1(如果当前句是第二句,则t=time_per_words_pre,如果是第三句,则t=1/4*t2+3/4*t1),得到当前句所占用时间为t_cur=t*当前句字数(由文本分句模块进行统计)*1.3。对该模块输出的数据比待切分句子的实际数据量要大。输出数据输入给元音主体数目统计模块。
元音主体数目统计模块:本模块通过对元音主体数目的统计来实现对待切分句子的切分点进行精确估计。该模块主要通过能熵比法进行端点检测和元音主体数目估计。具体实现:对输入的语音信号序列x(n),首先要进行加窗分帧处理,得到第i帧语音信号为xi(n),采用能量和谱熵的比值(能熵比法)进行端点检测,语音信号xi(n)取FFT后表示为Xi(k),只取正频率部分,计算在频域中的短时能量Ei,计算每个频率分量的归一化谱概率密度函数pi(k),根据熵的定义,计算出该语音帧的短时谱熵Hi,对应的能熵比为计算得到每一帧的能熵比EEFi后,再对该语音信号的全部EEFi进行归一化,归一化的数据记为Ef,用一个门限值Th1做判断,判断能熵比值是否大于Th1,把大于Th1的部分都作为有话段的候选值,再进一步判断该段的长度是否大于最小值miniL,只有大于最小值的才能作为有话段,一般最小值miniL设定为10。在获得的有话段中,寻找出能熵比的最大值Emax,设置一个比例系数r2,令阈值Th2=Emax*r2,对于不同的有话段有不同的Th2值,判断能熵比值是否大于Th2,把大于Th2的部分都作为元音主体的候选值,再进一步判断该段的长度是否大于最小长度mnlong,当检测出元音主体长度小于mnlong时该元音主体将被剔除,只有长度大于或者等于mnlong时才作为元音主体来处理,最后得到元音主体的个数。
数据切分模块:依据out_max_ave、T1和元音主体数目统计模块输出的静音位置点NNN,来计算出待切分句子的精确切分位置,然后从整个原始数据中截取数据,存储为语音数据文件。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
可能以许多方式来实现本发明的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本发明的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本发明的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些程序包括用于实现根据本发明的方法的机器可读指令。因而,本发明还覆盖存储用于执行根据本发明的方法的程序的记录介质。
本发明的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。

Claims (10)

1.一种汉语语音信号切分方法,其特征在于,包括:
获取待切分的语音数据和对应的汉语文本;
将所述汉语文本切分成若干句子,每个句子存储为一个文本文件;并获取每个句子的字数;
将所述语音数据进行幅度归一化处理、迟滞处理,并通过算术平均做数据平滑处理,得到与所述语音数据长度相等的音频数据;
根据所述音频数据确定噪声与语音信号估计门限值;
根据所述音频数据和噪声与语音信号估计门限值,计算初始单字占用时间;
根据所述音频数据、噪声与语音信号估计门限值、初始单字占用时间和对应句子的字数,得到所述音频数据中待切分句子的切分点;
根据所述待切分句子的切分点,得到所述待切分句子的元音主体个数,并根据所述元音主体个数获取对应的静音段;
根据所述音频数据、噪声与语音信号估计门限值、静音段,计算得到所述待切分句子的精确切分位置;
根据所述精确切分位置,从所述语音数据中截取数据,作为切分后的音频数据。
2.根据权利要求1所述的方法,其特征在于,所述将所述语音数据进行幅度归一化处理、迟滞处理,包括:
如果对所述语音数据的当前采样值大于前面采样值的最大值x_max,则取当前采样值为该点的语音数据输出,将最大值x_max更新为当前采样值;
如果对所述语音数据的当前采样值小于x_max并且连续计数器值大于等于某个预设的设定值,则取当前采样值为该点的语音数据输出,同时将x_max更新为当前采样值;
如果对所述语音数据的当前采样值小于前面数据的最大值x_max并且连续计数器值小于某个预设的设定值,则取最大值x_max作为该点的语音数据输出;
将语音数据输出的每一个点之前L个数据和之后L个数据共2N+1个数据,取算术平均值作为该点的音频数据out_max_ave。
3.根据权利要求1所述的方法,其特征在于,所述根据所述音频数据确定噪声与语音信号估计门限值,包括:
依据所述音频数据out_max_ave来确定噪声与语音信号估计门限值;
设所述噪声与语音信号估计门限值为k*0.001,k为大于等于1、小于等于1000的正整数;噪声与语音信号估计门限值步长为0.001,分别由小到大设定不同噪声与语音信号估计门限值,对整个语音数据的话音数据部分采样点数进行统计;
使用计数器统计话音数据的采样点数,得到的统计值按照k从小到大取值的对应顺序进行排列,再由后一个统计值减去前一个统计值获得的差值,得到不同门限值下话音采样点数变化率;
当所述变化率较小时,对所有所述变化率取平均值后再取绝对值,然后再乘以对应系数,得到结果门限值Vt;
将各自不同k值所对应的话音数据采样点数变化率与所述门限值Vt进行比较,得到最接近Vt的最小k值,k*0.001即为噪声与信号估计门限值T1。
4.根据权利要求1、2或3任一所述的方法,其特征在于,所述根据所述音频数据、噪声与语音信号估计门限值、初始单字占用时间和对应句子的字数,得到所述音频数据中待切分句子的切分点,包括:
如果待切分句子在所述音频数据中是首句,那么根据对应文本文件计算出首句字数N和每个字占用时间Dur,计算出起始一句话的占用时间N*Dur;
增加一倍的富余量来保证估算的话音数据量一定是大于实际话音数据量,估计的首句话的占用时间为N*Dur*2;
对音频数据out_max_ave从头向后搜索,使用噪声与信号估计门限值T1作为门限,找出该句话音数据的结束点,记为position_end,从整个音频数据中截取第一个采样点到第position_end个采样点,作为所述音频数据中待切分句子的切分点。
5.根据权利要求4所述的方法,其特征在于,如果所述待切分句子在所述音频数据中不是首句,则:
统计前一句音频数据的话音采样点数,如果out_max_ave的值大于T1,计数器加1,得到话音采样点数记为v_counter_s;用time_per_words_pre=v_counter_s/fs/N,所述N是由文本分句模块计算的该句子的字数N,fs为采样率,得到前一句的平均单字占用时间;
根据所述平均单字占用时间来预测当前句所占用时间;设定当前句之前的第三句占用时间为t3,当前句之前的第二句所占用时间为t2,当前句之前的一句所占用时间为t1,预测当前句单字占用时间为t=1/4*t3+1/4*t2+1/2*t1,得到当前句所占用时间为t_cur=t*当前句字数*1.3,1.3为设定系数;
由所述前一句语音数据的结束点position开始向后搜索out_max_ave,使用T1作为门限,找到所预估的当前句语音数据的结束点,记为position_end;
从第position_end个采样点向采样点索引减小方向进行搜索,如果搜索到连续1秒out_max_ave的值小于T1,停止搜索,该位置即为静音段,该位置记为i,前一句语音数据的结束点position作为起始点,i作为结束点截取数据,得到所有的所述音频数据中待切分句子的切分点。
6.根据权利要求1、2或3任一所述的方法,其特征在于,所述根据所述待切分句子的切分点,得到所述待切分句子的元音主体个数,并根据所述元音主体个数获取对应的静音段,包括:
将待切分句子的字数与文本统计出的字数进行比较,如果大于,继续向采样点索引减小方向搜索;
先搜索语音段,如果搜索到连续0.05秒所述音频数据out_max_ave的值大于噪声与语音信号估计门限值T1,则所述位置为语音段;
继续向采样点索引减小方向搜索,如果搜索到连续0.3秒out_max_ave的值小于T1,停止搜索,所述位置即为静音段,将所述位置记为NNN;
去掉所述NNN点后边的数据,得到的数据段,得到所述音频数据对应待切分句子的元音主体个数;
继续将待切分句子的字数与文本统计出的字数进行比较,如果大于,则重复上述步骤,直到待切分句子的字数小于文本统计出的字数;
找到与文本统计出的字数最接近的那个元音主体数目,相应的静音段即为所述静音段。
7.根据权利要求1、2或3任一所述的方法,其特征在于,所述根据所述音频数据、噪声与语音信号估计门限值、静音段,计算得到所述待切分句子的精确切分位置,包括:
由所述静音段位置点NNN开始分别向采样点索引减小方向和采样点索引增大方向搜索,如果搜索到连续0.1秒所述音频数据out_max_ave的值大于噪声与语音信号估计门限值T1,则搜索到语音段边界,较小索引值记为begin_s,较大索引值记为end_s,中间索引值(begin_s+end_s)/2向下取整作为切分点position。
8.一种汉语语音信号切分装置,其特征在于,所述装置包括语音数据初始处理模块、文本分句模块、噪声与信号门限估计模块、初始单字占用时间估计模块、数据截取模块、元音主体数目统计模块、单字占用时间预测模块及数据切分模块,其中,
所述语音数据初始处理模块,用于读入待切分的语音数据,进行幅度归一化处理、迟滞处理,并通过算术平均做数据平滑处理,得到与输入语音数据长度相等的语音数据out_max_ave;
所述文本分句模块,用于将对应的汉语文本按照要求切分成若干句子,每个句子存储为一个文件,并且统计出整个汉语文本的字数,输出给初始单字占用时间估计模块,也要统计每个句子的字数,输出给数据截取模块和元音主体数目统计模块;
所述噪声与信号门限估计模块,用于根据所述语音数据初始处理模块得到的语音数据out_max_ave来确定区分噪声与信号的门限值;为所述初始单字占用时间估计模块、数据截取模块、元音主体数目统计模块、数据切分模块提供区分噪声与信号的门限值T1;
所述初始单字占用时间估计模块,用于根据所述语音数据初始处理模块的输出数据out_max_ave和噪声与信号估计门限T1和文本分句模块统计的总字数来估算初始单字占用时间;
所述数据截取模块,用于将初始单字占用时间Dur、out_max_ave、T1,数据切分模块得到的前一句切分数据结束点position和待切分句子字数作为输入数据,粗略估计待切分句子的切分点;
所述元音主体数目统计模块,用于通过对元音主体数目和静音位置点NNN的统计来实现对待切分句子的切分点进行精确估计;
所述数据切分模块,用于根据out_max_ave、T1和元音主体数目统计模块输出的静音位置点NNN,来计算出待切分句子的精确切分位置;然后从整个原始数据中截取数据,存储为切分后的音频数据。
9.根据权利要求8所述的装置,其特征在于,所述数据截取模块,具体用于:
当待切分句子为语音数据中首句时,采用整体数据对单字占用时间进行估计;
当待切分句子为非首句时,采用待切分句子的前三句的数据使用单字占用时间预测算法进行估计;具体包括:设定之前第三句占用时间为t3,之前第二句所占用时间为t2,之前一句所占用时间为t1,预测当前句单字占用时间为t=1/4*t3+1/4*t2+1/2*t1,得到当前句所占用时间为t_cur=t*当前句字数*1.3。
10.根据权利要求8或9所述的装置,其特征在于,所述元音主体数目统计模块,具体用于:
对输入的语音信号序列x(n),首先进行加窗分帧处理,得到第i帧语音信号为xi(n),采用能量和谱熵的比值进行端点检测;
语音信号xi(n)取FFT后表示为Xi(k),只取正频率部分,计算在频域中的短时能量Ei,计算每个频率分量的归一化谱概率密度函数pi(k);根据熵的定义,计算出该语音帧的短时谱熵Hi,对应的能熵比为
计算得到每一帧的能熵比EEFi后,再对所述语音信号的全部EEFi进行归一化,归一化的数据记为Ef;
用设定的门限值Th1做判断,判断能熵比值是否大于Th1;
把大于Th1的部分都作为有话段的候选值,再进一步判断该段的长度是否大于最小值miniL;只有大于最小值的才能作为有话段;
在获得的有话段中,寻找出能熵比的最大值Emax,设置一个比例系数r2,令阈值Th2=Emax*r2,对于不同的有话段有不同的Th2值,判断能熵比值是否大于Th2,把大于Th2的部分都作为元音主体的候选值;
判断该段的长度是否大于最小长度mnlong,当检测出元音主体长度小于mnlong时该元音主体将被剔除,只有长度大于或者等于mnlong时才作为元音主体来处理,最后得到元音主体的个数。
CN201910530807.9A 2019-06-19 2019-06-19 一种汉语语音信号切分方法和装置 Active CN110322870B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910530807.9A CN110322870B (zh) 2019-06-19 2019-06-19 一种汉语语音信号切分方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910530807.9A CN110322870B (zh) 2019-06-19 2019-06-19 一种汉语语音信号切分方法和装置

Publications (2)

Publication Number Publication Date
CN110322870A true CN110322870A (zh) 2019-10-11
CN110322870B CN110322870B (zh) 2020-10-30

Family

ID=68119798

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910530807.9A Active CN110322870B (zh) 2019-06-19 2019-06-19 一种汉语语音信号切分方法和装置

Country Status (1)

Country Link
CN (1) CN110322870B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111429880A (zh) * 2020-03-04 2020-07-17 苏州驰声信息科技有限公司 一种切割段落音频的方法、系统、装置、介质
CN111883169A (zh) * 2019-12-12 2020-11-03 马上消费金融股份有限公司 一种音频文件切割位置处理方法及装置
CN112069796A (zh) * 2020-09-03 2020-12-11 阳光保险集团股份有限公司 一种语音质检方法、装置,电子设备及存储介质
CN112185390A (zh) * 2020-09-27 2021-01-05 中国商用飞机有限责任公司北京民用飞机技术研究中心 机上信息辅助方法及装置
CN113255342A (zh) * 2021-06-11 2021-08-13 云南大学 一种5g移动业务产品名称识别方法及系统
US20240086816A1 (en) * 2022-09-13 2024-03-14 Bank Of Montreal Systems and methods for risk factor predictive modeling with document summarization

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW497092B (en) * 2000-10-30 2002-08-01 Ind Tech Res Inst Syncopation method for Chinese speech synthesis
CN101290766A (zh) * 2007-04-20 2008-10-22 西北民族大学 安多藏语语音音节切分的方法
CN102522081A (zh) * 2011-12-29 2012-06-27 北京百度网讯科技有限公司 一种检测语音端点的方法及系统
CN103544309A (zh) * 2013-11-04 2014-01-29 北京中搜网络技术股份有限公司 一种中文垂直搜索的检索串拆分方法
CN106157951A (zh) * 2016-08-31 2016-11-23 北京华科飞扬科技股份公司 进行音频断句的自动拆分方法及系统
US10134425B1 (en) * 2015-06-29 2018-11-20 Amazon Technologies, Inc. Direction-based speech endpointing

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW497092B (en) * 2000-10-30 2002-08-01 Ind Tech Res Inst Syncopation method for Chinese speech synthesis
CN101290766A (zh) * 2007-04-20 2008-10-22 西北民族大学 安多藏语语音音节切分的方法
CN102522081A (zh) * 2011-12-29 2012-06-27 北京百度网讯科技有限公司 一种检测语音端点的方法及系统
CN103544309A (zh) * 2013-11-04 2014-01-29 北京中搜网络技术股份有限公司 一种中文垂直搜索的检索串拆分方法
US10134425B1 (en) * 2015-06-29 2018-11-20 Amazon Technologies, Inc. Direction-based speech endpointing
CN106157951A (zh) * 2016-08-31 2016-11-23 北京华科飞扬科技股份公司 进行音频断句的自动拆分方法及系统

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111883169A (zh) * 2019-12-12 2020-11-03 马上消费金融股份有限公司 一种音频文件切割位置处理方法及装置
CN111429880A (zh) * 2020-03-04 2020-07-17 苏州驰声信息科技有限公司 一种切割段落音频的方法、系统、装置、介质
CN112069796A (zh) * 2020-09-03 2020-12-11 阳光保险集团股份有限公司 一种语音质检方法、装置,电子设备及存储介质
CN112185390A (zh) * 2020-09-27 2021-01-05 中国商用飞机有限责任公司北京民用飞机技术研究中心 机上信息辅助方法及装置
CN112185390B (zh) * 2020-09-27 2023-10-03 中国商用飞机有限责任公司北京民用飞机技术研究中心 机上信息辅助方法及装置
CN113255342A (zh) * 2021-06-11 2021-08-13 云南大学 一种5g移动业务产品名称识别方法及系统
US20240086816A1 (en) * 2022-09-13 2024-03-14 Bank Of Montreal Systems and methods for risk factor predictive modeling with document summarization

Also Published As

Publication number Publication date
CN110322870B (zh) 2020-10-30

Similar Documents

Publication Publication Date Title
CN110322870A (zh) 一种汉语语音信号切分方法和装置
WO2021073116A1 (zh) 生成法律文书的方法、装置、设备和存储介质
CN107480143B (zh) 基于上下文相关性的对话话题分割方法和系统
CN110377724A (zh) 一种基于数据挖掘的语料库关键词自动抽取算法
CN106528532B (zh) 文本纠错方法、装置及终端
WO2020024690A1 (zh) 语音标注方法、装置及设备
Wang et al. Digital audio tampering detection based on ENF consistency
CN106782508A (zh) 语音音频的切分方法和语音音频的切分装置
US20220301547A1 (en) Method for processing audio signal, method for training model, device and medium
CN106776672A (zh) 技术发展脉络图确定方法
CN101625858A (zh) 语音端点检测中短时能频值的提取方法
CN106708798A (zh) 一种字符串切分方法及装置
CN104462041A (zh) 一种实现对热点事件从开始到结束实现完整检测的方法
TR202022040A1 (tr) Konu siniflandirmaya duyarli bi̇r meti̇n özetleme başarimi ölçme yöntemi̇ ve bu yöntemi̇ kullanan bi̇r özetleme si̇stemi̇
CN106815209B (zh) 一种维吾尔文农业技术术语识别方法
CN111858900B (zh) 问句语义解析规则模板的生成方法、装置、设备及存储介质
JP7062966B2 (ja) 音声解析装置、音声解析システム、及びプログラム
CN114254628A (zh) 一种语音转写中结合用户文本的快速热词提取方法、装置、电子设备及存储介质
CN111723297B (zh) 一种面向网格社情研判的双重语义相似度判别方法
Georgescu et al. Progress on automatic annotation of speech corpora using complementary ASR systems
CN103440270B (zh) 实现音频文件重复模式发现的系统和方法
CN112951246A (zh) 一种声纹鉴定特征音段智能提取方法和系统
CN113053363A (zh) 语音识别方法、语音识别装置和计算机可读存储介质
KR0136608B1 (ko) 음성신호 검색용 음성인식 장치
CN107491440B (zh) 自然语言分词构造方法及系统、自然语言分类方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant