CN110033791A - 一种歌曲基频提取方法及装置 - Google Patents

一种歌曲基频提取方法及装置 Download PDF

Info

Publication number
CN110033791A
CN110033791A CN201910232063.2A CN201910232063A CN110033791A CN 110033791 A CN110033791 A CN 110033791A CN 201910232063 A CN201910232063 A CN 201910232063A CN 110033791 A CN110033791 A CN 110033791A
Authority
CN
China
Prior art keywords
word
tone
song
initial position
data
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
CN201910232063.2A
Other languages
English (en)
Other versions
CN110033791B (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 THUNDERSTONE TECHNOLOGY Ltd
Original Assignee
BEIJING THUNDERSTONE TECHNOLOGY Ltd
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 THUNDERSTONE TECHNOLOGY Ltd filed Critical BEIJING THUNDERSTONE TECHNOLOGY Ltd
Priority to CN201910232063.2A priority Critical patent/CN110033791B/zh
Publication of CN110033791A publication Critical patent/CN110033791A/zh
Application granted granted Critical
Publication of CN110033791B publication Critical patent/CN110033791B/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
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/90Pitch determination of speech signals
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2210/00Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
    • G10H2210/031Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal
    • G10H2210/081Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal for automatic key or tonality recognition, e.g. using musical rules or a knowledge base

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Reverberation, Karaoke And Other Acoustics (AREA)
  • Auxiliary Devices For Music (AREA)

Abstract

本发明公开了一种歌曲基频提取方法,具体包括:获取所述歌曲的原唱文件、伴奏文件和歌词文件;根据所述原唱文件和伴奏文件,提取人声数据;对所述人声数据进行分帧处理;提取所述歌词文件中每一单独字的起始位置和结束位置;计算每个单独字的音调数据组;根据所述每个单独字的音调数据组,生成所述歌曲的基频文件。本发明还公开了一种歌曲基频提取装置,能够实现上述歌曲基频提取方法。本发明能够极大地降低音调提取地错误率。

Description

一种歌曲基频提取方法及装置
技术领域
本发明涉及音频信号处理领域,特别涉及一种歌曲基频提取方法及装置。
背景技术
随着人们娱乐生活的丰富,在闲暇时间选择到KTV唱歌的民众也越来越多。不过,由于歌曲难度的差异,在KTV中对所选择的歌曲的音准进行调节以满足不同人群的需求也成为了大部分KTV中必备的功能。这也就要求必须对原歌曲的音调提取非常准确,但是,在歌曲库中的歌曲数量十分庞大,又有源源不断的新曲入库,现有的歌曲音调提取方法难以大批量快速处理,效率低、准确率差,难以满足当下的需求。
发明内容
本发明提供了一种一种歌曲基频提取方法及装置,可以较大程度提高歌曲音调提取的效率和准确度。具体实现方式如下。
一种歌曲基频提取方法,包括以下步骤:
获取所述歌曲的原唱文件、伴奏文件和歌词文件;
根据所述原唱文件和伴奏文件,提取人声数据;
对所述人声数据进行分帧处理;
提取所述歌词文件中每一单独字的起始位置和结束位置;
计算每个单独字的音调数据组;
根据所述每个单独字的音调数据组,生成所述歌曲的基频文件。
优选地,所述提取人声数据之后,对所述人声数据进行分帧处理之前,还包括步骤:
对所述人声数据进行升采样处理;
所述升采样处理包括:
对所述人声数据进行第一采样率采样,得到采样数据;
在相邻的两个所述采样数据之间插值;
对所有所述采样数据进行带通滤波。
优选地,所述提取所述歌词文件中每一单独字的起始位置和结束位置包括:
根据所述歌词文件,获取每一单独句的起始位置和结束位置;
在所述每一单独句的起始位置之前和结束位置之后附加预设长度的余量帧;
在所述余量帧的范围内计算所述每一单独句包括的全部所述分帧的音量;
根据所述每一单独句范围内每一分帧的音量、所述歌词文件中每一单独字的时间长度和所述每一单独句的起始位置重新定位所述歌曲的起始位置和每一所述单独句的起始位置;
根据所述重新定位的所述歌曲的起始位置和每一所述单独句的起始位置计算每一单独字的起始位置和结束位置。
优选地,所述计算每个单独字的音调数据组包括:
计算所述每一单独字的起始位置对应分帧和结束位置对应分帧的第一音调;
计算所述每一单独字的起始位置与结束位置之间预设长度数据对应分帧的第二音调;
根据所述第一音调和第二音调计算每个单独字的音调数据组。
优选地,所述计算所述每一单独字的起始位置与结束位置之间预设长度数据对应分帧的第二音调包括:
删除所述单独字范围内所有的清音帧,及被所述清音帧打断产生的不连续数据帧,保留没有被所述清音帧打断的连续数据帧;
删除所述连续数据帧两端的音量小于预设阈值的分帧;
判断剩余的所述连续数据帧是否满足预设长度数据对应的分帧数目,若不满足,则用0补充不足部分的数据;
选取预设长度数据对应分帧计算第二音调。
本发明还提供了一种歌曲基频调整装置,包括文件获取模块、人声提取模块、音频分帧模块、位置提取模块、音调计算模块和基频生成模块,其中:
所述文件获取模块用于获取所述歌曲的原唱文件、伴奏文件和歌词文件;
所述人声提取模块用于根据所述原唱文件和伴奏文件,提取人声数据;
所述音频分帧模块用于对所述人声数据进行分帧处理;
所述位置提取模块用于提取所述歌词文件中每一单独字的起始位置和结束位置;
所述音调计算模块用于计算每个单独字的音调数据组;
所述基频生成模块用于根据所述每个单独字的音调数据组,生成所述歌曲的基频文件。
优选地,所述歌曲基频调整装置还包括升采样模块,所述升采样模块用于对所述人声提取模块提取的人声数据进行升采样处理;
所述升采样模块包括:
采样单元,用于对所述人声数据进行第一采样率采样,得到采样数据;
插值单元,用于在相邻的两个所述采样数据之间插值;
滤波单元,用于对所有所述采样数据进行带通滤波。
优选地,所述位置提取模块包括:
句位置定位单元,用于根据所述歌词文件,获取每一单独句的起始位置和结束位置;
余量附加单元,用于在所述每一单独句的起始位置之前和结束位置之后附加预设长度的余量帧;
音量计算单元,用于在所述余量帧的范围内计算所述每一单独句包括的全部所述分帧的音量;
重定位单元,用于根据所述每一单独句范围内每一分帧的音量、所述歌词文件中每一单独字的时间长度和所述每一单独句的起始位置重新定位所述歌曲的起始位置和每一所述单独句的起始位置;
字位置定位单元,用于根据所述重新定位的所述歌曲的起始位置和每一所述单独句的起始位置计算每一单独字的起始位置和结束位置。
优选地,所述音调计算模块包括:
分帧音调计算单元,用于计算所述每一单独字的起始位置对应分帧和结束位置对应分帧的第一音调;
整字音调计算单元,用于计算所述每一单独字的起始位置与结束位置之间预设长度数据对应分帧的第二音调;
字音调计算单元,用于根据所述第一音调和第二音调计算每个单独字的音调数据组。
优选地,所述整字音调计算单元包括:
删除子单元,用于删除所述单独字范围内所有的清音帧,及被所述清音帧打断产生的不连续数据帧,保留没有被所述清音帧打断的连续数据帧;以及
删除所述连续数据帧两端的音量小于预设阈值的分帧;
判断子单元,用于判断剩余的所述连续数据帧是否满足预设长度数据对应的分帧数目;
数据补充子单元,用于当剩余的所述连续数据帧不满足预设长度数据对应的分帧数目时,用0补充不足部分的数据;
音调计算子单元,用于选取预设长度数据对应分帧计算第二音调。
本发明通过上述方案,能够根据歌曲库中的原唱、伴奏、歌词等资源文件,快速批量提取歌曲的基频数据,并能够极大地降低歌曲音调提取的错误率,提高音调选区的精度,实现了大批量歌曲的快速准确处理。
附图说明
图1为本发明第一实施例中歌曲基频提取方法流程示意图;
图2为本发明第一实施例中升采样方法流程示意图;
图3为本发明第一实施例中单独字起始位置定位流程示意图;
图4为本发明第一实施例中字音调计算方法流程示意图;
图5为本发明第二实施例中歌曲基频提取装置结构示意图。
具体实施方式
本发明。
下面结合附图和具体实施方式对本发明进行详细地阐述。
实施例一
在本发明的一项实施例中,提供了一种歌曲基频提取方法,如图1所示,包括以下步骤:
步骤S100:获取所述歌曲的原唱文件、伴奏文件和歌词文件;
步骤S200:根据所述原唱文件和伴奏文件,提取人声数据;
步骤S300:对所述人声数据进行分帧处理;
步骤S400:提取所述歌词文件中每一单独字的起始位置和结束位置;
步骤S500:计算每个单独字的音调数据组;
步骤S600:根据所述每个单独字的音调数据组,生成所述歌曲的基频文件。
本发明通过采用分帧方式提取音调与整字提取音调相结合的方式,首先提取人声数据,之后对人声数据分帧以获取每个单独字的起始位置,进而计算每个单独字的音调数据组,最后合成整首歌曲的基频文件。这一方案能够极大的减少音调提取错误率。
优选地,在步骤S100之前,可以对待处理的音频数据进行归一化处理,将数据归一化到特定的数值范围内,例如-1~+1之间。对数据进行归一化处理可以采用如下公式进行:
其中,nval表示归一化后的音频数据值,一般采用浮点数据的表示形式,val表示待处理的原音频数据,一般以定点数据表示,bitnum表示定点数据val的位宽。
优选地,在步骤S200中,提取人声数据的方法可以通过对原唱文件和伴奏文件分帧后在频域相减所得。在一个可选的实施方式中,步骤S200还包括步骤:
步骤S210:根据所述歌词文件获取人声的起始时间;
步骤S220:根据所述起始时间对所述原唱文件和伴奏文件进行音量对准;
步骤S230:按照预设的窗口长度对音量对准后的所述原唱文件和伴奏文件进行分帧;
步骤S240:计算所述原唱文件和伴奏文件每一分帧的幅度和相位;
步骤S250:计算每一分帧的人声幅度和人声相位,所述人声幅度为所述原唱文件的幅度与所述伴奏文件的幅度之差,所述人声相位为所述原唱文件的相位;
步骤S260:根据所述人声幅度和人声相位,计算所述人声数据。
在本实施例一项可选的实施方式中,在步骤S200与步骤S300之间,如图2所示,还包括步骤S700:对所述人声数据进行升采样处理。步骤S700具体包括:
步骤S710:对所述人声数据进行第一采样率采样,得到采样数据;
步骤S720:在相邻的两个所述采样数据之间插值;
步骤S730:对所有所述采样数据进行带通滤波。
升采样处理的目的是提高后续音调提取算法的提取精度。通常情况下,歌曲的第一采样率一般为44.1kHz或48kHz,优选地,可以对采样率提升一倍,即采用88.2kHz或者96kHz。因此,采用步骤S720中插值的方法进行升采样率。优选地,这里可以在相邻的两个采样数据之间插值0,或者插入相邻数据的中值。插值完成后,再进行步骤S730,对采样数据进行带通滤波。
通常情况下,人在歌唱时的音调起伏会比一般讲话时更加丰富,在高音区的部分泛音可以达到14kHz,流行歌曲中人声的基频范围在70~650Hz左右,考虑到纯人声在从歌曲中提取时会掺有少量的音乐信号,会对音调的提取产生一定影响,优选地,在进行步骤S730的带通滤波时,带通滤波器的滤波范围可以选择在50~800Hz,仅保留人声的第2~5次谐波用于音调的提取,但本发明对带通滤波器的滤波窗口选择并不加以限制,任何能够实现本发明目的合适的频率范围均可。这样处理对音调提取效果几乎不产生影响,而且可以更好的滤除人声中残余的音乐信号和低频噪声,减少音乐、噪声信号对音调提取的影响。
优选地,所述带通滤波器除了作为升采样滤波器之外,还可以进行人声预过滤,二者在同一滤波器中完成,节省运算时间,提高运算效率。
优选地,在步骤S300中,对人声数据进行分帧时,可以采用交叠滑动窗分帧。窗口的大小优选可以在10~40ms之间。如果数据经过了升采样,例如在96kHz的采样频率下,为了便于后续音调提取的运算,可以将窗的大小取值为2048个数据点,即21.3ms,窗口交叠范围为50%,即1024个数据点。
经过分帧后,每一帧数据的时长FrameTime可以通过下述公式计算:
其中,WL为窗大小,Fs为采样率,分帧后的数据以帧序号FrameNum表示其时间位置。
由于歌词文件标注的是时间点,而在进行后续处理时,往往采用的是每一帧数据,因此需要将歌词文件中的时间标注转换为帧序号:
其中,FrameNum为帧序号,Time为歌词文件时间坐标,单位可以取毫秒。
在本实施例一项可选的实施方式中,如图3所示,步骤S400还包括:
步骤S410:根据所述歌词文件,获取每一单独句的起始位置和结束位置;
步骤S420:在所述每一单独句的起始位置之前和结束位置之后附加预设长度的余量帧;
步骤S430:在所述余量帧的范围内计算所述每一单独句包括的全部所述分帧的音量;
步骤S440:根据所述每一单独句范围内每一分帧的音量、所述歌词文件中每一单独字的时间长度和所述每一单独句的起始位置重新定位所述歌曲的起始位置和每一所述单独句的起始位置;
步骤S450:根据所述重新定位的所述歌曲的起始位置和每一所述单独句的起始位置计算每一单独字的起始位置和结束位置。
由于歌词文件大部分为人工标注,有些仅标注一句起始位置,有些标注了一句的起始结束时间,即使每个字的都标注了时间也会存在不准确的情况,歌词整体与伴奏有时候也存在延时,造成音调提取准确率下降。所以,步骤S400对歌曲起始位置、句起始位置、每个字的起始结束位置都做了对齐处理,以提高音调检测准确度。
在步骤S300进行分帧过后,可以确定歌词中每一单独句起始结束位置的帧序号SentenceStartIndex和SentenceStopIndex,在步骤S420中,在起始位置帧之前和结束位置帧之后附加一定的余量,优选地,余量可以为2000ms。假设余量对应OffSetNum个数据帧,每一单独句的音量计算处理范围则为[SentenceStartIndex-OffSetNum,SentenceStopIndex+OffSetNum]。
步骤S430中,每帧音量仅需要计算每句起始结束位置附加余量对应帧的音量,句间余量交叠部分不需要重复计算。计算音量时,需要计算帧内音频数据的平均电平和所有人声数据的平均电平。人声的平均电平只需要计算每句起始结束位置对应帧的平均电平,即有歌词的时间段范围内。
由电平计算音量的公式为:
UnitSI(n)=UnitdB-zerosdB
AvgSI=AvgdB-zerosdB
其中,UnitSI(n)表示第n帧的第一音量,AvgSI表示人声平均音强,UnitdB表示平均电平值,AvgdB表示整首歌曲人声的平均电平,zerosdB表示相对静音对应的电平值,即相对静音对应的电平值。这里以1dB表示一个强度等级,可表示强度范围在0~127,使得直观易于显示。
计算完音量之后,即可通过步骤S440和S450进行歌声对齐,重新定位每一单独字的起始位置和结束位置。
其中,优选地,对歌曲起始位置的调整可以通过如下步骤:
步骤S4411:由人声的起始帧序号STARTFRAME为基准,根据情况向前后各偏移预设的时间范围,优选地可以在300~800ms之间选择,例如500ms,对应的帧序号范围为(STARTFRAME-OFFSET)~(STARTFRAME+OFFSET)。OFFSET为偏移的时间范围所对应的帧个数;
步骤S4412:由(STARTFRAME-OFFSET)开始向后搜索,找到第一个音强大于(AvgSI-10)的帧序号STARTFRAMEINDEX;
步骤S4413:计算时间调整量,调整量ADJUST=STARTFRAMEINDEX-STARTFRAME;
步骤S4414:将歌词文件所有时间参数都换算为帧序号并与ADJUST相加,实现歌声起始位置调整。
优选地,对每一单独句起始位置的调整可以通过如下步骤:
步骤S4421:句子的调整范围为从第二句到最后一句的起始位置。设每句的起始帧序号为SentenctStartIndex,对应的音量为SentenceStartI,句起始帧前一帧和后一帧的音量为SentenceStartI_A和SentenceStart_B。确定最大调整偏移帧的数目X,优选地,可以选择5帧数据,即在前后各100毫秒左右范围内调整句起始位置;
步骤S4422:当SentenceStartI_A>SentenceStartI>SentenceStartI_B时,向后查找X个帧的帧音量,到找第一个音量谷点,该点为调整后的句起始位置;
步骤S4423:当SentenceStartI_A<SentenceStartI<SentenceStartI_B时,向前依次查找X个帧的帧音量,到找第一个音强谷点,该点为调整后的句起始位置;
步骤S4424:当SentenceStartI_A<SentenceStartI>SentenceStartI_B时,向前后各查找第一个音量谷点的位置和对应的音量。取音量最低的谷点位置MINPOS方向为调整的方向,调整的值取X和|SentenceStartI-MINPOS|间的最小值。若两个第一谷点音量相同,则取距离SentenceStartI最近的谷点位置NEARPOS方向为调整方向,调整值取X与|SentenceStartI-NEARPOS|间的最小值。
完成步骤S440中的歌曲起始位置和每一单独句起始位置校正之后,即可进行步骤S450中的字位置校正。字位置校正以字的起始结束时间为基,若没有精确的起始结束时间可以以句的起始时间和每个字的时长来算出精略的起始结束时间。优选地,进行字位置校正可以通过如下步骤:
步骤S451:计算当前句起始位置与下一句起始位置间分组距离div,再减去每个字占用的分组个数,得到句间空白帧数blanknum;
步骤S452:由第一个字开始,如果字起始时间WordStartTime(n)<(AvgdB-20),则认为需要向后搜索字的起始位置,如果字结束时间WordStartTime(n)≥(AvgdB-20),即认为当前起始结束位置就是校正后的字的起始结束位置WordStartIndexM(n),
步骤S453:在向后查找时,当前字结束位置和剩余未计算的字的起始结束位置也相后累加,每次需要重新计算句间的空白帧数blanknum,如果空白帧数为0,剩余未计算字的位置即最终校正后位置。
同时,每句最后一个字的结束位置亦即该句的结束位置。
在本实施例一项可选的实施方式中,如图4所示,步骤S500还包括:
步骤S510:计算所述每一单独字的起始位置对应分帧和结束位置对应分帧的第一音调;
步骤S520:计算所述每一单独字的起始位置与结束位置之间预设长度数据对应分帧的第二音调;
步骤S530:根据所述第一音调和第二音调计算每个单独字的音调数据组。
在以分帧方法识别字的音调时,一般先对目标数据进行短时傅里叶变换STFT,对运算结果求取对数幅度谱,再进行一次快速傅立叶逆变换IFFT,得到倒频谱数据,在此中求取基频数据,计算十二平均律,得到该字的音调。在运算时,可通过去除字的时间范围内分帧的清音帧,再计算音量最强的N个帧的中值来求取字的音调。但这种方式存在一定的误差,如在人声与伴奏分离不理想的情况下,特别是人声中混有鼓时,容易将鼓声与人声混合帧做为音量最大帧计算音调造成错误;另外在发音较短的字的起始结束端点时、或两个字间连接处时,往往由于音量较小帧或下一个字的帧不得不参与当前字的音调判定造成误判。因此,本发明采用提取对字内数据做整体提取音调与分帧提取音调结合的方式。
字内整体提取音调的算法基本与分帧的处理方式相同,区别在于字内待计算音调数据的选取规则,如步骤S510~S530所示。优选地,其中,步骤S520还包括:
步骤S521:删除所述单独字范围内所有的清音帧,及被所述清音帧打断产生的不连续数据帧,保留没有被所述清音帧打断的连续数据帧;
步骤S522:删除所述连续数据帧两端的音量小于预设阈值的分帧;
步骤S523:判断剩余的所述连续数据帧是否满足预设长度数据对应的分帧数目,若不满足,则进行步骤S524:用0补充不足部分的数据;
步骤S525:选取预设长度数据对应分帧计算第二音调。
音调的计算方法与分帧计算方法相同。
优选地,在步骤S530中,将字的分帧音调与整字音调结合,计算字的最终音调。确定方式为:
步骤S531:选取音量最大的的N帧数据SelPitch(m),计算选取的分帧的中值MedianPitch,MedianPitch=Median(SelPitch(m)),m=1~N;
步骤S532:将整字音调记为WordPitch,若|MedianPitch-WordPitch|≤1,则最终音调WPitch=ROUND((MedianPitch+WordPitch)*0.5),其中ROUND()表示对浮点数四舍五入操作;
步骤S533:若1<|MedianPitch-WordPitch|<6,WPitch=ROUND(WordPitch);
步骤S534:若|MedianPitch-WordPitch|>6,那么最后得到的最终音调取值WPitch=ROUND(MIN(MedianPitch+WordPitch)),其中MIN()表示取两个数中最小值操作。
最后,在步骤S600中,根据每个字的音调和音量对歌曲的整体音调进行修正。
实施例二
在本发明一项可选的实施例中,本发明还提供了一种歌曲基频调整装置,如图5所示,包括文件获取模块10、人声提取模块20、音频分帧模块30、位置提取模块40、音调计算模块50和基频生成模块60,其中:
所述文件获取模块10用于获取所述歌曲的原唱文件、伴奏文件和歌词文件;
所述人声提取模块20用于根据所述原唱文件和伴奏文件,提取人声数据;
所述音频分帧模块30用于对所述人声数据进行分帧处理;
所述位置提取模块40用于提取所述歌词文件中每一单独字的起始位置和结束位置;
所述音调计算模块50用于计算每个单独字的音调数据组;
所述基频生成模块60用于根据所述每个单独字的音调数据组,生成所述歌曲的基频文件。
在一项可选的实施方式中,还包括升采样模块70,所述升采样模块70用于对所述人声提取模块提取的人声数据进行升采样处理;
所述升采样模块70包括:
采样单元71,用于对所述人声数据进行第一采样率采样,得到采样数据;
插值单元72,用于在相邻的两个所述采样数据之间插值;
滤波单元73,用于对所有所述采样数据进行带通滤波。
在一项可选的实施方式中,所述位置提取模块40包括:
句位置定位单元41,用于根据所述歌词文件,获取每一单独句的起始位置和结束位置;
余量附加单元42,用于在所述每一单独句的起始位置之前和结束位置之后附加预设长度的余量帧;
音量计算单元43,用于在所述余量帧的范围内计算所述每一单独句包括的全部所述分帧的音量;
重定位单元44,用于根据所述每一单独句范围内每一分帧的音量、所述歌词文件中每一单独字的时间长度和所述每一单独句的起始位置重新定位所述歌曲的起始位置和每一所述单独句的起始位置;
字位置定位单元45,用于根据所述重新定位的所述歌曲的起始位置和每一所述单独句的起始位置计算每一单独字的起始位置和结束位置。
在一项可选的实施方式中,所述音调计算模块50包括:
分帧音调计算单元51,用于计算所述每一单独字的起始位置对应分帧和结束位置对应分帧的第一音调;
整字音调计算单元52,用于计算所述每一单独字的起始位置与结束位置之间预设长度数据对应分帧的第二音调;
字音调计算单元53,用于根据所述第一音调和第二音调计算每个单独字的音调数据组。
在一项可选的实施方式中,所述整字音调计算单元52包括:
删除子单元521,用于删除所述单独字范围内所有的清音帧,及被所述清音帧打断产生的不连续数据帧,保留没有被所述清音帧打断的连续数据帧;以及
删除所述连续数据帧两端的音量小于预设阈值的分帧;
判断子单元522,用于判断剩余的所述连续数据帧是否满足预设长度数据对应的分帧数目;
数据补充子单元533,用于当剩余的所述连续数据帧不满足预设长度数据对应的分帧数目时,用0补充不足部分的数据;
音调计算子单元534,用于选取预设长度数据对应分帧计算第二音调。
以上本发明各实施例提供的方案,能够根据歌曲库中的原唱、伴奏、歌词等资源文件,快速批量提取歌曲的基频数据,并能够较大程度提高歌曲音调提取准确度,实现了大批量歌曲的快速准确处理。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,则可对这些实施例作出另外的变更和修改。
本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (10)

1.一种歌曲基频提取方法,其特征在于,包括以下步骤:
获取所述歌曲的原唱文件、伴奏文件和歌词文件;
根据所述原唱文件和伴奏文件,提取人声数据;
对所述人声数据进行分帧处理;
提取所述歌词文件中每一单独字的起始位置和结束位置;
计算每个单独字的音调数据组;
根据所述每个单独字的音调数据组,生成所述歌曲的基频文件。
2.如权利要求1所述的歌曲基频提取方法,其特征在于,所述提取人声数据之后,对所述人声数据进行分帧处理之前,还包括步骤:
对所述人声数据进行升采样处理;
所述升采样处理包括:
对所述人声数据进行第一采样率采样,得到采样数据;
在相邻的两个所述采样数据之间插值;
对所有所述采样数据进行带通滤波。
3.如权利要求1所述的歌曲基频提取方法,其特征在于,所述提取所述歌词文件中每一单独字的起始位置和结束位置包括:
根据所述歌词文件,获取每一单独句的起始位置和结束位置;
在所述每一单独句的起始位置之前和结束位置之后附加预设长度的余量帧;
在所述余量帧的范围内计算所述每一单独句包括的全部所述分帧的音量;
根据所述每一单独句范围内每一分帧的音量、所述歌词文件中每一单独字的时间长度和所述每一单独句的起始位置重新定位所述歌曲的起始位置和每一所述单独句的起始位置;
根据所述重新定位的所述歌曲的起始位置和每一所述单独句的起始位置计算每一单独字的起始位置和结束位置。
4.如权利要求1所述的歌曲基频提取方法,其特征在于,所述计算每个单独字的音调数据组包括:
计算所述每一单独字的起始位置对应分帧和结束位置对应分帧的第一音调;
计算所述每一单独字的起始位置与结束位置之间预设长度数据对应分帧的第二音调;
根据所述第一音调和第二音调计算每个单独字的音调数据组。
5.如权利要求4所述的歌曲基频提取方法,其特征在于,所述计算所述每一单独字的起始位置与结束位置之间预设长度数据对应分帧的第二音调包括:
删除所述单独字范围内所有的清音帧,及被所述清音帧打断产生的不连续数据帧,保留没有被所述清音帧打断的连续数据帧;
删除所述连续数据帧两端的音量小于预设阈值的分帧;
判断剩余的所述连续数据帧是否满足预设长度数据对应的分帧数目,若不满足,则用0补充不足部分的数据;
选取预设长度数据对应分帧计算第二音调。
6.一种歌曲基频调整装置,其特征在于,包括文件获取模块、人声提取模块、音频分帧模块、位置提取模块、音调计算模块和基频生成模块,其中:
所述文件获取模块用于获取所述歌曲的原唱文件、伴奏文件和歌词文件;
所述人声提取模块用于根据所述原唱文件和伴奏文件,提取人声数据;
所述音频分帧模块用于对所述人声数据进行分帧处理;
所述位置提取模块用于提取所述歌词文件中每一单独字的起始位置和结束位置;
所述音调计算模块用于计算每个单独字的音调数据组;
所述基频生成模块用于根据所述每个单独字的音调数据组,生成所述歌曲的基频文件。
7.如权利要求6所述的歌曲基频调整装置,其特征在于,还包括升采样模块,所述升采样模块用于对所述人声提取模块提取的人声数据进行升采样处理;
所述升采样模块包括:
采样单元,用于对所述人声数据进行第一采样率采样,得到采样数据;
插值单元,用于在相邻的两个所述采样数据之间插值;
滤波单元,用于对所有所述采样数据进行带通滤波。
8.如权利要求6所述的歌曲基频调整装置,其特征在于,所述位置提取模块包括:
句位置定位单元,用于根据所述歌词文件,获取每一单独句的起始位置和结束位置;
余量附加单元,用于在所述每一单独句的起始位置之前和结束位置之后附加预设长度的余量帧;
音量计算单元,用于在所述余量帧的范围内计算所述每一单独句包括的全部所述分帧的音量;
重定位单元,用于根据所述每一单独句范围内每一分帧的音量、所述歌词文件中每一单独字的时间长度和所述每一单独句的起始位置重新定位所述歌曲的起始位置和每一所述单独句的起始位置;
字位置定位单元,用于根据所述重新定位的所述歌曲的起始位置和每一所述单独句的起始位置计算每一单独字的起始位置和结束位置。
9.如权利要求6所述的歌曲基频调整装置,其特征在于,所述音调计算模块包括:
分帧音调计算单元,用于计算所述每一单独字的起始位置对应分帧和结束位置对应分帧的第一音调;
整字音调计算单元,用于计算所述每一单独字的起始位置与结束位置之间预设长度数据对应分帧的第二音调;
字音调计算单元,用于根据所述第一音调和第二音调计算每个单独字的音调数据组。
10.如权利要求9所述的歌曲基频调整装置,其特征在于,所述整字音调计算单元包括:
删除子单元,用于删除所述单独字范围内所有的清音帧,及被所述清音帧打断产生的不连续数据帧,保留没有被所述清音帧打断的连续数据帧;以及
删除所述连续数据帧两端的音量小于预设阈值的分帧;
判断子单元,用于判断剩余的所述连续数据帧是否满足预设长度数据对应的分帧数目;
数据补充子单元,用于当剩余的所述连续数据帧不满足预设长度数据对应的分帧数目时,用0补充不足部分的数据;
音调计算子单元,用于选取预设长度数据对应分帧计算第二音调。
CN201910232063.2A 2019-03-26 2019-03-26 一种歌曲基频提取方法及装置 Active CN110033791B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910232063.2A CN110033791B (zh) 2019-03-26 2019-03-26 一种歌曲基频提取方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910232063.2A CN110033791B (zh) 2019-03-26 2019-03-26 一种歌曲基频提取方法及装置

Publications (2)

Publication Number Publication Date
CN110033791A true CN110033791A (zh) 2019-07-19
CN110033791B CN110033791B (zh) 2021-04-09

Family

ID=67236578

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910232063.2A Active CN110033791B (zh) 2019-03-26 2019-03-26 一种歌曲基频提取方法及装置

Country Status (1)

Country Link
CN (1) CN110033791B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113066512A (zh) * 2021-03-24 2021-07-02 平安科技(深圳)有限公司 佛教音乐识别方法、装置、设备及存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101894552A (zh) * 2010-07-16 2010-11-24 安徽科大讯飞信息科技股份有限公司 基于语谱切分的唱歌评测系统
CN103077701A (zh) * 2012-11-28 2013-05-01 福建星网视易信息系统有限公司 一种音准评定方法、装置和系统
US8494842B2 (en) * 2007-11-02 2013-07-23 Soundhound, Inc. Vibrato detection modules in a system for automatic transcription of sung or hummed melodies
CN103971674A (zh) * 2014-05-22 2014-08-06 天格科技(杭州)有限公司 一种评分准确、用户体验好的演唱实时评分方法
US20150310850A1 (en) * 2012-12-04 2015-10-29 National Institute Of Advanced Industrial Science And Technology System and method for singing synthesis
CN105788589A (zh) * 2016-05-04 2016-07-20 腾讯科技(深圳)有限公司 一种音频数据的处理方法及装置
CN106157979A (zh) * 2016-06-24 2016-11-23 广州酷狗计算机科技有限公司 一种获取人声音高数据的方法和装置
CN108109634A (zh) * 2017-12-15 2018-06-01 广州酷狗计算机科技有限公司 歌曲音高的生成方法、装置及设备
CN109872711A (zh) * 2019-01-30 2019-06-11 北京雷石天地电子技术有限公司 一种歌曲基频提取方法及装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8494842B2 (en) * 2007-11-02 2013-07-23 Soundhound, Inc. Vibrato detection modules in a system for automatic transcription of sung or hummed melodies
CN101894552A (zh) * 2010-07-16 2010-11-24 安徽科大讯飞信息科技股份有限公司 基于语谱切分的唱歌评测系统
CN103077701A (zh) * 2012-11-28 2013-05-01 福建星网视易信息系统有限公司 一种音准评定方法、装置和系统
US20150310850A1 (en) * 2012-12-04 2015-10-29 National Institute Of Advanced Industrial Science And Technology System and method for singing synthesis
CN103971674A (zh) * 2014-05-22 2014-08-06 天格科技(杭州)有限公司 一种评分准确、用户体验好的演唱实时评分方法
CN105788589A (zh) * 2016-05-04 2016-07-20 腾讯科技(深圳)有限公司 一种音频数据的处理方法及装置
CN106157979A (zh) * 2016-06-24 2016-11-23 广州酷狗计算机科技有限公司 一种获取人声音高数据的方法和装置
CN108109634A (zh) * 2017-12-15 2018-06-01 广州酷狗计算机科技有限公司 歌曲音高的生成方法、装置及设备
CN109872711A (zh) * 2019-01-30 2019-06-11 北京雷石天地电子技术有限公司 一种歌曲基频提取方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
MAUCH M, DIXON S: "PYIN: A FUNDAMENTAL FREQUENCY ESTIMATOR", 《ICASSP》 *
曾向阳,王蕾: "基于音调转换的哼唱检索特征提取方法", 《声学技术》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113066512A (zh) * 2021-03-24 2021-07-02 平安科技(深圳)有限公司 佛教音乐识别方法、装置、设备及存储介质
CN113066512B (zh) * 2021-03-24 2024-02-23 平安科技(深圳)有限公司 佛教音乐识别方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN110033791B (zh) 2021-04-09

Similar Documents

Publication Publication Date Title
CN101625857B (zh) 一种自适应的语音端点检测方法
US5913259A (en) System and method for stochastic score following
CN106547797B (zh) 音频生成方法和装置
Childers et al. Voice conversion
US8729374B2 (en) Method and apparatus for converting a spoken voice to a singing voice sung in the manner of a target singer
CN106157976B (zh) 一种唱歌评测方法及系统
Kroher et al. Automatic transcription of flamenco singing from polyphonic music recordings
CN1815552B (zh) 基于线谱频率及其阶间差分参数的频谱建模与语音增强方法
US8193436B2 (en) Segmenting a humming signal into musical notes
Clarisse et al. An Auditory Model Based Transcriber of Singing Sequences.
WO1993018505A1 (en) Voice transformation system
CN101625860B (zh) 语音端点检测中的背景噪声自适应调整方法
CN103065619A (zh) 一种语音合成方法和语音合成系统
CN106887233B (zh) 音频数据处理方法及系统
CN101625858B (zh) 语音端点检测中短时能频值的提取方法
Arora et al. On-line melody extraction from polyphonic audio using harmonic cluster tracking
CN108172211B (zh) 可调节的波形拼接系统及方法
CN106055659A (zh) 一种歌词数据匹配方法及其设备
CN110516102A (zh) 一种基于语谱图识别的歌词时间戳生成方法
CN110033791A (zh) 一种歌曲基频提取方法及装置
CN105679306A (zh) 语音合成中预测基频帧的方法及系统
CN110379438B (zh) 一种语音信号基频检测与提取方法及系统
JP2014062970A (ja) 音声合成方法、装置、及びプログラム
CN110675845A (zh) 人声哼唱精确识别算法及数字记谱方法
CN107025902B (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