用于espeak ng的python接口

py-espeak-ng的Python项目详细描述


埃斯皮克附近的一些简单包装物打算使用这个 最好的TTS波形和IPA生成尽可能方便。

目标受众是希望按原样使用espeak ng的开发人员 基于gnu/linux的python语音合成 系统。

建设性的意见,补丁和拉请求是非常受欢迎的。

示例

###直接TTS音频输出

首先,导入espeakng引擎包装:

from espeakng import ESpeakNG

现在,对于一些简单的直接tts输出:

esng = ESpeakNG() esng.say(‘Hello World!’)

降低俯仰和速度:

esng.pitch = 32 esng.speed = 150 esng.say(‘Hello World!’)

尝试其他语言:

esng.voice = ‘german’ esng.say(‘Hallo Welt!’)

指定音素而不是单词:

esng.voice = ‘english-us’ esng.say(“[[h@l’oU w‘3:ld]]”)

###合成波形文件而不播放它

>;来自文本:

import wave import StringIO

esng.voice = ‘english-us’ wavs = esng.synth_wav(‘Hello World!’) wav = wave.open(StringIO.StringIO(wavs)) print wav.getnchannels(), wav.getframerate(), wav.getnframes()

结果:

1 22050 24210

###列出可用的声音

l = esng.voices

结果:

>>> l[0]
{'pty': '5', 'language': 'af', 'gender': 'M', 'age': '--', 'voice_name': 'afrikaans', 'file': 'gmw/af'}
>>> l[1]
{'pty': '5', 'language': 'am', 'gender': '-', 'age': '--', 'voice_name': 'amharic', 'file': 'sem/am'}
>>> l[2]
{'pty': '5', 'language': 'an', 'gender': 'M', 'age': '--', 'voice_name': 'aragonese', 'file': 'roa/an'}
...

###图形到音素(g2p)转换

ipa = esng.g2p (‘Hello World!’, ipa=2)

结果:

>>> print ipa
həlˈo͡ʊ wˈɜːld

要求

  • python 2或3
  • espeak ng二进制文件已安装并位于路径中

许可证

我自己的代码是apache-2.0许可的,除非在 脚本的版权标题。

作者

格恩特·巴特希<;guenter@zamia.org>;

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

推荐PyPI第三方库


热门话题
如何下载多个。java中的PDF文件   linux Java打开文件,形成实际用户主页~/   java如何在时间线内维护TableView选择?   java Hibernate注释@Where vs@WhereJoinTable   Java读/写访问异常FileNotFoundException(访问被拒绝)   继承在Java中是否可以扩展最后一个类?   Android HttpClient使用java使应用程序崩溃。lang.OutOfMemoryError:pthread_create   java为什么即使我在proguardproject中添加了jar文件,也会出现这种错误。txt?   如果添加JButton,swing Java FocusListener和KeyListener将无法工作   java使用solrj检索json格式的SolrDocument   使用Microsoft Visual Studio代码进行Java编程   java NoClassDefFoundError:org/apache/log4j/Logger   哈希集中包含相等对象的java   java中的参数化构造函数是否需要有一个主体?   java类似于NetBeans不必要的代码检测器   Java实践问题   java Blackberry“[projectname].调试文件丢失”和“I/O错误:找不到程序”jar