最近公司有個專案,要獲取音樂的bpm值,有人知道嗎
uj5u.com熱心網友回復:
這個東西半年前我就想要了。。。求安卓原始碼。。或者詳細一點的實作思路。。現在畢設卡在這個地方了uj5u.com熱心網友回復:
樓主如果找到了求告知
uj5u.com熱心網友回復:
簡單用python:import librosa
import numpy as np
yy ,sr = librosa.load('xx.mp3')
onset_env = librosa.onset.onset_strength(y, sr=sr, hop_length=512, aggregate=np.median)
tempo, _ = librosa.beat.beat_track(onset_envelope=onset_env, sr=sr)
tempo就是你們要的bpm
uj5u.com熱心網友回復:
Atitit 讀取音頻音樂檔案的bpm目錄
1.1. Librosa是一個用于音頻、音樂分析、處理的python工具包, 1
1.2. \bpm.py 1
1.3. Echo 2
1.4. Code desc 2
1.5. ref 4
1.1.Librosa是一個用于音頻、音樂分析、處理的python工具包,
一些常見的時頻處理、特征提取、繪制聲音圖形等功能應有盡有,功能十分強大。本文主要介紹librosa的安裝與使用方法。
Librosa大概總共50M
1.2.\bpm.py
# thie file encode is utf8
#djddd C:\Users\Administrator\AppData\Local\Programs\Python\Python37\python.exe D:\00wkspc\bpm.py
import librosa
import numpy as np
yy ,sr = librosa.load('D:\\00000\\不僅僅是喜歡_孫語賽_不僅僅是喜歡.mp3')
onset_env = librosa.onset.onset_strength(yy, sr=sr, hop_length=512, aggregate=np.median)
tempo, _ = librosa.beat.beat_track(onset_envelope=onset_env, sr=sr)
print(tempo)
#tempo就是你們要的bpm
#sr is samp rate
1.3.Echo
C:\Users\Administrator>C:\Users\Administrator\AppData\Local\Programs\Python\Python37\python.exe D:\00wkspc\bpm.py
112.34714673913044
1.4.Code desc
import librosa
import numpy as np
yy ,sr = librosa.load('xx.mp3')
onset_env = librosa.onset.onset_strength(y, sr=sr, hop_length=512, aggregate=np.median)
tempo, _ = librosa.beat.beat_track(onset_envelope=onset_env, sr=sr)
tempo就是你們要的bpm
>>> # Load a wav file
>>> y, sr = librosa.load('./beat.wav')
>>> y
array([ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, ...,
8.12290182e-06, 1.34394732e-05, 0.00000000e+00], dtype=float32)
>>> sr
22050
Librosa默認的采樣率是22050,如果需要讀取原始采樣率,需要設定引數sr=None:
---------------------
可見,'beat.wav'的原始采樣率為44100。如果需要重采樣,只需要將采樣率引數sr設定為你需要的值:
1.5.ref
(9+條訊息)音頻處理庫—librosa的安裝與使用 - z小白的博客 - CSDN博客.html
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/126734.html
標籤:Android
上一篇:小程式可以呼叫微信的付款碼不
