一个beets插件,用于分析歌曲的节奏并将其存储在bpm标记中。

beets-bpmanalyser的Python项目详细描述


Build StatusCoverage StatusPyPi

BPM分析器(beets插件)

A beets插件,用于疯狂的强迫音乐怪人。

{bpm{tempo>你可以在bpm音乐库中分析你的bpm音乐。在

安装

插件可以通过以下方式安装:

$ pip install beets-bpmanalyser

它有两个依赖项:numpyaubio这两个都将在安装插件时自动安装。在

使用

激活配置文件中的插件:

^{pr2}$

检查插件是否加载了beet version。它应该在加载的插件中列出“bpmanalyser”。在

默认配置为:

bpmanalyser:auto:nodry-run:nowrite:yesthreads:2force:noquiet:no

小心点!auto选项尚未实现!它将用于在导入期间执行分析。在

其他配置选项也可以在运行插件时从命令行设置。 以下是解释的选项:

-d,--dry run:不要更新库或媒体文件。仅显示bpm值。在

-f,--force:默认情况下,仅限没有bpm值的歌曲(bpm:0)进行了分析。强制使用当前的bpm值,而不考虑此选项的当前值。在

-w,--write:将bpm值直接写入媒体文件。在

-t THREADS,--THREADS=THREADS:设置可以并行运行的进程数。它将默认为处理器的内核数。在

-q,--quiet:不显示命令的任何输出。在

-v,--version:显示插件的版本号。在

示例:

计算但仅显示(不存储)所有AC/DC乐曲的节奏信息:

$ beet bpmanalyser --dry-run artist:AC/DC

更新缺失的所有歌曲的节奏信息:

$ beet bpmanalyser bpm:0

强制更新已设置的所有歌曲的速度信息:

$ beet bpmanalyser -f ^bpm:0

准确度

acousticbrainz的BPM值:

$ beet -c dev.yml acousticbrainz artist:AC/DC
acousticbrainz: getting data for: [format:MP3][bpm:121.106361389] ::: /_TmpMusic_/A/AC_DC/High Voltage/01. Baby, Please Don't Go.mp3acousticbrainz: getting data for: [format:MP3][bpm:117.203399658] ::: /_TmpMusic_/A/AC_DC/High Voltage/02. She's Got Balls.mp3
acousticbrainz: getting data for: [format:MP3][bpm:106.826393127] ::: /_TmpMusic_/A/AC_DC/High Voltage/03. Little Lover.mp3
acousticbrainz: getting data for: [format:MP3][bpm:119.486862183] ::: /_TmpMusic_/A/AC_DC/High Voltage/04. Stick Around.mp3
acousticbrainz: getting data for: [format:MP3][bpm:133.189102173] ::: /_TmpMusic_/A/AC_DC/High Voltage/05. Soul Stripper.mp3
acousticbrainz: getting data for: [format:MP3][bpm:128.054992676] ::: /_TmpMusic_/A/AC_DC/High Voltage/06. You Ain't Got a Hold on Me.mp3
acousticbrainz: getting data for: [format:MP3][bpm:123.012046814] ::: /_TmpMusic_/A/AC_DC/High Voltage/07. Love Song.mp3
acousticbrainz: getting data for: [format:MP3][bpm:136.914703369] ::: /_TmpMusic_/A/AC_DC/High Voltage/08. Show Business.mp3

aubio计算的BPM值:

$ beet -c dev.yml bpmanalyser artist:AC/DC -df
bpmanalyser: Song[/_TmpMusic_/A/AC_DC/High Voltage/01. Baby, Please Don't Go.mp3] bpm: 122bpmanalyser: Song[/_TmpMusic_/A/AC_DC/High Voltage/02. She's Got Balls.mp3] bpm: 117
bpmanalyser: Song[/_TmpMusic_/A/AC_DC/High Voltage/03. Little Lover.mp3] bpm: 106
bpmanalyser: Song[/_TmpMusic_/A/AC_DC/High Voltage/04. Stick Around.mp3] bpm: 120
bpmanalyser: Song[/_TmpMusic_/A/AC_DC/High Voltage/05. Soul Stripper.mp3] bpm: 132
bpmanalyser: Song[/_TmpMusic_/A/AC_DC/High Voltage/06. You Ain't Got a Hold on Me.mp3] bpm: 128
bpmanalyser: Song[/_TmpMusic_/A/AC_DC/High Voltage/07. Love Song.mp3] bpm: 125
bpmanalyser: Song[/_TmpMusic_/A/AC_DC/High Voltage/08. Show Business.mp3] bpm: 139

开发说明

阅读development文档。在

致谢

非常感谢beets check plugin的开发者和贡献者。一些结构概念和最佳实践被采用来启动这个插件。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java基于条件如何创建StringBuffers并向其添加数据   java如何用UNC路径解决“不表示可正确访问的目录”异常?   在执行提取方法重构后,java代码的速度降低了6倍   java如何修改LDAPCertStore中用于X509证书链验证的LDAP连接属性   awt如何在Java中捕获鼠标光标?   字符串如何设置Java输出流   java NumberFormatException:用于输入字符串:“8:00”   unix/linux“tail f”的Java IO文件实现   java打印输出。带有JOptionPane的txt文件   java解组总是显示0和null   使用MySQL的windows java JavaFX自包含应用程序打包   JavaSpring:方法getBean(String…)是如何实现的根据输入字符串查找bean?   java高效地更新RecyclerView网格或以其他方式显示复杂网格   java向ArrayList添加对象(String、String、int、int)   java在一组文档上使用ForkJoinPool