2013-10-17 56 views
0

我想要構建一個應用程序,以響應您吹熄生日蠟燭時所發出的聲音。這本身不是語音識別(這個聲音不是英語中的單詞),而且OpenEars上非常善良的Halle告訴我,使用該框架是不可能的。 (感謝您的快速響應,哈雷!)iOS 7的聲音識別?

有沒有辦法「教」一個應用程序的聲音,使應用程序可以隨後識別它?

我該怎麼辦?它是否可行?我是瘋了還是承擔比我想象的要困難得多的問題?我的作業應該是什麼?

回答

1

好消息是它是可以實現的,而且你不需要任何第三方框架 - AVFoundation是你真正需要的。

Mobile Orchard有一篇很好的文章,涵蓋了細節,但對於四歲的孩子來說,不可避免地會有一些問題需要注意。

  1. 開始錄製一個真實設備上之前,我不得不需要設置音頻會話類,像這樣:

    [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayAndRecord error:nil]; 
    
  2. 玩弄這一行門檻:

    if (lowPassResults > 0.95) 
    

    我發現0.95太高,得到更好的結果,設置在0.55和0.75之間。同樣,我在這行玩與周圍的0.05乘數:

    double peakPowerForChannel = pow(10, (0.05 * [recorder peakPowerForChannel:0])); 
    
+0

謝謝,尼爾!畢竟,我想我並不像我想的那麼瘋狂! – Phoebe719

+0

對本教程有更多解釋的很好答案。 – sac

0

使用上能級簡單的閾值可能不會對你的使用情況足夠強大。

有關這方面的一個好方法是首先從聲音流中提取一些特定於吹熄蠟燭聲音的屬性。然後使用機器學習算法根據訓練實例(一組您想要識別的聲音的錄音)來訓練模型,然後可以使用應用程序實時對實時進入麥克風的聲音片段進行分類。

鑑於蠟燭吹滅時可能出現的環境聲音(生日總是嘈雜,是不是?),可能很難訓練出足夠強健的背景聲音模型。如果您關心準確性,這不是一個簡單的問題。

雖然這可能是可行的: 請原諒我的自我推銷,但是我的公司開發了一個SDK,爲您所問的問題提供了一個答案:「有沒有一種方法可以」該應用程序可以隨後識別它?「 我不確定吹蠟燭的具體聲音是否會起作用,因爲SDK主要針對涉及有些敲擊聲音的應用程序,但它仍可能適用於您的情況。這裏是一個鏈接,在那裏你還可以找到一個演示程序,你可以下載並嘗試如果你喜歡:SampleSumo PSR SDK

+0

我可能會留下促銷部分。 – zero323