[英]Java real time system sound detection
我想編寫一個程序,可以檢測到聲音(anysound)來自默認音頻設備。 當檢測發生時,我想關閉檢測一兩秒鍾並讓程序模擬兩次左鍵單擊,然后聲音檢測再次打開。
到目前為止,我還沒有在這個主題中找到任何東西,因為通常人們想要檢測一種很難編碼的特定聲音。
幫助將非常感激!
分解問題:
有幾個錄音教程。 也許以CodeJava.net 中的這個示例作為您的來源?
對於聲音檢測,不要像教程中那樣將 stream 運送到回放,而是使用 RMS(均方根)算法對其進行分析。 這首先需要將數據組裝成 PCM。 確切的代碼取決於音頻格式。 一旦你簽署了 PCM,你就可以使用 RMS 方法來監測在線聲音的 output 電平。
觸發具有所需錄制的Clip
的播放將是獲得點擊的一種方式。 但是,如果您可以組裝 PCM,您還應該能夠在左側軌道上為脈沖信號編寫 PCM,並將其發送到SourceDataLine
上。 PCM 中的一個例子是長鏈的 0 值,序列中的單幀為 1(其中 PCM 是有符號的浮點數,范圍從 -1 到 1)。 “不連續性”表現為點擊。
Clip
和SourceDataLine
的示例代碼可以在javasound標簽上找到。
我希望這里有足夠的關鍵字和術語來幫助您找到各個步驟的信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.