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

qq_35073834 2017-03-29 05:49:00
最近公司有个项目,要获取音乐的bpm值,有人知道吗
...全文
3109 4 打赏 收藏 转发到动态 举报
写回复
用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
  • 打赏
  • 举报
回复
这个东西半年前我就想要了。。。求安卓源码。。或者详细一点的实现思路。。现在毕设卡在这个地方了
实验三 模拟实现一个多功能电子设备,它既能播放mp3歌曲,同时还能够借助播放器的界面来监测脉动。 1.这个设备有一个屏幕,屏幕上可以显示两种界面: 界面1是显示视图,有一个进度条,可以显示当前所播放音乐节拍或是脉动,以节拍为例,比如是100 BPM 还是 120BPMBPM节拍的度量单位)。还有一个文本,显示“Current BPM: xxx”. 界面2是控制视图,上面的控件有: 1)有一个菜单条,上面有一个菜单,菜单里有“start”、“stop”和“quit”命令。 2)有一个输入框,旁边的文本为"Enter BPM:",可以在输入框内容输入特定的节拍。 3)有一个“set”按钮,可以改变每分钟的节拍数。 4)还有两个微调箭头按钮“<<”和“>>”,使用这两个按钮可以微调节拍。 注意,选择“start”开始产生节拍,选择“stop”停止产生节拍。在选择开始产生节拍时,stop都应该是无效的,但是节拍产生后,start应该是无效的。 2.该设备配有一个控制器,控制mp3播放,存储播放歌曲的数据和节拍状态,并包含播放mp3的逻辑。 3.该设备还可以监测脉动。 4.在播放MP3时,在界面2上调整节拍后,会调整mp3播放器歌曲的节拍,同时界面1上显示出当前歌曲的节拍状态。 5.在做监测脉动时,屏幕界面2上所有的设置按钮都是无效的,因为我们不能去设置脉动。 总之,希望界面可以复用,希望模型数据的变化能够反映到界面上 看看能不能使用观察者模式、策略模式、适配模式,另外设计时将界面显示view、控制controler、模型model分开
模拟实现一个多功能电子设备,它既能播放mp3歌曲,同时还能够借助播放器的界面来监测脉动。 1.这个设备有一个屏幕,屏幕上可以显示两种界面: 界面1是显示视图,有一个进度条,可以显示当前所播放音乐节拍或是脉动,以节拍为例,比如是100 BPM 还是 120BPMBPM节拍的度量单位)。还有一个文本,显示“Current BPM: xxx”. 界面2是控制视图,上面的控件有: 1)有一个菜单条,上面有一个菜单,菜单里有“start”、“stop”和“quit”命令。 2)有一个输入框,旁边的文本为"Enter BPM:",可以在输入框内容输入特定的节拍。 3)有一个“set”按钮,可以改变每分钟的节拍数。 4)还有两个微调箭头按钮“<<”和“>>”,使用这两个按钮可以微调节拍。 注意,选择“start”开始产生节拍,选择“stop”停止产生节拍。在选择开始产生节拍时,stop都应该是无效的,但是节拍产生后,start应该是无效的。 2.该设备配有一个控制器,控制mp3播放,存储播放歌曲的数据和节拍状态,并包含播放mp3的逻辑。 3.该设备还可以监测脉动。 4.在播放MP3时,在界面2上调整节拍后,会调整mp3播放器歌曲的节拍,同时界面1上显示出当前歌曲的节拍状态。 5.在做监测脉动时,屏幕界面2上所有的设置按钮都是无效的,因为我们不能去设置脉动。 总之,希望界面可以复用,希望模型数据的变化能够反映到界面上 看看能不能使用观察者模式、策略模式、适配模式,另外设计时将界面显示view、控制controler、模型model分开
模拟实现一个多功能电子设备,它既能播放mp3歌曲,同时还能够借助播放器的界面来监测脉动。1.这个设备有一个屏幕,屏幕上可以显示两种界面: 界面1是显示视图,有一个进度条,可以显示当前所播放音乐节拍或是脉动,以节拍为例,比如是100 BPM 还是 120BPMBPM节拍的度量单位)。还有一个文本,显示“Current BPM: xxx”. 界面2是控制视图,上面的控件有: 1)有一个菜单条,上面有一个菜单,菜单里有“start”、“stop”和“quit”命令。 2)有一个输入框,旁边的文本为"Enter BPM:",可以在输入框内容输入特定的节拍。 3)有一个“set”按钮,可以改变每分钟的节拍数。 4)还有两个微调箭头按钮“<<”和“>>”,使用这两个按钮可以微调节拍。 注意,选择“start”开始产生节拍,选择“stop”停止产生节拍。在选择开始产生节拍时,stop都应该是无效的,但是节拍产生后,start应该是无效的。 2.该设备配有一个控制器,控制mp3播放,存储播放歌曲的数据和节拍状态,并包含播放mp3的逻辑。 3.该设备还可以监测脉动。 4.在播放MP3时,在界面2上调整节拍后,会调整mp3播放器歌曲的节拍,同时界面1上显示出当前歌曲的节拍状态。 5.在做监测脉动时,屏幕界面2上所有的设置按钮都是无效的,因为我们不能去设置脉动。 总之,希望界面可以复用,希望模型数据的变化能够反映到界面上 看看能不能使用观察者模式、策略模式、适配模式,另外设计时将界面显示view、控制controler、模型model分开

80,351

社区成员

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

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