以算法方式操纵音调和持续时间的库,用于重新合成语音

promo的Python项目详细描述


—————————————————————-
促销(韵律变形)
- < BR><…图片:https://travis-ci.org/timmahrt/promo.svg?分支=主
:目标:https://travis-ci.org/timmahrt/promo < BR><…图片::https://coveralls.io/repos/github/timmahrt/promo/badge.svg?分支=主
:目标:https://coveralls.io/github/timmahrt/promo?分支=主 < BR><…图片::https://img.shields.io/badge/license-mit-blue.svg?
:目标:http://opensource.org/licenses/mit < BR>
一个库,用于以算法方式控制音调和持续时间,用于
重新合成语音。 < BR>
此库可用于使用音调重新合成自然语音中的音调
从其他语音样本中提取的轮廓,生成的音调轮廓,
或通过对源音高轮廓的算法处理。 < BR><…SectNuM:: <…内容: < BR>
常见用例
================ < BR>
你能用这个图书馆做什么? < BR>
将音调或持续时间从一个语音样本应用到另一个语音样本。 < BR>
-校准在时间和赫兹中都发生 < BR>
-变形过程之后,源节点将相同
目标文件中的绝对音高和相对时间 < BR>
-时间相对于
考虑(例如,间隔时间80%时的节距值)。
使用相对时间,以便源文件和目标文件不必
长度相同。 < BR>
-如果采样频率很高,则时间变形是次要影响
但如果使用风格化的音高,则可能非常重要
具有少量节距样本的轮廓。 < BR>
-可以在整个wav文件之间或在
文本网格或其他注释中指定的相应间隔
(表示单词、重音元音等的边界) < BR>
-文件越大,结果就越不有用
不使用任何形式的文字记录 < BR>
-仅在
间隔数(相同字数或电话数等) < BR>
-可以缩放修改(可以使用
在源轮廓和目标轮廓之间为30%或60%的螺距轮廓)。 < BR>
-也可以独立改变音高范围和平均音高。 < BR>
-由普拉特进行再合成。 < BR>
-可以从praat获得音高(例如使用praatio)
或其他来源(如ESPS GETF0) < BR>
-可以生成重新合成的图(如下面的图) < BR>< BR>
示例
====================== < BR>
想想"玛丽滚桶"这句话。在第一次录音中
(examples/mary1.wav),"mary rolled the barrel"被回应
问一个问题,比如"约翰打滚了吗?"。另一方面,
在第二次录音(examples/mary2.wav)中说
回答"昨天发生了什么"等问题。 < BR>
"mary1.wav"中的"mary"比"mary2.wav"中的"mary"更为突出。
它更长,并且具有更为单调的音高偏移。使用
宣传片,我们可以使mary1.wav的发音与mary2.wav相似,甚至
尽管他们是用不同的方式和不同的演讲者说的。 < BR>
持续时间和音高进位含义。改变这些,你就可以改变
意思是被传达。 < BR>
``注意,过多地修改音调和持续时间可能会引入伪影。
即使在音高变形的mary1.wav到mary2.wav.中也能听到这样的伪影。`` < BR>
音高变形(示例/音高变形示例.py): < BR>
下图显示了从mary1.wav到mary2.wav的音高变形
逐字逐句 在…中增加33%(33%,66%,100%)。请注意,变形将调整
目标信号的时间维度,以适应源的持续时间
信号(源和生成的轮廓同样较短
高于目标轮廓)。这发生在文件级别,除非
用户指定要在时间上对齐的段数相等
(例如,使用文字级转录,如此处所述,或电话级
抄本等) < BR><…图片::examples/files/mary1_mary2_f0_morph.png
:宽度:500px < BR>
通过改变音高范围和平均音高,变得更容易
要变形不同扬声器产生的轮廓: < BR>
下图显示了四种不同的俯仰操纵。上
**左上**是原始变形。注意,最终输出(黑线)是
非常接近目标。差异源于持续时间的差异。 < BR>
然而,平均音高和音高范围是
除其他方面外,还可以表示性别差异
说话人身份。通过将平均音高和音高范围重置为
对于源,可以在保持
说话人身份的各个方面。 < BR>
**右上角**中的图像包含变形
然后将平均音高重置为源扬声器的平均音高
音高。在**右下角**一个变形,然后是扬声器的复位
俯仰范围。在**右下**音高范围内重置,然后
扬声器的平均音调已重置。 < BR>
语音样本越长,音调范围和
扬声器的平均音高。在这个例子中,两者都偏高
根据第一个单词的音调重音。 < BR>
这里,声源(女扬声器)的平均音调要高得多
比目标(男性扬声器)和由此产生的变形听起来像
来自与源或目标扬声器不同的扬声器。
涉及重置音高范围和/或平均值的三次录音
音高听起来更自然。 < BR><…图片::examples/files/mary1_mary2_f0_morph_compare.png
:宽度:500px < BR>
持续时间变形(示例/持续时间操作示例.py): < BR>
下图显示了持续时间从mary1.wav到mary2.wav的变形
逐字递增33%(33%、66%、100%)。
此过程可以在整个文件上操作,或者类似于音高变形,
带有注释段,如本例中所述。 < BR><…图片::examples/files/mary1_mary2_dur_morph.png
:宽度:500px < BR>< BR>
教程
================ < BR>
提供学习韵律操作和如何使用promo的教程。 < BR>
`tutorial 1.1:promo简介<;https://github.com/timmahrt/promo/blob/master/tutorials/tutorial1_1_intro_promo.ipynb>;。`_ < BR>
`Tutorial 1.2:音高操纵教程<;https://github.com/timmahrt/promo/blob/master/tutorials/tutorial1_2_音高操纵。ipynb>;。`_ < BR>< BR>
主要修订
================ < BR>
1.3版(2017年5月29日) < BR>
-添加了教程 < BR>
-f0morph()现在可以根据需要从变形过程中排除某些区域 < BR>
1.2版(2017年1月27日) < BR>
-添加了重塑音调重音的代码(移位对齐、添加平台或更改高度) < BR>
1.1版(2016年2月22日) < BR>
-f0用于修改扬声器音高范围和平均音高的变形代码 < BR>
-(2016年10月20日)增加了Travis CI和工作服支持的集成测试。 < BR>
1.0版(2016年1月19日) < BR>
-首次公开发行。 < BR>
测试版(2013年7月1日) < BR>
-我的论文中使用的第一个版本工作 < BR>< BR>
要求
============== < BR>
``python 2.7.*``或更高版本 < BR>
``python 3.3.``或更高(或更低,可能) < BR>
我的praatio库使用广泛,可以下载
`here<;https://github.com/timmahrt/praatio>;。`_ < BR>
如果要绘制图形,则需要matplotlib。
`matplotlib网站<;http://matplotlib.org/>;。`_ < BR>
如果要使用插值,则需要使用scipy——通常,如果您已经设置了样式
要用于的节距轮廓(例如,以praat pitchtier格式)
你的变形)。
`matplotlib网站<;http://scipy.org/>;。`_ < BR>
matplotlib和scipy安装起来并不容易,因为它们依赖于几个大型的
包裹。你可以
有关更多信息,请访问他们的网站。**我建议您按照以下说明
安装matplotlib**使用*python wheels*。这些将安装所有必需的
图书馆一蹴而就。 < BR>
在Mac上,打开终端并键入: < BR>
sudo python-m pip安装matplotlib < BR>
sudo python-m pip安装scipy < BR>
在Windows上,打开一个命令或powershell窗口并键入: < BR>
<;<;python路径>;>;-m安装matplotlib < BR>
<;<;python路径>;>;-m安装scipy < BR>
例如c:\\ python27\\ python.exe-m install matplotlib < BR>< BR> 用法
========= < BR>
参见/示例用法 < BR>< BR>
安装
================ < BR>
如果您使用的是Windows,则可以使用此处的安装程序(请检查它是否是最新的)
`Windows安装程序<;http://www.timmahrt.com/python_installers>;。`_ < BR>
praatio位于pypi上,可以使用pip从命令行shell安装或升级,如下所示: < BR>
pip install praatio--升级 < BR>
否则,要手动安装,请在从github下载源代码后,从命令行shell导航到包含setup.py的目录,然后键入: < BR>
python setup.py安装 < BR>
如果python不在您的路径中,则需要输入完整路径,例如: < BR>
c:\ python27\python.exe setup.py安装 < BR>< BR>
引用促销
=============== < BR>
如果你在研究中使用promo,请这样引用: < BR>
蒂姆·马哈特。宣传片:韵律变形库。
https://github.com/timmahrt/promo,2016年。 < BR>< BR>
致谢
================ < BR>
由于国家科学基金会的拨款**BCS 12-51343**,可以开发促销活动
jennifer cole、joséi.hualde和caroline smith以及a*midex项目
(编号**anr-11-idex-0001-02**)致由
法国政府投资项目,
由法国国家研究机构(anr)管理。 < BR>< BR>< BR>

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何在Android Wifi中筛选相同的SSID?   Java中重写接口中异常处理的泛型   java“无效转义序列(有效的是\b\t\n\f\r\”\“\”\)”语法错误   使用JNDI的java NameReadyBoundException   java如何在这个程序上执行算法   java为什么我的应用程序在调试时崩溃而应用程序停止?   Java:while循环未检测到中断条件,但如果块检测到   java如何快速使用jfreechart创建的折线图   java将输入放入JSTL会话变量,以便稍后在屏幕上显示   java在spring boot中加载外部JAR   java Apache NiFi无法使用ojdbc6连接到Oracle 12c。jar或ojdbc8。罐子   java解释StringToWordVector()Weka的输出   java charAt()找不到符号   使用mpjexpress的java阅读控制台输入