CN110782908B - 一种音频信号处理的方法及装置 - Google Patents
一种音频信号处理的方法及装置 Download PDFInfo
- Publication number
- CN110782908B CN110782908B CN201911072753.2A CN201911072753A CN110782908B CN 110782908 B CN110782908 B CN 110782908B CN 201911072753 A CN201911072753 A CN 201911072753A CN 110782908 B CN110782908 B CN 110782908B
- Authority
- CN
- China
- Prior art keywords
- frame
- sequence
- syllable
- target
- audio signal
- 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.)
- Active
Links
- 230000005236 sound signal Effects 0.000 title claims abstract description 157
- 238000003672 processing method Methods 0.000 title description 2
- 238000000034 method Methods 0.000 claims abstract description 34
- 238000012545 processing Methods 0.000 claims abstract description 20
- 238000001514 detection method Methods 0.000 claims description 23
- 238000009432 framing Methods 0.000 claims description 17
- 238000003062 neural network model Methods 0.000 claims description 17
- 238000000605 extraction Methods 0.000 claims description 14
- 238000009499 grossing Methods 0.000 claims description 11
- 238000012549 training Methods 0.000 description 18
- 239000011159 matrix material Substances 0.000 description 12
- 230000008569 process Effects 0.000 description 6
- 238000005070 sampling Methods 0.000 description 6
- 238000013527 convolutional neural network Methods 0.000 description 5
- 230000001186 cumulative effect Effects 0.000 description 5
- 230000037433 frameshift Effects 0.000 description 4
- 230000033764 rhythmic process Effects 0.000 description 4
- 238000005311 autocorrelation function Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000001755 vocal effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000002372 labelling Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/02—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/03—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/27—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique
- G10L25/30—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique using neural networks
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/45—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of analysis window
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/48—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
- G10L25/51—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L25/00—Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
- G10L25/78—Detection of presence or absence of voice signals
- G10L25/87—Detection of discrete points within a voice signal
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Signal Processing (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Computational Linguistics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Reverberation, Karaoke And Other Acoustics (AREA)
- Auxiliary Devices For Music (AREA)
Abstract
本申请涉及一种音频信号处理的方法及装置,其中所述方法包括:获取原唱音频信号以及模仿音频信号;分别对所述原唱音频信号以及所述模仿音频信号进行特征提取,获取所述原唱音频信号对应的第一特征帧序列,以及,所述模仿音频信号对应的第二特征帧序列;将所述第二特征帧序列与所述第一特征帧序列进行帧对齐,生成帧对齐序列;检测所述第一特征帧序列对应的第一音节起始点序列,以及,所述第二特征帧序列对应的第二音节起始点序列;基于所述第一音节起始点序列以及所述第二音节起始点序列,对所述帧对齐序列进行调整;采用调整后的帧对齐序列对所述模仿音频信号进行音频波形重建,并根据重建得到的音频波形数据生成用于输出的目标音频。
Description
技术领域
本申请涉及数据处理技术领域,尤其涉及一种音频信号处理的方法及装置。
背景技术
说唱(Rap)是目前流行的一种音乐形式,人们在听别人演唱说唱音乐的同时,越来越希望能够制作自己演唱的说唱音乐。但是,演唱说唱音乐往往需要演唱者具有一定的乐理知识以及唱歌技巧,演唱门槛较高。
发明内容
鉴于上述问题,提出了本申请以便提供一种克服上述问题或者至少部分地解决上述问题的一种音频信号处理的方法及装置。
第一方面,本申请提供了一种语音信号处理的方法,所述方法包括:
获取原唱音频信号以及模仿音频信号;
分别对所述原唱音频信号以及所述模仿音频信号进行特征提取,获取所述原唱音频信号对应的第一特征帧序列,以及,所述模仿音频信号对应的第二特征帧序列;
将所述第二特征帧序列与所述第一特征帧序列进行帧对齐,生成帧对齐序列;
检测所述第一特征帧序列对应的第一音节起始点序列,以及,所述第二特征帧序列对应的第二音节起始点序列;
基于所述第一音节起始点序列以及所述第二音节起始点序列,对所述帧对齐序列进行调整;
采用调整后的帧对齐序列对所述模仿音频信号进行音频波形重建,并根据重建得到的音频波形数据生成用于输出的目标音频。
可选地,所述检测所述第一特征帧序列对应的第一音节起始点序列,以及,所述第二特征帧序列对应的第二音节起始点序列,包括:
分别将所述第一特征帧序列以及所述第二特征帧序列输入已训练的深度神经网络模型,并获取所述深度神经网络模型分别输出的所述第一特征帧序列及所述第二特征帧序列中各帧为音节起始点的概率;
根据所述第一特征帧序列中各帧为音节起始点的概率,生成第一音节起始点概率曲线;
根据所述第二特征帧序列中各帧为音节起始点的概率,生成第二音节起始点概率曲线;
对所述第一音节起始点概率曲线进行峰值检测,并根据检测出的峰值结果生成第一音节起始点序列;
对所述第二音节起始点概率曲线进行峰值检测,并根据检测出的峰值结果生成第二音节起始点序列。
可选地,所述基于所述第一音节起始点序列以及所述第二音节起始点序列,对所述帧对齐序列进行调整,包括:
遍历所述第一音节起始点序列中各音节起始点,获取该音节起始点的目标帧号;
根据所述帧对齐序列,确定与所述目标帧号对齐的对齐目标帧号;
从所述第二音节起始点序列中查找所述对齐目标帧号,以确定与所述对齐目标帧号距离最近的目标音节起始点;
若所述目标音节起始点所在的帧号与所述对齐目标帧号的距离在预设距离范围内,则将所述帧对齐序列中的所述对齐目标帧号调整为目标音节起始点所在的帧号;
以调整后的所述对齐目标帧号为中心,对前后预设范围内的对齐帧号进行平滑处理。
可选地,所述采用调整后的帧对齐序列对所述模仿音频信号进行音频波形重建,包括:
获取所述模仿音频信号的波形数组;
根据调整后的帧对齐序列的长度,创建目标波形数组,所述目标波形数组中的长度为与所述调整后的帧对齐序列的长度相关,所述目标波形数组中的初始值均为第一预设值;
根据所述模仿音频信号的波形数组、调整后的帧对齐序列的第一个元素值以及指定的汉明窗,确定所述目标波形数组中第一帧对应的目标窗数据,并将所述目标波形数组中第一帧的第一预设值更新为所述第一个目标窗数据;
根据所述模仿音频信号的波形数组以及调整后的帧对齐序列的第一个元素值,确定所述目标波形数组中第一帧对应的自相关窗变量值;
遍历所述调整后的帧对齐序列的第二个元素值至第N个元素值,结合上一帧确定的自相关窗变量值确定所述目标波形数组中第二帧开始的各帧的最佳起始拼接点,其中,所述帧对齐序列的长度为N;
根据各帧对应的最佳起始拼接点,确定该帧以该最佳起始拼接点为起点的窗数据,以及,对上一帧得到的自相关窗变量值进行更新;
以各帧对应的窗数据更新所述目标波形数组对应的元素值。
可选地,所述上一帧确定的自相关窗变量值具有预设数量的音节点;所述模仿音频信号的波形数组具有N个窗数据,各窗数据具有预设数量的音节点;
所述结合上一帧确定的自相关窗变量值确定所述目标波形数组中第二帧开始的各帧的最佳起始拼接点,包括:
将所述模仿音频信号的波形数组中各窗数据中的各音节点与所述自相关窗变量值对应位置的音节点进行自相关运算,得到自相关值;
对该窗数据中获得的预设数量的自相关值汇总,得到该窗数据的自相关总值;
针对N各窗数据对应的自相关总值,将最大的自相关总值作为当前帧的最佳起始拼接点。
可选地,所述根据重建得到的音频波形数据生成用于输出的目标音频,包括:
获取所述原唱音频信号对应的伴奏音乐波形数据;
将重建得到的波形数据与所述伴奏音乐波形数据在时域上进行混合,生成用于输出的目标音频。
可选地,所述分别对所述原唱音频信号以及所述模仿音频信号进行特征提取,获取所述原唱音频信号对应的第一特征帧序列,以及,所述模仿音频信号对应的第二特征帧序列,包括:
分别对所述原唱音频信号以及所述模仿音频信号按照指定分帧规则进行分帧,得到对应的第一帧序列以及第二帧序列;
针对所述第一帧序列提取指定维度的第一MFCC特征,并对提取的所述第一MFCC特征进行差分运算,获得所述第一特征帧序列;
针对所述第二帧序列提取指定维度的第二MFCC特征,并对提取的所述第二MFCC特征进行差分运算,获得所述第二特征帧序列。
第二方面,本申请还提供了一种语音信号处理的装置,所述装置包括:
音频信号获取模块,用于获取原唱音频信号以及模仿音频信号;
特征提取模块,用于分别对所述原唱音频信号以及所述模仿音频信号进行特征提取,获取所述原唱音频信号对应的第一特征帧序列,以及,所述模仿音频信号对应的第二特征帧序列;
帧对齐模块,用于将所述第二特征帧序列与所述第一特征帧序列进行帧对齐,生成帧对齐序列;
音节起始点检测模块,用于检测所述第一特征帧序列对应的第一音节起始点序列,以及,所述第二特征帧序列对应的第二音节起始点序列;
帧对齐序列调整模块,用于基于所述第一音节起始点序列以及所述第二音节起始点序列,对所述帧对齐序列进行调整;
波形重建模块,用于采用调整后的帧对齐序列对所述模仿音频信号进行音频波形重建;
目标音频生成模块,用于根据重建得到的音频波形数据生成用于输出的目标音频。
可选地,所述音节起始点检测模块包括:
音节起始点概率确定子模块,用于分别将所述第一特征帧序列以及所述第二特征帧序列输入已训练的深度神经网络模型,并获取所述深度神经网络模型分别输出的所述第一特征帧序列及所述第二特征帧序列中各帧为音节起始点的概率;
概率曲线生成子模块,用于根据所述第一特征帧序列中各帧为音节起始点的概率,生成第一音节起始点概率曲线;以及,根据所述第二特征帧序列中各帧为音节起始点的概率,生成第二音节起始点概率曲线;
峰值检测子模块,用于对所述第一音节起始点概率曲线进行峰值检测,并根据检测出的峰值结果生成第一音节起始点序列;对所述第二音节起始点概率曲线进行峰值检测,并根据检测出的峰值结果生成第二音节起始点序列。
可选地,所述帧对齐序列调整模块包括:
目标帧号确定子模块,用于遍历所述第一音节起始点序列中各音节起始点,获取该音节起始点的目标帧号;
对齐目标帧号确定子模块,用于根据所述帧对齐序列,确定与所述目标帧号对齐的对齐目标帧号;
目标音节起始点确定子模块,用于从所述第二音节起始点序列中查找所述对齐目标帧号,以确定与所述对齐目标帧号距离最近的目标音节起始点;
帧号调整子模块,用于若所述目标音节起始点所在的帧号与所述对齐目标帧号的距离在预设距离范围内,则将所述帧对齐序列中的所述对齐目标帧号调整为目标音节起始点所在的帧号;
平滑处理子模块,用于以调整后的所述对齐目标帧号为中心,对前后预设范围内的对齐帧号进行平滑处理。
可选地,所述波形重建模块包括:
模仿波形数组获取子模块,用于获取所述模仿音频信号的波形数组;
目标波形数组创建子模块,用于根据调整后的帧对齐序列的长度,创建目标波形数组,所述目标波形数组中的长度为与所述调整后的帧对齐序列的长度相关,所述目标波形数组中的初始值均为第一预设值;
第一目标窗数据确定子模块,用于根据所述模仿音频信号的波形数组、调整后的帧对齐序列的第一个元素值以及指定的汉明窗,确定所述目标波形数组中第一帧对应的目标窗数据,并将所述目标波形数组中第一帧的第一预设值更新为所述第一个目标窗数据;
自相关变量值确定子模块,用于根据所述模仿音频信号的波形数组以及调整后的帧对齐序列的第一个元素值,确定所述目标波形数组中第一帧对应的自相关窗变量值;
最佳起始拼接点确定子模块,用于遍历所述调整后的帧对齐序列的第二个元素值至第N个元素值,结合上一帧确定的自相关窗变量值确定所述目标波形数组中第二帧开始的各帧的最佳起始拼接点,其中,所述帧对齐序列的长度为N;
数据更新子模块,用于根据各帧对应的最佳起始拼接点,确定该帧以该最佳起始拼接点为起点的窗数据,以及,对上一帧得到的自相关窗变量值进行更新;以各帧对应的窗数据更新所述目标波形数组对应的元素值。
可选地,所述上一帧确定的自相关窗变量值具有预设数量的音节点;所述模仿音频信号的波形数组具有N个窗数据,各窗数据具有预设数量的音节点;
所述最佳起始拼接点确定子模块具体用于:
将所述模仿音频信号的波形数组中各窗数据中的各音节点与所述自相关窗变量值对应位置的音节点进行自相关运算,得到自相关值;
对该窗数据中获得的预设数量的自相关值汇总,得到该窗数据的自相关总值;
针对N各窗数据对应的自相关总值,将最大的自相关总值作为当前帧的最佳起始拼接点。
可选地,所述目标音频生成模块包括:
伴奏音乐波形数据获取子模块,用于获取所述原唱音频信号对应的伴奏音乐波形数据;
时域混合子模块,用于将重建得到的波形数据与所述伴奏音乐波形数据在时域上进行混合,生成用于输出的目标音频。
可选地,所述特征提取模块包括:
分帧处理子模块,用于分别对所述原唱音频信号以及所述模仿音频信号按照指定分帧规则进行分帧,得到对应的第一帧序列以及第二帧序列;
MFCC特征提取子模块,用于针对所述第一帧序列提取指定维度的第一MFCC特征,并对提取的所述第一MFCC特征进行差分运算,获得所述第一特征帧序列;以及,针对所述第二帧序列提取指定维度的第二MFCC特征,并对提取的所述第二MFCC特征进行差分运算,获得所述第二特征帧序列。
第三方面,本申请还提供了一种电子设备,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如上述的方法。
第四方面,本申请还提供了一种存储介质,当所述存储介质中的指令由所述电子设备的处理器执行时,使得所述电子设备能够执行如上述的方法。
本申请具有如下有益效果:
在本实施例中,通过对模仿音频信号以及原唱音频信号的特征帧序列的提取和比较,可以得到两者的帧对齐序列,然后通过对两者特征帧序列的音节起始点检测来确定两者的音节起始点序列,采用音节起始点序列来对帧对齐序列进行调整,并采用调整后的帧对齐序列重建模仿演唱者的音频波形,达到每个音节起始点和伴奏音乐的重拍鼓点更加同步的效果,从而实现了将模仿者音频信号转换成具有更强的节奏感和韵律感的目标音频进行输出。
附图说明
图1为本申请的一种音频信号处理的方法实施例的步骤流程图;
图2为本申请的一种检测音节起始点序列的方法实施例的步骤流程图;
图3为本申请的一种帧对齐序列调整的方法实施例的步骤流程图;
图4为本申请的一种音频波形重建的方法实施例的步骤流程图;
图5为本申请的一种音频信号处理的装置实施例的结构框图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
参照图1,示出了本申请实施例的一种音频信号处理的方法实施例的步骤流程图,可以包括如下步骤:
步骤101,获取原唱音频信号以及模仿音频信号。
例如,以说唱音乐为例,原唱音频信号可以为说唱音乐的原唱表演者(或其他被模仿表演者)表演的说唱音乐音频;模仿音频信号可以为说唱音乐的模仿表演者表演的说唱音乐音频,在一种例子中,模仿表演者可以以平常说话的方式朗读说唱歌词作为模仿音频信号。
在一种实施方式中,为了便于比较原唱音频信号以及模仿音频信号,可以将两者处理成采样率、声道类型一致的音频文件。例如,经过处理后,原唱音频信号以及模仿音频信号均可以为采样率为16000、单声道的WAV文件。
在一种实现中,可以通过录音室录制原唱音频信号,或者,也可以直接从网络中下载原唱音频信号,本实施例对此不作限制。而模仿音频信号则可以通过终端的麦克风来采集。
步骤102,分别对所述原唱音频信号以及所述模仿音频信号进行特征提取,获取所述原唱音频信号对应的第一特征帧序列,以及,所述模仿音频信号对应的第二特征帧序列。
在一种实施方式中,步骤102可以包括如下子步骤:
子步骤S11,分别对所述原唱音频信号以及所述模仿音频信号按照指定分帧规则进行分帧,得到对应的第一帧序列以及第二帧序列。
作为一种示例,指定分帧规则可以包括但不限于指定的帧移信息、窗长度信息、汉明(Hanmming)窗信息等。
例如,可以对原唱音频信号采用帧移为160、窗长度为512的分帧,然后每一帧乘上512点的汉明窗,最终得到N帧窗数据,作为第一帧序列。对于模仿音频信号也类似,可以采用帧移为160、窗长度为512的分帧,然后每一帧乘上512点的汉明窗,得到N帧窗数据,作为第二帧序列。
子步骤S12,针对所述第一帧序列提取指定维度的第一MFCC特征,并对提取的所述第一MFCC特征进行差分运算,获得所述第一特征帧序列。
在该步骤中,对于第一帧序列,可以逐帧提取指定维度的MFCC(Mel-scaleFrequency Cepstral Coefficients,梅尔倒谱系数)特征,作为第一MFCC特征,例如,逐帧提取16维MFCC特征作为第一MFCC特征。
在获得第一MFCC特征以后,为了丰富提取的特征,可以对第一MFCC特征进行差分运算,在一种实施方式中,可以计算第一MFCC特征的一阶以及二阶差分,得到共为N*48的MFCC特征序列,作为第一特征帧序列S-original。
需要说明的是,上述第一特征帧序列S-original的特征提取过程中提及的具体数值仅仅是一种示例,本领域技术人员根据实际情况取其他数值均是可以的,本实施例对此不作限制。
子步骤S13,针对所述第二帧序列提取指定维度的第二MFCC特征,并对提取的所述第二MFCC特征进行差分运算,获得所述第二特征帧序列。
在该步骤中,第二特征帧序列S-imitate的获取过程与第一特征帧序列S-original的提取过程类似,例如,可以对第二帧序列中逐帧提取16维MFCC特征作为第二MFCC特征,并取第二MFCC特征的一阶以及二阶差分,得到共为N*48的MFCC特征序列,作为第二特征帧序列S-imitate。
步骤103,将所述第二特征帧序列与所述第一特征帧序列进行帧对齐,生成帧对齐序列。
在该步骤中,当得到S-original及S-imitate以后,可以将S-imitate与S-original进行对齐,从而生成帧对齐序列Frame(n)。其中,帧对齐序列Frame(n)表示S-imitate的Frame(n)的值对应的帧号与S-original中n+1帧号是对齐的。
在一种实施方式中,可以采用动态时间规整(Dynamic Time Warping,简称DTW)算法将S-imitate与S-original进行对齐,DTW能够计算这两个序列的相似程度,并且给出一个能最大程度降低两个序列距离的点到点的匹配。
在一种例子中,DTW的算法流程可以包括如下过程:DTW首先计算S-imitate与S-original的序列点之间的距离(欧氏距离),获得一个序列距离矩阵M,矩阵M中的行对应S-original,列对应S-imitate,矩阵元素为对应行列中S-imitate与S-original点到点的欧氏距离;然后根据距离矩阵M生成损失矩阵(Cost Matrix)(或者叫累积距离矩阵Mc)。
示例性地,累积距离矩阵Mc的计算方法如下:累积距离矩阵Mc的第一行第一列元素为M的第一行第一列元素;其他位置的元素(Mc(i,j))的值则可以按照如下公式逐步计算:
Mc(i,j)=Min(Mc(i-1,j-1),Mc(i-1,j),Mc(i,j-1))+M(i,j)
得到累积距离矩阵Mc以后,可以通过对累积距离矩阵Mc的路径回溯得到S-imitate对应于S-original的帧对齐序列Frame(n),其中,n∈{1,2,3,4,5…N},N为Frame(n)序列的总长度。
例如,S-original中的帧序号为{1,2,3,4,5…N},S-imitate中的帧序号为{1,2,3,4,5…M},通过DTW算法并采用欧氏距离为度量方法,先计算出N*M距离矩阵的各个点对点的距离,再计算N*M各个点的最短累积距离,最后用最短路径回溯算法得到对于S-original{1,2,3,4,5…N}来说S-imitate序列的最相似匹配点序列(即帧对齐序列),假设得到的帧对齐序列为{1,3,4,7,8,…},即Frame(0)表示S-original第1帧与S-imitate序列中的第1帧是对齐的;Frame(1)表示S-original第2帧与S-imitate序列中的第3帧是对齐的;Frame(2)表示S-original第3帧分别与S-imitate序列中的第4帧是对齐的;Frame(3)表示S-original第4帧与S-imitate序列中的第7帧是对齐的,等等。
在本实施例中,得到帧对齐序列Frame(n)以后,若根据该Frame(n)进行帧级别的拼接以重建模仿者的音频波形,可以得到一个与原唱人声的语速、节奏、韵律相似的新音频波形。但是由于DTW帧级别的对齐通常精度不是很高,重建之后的音频波形在某些歌词的音节对应的时间点上会有偏快/偏慢(如偏差在正负100毫秒的范围内)的对齐偏差,则在本实施例中可以通过后续步骤104-步骤105进一步对帧对齐序列Frame(n)进行微调。
步骤104,检测所述第一特征帧序列对应的第一音节起始点序列,以及,所述第二特征帧序列对应的第二音节起始点序列。
作为一种示例,音节起始点序列可以包括非音节起始点以及音节起始点,其中,非音节起始点可以采用第一值表示(如数值0),音节起始点可以采用第二值表示(如数值1)。在其他示例中,音节起始点序列还可以为检测为音节起始点的帧号组成的序列,本实施例对此不作限制。
在一种实施方式中,参考图2,步骤104可以包括如下子步骤:
子步骤S21,分别将所述第一特征帧序列以及所述第二特征帧序列输入已训练的深度神经网络模型,并获取所述深度神经网络模型分别输出的所述第一特征帧序列及所述第二特征帧序列中各帧为音节起始点的概率。
在该步骤中,可以把音节起始点的检测视为一个深度卷积神经网络的二分类问题,即输入连续几帧的音频特征,分类器输出这几帧包含音节起始点的概率(0到1)。即深度神经网络模型的作用是预测S-imitate与S-original的每一帧属于音节起始点的概率。通过将S-imitate或S-original输入至上述深度神经网络模型,则深度神经网络模型可以输出S-imitate或S-original中每一帧属于音节起始点的概率。
在一种实施方式中,本实施例的深度神经网络模型可以采用如下方式训练得到:
1)训练数据收集及音节起始点标注:收集若干条(例如1000条)说话语音,并人工标注每条语音中每个音节的起始时间点,作为CNN(Convolutional Neural Networks,卷积神经网络)的训练数据。
2)训练数据的处理:按照指定的采样率、声道类型对训练数据进行预处理,并按照指定分帧规则对预处理后的训练数据进行特征提取,得到训练数据的特征帧序列,然后将人工标注的音节起始时间点转换成训练数据的特征帧序列对应的帧号。
例如,可以把训练数据统一转换为16000采样率和单声道的音频信号,然后对各音频信号采用帧移为160,窗长度为512的分帧,乘上汉明窗,得到多帧数据,并逐帧提取16维MFCC特征以及取其一阶(16维)以及二阶(16维)差分组成共48维的MFCC特征,作为CNN的训练特征帧序列。最后按照该训练特征帧序列,将人工标注的音节起始时间点转换得到音节起始对应时间的帧号,将该帧号对应的标签设置为数值1,表示音节起始帧;其他帧号的标签则设置为数值0,表示非音节起始帧。
需要说明的是,实际中由于人工标注的音节的起始时间点可能会存在误差,并不能精确到帧级别的时间点,为了解决这个问题,本实施例可以把在训练特征帧序列中人工标注的起始时间点对应的帧号的前一帧至后一帧连续3帧都标记为1来表示为音节起始点对应的帧,其余帧则标记为0来表示为非音节起始点对应的帧。
3)模型训练:将预设数量的帧以及各帧对应的标签(指示为是否为音节起始帧的标签1或0)作为输入,按照预设的训练算法训练深度神经网络模型。
例如,可以把处理好的训练数据的每一帧对应的帧标签0或1作为训练标签,把当前帧的前24帧和后23帧共48帧组成一个48x48大小的语谱片段作为训练的输入,采用损失函数为交叉熵、训练的批大小(Batch_Size)为64、优化算法为Adam、学习率为0.0002作为训练参数来训练CNN。
子步骤S22,根据所述第一特征帧序列中各帧为音节起始点的概率,生成第一音节起始点概率曲线。
在该步骤中,当得到第一特征帧序列中各帧为音节起始点的概率以后,可以根据该第一特征帧序列中各帧为音节起始点的概率,生成第一特征帧序列对应的概率曲线p(n),该概率曲线又可以称为第一音节起始点概率曲线,该第一音节起始点概率曲线用于反映第一特征帧序列中各帧为音节起始点的概率。
子步骤S23,根据所述第二特征帧序列中各帧为音节起始点的概率,生成第二音节起始点概率曲线。
第二音节起始点概率曲线与上述第一音节起始点概率曲线的生成方式类似,此处不再赘述了。
子步骤S24,对所述第一音节起始点概率曲线进行峰值检测,并根据检测出的峰值结果生成第一音节起始点序列。
在本实施例中,第一音节起始点概率曲线反映的是第一特征帧序列中各帧为音节起始点的概率;而第一音节起始点序列反映的是第一特征帧序列中各帧是否为音节起始点的标签,若当前帧为音节起始点所在的帧,则标签为数值1,否则,标签为数值0。
在一种实施方式中,可以采用如下峰值检测函数进行峰值标记:
peak(n)=1 if p(n)>0.5 and p(n-1)<p(n)and p(n)>p(n+1)
else=0
即,当peak(n)为局部极大值且大于阈值0.5(此处的0.5为经验值,根据历史经验,p(n)的一个显著特点为在音节起始点处呈现出一个峰值且大于0.5)时,则认定峰值,峰值标记为1,表示音节起始点;非峰值标记为0,表示非音节起始点。当第一音节起始点概率曲线所有峰值检测完毕以后,则可以得到第一音节起始点序列Onset-original。
子步骤S25,对所述第二音节起始点概率曲线进行峰值检测,并根据检测出的峰值结果生成第二音节起始点序列。
第二音节起始点序列Onset-imitate与上述第一音节起始点序列的生成方式类似,此处不再赘述了。
步骤105,基于所述第一音节起始点序列以及所述第二音节起始点序列,对所述帧对齐序列进行调整。
在该步骤中,得到第一音节起始点序列Onset-original以及第二音节起始点序列Onset-imitate以后,可以根据Onset-original以及Onset-imitate对帧对齐序列Frame(n)进行调整,以提高对齐准确率。
在一种实施方式中,参考图3,步骤105可以包括如下子步骤:
子步骤S31,遍历所述第一音节起始点序列中各音节起始点,获取该音节起始点的目标帧号。
例如,假设Onset-original={1,0,1,0,0,0,1,0…},对应的音节起始点为数值为1的音节点,各音节起始点对应的目标帧号分别为0、2、6、…。
子步骤S32,根据所述帧对齐序列,确定与所述目标帧号对齐的对齐目标帧号。
帧对齐序列反映的是第二特征帧序列与第一特征帧序列的对齐关系,得到第一特征帧序列的目标帧号以后,则可以根据该帧对齐序列,得到第二特征帧序列中对齐于该目标帧号的对齐目标帧号。假设音节起始点帧号a∈Onset-original,则根据帧对齐序列Frame(n)即可得到帧号a对应的对齐目标帧号为Frame(a)。
例如,假设帧对齐序列Frame(n)={1,3,4,7,8,…},当目标帧号为2时,对应于帧对齐序列的索引2,则可以得到对齐于该目标帧号2的对齐目标帧号为Frame(2)=4。
子步骤S33,从所述第二音节起始点序列中查找所述对齐目标帧号,以确定与所述对齐目标帧号距离最近的目标音节起始点。
在该步骤中,当确定Frame(a)以后,则可以在Onset-imitate中查找与Frame(a)对应的音节点,如果该音节点为非音节起始点,则可以以该音节点为中心,同时前向和后向查找最靠近Frame(a)帧的音节点的峰值,作为目标音节起始点。
例如,若Onset-imitate={1,0,0,0,0,0,1,0…},当确定对齐目标帧号为4时,在Onset-imitate中Onset-imitate(4)=0,也就是说,在Onset-imitate中,帧号为4的节点为非音节起始点,此时可以以Onset-imitate(4)为中心,通过同时前向和后向查找最靠近Onset-imitate(4)的一个峰值,可以查找到最靠近的峰值为Onset-imitate(6)=1,即与对齐目标帧号距离最近的目标音节起始点的帧号为6。
子步骤S34,若所述目标音节起始点所在的帧号与所述对齐目标帧号的距离在预设距离范围内,则将所述帧对齐序列中的所述对齐目标帧号调整为目标音节起始点所在的帧号。
需要说明的是,预设距离范围可以为经验值,例如,可以设定预设距离范围为100ms以内(即10帧以内),假设目标音节起始点的帧号为b,当b与Frame(a)距离在100ms以内,则可以调整Frame(a)=b。
例如,针对上例,对齐目标帧号Frame(2)=4,而目标音节起始点所在的帧号为6,两者的距离在10帧以内,则可以将Frame(2)=4调整为Frame(2)=6,即Frame(n)={1,3,6,7,8,…}。
子步骤S35,以调整后的所述对齐目标帧号为中心,对前后预设范围内的对齐帧号进行平滑处理。
在该步骤中,当调整Frame(a)=b以后,可以以调整后的Frame(a)为中心,同时对向前及向后预设范围内对齐帧号进行平滑处理。例如,以Frame(a)为中心对前后Frame(a-10)、Frame(a+10)范围内的对齐帧号进行平滑处理。
在一种例子中,以Frame(a-10)至Frame(a)的平滑为例,平滑处理的过程可以如下:设定帧号变化量dt=(Frame(a)-Frame(a-10))/10,则Frame(a-9)=Frame(a-10)+1*dt,Frame(a-8)=Frame(a-9)+2*dt,Frame(a-7)=Frame(a-8)+3*dt,以此类推。
同理Frame(a)至Frame(a+10)也类似于上述的处理过程,设定帧号变化量dt=(Frame(a+10)-Frame(a))/10,则Frame(a+9)=Frame(a+10)-1*dt,Frame(a+8)=Frame(a+9)-2*dt,Frame(a+7)=Frame(a+8)-3*dt,以此类推。
当Onset-original中各音节起始点遍历完毕以后,则对Frame(n)调整完毕,得到调整后的帧对齐序列Frame(n)。
步骤106,采用调整后的帧对齐序列对所述模仿音频信号进行音频波形重建,并根据重建得到的音频波形数据生成用于输出的目标音频。
在该步骤中,对帧对齐序列调整以后,则可以采用调整后的帧对齐序列对模仿音频信号进行音频波形重建。
在一种实施方式中,参考图4,步骤106可以包括如下子步骤:
子步骤S41,获取所述模仿音频信号的波形数组。
在一种例子中,模仿音频信号的波形数组y1可以包括多个包含指定数量的音节点的窗数据。
子步骤S42,根据调整后的帧对齐序列的长度,创建目标波形数组,所述目标波形数组中的长度为与所述调整后的帧对齐序列的长度相关,所述目标波形数组中的初始值均为第一预设值。
在一种例子中,假设调整后的Frame(n)的长度为N,则可以根据该长度N,创建需要重建的目标波形数组y2,数组y2的长度为与长度N相关,数组y2中各元素的初始值均为第一预设值。例如,假设N表示调整后的Frame(n)序列的总长度,则可以初始化一个长度为N*160、数组中各元素的初始值全部为0的目标波形数组y2。
子步骤S43,根据所述模仿音频信号的波形数组、调整后的帧对齐序列的第一个元素值以及指定的汉明窗,确定所述目标波形数组中第一帧对应的目标窗数据,并将所述目标波形数组中第一帧的第一预设值更新为所述第一个目标窗数据。
在一种实施方式中,目标波形数组中第一帧对应的目标窗数据可以由以Frame(1)(即调整后的帧对齐序列的第一个元素值)为起点的320个点的窗乘上汉明窗系数确定。
例如,可以采用如下公式确定目标波形数组y2中的第一帧对应的目标窗数据:
y2[0:320]=y1[Frame(1)*160:Frame(1)*160+320]*hamming_window
其中,hamming_window表示320点的汉明窗系数。
子步骤S44,根据所述模仿音频信号的波形数组以及调整后的帧对齐序列的第一个元素值,确定所述目标波形数组中第一帧对应的自相关窗变量值。
在一种实施方式中,第一帧对应的自相关窗(ACR_window)变量值可以采用如下公式确定:
ACR_window=y1[Frame(1)*160+160:Frame(1)*160+480]
其中,变量ACR_window用于后续进行帧拼接时确定最佳起始拼接点。
子步骤S45,遍历所述调整后的帧对齐序列的第二个元素值至第N个元素值,结合上一帧确定的自相关窗变量值确定所述目标波形数组中第二帧开始的各帧的最佳起始拼接点。
在一种实施方式中,上一帧确定的自相关窗变量值以及模仿音频信号的音频波形数组均具有预设数量的音节点;子步骤S44进一步可以包括如下子步骤:
将所述模仿音频信号的波形数组中各窗数据中的各音节点与所述自相关窗变量值对应位置的音节点进行自相关运算,得到自相关值;对该窗数据中获得的预设数量的自相关值汇总,得到该窗数据的自相关总值;针对N各窗数据对应的自相关总值,将最大的自相关总值作为当前帧的最佳起始拼接点。
在一种实现中,可以采用预设的自相关函数进行上述自相关运算,自相关函数表示的是同一个时间序列之间不同时刻的相关程度,即描述信号x(t)在任意两个不同时刻t1,t2的取值之间的相关程度。对于离散信号通常将两个不同时刻的信号片段用点乘的方法得到自相关函数值,值越大则表示相关(相似)程度越大。
在一种例子中,假设a=2,3,4……n时,y2的第a帧的最佳起始拼接点的确定方法为:取b∈{Frame(a)*160-80,Frame(a)*160-79,…Frame(a)*160,…Frame(a)*160+80},分别计算y1[b:b+320]与ACR_window的自相关总值,得到160个从b=Frame(a)*160-80至b=Frame(a)*160+80的自相关总值,取自相关总值最大的bx为最佳起始拼接点。
例如,假设y1中各窗口的长度为320个点,ACR_window也为320个点,逐点相乘之后得到320个自相关值,再把320个自相关值累加,得到该窗数据的自相关总值,该自相关总值反映的是y1中的该窗口与ACR_window的相关程度。则y1中160个窗口都与ACR_window计算自相关总值,可以得到160个自相关总值,然后取最大的自相关总值,作为当前帧的最佳起始拼接点。
子步骤S46,根据各帧对应的最佳起始拼接点,确定该帧以该最佳起始拼接点为起点的窗的终点,以及,对上一帧得到的自相关窗变量值进行更新。
在该步骤中,得到当前帧对应的最佳起始拼接点bx以后,可以对y2中对应位置的元素值进行更新,并更新上一帧得到的自相关窗变量值。
在一种实施方式中,当前帧以该最佳起始拼接点为起点的窗数据可以采用如下方式确定:
y2[(a-1)*160:(a+1)*160]=y2[(a-1)*160:(a+1)*160]+y1[bx:bx+320]*hamming_window
在一种实施方式中,上一帧得到的自相关窗变量值可以采用如下方式更新,成为当前帧对应的自相关窗变量值:
ACR_window=y1[bx+160:bx+480]。
子步骤S47,以各帧对应的窗数据更新所述目标波形数组对应的元素值。
得到数组y2中各帧的窗数据以后,可以将该帧中对应位置的数值0替换为该窗数据。
当调整后的帧对齐序列遍历完毕以后,可以得到重建完成的数组y2。
例如,以Frame(n)={1,3,6,7,8,…},模仿音频信号的波形数组为y1,上一次更新得到的ACR_window=y1[500:820]为例说明重建第3帧的音频波形数据:第3帧Frame(2)=6,则对应的y1波形采样点的窗起始索引为6*160=960,在y1[880:1060]范围里与ACR_window=y1[500:820]通过自相关计算得到最佳拼接点bx,假设计算得bx=1000,令y2[320:640]=y2[320:640]+y1[1000:1320]*hamming_window,并更新ACR_window=y1[1160:1480],进入第4帧的波形重建,重复上述方法,直至最后一帧,波形重建完成。
在本实施例中,重建波形完成以后,可以根据重建得到的音频波形数据生成用于输出的目标音频。在一种实施方式中,可以获取原唱音频信号对应的伴奏音乐波形数据,然后将重建得到的波形数据与伴奏音乐波形数据在时域上进行混合,生成用于输出的目标音频。
例如,假设伴奏音乐波形数据为(为了便于举例说明,以下以数值表示波形数据的各元素值,但实际上为窗数据):0.2,0.3,0.5,0.2,…;以及,重建的数组y2的波形数据为:0.1,0.4,0.3,0.2,…;则两者在时域上逐点相加混合后,即:0.2+0.1,0.3+0.4,0.5+0.3,0.2+0.2,…;得到用于输出的目标音频的波形为:0.3,0.7,0.8,0.4,…。
在本实施例中,通过对模仿音频信号以及原唱音频信号的特征帧序列的提取和比较,可以得到两者的帧对齐序列,然后通过对两者特征帧序列的音节起始点检测来确定两者的音节起始点序列,采用音节起始点序列来对帧对齐序列进行调整,并采用调整后的帧对齐序列重建模仿演唱者的音频波形,达到每个音节起始点和伴奏音乐的重拍鼓点更加同步的效果,从而实现了将模仿者音频信号转换成具有更强的节奏感和韵律感的目标音频进行输出。
基于上述的音频信号处理的方法,参照图5,示出了本申请一种音频信号处理的装置实施例的结构框图,可以包括如下模块:
音频信号获取模块501,用于获取原唱音频信号以及模仿音频信号;
特征提取模块502,用于分别对所述原唱音频信号以及所述模仿音频信号进行特征提取,获取所述原唱音频信号对应的第一特征帧序列,以及,所述模仿音频信号对应的第二特征帧序列;
帧对齐模块503,用于将所述第二特征帧序列与所述第一特征帧序列进行帧对齐,生成帧对齐序列;
音节起始点检测模块504,用于检测所述第一特征帧序列对应的第一音节起始点序列,以及,所述第二特征帧序列对应的第二音节起始点序列;
帧对齐序列调整模块505,用于基于所述第一音节起始点序列以及所述第二音节起始点序列,对所述帧对齐序列进行调整;
波形重建模块506,用于采用调整后的帧对齐序列对所述模仿音频信号进行音频波形重建;
目标音频生成模块507,用于根据重建得到的音频波形数据生成用于输出的目标音频。
在一种实施方式中,所述音节起始点检测模块504包括:
音节起始点概率确定子模块,用于分别将所述第一特征帧序列以及所述第二特征帧序列输入已训练的深度神经网络模型,并获取所述深度神经网络模型分别输出的所述第一特征帧序列及所述第二特征帧序列中各帧为音节起始点的概率;
概率曲线生成子模块,用于根据所述第一特征帧序列中各帧为音节起始点的概率,生成第一音节起始点概率曲线;以及,根据所述第二特征帧序列中各帧为音节起始点的概率,生成第二音节起始点概率曲线;
峰值检测子模块,用于对所述第一音节起始点概率曲线进行峰值检测,并根据检测出的峰值结果生成第一音节起始点序列;对所述第二音节起始点概率曲线进行峰值检测,并根据检测出的峰值结果生成第二音节起始点序列。
在一种实施方式中,所述帧对齐序列调整模块505包括:
目标帧号确定子模块,用于遍历所述第一音节起始点序列中各音节起始点,获取该音节起始点的目标帧号;
对齐目标帧号确定子模块,用于根据所述帧对齐序列,确定与所述目标帧号对齐的对齐目标帧号;
目标音节起始点确定子模块,用于从所述第二音节起始点序列中查找所述对齐目标帧号,以确定与所述对齐目标帧号距离最近的目标音节起始点;
帧号调整子模块,用于若所述目标音节起始点所在的帧号与所述对齐目标帧号的距离在预设距离范围内,则将所述帧对齐序列中的所述对齐目标帧号调整为目标音节起始点所在的帧号;
平滑处理子模块,用于以调整后的所述对齐目标帧号为中心,对前后预设范围内的对齐帧号进行平滑处理。
在一种实施方式中,所述波形重建模块506包括:
模仿波形数组获取子模块,用于获取所述模仿音频信号的波形数组;
目标波形数组创建子模块,用于根据调整后的帧对齐序列的长度,创建目标波形数组,所述目标波形数组中的长度为与所述调整后的帧对齐序列的长度相关,所述目标波形数组中的初始值均为第一预设值;
第一目标窗数据确定子模块,用于根据所述模仿音频信号的波形数组、调整后的帧对齐序列的第一个元素值以及指定的汉明窗,确定所述目标波形数组中第一帧对应的目标窗数据,并将所述目标波形数组中第一帧的第一预设值更新为所述第一个目标窗数据;
自相关变量值确定子模块,用于根据所述模仿音频信号的波形数组以及调整后的帧对齐序列的第一个元素值,确定所述目标波形数组中第一帧对应的自相关窗变量值;
最佳起始拼接点确定子模块,用于遍历所述调整后的帧对齐序列的第二个元素值至第N个元素值,结合上一帧确定的自相关窗变量值确定所述目标波形数组中第二帧开始的各帧的最佳起始拼接点,其中,所述帧对齐序列的长度为N;
数据更新子模块,用于根据各帧对应的最佳起始拼接点,确定该帧以该最佳起始拼接点为起点的窗数据,以及,对上一帧得到的自相关窗变量值进行更新;以各帧对应的窗数据更新所述目标波形数组对应的元素值。
在一种实施方式中,所述上一帧确定的自相关窗变量值具有预设数量的音节点;所述模仿音频信号的波形数组具有N个窗数据,各窗数据具有预设数量的音节点;
所述最佳起始拼接点确定子模块具体用于:
将所述模仿音频信号的波形数组中各窗数据中的各音节点与所述自相关窗变量值对应位置的音节点进行自相关运算,得到自相关值;
对该窗数据中获得的预设数量的自相关值汇总,得到该窗数据的自相关总值;
针对N各窗数据对应的自相关总值,将最大的自相关总值作为当前帧的最佳起始拼接点。
在一种实施方式中,所述目标音频生成模块507包括:
伴奏音乐波形数据获取子模块,用于获取所述原唱音频信号对应的伴奏音乐波形数据;
时域混合子模块,用于将重建得到的波形数据与所述伴奏音乐波形数据在时域上进行混合,生成用于输出的目标音频。
在一种实施方式中,所述特征提取模块502包括:
分帧处理子模块,用于分别对所述原唱音频信号以及所述模仿音频信号按照指定分帧规则进行分帧,得到对应的第一帧序列以及第二帧序列;
MFCC特征提取子模块,用于针对所述第一帧序列提取指定维度的第一MFCC特征,并对提取的所述第一MFCC特征进行差分运算,获得所述第一特征帧序列;以及,针对所述第二帧序列提取指定维度的第二MFCC特征,并对提取的所述第二MFCC特征进行差分运算,获得所述第二特征帧序列。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
虽然本说明书包含许多具体实施细节,但是这些不应被解释为限制任何发明的范围或所要求保护的范围,而是主要用于描述特定发明的具体实施例的特征。本说明书内在多个实施例中描述的某些特征也可以在单个实施例中被组合实施。另一方面,在单个实施例中描述的各种特征也可以在多个实施例中分开实施或以任何合适的子组合来实施。此外,虽然特征可以如上所述在某些组合中起作用并且甚至最初如此要求保护,但是来自所要求保护的组合中的一个或多个特征在一些情况下可以从该组合中去除,并且所要求保护的组合可以指向子组合或子组合的变型。
类似地,虽然在附图中以特定顺序描绘了操作,但是这不应被理解为要求这些操作以所示的特定顺序执行或顺次执行、或者要求所有例示的操作被执行,以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应被理解为在所有实施例中均需要这样的分离,并且应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中,或者封装成多个软件产品。
由此,主题的特定实施例已被描述。其他实施例在所附权利要求书的范围以内。在某些情况下,权利要求书中记载的动作可以以不同的顺序执行并且仍实现期望的结果。此外,附图中描绘的处理并非必需所示的特定顺序或顺次顺序,以实现期望的结果。在某些实现中,多任务和并行处理可能是有利的。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (16)
1.一种音频信号处理的方法,其特征在于,所述方法包括:
获取原唱音频信号以及模仿音频信号;
分别对所述原唱音频信号以及所述模仿音频信号进行特征提取,获取所述原唱音频信号对应的第一特征帧序列,以及,所述模仿音频信号对应的第二特征帧序列;
将所述第二特征帧序列与所述第一特征帧序列进行帧对齐,生成帧对齐序列;
检测所述第一特征帧序列对应的第一音节起始点序列,以及,所述第二特征帧序列对应的第二音节起始点序列;
基于所述第一音节起始点序列以及所述第二音节起始点序列,对所述帧对齐序列进行调整;
采用调整后的帧对齐序列对所述模仿音频信号进行音频波形重建,并根据重建得到的音频波形数据生成用于输出的目标音频。
2.根据权利要求1所述的方法,其特征在于,所述检测所述第一特征帧序列对应的第一音节起始点序列,以及,所述第二特征帧序列对应的第二音节起始点序列,包括:
分别将所述第一特征帧序列以及所述第二特征帧序列输入已训练的深度神经网络模型,并获取所述深度神经网络模型分别输出的所述第一特征帧序列及所述第二特征帧序列中各帧为音节起始点的概率;
根据所述第一特征帧序列中各帧为音节起始点的概率,生成第一音节起始点概率曲线;
根据所述第二特征帧序列中各帧为音节起始点的概率,生成第二音节起始点概率曲线;
对所述第一音节起始点概率曲线进行峰值检测,并根据检测出的峰值结果生成第一音节起始点序列;
对所述第二音节起始点概率曲线进行峰值检测,并根据检测出的峰值结果生成第二音节起始点序列。
3.根据权利要求1或2所述的方法,其特征在于,所述基于所述第一音节起始点序列以及所述第二音节起始点序列,对所述帧对齐序列进行调整,包括:
遍历所述第一音节起始点序列中各音节起始点,获取该音节起始点的目标帧号;
根据所述帧对齐序列,确定与所述目标帧号对齐的对齐目标帧号;
从所述第二音节起始点序列中查找所述对齐目标帧号,以确定与所述对齐目标帧号距离最近的目标音节起始点;
若所述目标音节起始点所在的帧号与所述对齐目标帧号的距离在预设距离范围内,则将所述帧对齐序列中的所述对齐目标帧号调整为目标音节起始点所在的帧号;
以调整后的所述对齐目标帧号为中心,对前后预设范围内的对齐帧号进行平滑处理。
4.根据权利要求1所述的方法,其特征在于,所述采用调整后的帧对齐序列对所述模仿音频信号进行音频波形重建,包括:
获取所述模仿音频信号的波形数组;
根据调整后的帧对齐序列的长度,创建目标波形数组,所述目标波形数组中的长度为与所述调整后的帧对齐序列的长度相关,所述目标波形数组中的初始值均为第一预设值;
根据所述模仿音频信号的波形数组、调整后的帧对齐序列的第一个元素值以及指定的汉明窗,确定所述目标波形数组中第一帧对应的目标窗数据,并将所述目标波形数组中第一帧的第一预设值更新为所述目标窗数据;
根据所述模仿音频信号的波形数组以及调整后的帧对齐序列的第一个元素值,确定所述目标波形数组中第一帧对应的自相关窗变量值;
遍历所述调整后的帧对齐序列的第二个元素值至第N个元素值,结合上一帧确定的自相关窗变量值确定所述目标波形数组中第二帧开始的各帧的最佳起始拼接点,其中,所述帧对齐序列的长度为N;
根据各帧对应的最佳起始拼接点,确定该帧以该最佳起始拼接点为起点的窗数据,以及,对上一帧得到的自相关窗变量值进行更新;
以各帧对应的窗数据更新所述目标波形数组对应的元素值。
5.根据权利要求4所述的方法,其特征在于,所述上一帧确定的自相关窗变量值具有预设数量的音节点;所述模仿音频信号的波形数组具有N个窗数据,各窗数据具有预设数量的音节点;
所述结合上一帧确定的自相关窗变量值确定所述目标波形数组中第二帧开始的各帧的最佳起始拼接点,包括:
将所述模仿音频信号的波形数组中各窗数据中的各音节点与所述自相关窗变量值对应位置的音节点进行自相关运算,得到自相关值;
对该窗数据中获得的预设数量的自相关值汇总,得到该窗数据的自相关总值;
针对N各窗数据对应的自相关总值,将最大的自相关总值作为当前帧的最佳起始拼接点。
6.根据权利要求4或5所述的方法,其特征在于,所述根据重建得到的音频波形数据生成用于输出的目标音频,包括:
获取所述原唱音频信号对应的伴奏音乐波形数据;
将重建得到的波形数据与所述伴奏音乐波形数据在时域上进行混合,生成用于输出的目标音频。
7.根据权利要求1所述的方法,其特征在于,所述分别对所述原唱音频信号以及所述模仿音频信号进行特征提取,获取所述原唱音频信号对应的第一特征帧序列,以及,所述模仿音频信号对应的第二特征帧序列,包括:
分别对所述原唱音频信号以及所述模仿音频信号按照指定分帧规则进行分帧,得到对应的第一帧序列以及第二帧序列;
针对所述第一帧序列提取指定维度的第一MFCC特征,并对提取的所述第一MFCC特征进行差分运算,获得所述第一特征帧序列;
针对所述第二帧序列提取指定维度的第二MFCC特征,并对提取的所述第二MFCC特征进行差分运算,获得所述第二特征帧序列。
8.一种音频信号处理的装置,其特征在于,所述装置包括:
音频信号获取模块,用于获取原唱音频信号以及模仿音频信号;
特征提取模块,用于分别对所述原唱音频信号以及所述模仿音频信号进行特征提取,获取所述原唱音频信号对应的第一特征帧序列,以及,所述模仿音频信号对应的第二特征帧序列;
帧对齐模块,用于将所述第二特征帧序列与所述第一特征帧序列进行帧对齐,生成帧对齐序列;
音节起始点检测模块,用于检测所述第一特征帧序列对应的第一音节起始点序列,以及,所述第二特征帧序列对应的第二音节起始点序列;
帧对齐序列调整模块,用于基于所述第一音节起始点序列以及所述第二音节起始点序列,对所述帧对齐序列进行调整;
波形重建模块,用于采用调整后的帧对齐序列对所述模仿音频信号进行音频波形重建;
目标音频生成模块,用于根据重建得到的音频波形数据生成用于输出的目标音频。
9.根据权利要求8所述的装置,其特征在于,所述音节起始点检测模块包括:
音节起始点概率确定子模块,用于分别将所述第一特征帧序列以及所述第二特征帧序列输入已训练的深度神经网络模型,并获取所述深度神经网络模型分别输出的所述第一特征帧序列及所述第二特征帧序列中各帧为音节起始点的概率;
概率曲线生成子模块,用于根据所述第一特征帧序列中各帧为音节起始点的概率,生成第一音节起始点概率曲线;以及,根据所述第二特征帧序列中各帧为音节起始点的概率,生成第二音节起始点概率曲线;
峰值检测子模块,用于对所述第一音节起始点概率曲线进行峰值检测,并根据检测出的峰值结果生成第一音节起始点序列;对所述第二音节起始点概率曲线进行峰值检测,并根据检测出的峰值结果生成第二音节起始点序列。
10.根据权利要求8或9所述的装置,其特征在于,所述帧对齐序列调整模块包括:
目标帧号确定子模块,用于遍历所述第一音节起始点序列中各音节起始点,获取该音节起始点的目标帧号;
对齐目标帧号确定子模块,用于根据所述帧对齐序列,确定与所述目标帧号对齐的对齐目标帧号;
目标音节起始点确定子模块,用于从所述第二音节起始点序列中查找所述对齐目标帧号,以确定与所述对齐目标帧号距离最近的目标音节起始点;
帧号调整子模块,用于若所述目标音节起始点所在的帧号与所述对齐目标帧号的距离在预设距离范围内,则将所述帧对齐序列中的所述对齐目标帧号调整为目标音节起始点所在的帧号;
平滑处理子模块,用于以调整后的所述对齐目标帧号为中心,对前后预设范围内的对齐帧号进行平滑处理。
11.根据权利要求8所述的装置,其特征在于,所述波形重建模块包括:
模仿波形数组获取子模块,用于获取所述模仿音频信号的波形数组;
目标波形数组创建子模块,用于根据调整后的帧对齐序列的长度,创建目标波形数组,所述目标波形数组中的长度为与所述调整后的帧对齐序列的长度相关,所述目标波形数组中的初始值均为第一预设值;
第一目标窗数据确定子模块,用于根据所述模仿音频信号的波形数组、调整后的帧对齐序列的第一个元素值以及指定的汉明窗,确定所述目标波形数组中第一帧对应的目标窗数据,并将所述目标波形数组中第一帧的第一预设值更新为所述目标窗数据;
自相关变量值确定子模块,用于根据所述模仿音频信号的波形数组以及调整后的帧对齐序列的第一个元素值,确定所述目标波形数组中第一帧对应的自相关窗变量值;
最佳起始拼接点确定子模块,用于遍历所述调整后的帧对齐序列的第二个元素值至第N个元素值,结合上一帧确定的自相关窗变量值确定所述目标波形数组中第二帧开始的各帧的最佳起始拼接点,其中,所述帧对齐序列的长度为N;
数据更新子模块,用于根据各帧对应的最佳起始拼接点,确定该帧以该最佳起始拼接点为起点的窗数据,以及,对上一帧得到的自相关窗变量值进行更新;以各帧对应的窗数据更新所述目标波形数组对应的元素值。
12.根据权利要求11所述的装置,其特征在于,所述上一帧确定的自相关窗变量值具有预设数量的音节点;所述模仿音频信号的波形数组具有N个窗数据,各窗数据具有预设数量的音节点;
所述最佳起始拼接点确定子模块具体用于:
将所述模仿音频信号的波形数组中各窗数据中的各音节点与所述自相关窗变量值对应位置的音节点进行自相关运算,得到自相关值;
对该窗数据中获得的预设数量的自相关值汇总,得到该窗数据的自相关总值;
针对N各窗数据对应的自相关总值,将最大的自相关总值作为当前帧的最佳起始拼接点。
13.根据权利要求11或12所述的装置,其特征在于,所述目标音频生成模块包括:
伴奏音乐波形数据获取子模块,用于获取所述原唱音频信号对应的伴奏音乐波形数据;
时域混合子模块,用于将重建得到的波形数据与所述伴奏音乐波形数据在时域上进行混合,生成用于输出的目标音频。
14.根据权利要求8所述的装置,其特征在于,所述特征提取模块包括:
分帧处理子模块,用于分别对所述原唱音频信号以及所述模仿音频信号按照指定分帧规则进行分帧,得到对应的第一帧序列以及第二帧序列;
MFCC特征提取子模块,用于针对所述第一帧序列提取指定维度的第一MFCC特征,并对提取的所述第一MFCC特征进行差分运算,获得所述第一特征帧序列;以及,针对所述第二帧序列提取指定维度的第二MFCC特征,并对提取的所述第二MFCC特征进行差分运算,获得所述第二特征帧序列。
15.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1-7任一项所述的方法。
16.一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911072753.2A CN110782908B (zh) | 2019-11-05 | 2019-11-05 | 一种音频信号处理的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911072753.2A CN110782908B (zh) | 2019-11-05 | 2019-11-05 | 一种音频信号处理的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110782908A CN110782908A (zh) | 2020-02-11 |
CN110782908B true CN110782908B (zh) | 2020-06-16 |
Family
ID=69389303
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911072753.2A Active CN110782908B (zh) | 2019-11-05 | 2019-11-05 | 一种音频信号处理的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110782908B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111370024B (zh) * | 2020-02-21 | 2023-07-04 | 腾讯科技(深圳)有限公司 | 一种音频调整方法、设备及计算机可读存储介质 |
CN111583945B (zh) * | 2020-04-30 | 2023-04-25 | 抖音视界有限公司 | 用于处理音频的方法、装置、电子设备和计算机可读介质 |
CN111901626B (zh) * | 2020-08-05 | 2021-12-14 | 腾讯科技(深圳)有限公司 | 背景音频确定方法、视频剪辑方法、装置和计算机设备 |
CN113052138B (zh) * | 2021-04-25 | 2024-03-15 | 广海艺术科创(深圳)有限公司 | 一种舞蹈与运动动作的智能对比矫正的方法 |
CN113223485B (zh) * | 2021-04-28 | 2022-12-27 | 北京达佳互联信息技术有限公司 | 节拍检测模型的训练方法、节拍检测方法及装置 |
CN113392259B (zh) * | 2021-05-14 | 2022-11-29 | 深圳航天科技创新研究院 | 声音刺激样本选择方法、控制设备及存储介质 |
CN113488083B (zh) * | 2021-08-23 | 2023-03-21 | 北京字节跳动网络技术有限公司 | 数据匹配方法、装置、介质及电子设备 |
CN114282941A (zh) * | 2021-12-20 | 2022-04-05 | 咪咕音乐有限公司 | 广告插入位置的确定方法、装置、设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4454586A (en) * | 1981-11-19 | 1984-06-12 | At&T Bell Laboratories | Method and apparatus for generating speech pattern templates |
CN101847404A (zh) * | 2010-03-18 | 2010-09-29 | 北京天籁传音数字技术有限公司 | 一种实现音频变调的方法和装置 |
CN103021418A (zh) * | 2012-12-13 | 2013-04-03 | 南京邮电大学 | 一种面向多时间尺度韵律特征的语音转换方法 |
CN104992713A (zh) * | 2015-05-14 | 2015-10-21 | 电子科技大学 | 一种快速广播音频比对方法 |
CN105893549A (zh) * | 2016-03-31 | 2016-08-24 | 中国人民解放军信息工程大学 | 音频检索方法及装置 |
CN106448673A (zh) * | 2016-09-18 | 2017-02-22 | 广东顺德中山大学卡内基梅隆大学国际联合研究院 | 一种汉语电子喉语音转换方法 |
CN107301859A (zh) * | 2017-06-21 | 2017-10-27 | 南京邮电大学 | 基于自适应高斯聚类的非平行文本条件下的语音转换方法 |
US10388272B1 (en) * | 2018-12-04 | 2019-08-20 | Sorenson Ip Holdings, Llc | Training speech recognition systems using word sequences |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7412377B2 (en) * | 2003-12-19 | 2008-08-12 | International Business Machines Corporation | Voice model for speech processing based on ordered average ranks of spectral features |
JP6219750B2 (ja) * | 2014-02-28 | 2017-10-25 | 株式会社第一興商 | 歌唱対戦カラオケシステム |
JP2016095350A (ja) * | 2014-11-12 | 2016-05-26 | 株式会社コシダカホールディングス | カラオケにおける歌唱評価装置 |
US10235991B2 (en) * | 2016-08-09 | 2019-03-19 | Apptek, Inc. | Hybrid phoneme, diphone, morpheme, and word-level deep neural networks |
-
2019
- 2019-11-05 CN CN201911072753.2A patent/CN110782908B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4454586A (en) * | 1981-11-19 | 1984-06-12 | At&T Bell Laboratories | Method and apparatus for generating speech pattern templates |
CN101847404A (zh) * | 2010-03-18 | 2010-09-29 | 北京天籁传音数字技术有限公司 | 一种实现音频变调的方法和装置 |
CN103021418A (zh) * | 2012-12-13 | 2013-04-03 | 南京邮电大学 | 一种面向多时间尺度韵律特征的语音转换方法 |
CN104992713A (zh) * | 2015-05-14 | 2015-10-21 | 电子科技大学 | 一种快速广播音频比对方法 |
CN105893549A (zh) * | 2016-03-31 | 2016-08-24 | 中国人民解放军信息工程大学 | 音频检索方法及装置 |
CN106448673A (zh) * | 2016-09-18 | 2017-02-22 | 广东顺德中山大学卡内基梅隆大学国际联合研究院 | 一种汉语电子喉语音转换方法 |
CN107301859A (zh) * | 2017-06-21 | 2017-10-27 | 南京邮电大学 | 基于自适应高斯聚类的非平行文本条件下的语音转换方法 |
US10388272B1 (en) * | 2018-12-04 | 2019-08-20 | Sorenson Ip Holdings, Llc | Training speech recognition systems using word sequences |
Non-Patent Citations (2)
Title |
---|
Tonal alignment, syllable structure and coarticulation: Toward an integrated model;Yi Xu et al.;《Italian Journal of Linguistics》;20061231;第125-159页 * |
基于深度学习和手工设计特征融合的翻唱歌曲识别模型;杨妹 等;《华东理工大学学报(自然科学版)》;20181031;第44卷(第5期);第752-759页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110782908A (zh) | 2020-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110782908B (zh) | 一种音频信号处理的方法及装置 | |
CN110148427B (zh) | 音频处理方法、装置、系统、存储介质、终端及服务器 | |
CA1311059C (en) | Speaker-trained speech recognizer having the capability of detecting confusingly similar vocabulary words | |
US8244546B2 (en) | Singing synthesis parameter data estimation system | |
Ryynanen et al. | Polyphonic music transcription using note event modeling | |
US8005666B2 (en) | Automatic system for temporal alignment of music audio signal with lyrics | |
US20050086052A1 (en) | Humming transcription system and methodology | |
CN110600055B (zh) | 一种使用旋律提取与语音合成技术的歌声分离方法 | |
Nakano et al. | VocaListener: A singing-to-singing synthesis system based on iterative parameter estimation | |
CN109817197B (zh) | 歌声生成方法、装置、计算机设备和存储介质 | |
JPH0431600B2 (zh) | ||
Wang et al. | On the preparation and validation of a large-scale dataset of singing transcription | |
CN112489629A (zh) | 语音转写模型、方法、介质及电子设备 | |
Yong et al. | Singing expression transfer from one voice to another for a given song | |
JP4323029B2 (ja) | 音声処理装置およびカラオケ装置 | |
Li et al. | Improving accent conversion with reference encoder and end-to-end text-to-speech | |
JP5790496B2 (ja) | 音響処理装置 | |
Potard et al. | Preliminary work on speaker adaptation for dnn-based speech synthesis | |
Lee et al. | A comparative study of spectral transformation techniques for singing voice synthesis | |
JP5131904B2 (ja) | 音楽音響信号と歌詞の時間的対応付けを自動で行うシステム及び方法 | |
Shih et al. | A statistical multidimensional humming transcription using phone level hidden Markov models for query by humming systems | |
JP6849977B2 (ja) | テキスト表示用同期情報生成装置および方法並びに音声認識装置および方法 | |
Aso et al. | Speakbysinging: Converting singing voices to speaking voices while retaining voice timbre | |
JP6680029B2 (ja) | 音響処理方法および音響処理装置 | |
Suzić et al. | Novel alignment method for DNN TTS training using HMM synthesis models |
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 |