我有一個標準的泰國舞曲,它有很多樂器和rylics。我必須把它轉換成只有cy聲的wav。我只知道我必須使用python。這個怎麼做?謝謝。從標準泰國跳舞wav歌曲檢測cy(泰國樂器)節奏
回答
cy音節律爲,大概大部分在該特定混合的高頻中。我以前從未聽過這首歌,所以我不知道它是否會有與該特定樂器相比頻率較低的內容。然而,從直覺來說,這是我的最佳猜測...
您將需要濾除任何較低的頻率,如較低的鼓或人聲(通常是中等重度的樂器),它們不具有cy音的任何音頻內容部分。如果您看一下頻譜分析儀,cy的典型頻率將從500Hz開始緩慢上升至5KHz,其中振幅約爲5k-15k,直到15-20k(在高端在原始軌道中被過濾掉的情況)。濾除低於500Hz(或者稍高的頻率)的任何物體。如果你想要更精確的過濾,你可能希望找到一個信封追隨者,這個信封追隨者可以在鐃hit命中更多的音頻內容中進行過濾。你濾除的越多,你可能聽到的其他樂器就越少。
你需要一個高通濾波器來完成這項工作。您可以使用Python自己編寫一個,不過可以使用以下代碼移植DSP算法:musicdsp.org
或者使用來自以下產品的Python DSP庫: code.google.com/p/pyo/。
在音樂DSP網站上,我想你可以找到一個體面的信封跟隨算法。
Python有一個偉大的圖書館,將讀取和寫入WAV這裏:也http://docs.python.org/2/library/wave.html
,如果你需要測試實時的過濾工作,然後再考慮PyAudio:http://people.csail.mit.edu/hubert/pyaudio/
這個過程會不是沒有扭結,因爲過濾器可能不會過濾除鐃except之外的所有東西。由於混合音頻混合良好,幾乎不可能將混音中的各個部分和樂器分離出來。 Melodyne是唯一能夠做到這一點的人。
第一個想法是實現一個帶通濾波器,該濾波器將切出其他儀器大部分位於其中的低頻和中頻(http://en.wikipedia.org/wiki/Band-pass_filter)。您可以自己動手:
- FFT你的WAV文件,並得到頻譜
- 選擇你想保持
- 把一切爲零的頻帶(或應用窗口 - 高斯,超-gaussian等)
- 變換一切恢復(做逆FFT)
- 聽的結果,如果需要的話
你可以改變頻段阿爾斯o使用scipy庫 - 谷歌的信號處理能力。
希望這會有所幫助。嘗試一下,發佈更詳細的問題,如果有的話。
- 1. Android泰國本地化
- 2. 泰國年2558至2015
- 3. 泰國字符顯示?????標記在JSP
- 4. DateTime.ParseExpress泰國/佛教時代的問題
- 5. 的REST API直接刷卡泰國
- 6. 在頁面上顯示泰國字符在服務器上的數據庫中確認泰國字符
- 7. 韓國,泰國和印度尼西亞POS tagger
- 8. 在WAV歌曲播放時不跳舞的機器人
- 9. 如何從SQLSRV返回泰國字符到PHP
- 10. 如何使用mongoDB對泰國字段進行排序
- 11. 顯示日期時間在Java中與泰國的數字
- 12. 在Java中匹配泰國腳本字符
- 13. SQL Server顯示???當更新字段在泰國字母
- 14. 活節奏檢測
- 15. 泰坦圖葉節點
- 16. PHP - 檢測國家
- 17. 標準化的美國國家陣列和國家陣列
- 18. 貝寶標準API,從英國前往美國
- 19. S3美國標準地區
- 20. 泰文 - 從mysql到php
- 21. NSURL用泰語
- 22. 檢測歌曲中的節拍
- 23. Android國家檢測器找不到
- 24. 檢測美國假期
- 25. Google API國家檢測PHP
- 26. 使用自定義泰伯維節頭
- 27. 標準和「異國情調」的圖標
- 28. 泰魯斯 - 從客戶端傳遞到目標服務器
- 29. HL7美國和英國的標準有什麼區別?
- 30. Sitecore國家國際標準化組織在URL中
您應該從研究音頻處理算法開始,但這個問題太廣泛而無法在此處進行解答。 – Collin