尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

FMA 数据集:10 万级音乐音频样本的完整使用指南

FMA 数据集:10 万级音乐音频样本的完整使用指南 FMA 数据集10 万级音乐音频样本的完整使用指南【免费下载链接】fmaFMA: A Dataset For Music Analysis项目地址: https://gitcode.com/gh_mirrors/fm/fma当你需要训练音乐流派分类器或推荐系统却拿不到大规模、可合法使用的音频集合时FMA 数据集Free Music Archive, A Dataset For Music Analysis可以直接解决这个 EPFL 于 ISMIR 2017 发布的开源音乐分析数据集提供 106,574 首曲目的音频、预计算特征与完整元数据。917 GiB 音频、总计 343 天、16,341 位艺术家、163 个层级流派全部采用 Creative Commons 许可并自带训练/验证/测试划分。 一行命令载入 FMA 数据集元数据与预计算特征最省时间的地方你不用自己提特征。全部 106,574 首曲目的元数据与特征都打包在一个 342 MiB 的fma_metadata.zip里含四张 CSVtracks.csv每首曲目的标题、艺术家、流派、标签、播放次数以及 subset 与 split 标记features.csvMFCC、chroma、tonnetz、谱质心等 9 组特征每组统计 7 个矩均值、方差、偏度、峰度、中位数、最小、最大合计约 518 维genres.csv163 个流派及父子关系可直接用于多级分类研究echonest.csvSpotify原 Echonest提供的 13,129 首曲目专业音频特征加载逻辑封装在 utils.py 里它自动处理多级表头、日期解析与列表列还原import utils tracks utils.load(data/fma_metadata/tracks.csv) features utils.load(data/fma_metadata/features.csv) genres utils.load(data/fma_metadata/genres.csv)元数据的set列带两个字段subsetsmall/medium/large已按序与splittraining/validation/test选规模、选划分都只是比较一行small tracks[tracks[set, subset] small] train tracks[set, split] training 读取 FMA 数据集音频并在 Notebook 里试听音频按三位目录/六位ID.mp3组织utils.get_audio_path会自动把曲目 ID 映射到文件路径。usage.ipynb 里可以直接在浏览器中播放音频片段并用 librosa 画波形与梅尔谱图。utils.py提供四种加载器区别在速度与依赖FfmpegLoader最快、CPU 占用最低需要装 ffmpegLibrosaLoader与 librosa 重采样管线直接兼容AudioreadLoader/PydubLoader前两者不可用时的备选所有加载器都会把音频裁成固定 30 秒44.1 kHz约 132 万采样点批量训练不用处理变长序列import os, utils, librosa path utils.get_audio_path(os.environ[AUDIO_DIR], 2) x, sr librosa.load(path, srNone, monoTrue) 最短路径从克隆到第一个 Demo获取项目git clone https://gitcode.com/gh_mirrors/fm/fma进入fma目录建 Python 3.6 环境并装依赖pip install -r requirements.txt下载fma_metadata.zip与fma_small.zip解到data/目录官方建议先 sha1sum 校验完整性命令见 README根目录写.env配置AUDIO_DIR./data/fma_small/jupyter notebook打开 usage.ipynb按「载入数据 → 画谱图 → SVM 分类」顺序运行规模按需求选fma_small7.2 GiB8,000 首8 个平衡流派适合验证想法fma_medium22 GiB16 个不平衡流派适合中等规模实验fma_large93 GiB30 秒片段与 fma_full879 GiB完整长度留给正式研究。⚠️ requirements.txt 锁的是老版本numpy 1.12.1、librosa 0.5.0、TensorFlow 1.xREADME 明确建议用 Python 3.6 环境在新版本 Python 上装依赖需要自行放宽版本并处理兼容问题。Notebook 跑完就有了完整基线分类核心就这几行import sklearn as skl small tracks[set, subset] small train tracks[set, split] training test tracks[set, split] test X_train, y_train features.loc[small train, mfcc], tracks.loc[small train, (track, genre_top)] X_test, y_test features.loc[small test, mfcc], tracks.loc[small test, (track, genre_top)] clf skl.svm.SVC().fit(X_train, y_train) print(Accuracy: {:.2%}.format(clf.score(X_test, y_test))) 典型场景与避坑流派分类要求结果可对比问题模型训完怎么证明效果可靠。方案直接用官方split列划分数据别自己随机切基线对比用 small 子集8 个平衡流派GTZAN 风格这是论文间的通行做法。 ⚠️ medium 和 large 的流派分布不平衡直接报 accuracy 会误导建议用 macro-F1 或给分类器加 class_weight。音乐相似度与推荐问题10 万首曲目算相似度太贵。方案直接用features.csv的预计算列算距离约 518 维、全量覆盖需要更高层特征时改用echonest.csv的 13,129 首子集。 相似度计算不必读原始音频——30 秒 MP3 已是官方标准输入特征表就是为此准备的。在自己的音频上复现特征提取问题想给新数据提出与数据集一致的特征。方案features.py 就是官方生产级脚本9 组特征 × 7 个矩全部可复现。 ⚠️ 在完整长度音频上跑很吃内存最长曲目约 11,000 秒参考 features.py 按音频时长分档调整 worker 数的做法避免 OOM。生态与进阶FMA 自 ISMIR 2017 发表后已被 100 余篇研究论文引用是音乐信息检索MIR方向的标准基准也衍生出 OpenMIC-2018 等多乐器识别数据集。延伸阅读analysis.ipynb 做元数据与特征探索baselines.ipynb 是流派识别基线webapi.ipynb 演示用官方 API 更新数据集。从 7.2 GiB 的 small 子集开始跑通你的第一个流派分类。【免费下载链接】fmaFMA: A Dataset For Music Analysis项目地址: https://gitcode.com/gh_mirrors/fm/fma创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表