65.9K
CodeProject 正在变化。 阅读更多。
Home

FliteEngine - Objective-C语音合成器

emptyStarIconemptyStarIconemptyStarIconemptyStarIconemptyStarIcon

0/5 (0投票)

2012年1月19日

BSD

1分钟阅读

viewsIcon

23507

downloadIcon

438

FliteEngine - 一个 Objective-C 语音合成器。

引言

这是我在上一篇文章 ESpeakEngine 中编写的第二个语音合成器封装。以下部分描述了 Flite 语音合成器封装 - FliteEngine。

背景

FliteEngine 是一个 Objective-C 静态库项目,包含对 Flite 开源语音合成器 的一个非常轻量级的封装。它没有为 Flite 添加任何新功能,只是将其功能作为 Objective-C 类方法公开,并将此功能与 iOS AVFoundation Framework 结合起来(要查看 Flite 合成器的所有可用属性,请阅读其主页 URL 上的文档)。它还使用标准的委托模式,通过定义 FliteEngineDelegate 来实现。

使用代码

使用 FliteEngine 非常简单。你只需要将一个标准的依赖项添加到你的项目中的 FliteEngine 静态库项目,并在 Target 的 Build Settings: Header Search Paths 中添加一个指向 Flite_1_0/Classes 文件夹的路径。

然后在持有引擎实例的类中导入 FliteEngine 头文件

#import "FliteEngine.h"

initviewDidLoad 方法中,创建一个新的 FliteEngine 实例,并设置你想要的所有参数(音量、速度、方差、音调)

- (void)viewDidLoad {
    [super viewDidLoad];
    engine = [[FliteEngine alloc] init];
    engine.volume = 1;
}

最后,将任何按钮的触摸事件绑定到调用 FliteEngine speak 方法的代码

- (IBAction)speech {
    NSString * text = self.textView.text;
    [engine speak:text];
}

关注点

此最新版本不包含任何文档。无论如何,源代码不言自明,总共只有几百行。此外,测试应用程序是一个很好的起点,可以查找更多属性。

如有任何问题,欢迎与我联系。

历史

  • 2010:初始版本。
© . All rights reserved.