簡體   English   中英

Java 實時系統聲音檢測

[英]Java real time system sound detection

我想編寫一個程序,可以檢測到聲音(anysound)來自默認音頻設備。 當檢測發生時,我想關閉檢測一兩秒鍾並讓程序模擬兩次左鍵單擊,然后聲音檢測再次打開。

到目前為止,我還沒有在這個主題中找到任何東西,因為通常人們想要檢測一種很難編碼的特定聲音。

幫助將非常感激!

分解問題:

  1. 讓音頻輸入正常工作
  2. 在音頻輸入上工作的聲音檢測
  3. 點擊播放

有幾個錄音教程。 也許以CodeJava.net 中的這個示例作為您的來源?

對於聲音檢測,不要像教程中那樣將 stream 運送到回放,而是使用 RMS(均方根)算法對其進行分析。 這首先需要將數據組裝成 PCM。 確切的代碼取決於音頻格式。 一旦你簽署了 PCM,你就可以使用 RMS 方法來監測在線聲音的 output 電平。

觸發具有所需錄制的Clip的播放將是獲得點擊的一種方式。 但是,如果您可以組裝 PCM,您還應該能夠在左側軌道上為脈沖信號編寫 PCM,並將其發送到SourceDataLine上。 PCM 中的一個例子是長鏈的 0 值,序列中的單幀為 1(其中 PCM 是有符號的浮點數,范圍從 -1 到 1)。 “不連續性”表現為點擊。

ClipSourceDataLine的示例代碼可以在javasound標簽上找到。

我希望這里有足夠的關鍵字和術語來幫助您找到各個步驟的信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM