我目前在windows phone 7中使用xna構建遊戲 我試圖從背景歌曲中播放的歌曲每分鐘獲得節拍,我也不太確定如果我想要的是BPM,我想要的是例如音樂的速度或節奏,速度越快,精靈的移動速度越快。我現在在想什麼,BPM是音樂的頻率達到了一個定義的常數範圍,例如20 Mhz - 30 MHz, 如果我錯了,隨時糾正我,我不是很熟悉音頻事情,我曾嘗試使用MediaLibrary XNA的VisualizationData,但一些谷歌搜索後,他們說,VisualizationData不能與WP7一起工作,我也嘗試過它,輸出是256長度的浮點數組包含0值,或者如果我可以做一些FFT有了它,我會試試看 謝謝...獲取音樂節奏或BPM?
回答
就像你說的,至於拍你不能直接得到它,但你要解釋這個數據。如果您可以預先處理這首音樂並將其與標題一起發貨,那麼這將是您最好的選擇
在XNA中,您確實只有MediaPlayer.GetVisualizationData才能使用。沒有任何內容可以讓你預先確定這種事情。它的使用方式類似於以下內容,可讓您瞭解正在播放的不同頻率的相關信息。
MediaPlayer.IsVisualizationEnabled = true;
VisualizationData visData = new VisualizationData();
MediaPlayer.GetVisualizationData(visData);
那麼,你怎麼把這個頻率的東西,使它值得你的應用程序?關於如何做到這一點,有很大的分歧,這是on the App Hub forums in this thread called "Audio Analysis" in the reply by jwatte。從本質上講,你將看到低頻率,並試圖找出節拍何時到來。沒有什麼完美的,但希望你會得到你贊同的東西。
祝你好運!
但VisualizationData無法在Windows Phone中正常工作?目前我從Content.Pipeline閱讀有關AudioContent,但我仍然不知道如何使用它,我無法獲得包含Microsoft.Xna.Content.Pipeline在我的遊戲參考中的引用,我曾嘗試添加引用但我無法得到它,我也試圖使用內容庫擴展,但它帶有關於mscorlib版本的警告,我想我會嘗試讀取.wav數據,但我也發現它很難從文件中讀取XNA Windows Phone中的二進制文件,人生不是那麼簡單吧? :p – euclid135
我99%確定它在WP7中。你有沒有啓用可視化?我忘了將它添加到代碼示例中。我會更新它。 – scottheckel
來自msdn站點的igot ..可視化數據在Windows Phone上不可用。任何試圖在手機上獲取可視化數據的嘗試都會使用0填充VisualizationData類。檢查了這一點:http://msdn.microsoft.com/en-us/library/microsoft.xna.framework.media.mediaplayer.getvisualizationdata.aspx – euclid135
- 1. 影響遊戲的音樂節奏
- 2. 基於XNA節奏(音樂)遊戲
- 3. API提供跟蹤BPM的節奏?
- 4. 更改mp3文件的節奏\ bpm
- 5. 如何掃描BPM的音樂庫?
- 6. 音樂Y或音樂N
- 7. LibGDX節奏遊戲 - 同步相機的速度與音樂
- 8. 語音的近似節奏
- 9. 獲取音樂庫文件
- 10. 獲取音樂圖像
- 11. 獲取iPod音軌的音樂數據
- 12. 用Python提取MP3音樂的節拍
- 13. 節奏在iPhone(音變)檢測
- 14. AVAudioPlayer改變聲音的節奏?
- 15. Get Tempo(BPM),Rythm,使用Java/C#從MP3或Wav或任何數字音樂文件播放音調信息?
- 16. Libgdx獲得音樂
- 17. 對音樂文件C的精確BPM檢測#
- 18. 從播放音樂獲取標籤
- 19. 如何在Android中獲取音樂庫?
- 20. 獲取音樂可視化數據
- 21. 從Cloudkit獲取音樂文件
- 22. 獲取音樂流派中的YouTube
- 23. 使用FQL獲取音樂收聽
- 24. 如何從MediaStore獲取音樂的URI?
- 25. 獲取XML格式的音樂數據
- 26. Android +獲取作品+ Google音樂Beta
- 27. iPhone/iPad實時更改節奏/節奏
- 28. 從音頻字節中獲取音調或振幅等信息
- 29. 獲取音樂家/樂隊驗證Facebook頁面
- 30. 如何從音樂庫獲取歌曲列表後播放音樂文件?
你想要的是BPM不頻率。 http://en.wikipedia.org/wiki/Tempo#Beats_per_minute –
好吧,那麼我如何計算使用xna?任何想法?? – euclid135