我知道可以通过删除不使用的声音来加速iOS中的flite TTS。这是怎么做的?
我有一些文本似乎需要大约45秒才能转换(在iPhone 3G上),但我只有30秒。我正在尽快开始转换,并且已经预装了AV播放器,但我仍然有点太慢了。
发布于 2011-02-04 06:01:53
这个技巧不会真正加快flite的速度,但会释放设备来做其他事情,而flite正在做它的事情:添加这个方法:
- (void)speak:(NSString *)message {
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
[fliteEngine speakText:message];
[pool release];
}当你想让ti说话时,用下面的命令调用它:
[self performSelectorInBackground:@selector(speak:) withObject:@"Text to speak!"];这将使您的应用程序进入多踏步模式,并将渲染语音并将其作为背景线程播放。这将允许您的应用程序关闭并在此过程中执行其他操作。我还注意到,它似乎以这种方式呈现文本的速度更快。希望它能给你一点你需要的东西。
发布于 2011-02-04 12:47:41
去除声音在速度上没有区别。有一种声音,"cmu_us_kal“比其他的要快得多。我没有对所有其他的进行速度测试,但是kal至少比我一直使用的"cmu_us_rms“快5倍。
发布于 2011-02-04 04:46:24
您可以转换为较短的句子或短语。然后开始播放一个转换的语音片段,同时仍然在后台线程中转换其余的语音片段。
https://stackoverflow.com/questions/4890648
复制相似问题