[問題] 從輸入的音檔判斷出頻率

看板java作者 (鍵盤小底迪)時間9年前 (2015/12/17 00:44), 9年前編輯推噓0(007)
留言7則, 2人參與, 最新討論串1/1
小弟目前剛進入audio這塊 還在研究java sound sample doc,但還是很多不懂就是了 目前現階段的目標是想把一個音檔讀近來 (目前不考慮有疊音的音檔,不考慮real time) 然後分析出其頻率和持續的時間 並輸出頻譜圖方便觀察 (縱軸:振幅 橫軸:時間) 目前卡在輸出頻譜圖 取樣點的X(振幅)和Y(時間)要如何從音檔取得 有大大可以提示該如何作嗎 或是有比較好用的lib可以介紹 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.255.251.78 ※ 文章網址: https://www.ptt.cc/bbs/java/M.1450284249.A.44B.html ※ 編輯: phoenixlife (111.255.251.78), 12/17/2015 00:48:03 ※ 編輯: phoenixlife (111.255.251.78), 12/17/2015 00:51:56

12/17 16:42, , 1F
你先去研究mp3.. 你會懂很多真的..
12/17 16:42, 1F

12/18 15:29, , 2F
聲音是由很多頻率組成的, 你先把整個時間軸拆成10msec左
12/18 15:29, 2F

12/18 15:30, , 3F
又的小片段, 再用FFT轉換得到頻率...再不然你用autocorre
12/18 15:30, 3F

12/18 15:30, , 4F
lation也可以得到pitch, 即便是pitch 整個時間軸的pitch
12/18 15:30, 4F

12/18 15:31, , 5F
也都是在變, 整個是一個contour, 而且還有第2,3,4音階
12/18 15:31, 5F

12/18 15:32, , 6F
以上所說 會變得比較簡單如果你的input是正弦波之類, 但
12/18 15:32, 6F

12/18 15:32, , 7F
這應該就不是聲音了
12/18 15:32, 7F
文章代碼(AID): #1MSPJPHB (java)
文章代碼(AID): #1MSPJPHB (java)