CN110299148A - 基于Tensorflow的语音融合方法、电子装置及存储介质 - Google Patents

基于Tensorflow的语音融合方法、电子装置及存储介质 Download PDF

Info

Publication number
CN110299148A
CN110299148A CN201910566906.2A CN201910566906A CN110299148A CN 110299148 A CN110299148 A CN 110299148A CN 201910566906 A CN201910566906 A CN 201910566906A CN 110299148 A CN110299148 A CN 110299148A
Authority
CN
China
Prior art keywords
voice
style
content
tensorflow
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
CN201910566906.2A
Other languages
English (en)
Other versions
CN110299148B (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.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen Co 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 Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN201910566906.2A priority Critical patent/CN110299148B/zh
Priority to PCT/CN2019/103573 priority patent/WO2020258503A1/zh
Publication of CN110299148A publication Critical patent/CN110299148A/zh
Application granted granted Critical
Publication of CN110299148B publication Critical patent/CN110299148B/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
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/003Changing voice quality, e.g. pitch or formants
    • G10L21/007Changing voice quality, e.g. pitch or formants characterised by the process used
    • 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/03Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
    • G10L25/18Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters the extracted parameters being spectral information of each sub-band
    • 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/27Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique
    • G10L25/30Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Quality & Reliability (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Circuit For Audible Band Transducer (AREA)
  • Machine Translation (AREA)

Abstract

本发明涉及人工智能技术领域,本发明提出一种基于Tensorflow的语音融合方法、电子装置及计算机可读存储介质,其中的方法包括:将内容语音浮点数据和风格语音浮点数据通过STFT等变化转换成内容语音频谱图和风格语音频谱图;通过过滤器模板分别对两种语音频谱图进行特征提取,获取两种语音的声学特征,并创建loss函数;通过Tensorflow的优化器对loss函数进行迭代优化,当loss函数的差值最小时,确定待融合的内容语音数据和风格语音数据;将待融合的语音数据进行ISTFT等变换;通过librosa将ISTFT等变换处理后的待融合的内容语音数据和风格语音数据合成MP3格式的语音。本发明通过基于Tensorflow将不同风格的语音融合在一起,为说话声自动增加背景音乐、智能创造新音乐,从而为用户提供更多地体验。

Description

基于Tensorflow的语音融合方法、电子装置及存储介质
技术领域
本发明涉及人工智能技术领域,尤其涉及一种基于Tensorflow的语音融合方法、电子装置及计算机可读存储介质。
背景技术
目前的语音融合为用户提供了很多需求和方便,但是在语音系统中还不能实现不同风格的语音进行融合。其中,随着深度学习技术的发展和应用,为语音融合提供可能。也就是说,如何分别捕获内容语音、风格语音文件的特征,通过深度学习,将两者的特征进行融合,再将其合成一条新语音成为一种可能。即:如何将一个语音风格迁移到另一条不同的语音。
目前为了满足用户将不同风格的语音进行融合的需求,亟需一种不同风格的语音融合的方法。
发明内容
本发明提供一种基于Tensorflow的语音融合方法、电子装置及计算机可读存储介质,其主要目的在于通过基于Tensorflow将不同风格的语音融合在一起,为说话声自动增加背景音乐、智能创造新音乐,从而为用户提供更多方便和更好地体验。
此外,为实现上述目的,本发明提供一种基于Tensorflow的语音融合方法,该方法包括:
将内容语音浮点数据和风格语音浮点数据通过STFT等变化转换成内容语音频谱图和风格语音频谱图;
通过过滤器模板分别对所述内容语音频谱图和所述风格语音频谱图进行特征提取,获取内容语音的声学特征和风格语音的声学特征;
根据所述内容语音的声学特征和所述风格语音的声学特征创建loss函数;
通过Tensorflow的优化器对所述loss函数进行迭代优化,当所述loss函数的差值最小时,确定待融合的内容语音数据和风格语音数据;
将所述待融合的内容语音数据和风格语音数据进行ISTFT等变换;
通过librosa将ISTFT等变换处理后的待融合的内容语音数据和风格语音数据合成MP3格式的语音。
优选地,在将内容语音数据和风格语音数据通过STFT等变化转换成内容语音频谱图和风格语音频谱图的步骤之前,还包括如下步骤:
通过librosa对内容语音和风格语音进行加载处理;
将所述内容语音转换为所述内容语音浮点数据,将所述风格语音转换为所述风格语音浮点数据。
优选地,所述通过过滤器模板分别对所述内容语音频谱图和所述风格语音频谱图进行特征提取的步骤包括:
所述过滤器模板通过卷积神经网络的tf.nn.conv2d分别对所述内容语音频谱图和所述风格语音频谱图进行特征提取,其中,
所述卷积神经网络的tf.nn.conv2d为基于Tensorflow实现的卷积神经网络的函数。
优选地,所述loss函数的公式如下:
ltotal(a,x,p)=α*lstyle(a,x)+β*lcontent(p,x)
其中,ltotal表示全部差值;lstyle表示风格语音差值;
lcontent表示内容语音差值;α表示风格语音参数;
β表示内容语音参数;a表示风格语音特征值;
p表示内容语音特征值;x表示变量特征值。
优选地,所述通过Tensorflow的优化器对所述loss函数进行迭代优化的步骤包括:
通过改变loss函数的变量x,获取ltotal值;
根据获取的ltotal的最小值,确定loss函数的变量x值;
根据确定的loss函数的变量x值,确定内容语音特征值和风格语音特征值,进而确定待融合的内容语音数据和风格语音数据。
优选地,所述Tensorflow的优化器为L-BFGS-B算法。
为实现上述目的,本发明还提供一种电子装置,该装置包括:存存储器、处理器,所述存储器中包括基于Tensorflow的语音融合程序,所述基于Tensorflow的语音融合程序被所述处理器执行时实现如下步骤:
将内容语音浮点数据和风格语音浮点数据通过STFT等变化转换成内容语音频谱图和风格语音频谱图;
通过过滤器模板分别对所述内容语音频谱图和所述风格语音频谱图进行特征提取,获取内容语音的声学特征和风格语音的声学特征;
根据所述内容语音的声学特征和所述风格语音的声学特征创建loss函数;
通过Tensorflow的优化器对所述loss函数进行迭代优化,当所述loss函数的差值最小时,确定待融合的内容语音数据和风格语音数据;
将所述待融合的内容语音数据和风格语音数据进行ISTFT等变换;
通过librosa将ISTFT等变换处理后的待融合的内容语音数据和风格语音数据合成MP3格式的语音。
优选地,所述loss函数的公式如下:
ltotal(a,x,p)=α*lstyle(a,x)+β*lcontent(p,x)
其中,ltotal表示全部差值;lstyle表示风格语音差值;
lcontent表示内容语音差值;α表示风格语音参数;
β表示内容语音参数;a表示风格语音特征值;
p表示内容语音特征值;x表示变量特征值。
优选地,所述通过Tensorflow的优化器对所述loss函数进行迭代优化的步骤包括:
通过改变loss函数的变量x,获取ltotal值;
根据获取的ltotal的最小值,确定loss函数的变量x值;
根据确定的loss函数的变量x值,确定内容语音特征值和风格语音特征值,进而确定待融合的内容语音数据和风格语音数据。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中包括基于Tensorflow的语音融合程序,所述基于Tensorflow的语音融合程序被处理器执行时,实现如上所述的基于Tensorflow的语音融合方法中的任意步骤。
本发明提出的基于Tensorflow的语音融合方法、电子装置及计算机可读存储介质,通过Tensorflow的过滤器模板提取内容语音和风格语音的声学特征,并创建loss函数,通过Tensorflow的优化器对所述loss函数进行迭代优化,确定待融合的内容语音数据和风格语音数据,通过librosa将待融合的内容语音数据和风格语音数据进行融合,从而实现将不同风格的语音融合在一起,为说话声自动增加背景音乐、智能创造新音乐,从而为用户提供更多方便和更好地体验。
附图说明
图1为本发明基于Tensorflow的语音融合方法较佳实施例的应用环境示意图;
图2为图1中基于Tensorflow的语音融合程序较佳实施例的模块示意图;
图3为本发明基于Tensorflow的语音融合方法较佳实施例的流程图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种基于Tensorflow的语音融合方法,应用于一种电子装置1。参照图1所示,为本发明基于Tensorflow的语音融合方法较佳实施例的应用环境示意图。
在本实施例中,电子装置1可以是服务器、智能手机、平板电脑、便携计算机、桌上型计算机等具有运算功能的终端设备。
该电子装置1包括:处理器12、存储器11、网络接口14及通信总线15。
存储器11包括至少一种类型的可读存储介质。所述至少一种类型的可读存储介质可为如闪存、硬盘、多媒体卡、卡型存储器11等的非易失性存储介质。在一些实施例中,所述可读存储介质可以是所述电子装置1的内部存储单元,例如该电子装置1的硬盘。在另一些实施例中,所述可读存储介质也可以是所述电子装置1的外部存储器11,例如所述电子装置1上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。
在本实施例中,所述存储器11的可读存储介质通常用于存储安装于所述电子装置1的基于Tensorflow的语音融合程序10、过滤器模板及TensorFlow的优化器等。所述存储器11还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU),微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行人物情绪分析程序10等。
网络接口14可选地可以包括标准的有线接口、无线接口(如WI-FI接口),通常用于在该电子装置1与其他电子设备之间建立通信连接。
通信总线15用于实现这些组件之间的连接通信。
图1仅示出了具有组件11-15的电子装置1,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。
可选地,该电子装置1还可以包括用户接口,用户接口可以包括输入单元比如键盘(Keyboard)、语音输入装置比如麦克风(microphone)等具有语音识别功能的设备、语音输出装置比如音响、耳机等,可选地用户接口还可以包括标准的有线接口、无线接口。
可选地,该电子装置1还可以包括显示器,显示器也可以称为显示屏或显示单元。在一些实施例中可以是LED显示器、液晶显示器、触控式液晶显示器以及有机发光二极管(Organic Light-Emitting Diode,OLED)触摸器等。显示器用于显示在电子装置1中处理的信息以及用于显示可视化的用户界面。
可选地,该电子装置1还包括触摸传感器。所述触摸传感器所提供的供用户进行触摸操作的区域称为触控区域。此外,这里所述的触摸传感器可以为电阻式触摸传感器、电容式触摸传感器等。而且,所述触摸传感器不仅包括接触式的触摸传感器,也可包括接近式的触摸传感器等。此外,所述触摸传感器可以为单个传感器,也可以为例如阵列布置的多个传感器。
此外,该电子装置1的显示器的面积可以与所述触摸传感器的面积相同,也可以不同。可选地,将显示器与所述触摸传感器层叠设置,以形成触摸显示屏。该装置基于触摸显示屏侦测用户触发的触控操作。
可选地,该电子装置1还可以包括射频(Radio Frequency,RF)电路,传感器、音频电路等等,在此不再赘述。
在图1所示的装置实施例中,作为一种计算机存储介质的存储器11中可以包括操作系统、以及基于Tensorflow的语音融合程序10;处理器12执行存储器11中存储的基于Tensorflow的语音融合程序10时实现如下步骤:
将内容语音浮点数据和风格语音浮点数据通过STFT等变化转换成内容语音频谱图和风格语音频谱图;
通过过滤器模板分别对所述内容语音频谱图和所述风格语音频谱图进行特征提取,获取内容语音的声学特征和风格语音的声学特征;
根据所述内容语音的声学特征和所述风格语音的声学特征创建loss函数;
通过Tensorfow的优化器对所述loss函数进行迭代优化,当所述loss函数的差值最小时,确定待融合的内容语音数据和风格语音数据;
将所述待融合的内容语音数据和风格语音数据进行ISTFT等变换;
通过librosa将ISTFT等变换处理后的待融合的内容语音数据和风格语音数据合成MP3格式的语音。
在本发明中,在将内容语音数据和风格语音数据通过STFT等变化转换成内容语音频谱图和风格语音频谱图的步骤之前,还包括如下步骤:
通过librosa对内容语音和风格语音进行加载处理;
将所述内容语音转换为所述内容语音浮点数据,将所述风格语音转换为所述风格语音浮点数据。
其中,librosa是一个用于音频、音乐分析、处理的python工具包,一些常见的时频处理、特征提取、绘制声音图形等功能应有尽有,功能十分强大。
加载两条语音的目的是想明确所操作的语音是哪个,即想要融合的内容语音和风格语音各是什么。
语音本身是wav格式的文件,加载是需要把其中wav格式转化为的数据(float浮点数据)放到计算机内存中,以便后续的步骤。
接下来,将获取的内容语音浮点数据和风格语音浮点数据通过STFT等变化转换成内容语音频谱图和风格语音频谱图。其中,STFT(短时叶变换)是和傅里叶变换相关的一种数学变换,用以确定时变信号其局部区域正弦波的频率与相位。声音频谱图就是使用STFT绘制而成的,其实质就是STFT的能量,也就是模值的平方。
在本发明中,调用librosa的STFT函数实现浮点数据到频谱图的转换。即:通过调用librosa的STFT函数将内容语音和风格语音由浮点数据转化为内容语音频谱图和风格语音频谱图。
其中,通过过滤器模板分别对所述内容语音频谱图和所述风格语音频谱图进行特征提取,获取内容语音的声学特征和风格语音的声学特征。即:新建一个过滤器模板,分别捕获出内容语音和风格语音的声学特征。
过滤器模板其实是对上述得到的频谱做特征提取,采用的方式是用卷积神经网络的tf.nn.conv2d方法,其中卷积核是自定义(如:随机生成一定维度的数组乘以一个系数),就像在更高纬度抽取一些数值来代表原来更大、更多信息的语音。内容语音和风格语音特征当前抽取还不是非常准确,但可以近似的生成融合后的语音,即融合后的新语音有分别来自原来内容语音、风格语音的内容。
具体地,tf.nn.conv2d是Tensorflow里面实现卷积的函数,这是搭建卷积神经网络比较核心的一个方法。
tf.nn.conv2d(input,filter,strides,padding,use_cudnn_on_gpu=None,name=None)
除去name参数用以指定该操作的name,一共五个参数:
第一个参数input:指需要做卷积的输入图像,它要求是一个Tensor,具有[batch,in_height,in_width,in_channels]这样的shape,具体含义是[训练时一个batch的图片数量,图片高度,图片宽度,图像通道数],注意这是一个4维的Tensor,要求类型为float32和float64其中之一;
第二个参数filter:相当于CNN中的卷积核,它要求是一个Tensor,具有[filter_height,filter_width,in_channels,out_channels]这样的shape,具体含义是[卷积核的高度,卷积核的宽度,图像通道数,卷积核个数],要求类型与参数input相同,有一个地方需要注意,第三维in_channels,就是参数input的第四维;
第三个参数strides:卷积时在图像每一维的步长,这是一个一维的向量,长度4;
第四个参数padding:string类型的量,只能是"SAME","VALID"其中之一,这个值决定了不同的卷积方式;
第五个参数:use_cudnn_on_gpu:bool类型,是否使用cudnn加速,默认为true。
结果返回一个Tensor,这个输出。
接下来,建一个变量X列表,并根据声学特征建立一个loss函数。新建X列表就是初始一个列表变量(也可认为是建立一个Tensorflow的张量),它的数据代表着新生成融合语音的数据。只不过初始化时,值为空,要通过机器学习来修改里面的数据,最终逼近真正合成语音的数值。
其中,所述loss函数的公式如下:
ltotal(a,x,p)=α*lstyle(a,x)+β*lcontent(p,x)
其中,ltotal表示全部差值;lstyle表示风格语音差值;lcontent表示内容语音差值;α表示风格语音参数;β表示内容语音参数;a表示风格语音特征值;p表示内容语音特征值;x表示变量特征值。
当x的值达到某一个值时,此时,获取的ltotal为最小(loss函数L,不一定要等于0,也可以为0,只要其在变小并且有收敛于某一值即可),x的值约等于风格语音特征值,以及约等于内容语音特征值,其中,a和p可以看做为提取的特征值。
根据获取的ltotal为最小值时,确定X的值,从而确定融合语音的数据。
其中,所述通过Tensorflow的优化器对所述loss函数进行迭代优化的步骤包括:
通过改变loss函数的变量x,获取ltotal值;
根据获取的ltotal的最小值,确定loss函数的变量x值;
根据确定的loss函数的变量x值,确定内容语音特征值和风格语音特征值,进而确定待融合的内容语音数据和风格语音数据。
通过Tensorflow中的优化器对loss函数的行数进行迭代优化,使用tf.contrib.optScipyOptimizerInterface方法,具体的优化器是:L-BFGS-B。
简单说,就是改变变量X列表里面数值,同时使上面的损失函数loss的差值达到最小。
其中,tf.contrib.optScipyOptimizerInterface这个接口提供了实现,只要在入参中指定method=‘L-BFGS-B’,Tensorflow就会直接调用,具体的算法内容是现有技术,在此不再做详述。
其中,将所述待融合的内容语音数据和风格语音数据进行ISTFT等变换。此过程是“将内容语音浮点数据和风格语音浮点数据通过STFT等变化转换成内容语音频谱图和风格语音频谱图”的过程的逆操作,将获取的待融合的内容语音数据和风格语音数据,将获取的语音的频域转换成时域,最终由时域来重新生成语音。
需要说明的是,对信号进行时域分析时,有时一些信号的时域参数相同,但并不能说明信号就完全相同。比如具有相同函数结构的两个信号可能并不相同,因为信号不仅随时间变化,还与频率、相位等信息有关,这就需要进一步分析信号的频率结构,并在频率域中对信号进行描述。
动态信号从时间域变换到频率域主要通过傅立叶级数和傅立叶变换实现。周期信号靠傅立叶级数,非周期信号靠傅立叶变换。很简单时域分析的函数是参数是t,也就是y=f(t),频域分析时,参数是w,也就是y=F(w)两者之间可以互相转化。时域函数通过傅立叶或者拉普拉斯变换就变成了频域函数。
傅里叶变换可以将一个时域信号转换成在不同频率下对应的振幅及相位,其频谱就是时域信号在频域下的表现,而反傅里叶变换可以将频谱再转换回时域的信号。
上述实施例提出的电子装置1,通过Tensorflow的过滤器模板提取内容语音和风格语音的声学特征,并创建loss函数,通过Tensorflow的优化器对所述loss函数进行迭代优化,确定待融合的内容语音数据和风格语音数据,通过librosa将待融合的内容语音数据和风格语音数据进行融合,从而实现将不同风格的语音融合在一起,为说话声自动增加背景音乐、智能创造新音乐,从而为用户提供更多方便和更好地体验。
在其他实施例中,基于Tensorflow的语音融合程序10还可以被分割为一个或者多个模块,一个或者多个模块被存储于存储器11中,并由处理器12执行,以完成本发明。本发明所称的模块是指能够完成特定功能的一系列计算机程序指令段。参照图2所示,为图1中基于Tensorflow的语音融合程序10较佳实施例的程序模块图。所述基于Tensorflow的语音融合程序10可以被分割为:频谱图获取模块110、声学特征获取模块120、loss函数创建模块130、待融合语音数据获取模块140、ISTFT等变换模块150和语音融合模块160。所述模块110-160所实现的功能或操作步骤均与上文类似,此处不再详述,示例性地,例如其中:
频谱图获取模块110,用于将内容语音浮点数据和风格语音浮点数据通过STFT等变化转换成内容语音频谱图和风格语音频谱图;
声学特征获取模块120,用于通过过滤器模板分别对所述内容语音频谱图和所述风格语音频谱图进行特征提取,获取内容语音的声学特征和风格语音的声学特征;
loss函数创建模块130,用于根据所述内容语音的声学特征和所述风格语音的声学特征创建loss函数;
待融合语音数据获取模块140,用于通过Tensorflow的优化器对所述loss函数进行迭代优化,当所述loss函数的差值最小时,确定待融合的内容语音数据和风格语音数据;
ISTFT等变换模块150,用于将所述待融合的内容语音数据和风格语音数据进行ISTFT等变换;
语音融合模块160,用于通过librosa将ISTFT等变换处理后的待融合的内容语音数据和风格语音数据合成MP3格式的语音。
优选地,基于Tensorflow的语音融合程序10还包括语音加载模块。其中,所述语音加载模块,用于通过librosa对内容语音和风格语音进行加载处理;将所述内容语音转换为所述内容语音浮点数据,将所述风格语音转换为所述风格语音浮点数据。
此外,本发明还提供一种基于Tensorflow的语音融合方法。参照图3所示,为本发明基于Tensorflow的语音融合方法较佳实施例的流程图。该方法可以由一个装置执行,该装置可以由软件和/或硬件实现。
在本实施例中,基于Tensorflow的语音融合方法,包括:步骤S10-步骤S60。
步骤S10:将内容语音浮点数据和风格语音浮点数据通过STFT等变化转换成内容语音频谱图和风格语音频谱图;
步骤S20:通过过滤器模板分别对所述内容语音频谱图和所述风格语音频谱图进行特征提取,获取内容语音的声学特征和风格语音的声学特征;
步骤S30:根据所述内容语音的声学特征和所述风格语音的声学特征创建loss函数;
步骤S40:通过Tensorflow的优化器对所述loss函数进行迭代优化,当所述loss函数的差值最小时,确定待融合的内容语音数据和风格语音数据;
步骤S50:将所述待融合的内容语音数据和风格语音数据进行ISTFT等变换;
步骤S60:通过librosa将ISTFT等变换处理后的待融合的内容语音数据和风格语音数据合成MP3格式的语音。
在本发明中在步骤S10之前还包括以下步骤:
通过librosa对内容语音和风格语音进行加载处理;
将所述内容语音转换为所述内容语音浮点数据,将所述风格语音转换为所述风格语音浮点数据。
其中,librosa是一个用于音频、音乐分析、处理的python工具包,一些常见的时频处理、特征提取、绘制声音图形等功能应有尽有,功能十分强大。
加载两条语音的目的是想明确所操作的语音是哪个,即想要融合的内容语音和风格语音各是什么。
语音本身是wav格式的文件,加载是需要把其中wav格式转化为的数据(float浮点数据)放到计算机内存中,以便后续的步骤。
在步骤S10中,将获取的内容语音浮点数据和风格语音浮点数据通过STFT等变化转换成内容语音频谱图和风格语音频谱图。其中,STFT(短时叶变换)是和傅里叶变换相关的一种数学变换,用以确定时变信号其局部区域正弦波的频率与相位。声音频谱图就是使用stft绘制而成的,其实质就是stft的能量,也就是模值的平方。
在本发明的实施例中,调用librosa的stft函数实现浮点数据到频谱图的转换。即:通过调用librosa的stft函数将内容语音和风格语音由浮点数据转化为内容语音频谱图和风格语音频谱图。
在步骤S20中,通过过滤器模板分别对所述内容语音频谱图和所述风格语音频谱图进行特征提取,获取内容语音的声学特征和风格语音的声学特征。即:新建一个过滤器模板,分别捕获出内容语音和风格语音的声学特征。
过滤器模板其实是对步骤S10得到的频谱做特征提取,采用的方式是用卷积神经网络的tf.nn.conv2d方法,其中卷积核是自定义(如:随机生成一定维度的数组乘以一个系数),就像在更高纬度抽取一些数值来代表原来更大、更多信息的语音。内容语音和风格语音特征当前抽取还不是非常准确,但可以近似的生成融合后的语音,即融合后的新语音有分别来自原来内容语音、风格语音的内容。
具体地,tf.nn.conv2d是Tensorflow里面实现卷积的函数,这是搭建卷积神经网络比较核心的一个方法。
tf.nn.conv2d(input,filter,strides,padding,use_cudnn_on_gpu=None,name=None)
除去name参数用以指定该操作的name,一共五个参数:
第一个参数input:指需要做卷积的输入图像,它要求是一个Tensor,具有[batch,in_height,in_width,in_channels]这样的shape,具体含义是[训练时一个batch的图片数量,图片高度,图片宽度,图像通道数],注意这是一个4维的Tensor,要求类型为float32和float64其中之一;
第二个参数filter:相当于CNN中的卷积核,它要求是一个Tensor,具有[filter_height,filter_width,in_channels,out_channels]这样的shape,具体含义是[卷积核的高度,卷积核的宽度,图像通道数,卷积核个数],要求类型与参数input相同,有一个地方需要注意,第三维in_channels,就是参数input的第四维;
第三个参数strides:卷积时在图像每一维的步长,这是一个一维的向量,长度4;
第四个参数padding:string类型的量,只能是"SAME","VALID"其中之一,这个值决定了不同的卷积方式;
第五个参数:use_cudnn_on_gpu:bool类型,是否使用cudnn加速,默认为true。
结果返回一个Tensor,这个输出。
在步骤S30中,根据所述内容语音的声学特征和所述风格语音的声学特征创建loss函数接下来。
在本发明的实施例中,建一个变量X列表,并根据声学特征建立一个loss函数。新建X列表就是初始一个列表变量(也可认为是建立一个tensorflow的张量),它的数据代表着新生成融合语音的数据。只不过初始化时,值为空,要通过机器学习来修改里面的数据,最终逼近真正合成语音的数值。
其中,所述loss函数的公式如下:
ltotal(a,x,p)=α*lstyle(a,x)+β*lcontent(p,x)
其中,ltotal表示全部差值;lstyle表示风格语音差值;lcontent表示内容语音差值;α表示风格语音参数;β表示内容语音参数;a表示风格语音特征值;p表示内容语音特征值;x表示变量特征值。
当x的值达到某一个值时,此时,获取的ltotal为最小(loss函数L,不一定要等于0,也可以为0,只要其在变小并且有收敛于某一值即可),x的值约等于风格语音特征值,以及约等于内容语音特征值,其中,a和p可以看做为提取的特征值。
根据获取的ltotal为最小值时,确定X的值,从而确定融合语音的数据。
步骤S40:通过Tensorflow的优化器对所述loss函数进行迭代优化,当所述loss函数的差值最小时,确定待融合的内容语音数据和风格语音数据。
在本发明的实施例中,所述通过Tensorfow的优化器对所述loss函数进行迭代优化的步骤包括:
通过改变loss函数的变量x,获取ltotal值;
根据获取的ltotal的最小值,确定loss函数的变量x值;
根据确定的loss函数的变量x值,确定内容语音特征值和风格语音特征值,进而确定待融合的内容语音数据和风格语音数据。
通过Tensorflow中的优化器对loss函数行数进行迭代优化,使用tf.contrib.optScipyOptimizerInterface方法,具体的优化器是:L-BFGS-B。
简单说,就是改变变量X列表里面数值,同时使上面的损失函数loss达到最小。
其中,tf.contrib.optScipyOptimizerInterface这个接口提供了实现,只要在入参中指定method=‘L-BFGS-B’,tensorflow就会直接调用,具体的算法内容是现有技术,在此不再做详述。
步骤S50:将所述待融合的内容语音数据和风格语音数据进行ISTFT等变换。
其中,在本发明的实施例中将所述待融合的内容语音数据和风格语音数据进行ISTFT等变换。此过程是步骤S10的过程的逆操作,将获取的待融合的内容语音数据和风格语音数据,将获取的语音的频域转换成时域,最终由时域来重新生成语音。
需要说明的是,对信号进行时域分析时,有时一些信号的时域参数相同,但并不能说明信号就完全相同。比如具有相同函数结构的两个信号可能并不相同,因为信号不仅随时间变化,还与频率、相位等信息有关,这就需要进一步分析信号的频率结构,并在频率域中对信号进行描述。
动态信号从时间域变换到频率域主要通过傅立叶级数和傅立叶变换实现。周期信号靠傅立叶级数,非周期信号靠傅立叶变换。很简单时域分析的函数是参数是t,也就是y=f(t),频域分析时,参数是w,也就是y=F(w)两者之间可以互相转化。时域函数通过傅立叶或者拉普拉斯变换就变成了频域函数。
傅里叶变换可以将一个时域信号转换成在不同频率下对应的振幅及相位,其频谱就是时域信号在频域下的表现,而反傅里叶变换可以将频谱再转换回时域的信号。
上述实施例提出的基于Tensorflow的语音融合方法,通过Tensorflow的过滤器模板提取内容语音和风格语音的声学特征,并创建loss函数,通过Tensorflow的优化器对所述loss函数的进行迭代优化,确定待融合的内容语音数据和风格语音数据,通过librosa将待融合的内容语音数据和风格语音数据进行融合,从而实现将不同风格的语音融合在一起,为说话声自动增加背景音乐、智能创造新音乐,从而为用户提供更多方便和更好地体验。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质中包括基于Tensorflow的语音融合程序,所述基于Tensorflow的语音融合程序被处理器执行时实现如下操作:
将内容语音浮点数据和风格语音浮点数据通过STFT等变化转换成内容语音频谱图和风格语音频谱图;
通过过滤器模板分别对所述内容语音频谱图和所述风格语音频谱图进行特征提取,获取内容语音的声学特征和风格语音的声学特征;
根据所述内容语音的声学特征和所述风格语音的声学特征创建loss函数;
通过Tensorflow的优化器对所述loss函数进行迭代优化,当所述loss函数的差值最小时,确定待融合的内容语音数据和风格语音数据;
将所述待融合的内容语音数据和风格语音数据进行ISTFT等变换;
通过librosa将ISTFT等变换处理后的待融合的内容语音数据和风格语音数据合成MP3格式的语音。
优选地,在将内容语音数据和风格语音数据通过STFT等变化转换成内容语音频谱图和风格语音频谱图的步骤之前,还包括如下步骤:
通过librosa对内容语音和风格语音进行加载处理;
将所述内容语音转换为所述内容语音浮点数据,将所述风格语音转换为所述风格语音浮点数据。
优选地,所述通过过滤器模板分别对所述内容语音频谱图和所述风格语音频谱图进行特征提取的步骤包括:
所述过滤器模板通过卷积神经网络的tf.nn.conv2d分别对所述内容语音频谱图和所述风格语音频谱图进行特征提取,其中,
所述卷积神经网络的tf.nn.conv2d为基于Tensorflow实现的卷积神经网络的函数。
优选地,所述loss函数的公式如下:
ltotal(a,x,p)=α*lstyle(a,x)+β*lcontent(p,x)
其中,ltotal表示全部差值;lstyle表示风格语音差值;
lcontent表示内容语音差值;α表示风格语音参数;
β表示内容语音参数;a表示风格语音特征值;
p表示内容语音特征值;x表示变量特征值。
优选地,所述通过TensorFlow的优化器对所述loss函数进行迭代优化的步骤包括:
通过改变loss函数的变量x,获取ltotal值;
根据获取的ltotal的最小值,确定loss函数的变量x值;
根据确定的loss函数的变量x值,确定内容语音特征值和风格语音特征值,进而确定待融合的内容语音数据和风格语音数据。
优选地,所述Tensorflow的优化器为L-BFGS-B算法。
本发明之计算机可读存储介质的具体实施方式与上述基于Tensorflow的语音融合方法、电子装置的具体实施方式大致相同,在此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种基于Tensorflow的语音融合方法,应用于电子装置,其特征在于,所述方法包括:
将内容语音浮点数据和风格语音浮点数据通过STFT等变化转换成内容语音频谱图和风格语音频谱图;
通过过滤器模板分别对所述内容语音频谱图和所述风格语音频谱图进行特征提取,获取内容语音的声学特征和风格语音的声学特征;
根据所述内容语音的声学特征和所述风格语音的声学特征创建loss函数;
通过Tensorflow的优化器对所述loss函数进行迭代优化,当所述loss函数的差值最小时,确定待融合的内容语音数据和风格语音数据;
将所述待融合的内容语音数据和风格语音数据进行ISTFT等变换;
通过librosa将ISTFT等变换处理后的待融合的内容语音数据和风格语音数据合成MP3格式的语音。
2.根据权利要求1所述的基于Tensorflow的语音融合方法,其特征在于,在将内容语音数据和风格语音数据通过STFT等变化转换成内容语音频谱图和风格语音频谱图的步骤之前,还包括如下步骤:
通过librosa对内容语音和风格语音进行加载处理;
将所述内容语音转换为所述内容语音浮点数据,将所述风格语音转换为所述风格语音浮点数据。
3.根据权利要求1所述的基于Tensorflow的语音融合方法,其特征在于,所述通过过滤器模板分别对所述内容语音频谱图和所述风格语音频谱图进行特征提取的步骤包括:
所述过滤器模板通过卷积神经网络的tf.nn.conv2d分别对所述内容语音频谱图和所述风格语音频谱图进行特征提取,其中,
所述卷积神经网络的tf.nn.conv2d为基于Tensorflow实现的卷积神经网络的函数。
4.根据权利要求1所述的基于Tensorflow的语音融合方法,其特征在于,所述loss函数的公式如下:
ltotal(a,x,p)=α*lstyle(a,x)+β*lcontent(p,x)
其中,ltotal表示全部差值;lstyle表示风格语音差值;
lcontent表示内容语音差值;α表示风格语音参数;
β表示内容语音参数;a表示风格语音特征值;
p表示内容语音特征值;x表示变量特征值。
5.根据权利要求4所述的基于Tensorflow的语音融合方法,其特征在于,所述通过Tensorflow的优化器对所述loss函数进行迭代优化的步骤包括:
通过改变loss函数的变量x,获取ltotal值;
根据获取的ltotal的最小值,确定loss函数的变量x值;
根据确定的loss函数的变量x值,确定内容语音特征值和风格语音特征值,进而确定待融合的内容语音数据和风格语音数据。
6.根据权利要求1所述的基于Tensorflow的语音融合方法,其特征在于,所述Tensorflow的优化器为L-BFGS-B算法。
7.一种电子装置,其特征在于,该电子装置包括:存储器、处理器,所述存储器中包括基于Tensorflow的语音融合程序,所述基于Tensorflow的语音融合程序被所述处理器执行时实现如下步骤:
将内容语音浮点数据和风格语音浮点数据通过STFT等变化转换成内容语音频谱图和风格语音频谱图;
通过过滤器模板分别对所述内容语音频谱图和所述风格语音频谱图进行特征提取,获取内容语音的声学特征和风格语音的声学特征;
根据所述内容语音的声学特征和所述风格语音的声学特征创建loss函数;
通过Tensorflow的优化器对所述loss函数进行迭代优化,当所述loss函数的差值最小时,确定待融合的内容语音数据和风格语音数据;
将所述待融合的内容语音数据和风格语音数据进行ISTFT等变换;
通过librosa将ISTFT等变换处理后的待融合的内容语音数据和风格语音数据合成MP3格式的语音。
8.根据权利要求7所述的电子装置,其特征在于,所述loss函数的公式如下:
ltotal(a,x,p)=α*lstyle(a,x)+β*lcontent(p,x)
其中,ltotal表示全部差值;lstyle表示风格语音差值;
lcontent表示内容语音差值;α表示风格语音参数;
β表示内容语音参数;a表示风格语音特征值;
p表示内容语音特征值;x表示变量特征值。
9.根据权利要求8所述的电子装置,其特征在于,所述通过TensorFlow的优化器对所述loss函数进行迭代优化的步骤包括:
通过改变loss函数的变量x,获取ltotal值;
根据获取的ltotal的最小值,确定loss函数的变量x值;
根据确定的loss函数的变量x值,确定内容语音特征值和风格语音特征值,进而确定待融合的内容语音数据和风格语音数据。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中包括基于Tensorflow的语音融合程序,所述基于Tensorflow的语音融合程序被处理器执行时,实现如权利要求1至6中任一项所述的基于Tensorflow的语音融合方法的步骤。
CN201910566906.2A 2019-06-27 2019-06-27 基于Tensorflow的语音融合方法、电子装置及存储介质 Active CN110299148B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201910566906.2A CN110299148B (zh) 2019-06-27 2019-06-27 基于Tensorflow的语音融合方法、电子装置及存储介质
PCT/CN2019/103573 WO2020258503A1 (zh) 2019-06-27 2019-08-30 基于Tensorflow的语音融合方法、电子装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910566906.2A CN110299148B (zh) 2019-06-27 2019-06-27 基于Tensorflow的语音融合方法、电子装置及存储介质

Publications (2)

Publication Number Publication Date
CN110299148A true CN110299148A (zh) 2019-10-01
CN110299148B CN110299148B (zh) 2024-05-28

Family

ID=68029015

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910566906.2A Active CN110299148B (zh) 2019-06-27 2019-06-27 基于Tensorflow的语音融合方法、电子装置及存储介质

Country Status (2)

Country Link
CN (1) CN110299148B (zh)
WO (1) WO2020258503A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112259086A (zh) * 2020-10-15 2021-01-22 杭州电子科技大学 一种基于语谱图合成的语音转换方法
CN114299969A (zh) * 2021-08-19 2022-04-08 腾讯科技(深圳)有限公司 音频合成方法、装置、设备及介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110011969A (ko) * 2009-07-29 2011-02-09 한국과학기술원 Wtm을 기반으로 손실함수와 최대마진기법을 통한 음성 감정 인식 모델 구축 방법.
CN109524020A (zh) * 2018-11-20 2019-03-26 上海海事大学 一种语音增强处理方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106847294B (zh) * 2017-01-17 2018-11-30 百度在线网络技术(北京)有限公司 基于人工智能的音频处理方法和装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110011969A (ko) * 2009-07-29 2011-02-09 한국과학기술원 Wtm을 기반으로 손실함수와 최대마진기법을 통한 음성 감정 인식 모델 구축 방법.
CN109524020A (zh) * 2018-11-20 2019-03-26 上海海事大学 一种语音增强处理方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
BARIS DEMIRDELEN: "Neural Style Transfer on Audio", 《MSC ARTIFICIAL INTELLIGENCE MASTER THESIS OF UNIVERSITY OF AMSTERDAM》, pages 3 - 26 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112259086A (zh) * 2020-10-15 2021-01-22 杭州电子科技大学 一种基于语谱图合成的语音转换方法
CN114299969A (zh) * 2021-08-19 2022-04-08 腾讯科技(深圳)有限公司 音频合成方法、装置、设备及介质
CN114299969B (zh) * 2021-08-19 2024-06-11 腾讯科技(深圳)有限公司 音频合成方法、装置、设备及介质

Also Published As

Publication number Publication date
CN110299148B (zh) 2024-05-28
WO2020258503A1 (zh) 2020-12-30

Similar Documents

Publication Publication Date Title
CN111179975B (zh) 用于情绪识别的语音端点检测方法、电子设备及存储介质
CN103366740B (zh) 语音命令识别方法及装置
CN105976812A (zh) 一种语音识别方法及其设备
CN109891434A (zh) 使用神经网络生成音频
CN110060677A (zh) 语音遥控器控制方法、装置及计算机可读存储介质
CN109446328A (zh) 一种文本识别方法、装置及其存储介质
CN107679082A (zh) 问答搜索方法、装置以及电子设备
CN112527962A (zh) 基于多模态融合的智能应答方法、装置、机器可读介质及设备
CN112506341B (zh) 一种振动效果的生成方法、装置、终端设备及存储介质
CN107369439A (zh) 一种语音唤醒方法和装置
CN109074353A (zh) 语言理解和信息检索的组合
CN110264993A (zh) 语音合成方法、装置、设备及计算机可读存储介质
CN103514879A (zh) 一种基于bp神经网络的本地语音识别方法
CN111563810A (zh) 信贷风控模型生成方法、信用评估方法、系统、机器可读介质及设备
CN110299148A (zh) 基于Tensorflow的语音融合方法、电子装置及存储介质
CN110364186A (zh) 一种基于对抗学习的端到端的跨语言语音情感识别方法
CN110379411A (zh) 针对目标说话人的语音合成方法和装置
CN106227792A (zh) 用于推送信息的方法和装置
Sangeetha et al. Emotion speech recognition based on adaptive fractional deep belief network and reinforcement learning
CN111357051A (zh) 语音情感识别方法、智能装置和计算机可读存储介质
CN110070867A (zh) 语音指令识别方法、计算机装置及计算机可读存储介质
CN113593595A (zh) 基于人工智能的语音降噪方法、装置及电子设备
CN111028828A (zh) 一种基于画屏的语音交互方法、画屏及存储介质
JP2021086144A (ja) 音声対話の方法、装置、デバイス及びコンピュータ読み取り可能な記憶媒体
CN104751856A (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