社区
Android
帖子详情
怎么获取音乐的bpm值(音乐节拍)
qq_35073834
2017-03-29 05:49:00
最近公司有个项目,要获取音乐的bpm值,有人知道吗
...全文
3109
4
打赏
收藏
怎么获取音乐的bpm值(音乐节拍)
最近公司有个项目,要获取音乐的bpm值,有人知道吗
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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
打赏
举报
回复
这个东西半年前我就想要了。。。求安卓源码。。或者详细一点的实现思路。。现在毕设卡在这个地方了
BeatCounter:以每分钟
节拍
数 (
BPM
) 检测速度
节拍
计数器 BeatCounter 是一个简单的插件,旨在促进
节拍
软件和转盘。 它以每分钟
节拍
数 (
BPM
) 为单位显示当前速度,以及过去几秒钟的累积平均
值
。 BeatCounter 是想要将计算机效果与转盘或现场乐队集成的 DJ 的完美工具。 参数 BeatCounter 在其插件编辑器窗口中提供以下控件: 当前
BPM
:显示每分钟
节拍
的实际速度,每
节拍
更新。 运行
BPM
:显示过去几秒钟的平均速度。 计算该
值
时使用的秒数可以使用“Period”旋钮设置。
节拍
:此灯会随着
节拍
而脉冲。 如果您没有看到它随着
音乐
及时闪烁,请尝试调整滤波器和容差旋钮,直到它开始及时脉动。 重置:按下此按钮可重新校准输入源的插件。
BPM
显示将短暂重置为 0.0,所有
BPM
历史记录将被删除。 其他参数将保留其设置。 使用主机速度:激活后,BeatCounter 将假定输入源大致等于音序器的速度
java实现
音乐
播放器
模拟实现一个多功能电子设备,它既能播放mp3歌曲,同时还能够借助播放器的界面来监测脉动。 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上所有的设置按钮都是无效的,因为我们不能去设置脉动。
MP3播放器(java实现)
实验三 模拟实现一个多功能电子设备,它既能播放mp3歌曲,同时还能够借助播放器的界面来监测脉动。 1.这个设备有一个屏幕,屏幕上可以显示两种界面: 界面1是显示视图,有一个进度条,可以显示当前所播放
音乐
的
节拍
或是脉动,以
节拍
为例,比如是100
BPM
还是 120
BPM
(
BPM
是
节拍
的度量单位)。还有一个文本,显示“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歌曲,同时还能够借助播放器的界面来监测脉动
模拟实现一个多功能电子设备,它既能播放mp3歌曲,同时还能够借助播放器的界面来监测脉动。 1.这个设备有一个屏幕,屏幕上可以显示两种界面: 界面1是显示视图,有一个进度条,可以显示当前所播放
音乐
的
节拍
或是脉动,以
节拍
为例,比如是100
BPM
还是 120
BPM
(
BPM
是
节拍
的度量单位)。还有一个文本,显示“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歌曲,同时还能够借助播放器的界面来监测脉动。
模拟实现一个多功能电子设备,它既能播放mp3歌曲,同时还能够借助播放器的界面来监测脉动。1.这个设备有一个屏幕,屏幕上可以显示两种界面: 界面1是显示视图,有一个进度条,可以显示当前所播放
音乐
的
节拍
或是脉动,以
节拍
为例,比如是100
BPM
还是 120
BPM
(
BPM
是
节拍
的度量单位)。还有一个文本,显示“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分开
Android
80,351
社区成员
91,288
社区内容
发帖
与我相关
我的任务
Android
移动平台 Android
复制链接
扫一扫
分享
社区描述
移动平台 Android
android
android-studio
androidx
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章