2011-02-03 26 views
1

據我所知,通過刪除未使用的聲音,可能會加速iOS中的過濾TTS。這是如何完成的?在iOS中加速過濾TTS

我有一些文字,似乎需要約45秒(在iPhone 3G上)轉換,但我只有30秒。我儘快開始轉換,並已經預裝AV播放器,但我仍然有點太慢。

+0

出於興趣你的文字有多長? – 2011-12-01 13:42:07

+0

通常約20-40字。你可以看看免費的應用程序。它在iTunes Store上被稱爲「機器人DJ」。我喜歡它,但它從未停止過。 – 2011-12-01 15:16:09

+0

呵呵,這真的很好。有趣並且適合快速瀏覽音樂我不知道。給你5 *。我會把廣告關閉,直到你得到一些口碑。 – 2011-12-01 18:14:46

回答

0

您可以用較短的句子或短語進行轉換。然後開始播放一個轉換後的語音片段,同時仍然在後臺線程中轉換其餘部分。

2

這招不會真正加快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!"]; 

這將使您的應用程序進入多線程模式,並將呈現語音和播放它作爲後臺線程。這將允許您的應用在這種情況發生時關閉並執行其他操作。我也注意到,似乎這樣使文本更快一些。希望它會給你你需要的一點點。

1

移除聲音並沒有改變速度。一個聲音,「cmu_us_kal」比其他人快得多。我沒有對所有其他人進行速度測試,但是kal至少比我一直使用的「cmu_us_rms」快5倍。