ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

FMA 音乐数据集:10 万级曲库到流派分类 baseline 的 30 分钟接入路径

FMA 音乐数据集:10 万级曲库到流派分类 baseline 的 30 分钟接入路径 FMA 音乐数据集10 万级曲库到流派分类 baseline 的 30 分钟接入路径【免费下载链接】fmaFMA: A Dataset For Music Analysis项目地址: https://gitcode.com/gh_mirrors/fm/fma给 3000 首曲子逐首打标人工排期要两周特征流水线是否跑通还没底。FMA 提供 106,574 首 Creative Commons 音频与现成特征用于流派分类跳过数据收集直接进入模型对比。能力速览106,574 首曲目的元数据与特征文件能力说明量化指标来源曲目元数据标题、艺术家、标签、播放次数、官方 train/val/test 分割106,574 行16,341 位艺术家14,854 张专辑tracks.csv流派层级父-子流派关系可推导 top-level 类别163 个流派large 子集覆盖 161 个genres.csv预计算音频特征mfcc、chroma_cens、tonnetz、spectral_contrast 等列组覆盖全部曲目与 tracks 行索引对齐features.csvEchonest 特征第三方音频、社会、时序特征13,129 首echonest.csv四档音频子集30 秒 44.1kHz 切片full 为完整长度7.2 / 22 / 93 / 879 GiBfma_small 至 fma_full.zip最短接入路径clone 与依赖安装环境搭建只需要两步命令版本说明在下方git clone https://gitcode.com/gh_mirrors/fm/fma cd fma pip install -r requirements.txt版本说明requirements.txt 锁定的是 Python 3.6 时代的栈pandas 0.19.2、librosa 0.5.0、Keras 1.2.2、tensorflow-gpu 1.0.1新环境建议放宽版本约束后安装核心用法不受影响。必须依赖numpy、pandas加载分层表头 CSV、scikit-learnbaseline 分类器可选依赖librosa、pydub原始音频解码、tensorflow-gpu Keras训练深度网络、系统级 ffmpeg最快的解码通路、jupyter notebook跑 usage.ipynb数据流水线从站点 API 到 MP3 子集采集webapi.ipynb 按曲目/专辑/艺术家 ID 查询 freemusicarchive.org 接口creation.py 落盘生成 tracks.csv 与 genres.csv。提特征features.py 用 librosa 从音频提取标准化特征写入 features.csv13,129 首额外汇入 Echonest 特征。编码音频全部曲目以 MP3 编码30 秒切片按 ID 存入 3 级目录如 000/000002.mp3再打包成 4 档 zip。消费解压到 data/ 后utils.py 的load()自动按分层表头解析 CSVget_audio_path(audio_dir, track_id)由 ID 拼出音频路径。三个实战场景加载元数据、训练流派分类、解码音频场景一离线加载元数据与特征场景二在 small 子集上用 SVC 跑流派分类 baseline两块共用下方代码块import utils, sklearn.preprocessing as sp, sklearn.svm as svm tracks utils.load(data/fma_metadata/tracks.csv) features utils.load(data/fma_metadata/features.csv) small, tr, te tracks[set,subset] small, tracks[set,split]training, tracks[set,split]test s sp.StandardScaler(copyFalse).fit(features.loc[small tr, mfcc]) ytr tracks.loc[small tr, (track,genre_top)] print(svm.SVC().fit(s.transform(features.loc[small tr, mfcc]), ytr).score( s.transform(features.loc[small te, mfcc]), tracks.loc[small te, (track,genre_top)]))预期输出一次运行得到 small 子集8 个平衡流派上的一个准确率数值可与 baselines.ipynb 里 13 个分类器的对比表逐项对照。场景三按 ID 解码 30 秒原始音频import os, utils path utils.get_audio_path(os.environ[AUDIO_DIR], 2) x utils.FfmpegLoader().load(path) print(path, x.shape)预期输出路径形如data/fma_small/000/000002.mp3样本数约 1,321,96744.1kHz 的 30 秒。高频坑与解法大文件解压与多进程音频加载现象unzip fma_large.zip报错或产物损坏。原因归档压缩级别超出系统 unzip 能力README 已知问题。处理改用 7-Zip 执行7z x fma_large.zip解压后按 README 给出的 sha1 校验。现象pip install -r requirements.txt在 resampy 处构建失败。原因resampy 的 setup.py 会先 import numpy。处理先单独pip install numpy1.12.1再装其余包makefile 的 install 目标就是这个两段式顺序。现象多进程批量读 mp3 时 librosa 报线程错误、整体慢。原因librosa 重采样慢audioread 后端不支持多进程。处理改用 utils.py 的FfmpegLoader管道调用 ffmpeg官方标注最快或LibrosaLoader配合res_typekaiser_fast约 3 倍速。现象个别 mp3 读取失败训练间歇报错。原因数据集存在已知坏文件官方 errata。处理用utils.build_sample_loader它对坏文件自动跳过并打印路径先用 sha1sum 排除下载截断。上下游生态上游来源与下游衍生方向上游音频与元数据来自 freemusicarchive.org全部曲目为 Creative Commons 许可数据集面向研究用途代码 MIT、元数据 CC BY 4.0。下游100 余篇论文引用ISMIR 2017 论文 arXiv:1612.01840已衍生 2 个数据集OpenMIC-2018多乐器识别与 FMA_convnet_features预提取 ConvNet 特征可跳过解码直接训分类头。维护方式问题与提交走仓库 issue/pull request已知坏文件清单集中在 issue #41。延伸阅读analysis.ipynb 复现论文全部图表usage.ipynb 覆盖加载、可视化与训练全链路。收束回到开场给 3000 首曲子打标签这件事现在可以先拉 342 MiB 的 fma_metadata.zip 加 7.2 GiB 的 small 子集按 usage.ipynb 跑通 SVC baseline确认流水线无误后再升级到 medium 子集调自己的模型。【免费下载链接】fmaFMA: A Dataset For Music Analysis项目地址: https://gitcode.com/gh_mirrors/fm/fma创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表