怎么获取音乐的bpm值(音乐节拍)

qq_35073834 2017-03-29 05:49:00
最近公司有个项目,要获取音乐的bpm值,有人知道吗
...全文
3356 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
attilax 2019-07-23
  • 打赏
  • 举报
回复
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
NStock20133 2019-04-24
  • 打赏
  • 举报
回复
简单用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
qq_34586663 2017-04-28
  • 打赏
  • 举报
回复
楼主如果找到了求告知
qq_34586663 2017-04-28
  • 打赏
  • 举报
回复
这个东西半年前我就想要了。。。求安卓源码。。或者详细一点的实现思路。。现在毕设卡在这个地方了

80,472

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧