用于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获取JEditorPane中字符的绝对位置   java Datetime:将时间段拆分为天、小时和分钟   java是使此HashMap更高效的一种方法   java项目reactor:collectList()之后的block()对Flux不起作用。创建()   java在Mac OSX上安装OpenCV   java递归地确定一组数字是否包含两个总和相等的子集   Quad2D曲线上的几何图形Java绘图箭头   java将SSL证书导入Glassfish 4。十、   java Android未找到处理Intent MediaScanner的活动   EclipseJava。安全cert.CertificateParsingException:java。木卫一。IOException:主题密钥,无法创建EC公钥   java我能在O(M log N)时间内完成吗?   java跟踪eclipse中的资源更改也在中。元数据和。项目   java如何完全禁用Android键盘   java返回到上一个活动