python中的mel倒谱失真(mcd)计算。

mcd的Python项目详细描述


这个包计算python中的mel倒谱失真。 mel倒谱畸变用于评价合成的质量 演讲。

概述

mel倒谱失真(mcd)是衡量两个序列 梅尔倒谱是。 它用于评估参数语音合成系统的质量, 包括统计参数语音合成系统 合成的和自然的mel倒谱序列之间的mcd越小,则 合成语音更接近于再现自然语音。 它决不是评价合成物质量的完美标准 语音,但往往是一个有用的指标与其他指标。

MCD软件包提供计算各种形式MCD分数的脚本:

  • 普通MCD,假设要比较的两个序列 在时间上已经“结盟”了。
  • 不包括某些段的普通MCD,例如静音段。
  • 使用动态时间规整(DTW)计算最小MCD的MCD DTW 可通过“对齐”两个序列获得。 此度量不惩罚自然和 合成语音,这通常是可取的。

它还包含通用的动态时间扭曲代码。

许可证

请参阅文件License以了解有关的许可证和保修的详细信息 麦克唐纳。

安装

在大多数情况下,安装MCD的最简单方法是使用PIP。 例如在debian和ubuntu中:

sudo apt-get install python-numpy
sudo pip install mcd

第一个命令从系统存储库安装numpy,因为 通常不建议numpy使用pip。 第二个命令安装 mcd on PyPI,以及当前 已卸载mcd所需的python包。

MCD也可以安装在虚拟机中:

sudo apt-get install python-numpy
virtualenv --system-site-packages env
env/bin/pip install mcd

最新的mcd开发版本可从github存储库获得 (见下文)。

要检查MCD是否正确安装,您可以运行测试套件:

python -m unittest discover mcd

示例

示例用法的示例(在unix中)在example_usage中给出。

开发

源代码托管在 mcd github repository。 要使用git获取最新的源代码:

git clone git://github.com/MattShannon/mcd.git

开发实际上是使用darcs和darc完成的 使用 darcs-to-git

要安装mcd所需的任何当前卸载的python包:

sudo apt-get install cython python-numpy
sudo pip install -r requirements.txt

在当前目录中编译mcd的cython部分:

python setup.py build_ext --inplace

此命令必须在每次修改源文件.pyx后运行。

要在 工作副本:

python -m unittest discover mcd
PYTHONPATH=. python bin/test_cli.py

关于setup.py

的说明

包含的setup.py文件以两种模式之一运行,具体取决于 文件dev是否存在于项目根目录中。 在开发模式下(dev存在,对于github存储库), build_ext命令使用cython从其^{tt3}中编译cython模块$ source,并将sdist命令修改为首先使用cython编译 从它们的.pyx源到.c文件的cython模块。 在分发模式下(dev不存在,如 pypi上的代码,build_ext命令使用c编译器直接编译 来自相应.c文件的cython模块。 这种方法确保源代码分发可以安装在系统上 没有cython或cython的不兼容版本,同时确保 分布式.c文件始终是最新的,并且源.pyx 在开发过程中使用文件而不是.c文件。

作者将欢迎任何建议,以更优雅的方式实现 类似于上述方法的效果!

错误

请使用 issue tracker提交错误 报告。

联系人

mcd的作者是Matt Shannon

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

推荐PyPI第三方库


热门话题
java编辑并重新运行spring引导单元测试,无需重新加载上下文即可加快测试速度   为什么我不能做演员?   java为什么是线程。join通常用于停止安卓中的线程   java从weblogic服务器调用JSON POST REST服务时收到400:错误请求   java在DeviceAdmin模式禁用时设置身份验证?   java SortedMap的keySet()能否始终安全地强制转换到SortedSet?   安卓 java。lang.NoSuchMethodException可包裹类   java JOGL库安装   javatomcat内存管理   java使用getString()中的变量   java将最小星号设置为评级栏   Java中字符串相等的println()方法。。。它到底是如何工作的?   java如何从文本中输出的数组中放入随机图像