3
A
回答
4
你的意思是實施一個拍板?
沒有必要使用花哨的數學或語音識別API。只需使用MediaRecorder及其getMaxAmplitute()方法即可。
以下是您需要的一些代碼。該算法記錄一段時間,然後測量幅度差異。如果它很大,那麼用戶可能發出一聲巨響。
public void recordClap()
{
recorder.start();
int startAmplitude = recorder.getMaxAmplitude();
Log.d(D_LOG, "starting amplitude: " + startAmplitude);
boolean ampDiff;
do
{
Log.d(D_LOG, "waiting while taking in input");
waitSome();
int finishAmplitude = 0;
try
{
finishAmplitude = recorder.getMaxAmplitude();
}
catch (RuntimeException re)
{
Log.e(D_LOG, "unable to get the max amplitude " + re);
}
ampDiff = checkAmplitude(startAmplitude, finishAmplitude);
Log.d(D_LOG, "finishing amp: " + finishAmplitude + " difference: " + ampDiff);
}
while (!ampDiff && recorder.isRecording());
}
private boolean checkAmplitude(int startAmplitude, int finishAmplitude)
{
int ampDiff = finishAmplitude - startAmplitude;
Log.d(D_LOG, "amplitude difference " + ampDiff);
return (ampDiff >= 10000);
}
2
如果我試圖檢測尖叫或響亮的聲音,我只想尋找一個高根均方通過麥克風傳來的聲音。我想你可以嘗試訓練一個語音識別系統來識別一個尖叫聲,但它看起來像是矯枉過正。
相關問題
- 1. 語音識別(或聲音)
- 2. Android語音識別?
- 3. android語音識別
- 4. Android - 語音識別
- 5. Android:語音識別
- 6. 語音/語音識別 - PhoneGap
- 7. 單聲道語音識別
- 8. Android中的聲音識別
- 9. 針對linux的語音識別庫
- 10. 語音識別和錄音
- 11. Android語音識別空指針異常
- 12. 帶有錄製聲音剪輯的android上的語音識別?
- 13. 識別iOS上的特定聲音
- 14. 聲音識別API,SDK(Android)
- 15. 錄製聲音識別android
- 16. 離線語音識別android採取不必要的聲音
- 17. 聲音管理Android中的語音識別/ TTS
- 18. 的Android RecognizerIntent語音識別
- 19. Android的語音識別
- 20. Android中的語音識別
- 21. Android中的語音識別
- 22. 語音識別
- 23. 語音識別
- 24. 非語音噪音或聲音識別軟件?
- 25. 語音識別和聲音比較與音樂g
- 26. 西班牙語語音(語音)識別
- 27. Android幫助語音識別!
- 28. 語音識別Android應用
- 29. 關於Android語音識別
- 30. 語音識別命令Android
似乎是合理的。你能否爲此添加示例代碼? – Kaps 2011-03-24 06:42:20
好吧,沒有。我沒有真正爲Android編碼的一件事。我剛剛完成了各種聲音節目。此外,這不是一個'給我代碼'網站。給它一個鏡頭,併發布你的代碼尋求幫助,如果它不工作。查找root-mean-squared。你基本上只需要一段時間,對數值進行平方,找到這些數值的平均值,然後取平均值的平方根。這個用法實際上可以跳過平方根。然後你只需要看看你在尖叫時與談話/安靜時得到的值,並設置一個正確的閾值。 – 2011-03-24 06:46:40
我認爲你的回答沒有幫助。我還不能投票,所以這是另一種' – brainmurphy1 2012-07-15 21:02:12