FMA 音乐数据集实战指南:五步下载跑通 10 万首免费音乐

📅 2026/8/25 23:42:31
FMA 音乐数据集实战指南:五步下载跑通 10 万首免费音乐
FMA 音乐数据集实战指南五步下载跑通 10 万首免费音乐【免费下载链接】fmaFMA: A Dataset For Music Analysis项目地址: https://gitcode.com/gh_mirrors/fm/fmaFMA 音乐数据集FMA: A Dataset For Music Analysis是一个为音乐分析设计的大规模开源数据集106,574 首曲目、917 GiB 音频、343 天的总时长来自 16,341 位艺术家的 14,854 张专辑并带有 161 个流派的层级分类。它要解决的核心问题很直接——做音乐信息检索MIR研究时能合法获取、规模够大、还带预计算特征的数据集太少FMA 用 Creative Commons 许可的音频补上了这个缺口。 先看家底这套数据里到底有什么所有元数据和特征集中在一个 342 MiB 的压缩包fma_metadata.zip里解压后是四张可以直接用 pandas 打开的表文件内容tracks.csv全部 106,574 首曲目的元数据ID、标题、艺术家、流派、标签、播放次数genres.csv163 个流派带父子关系字段可推出流派层级结构features.csv用 librosa 提取的常用音频特征每个特征含 mean、std、skew、kurtosis 等 7 种统计量echonest.csvSpotify原 Echonest提供的音频特征覆盖 13,129 首曲目音频部分则是四档 MP3 压缩包按用途取用后文详述。 从 clone 到读入数据五步走第 1 步拿到代码。git clone https://gitcode.com/gh_mirrors/fm/fma cd fma第 2 步准备 Python 环境。项目基于 Python 3.6 开发建议用 conda、venv 或 pyenv 建一个隔离环境。第 3 步装依赖。依赖版本锁定得比较老TensorFlow 1.0、Keras 1.2、librosa 0.5直接按 requirements.txt 安装即可注意可能需要额外装 ffmpeg 或 graphviz。第 4 步下载、校验、解压。官方做法是先 curl 下载 zip再用 sha1sum 校验完整性README 里给了每个包的 sha1 值最后 unzip。校验这一步别省——音频包动辄几十上百 GiB中途断掉浪费的时间比校验长得多。第 5 步配置并启动。在仓库根目录建一个.env文件用AUDIO_DIR指定你解压后的音频目录然后jupyter notebook打开 usage.ipynb 跟着跑。数据读入很简单核心几行import utils tracks utils.load(data/fma_metadata/tracks.csv) genres utils.load(data/fma_metadata/genres.csv)utils.py 里封装了加载、拼接、划分数据集的辅助函数后续所有示例都是基于它写的。 small、medium、large、full怎么选四档音频包的取舍逻辑如下包内容体积适用场景fma_small8,000 首 30 秒片段8 个平衡流派7.2 GiB快速验证代码流派数量接近经典的 GTZAN 基准fma_medium25,000 首 30 秒片段16 个不平衡流派22 GiB中等规模实验fma_large106,574 首 30 秒片段161 个不平衡流派93 GiB完整的流派分类研究fma_full106,574 首完整未裁剪音频161 个流派879 GiB需要整曲级分析的专业研究两条实用建议一是新手从 fma_small 起步8 个流派每类曲目数量均衡不用先处理类别不平衡验证流程后按需升级二是 small 之外的三档流派都不平衡训练分类模型时要么用重采样要么给损失函数加权否则精度会被大流派主导。数据集已提供官方的 train/validation/test 划分用官方划分才能和其他研究公平对比。 数据就位后的三个常见玩法流派识别。这是 FMA 最经典的 MIR 任务。baselines.ipynb 里给出了两套基线一套直接用 features.csv 的预计算特征跑传统机器学习一套用音频波形跑神经网络可以作为你改进模型的对照线。特征分析与探索。analysis.ipynb 展示了如何遍历元数据、画流派分布、做特征可视化并复现了论文里用到的图表。想快速搞清楚这份数据长什么样先看这个 notebook 成本最低。特征提取与更新。如果你需要自己定义的特征features.py 是 features.csv 的生产脚本基于 librosa 提取 chroma、MFCC、频谱质心等可改造复用webapi.ipynb 则演示了如何查询 Free Music Archive 的 Web API 来更新数据集元信息。⚠️ 容易踩的三个坑解压报错。部分压缩工具对 zip 的某些压缩方式支持不全unzip 失败时换 7zip 处理大文件通常能解决fma_full 接近 1 TB先确认磁盘空间再动手。内存别硬扛。large 和 full 的特征矩阵不适合整体读进内存用 pandas 分批读取或直接基于 fma_metadata.zip 里的表做子集筛选后再加载对应音频。许可边界。代码是 MIT 许可元数据是 CC BY 4.0但音频版权归艺术家各自所有按艺术家自选的 CC 许可分发且数据集定位是研究用途——商用发布前需要逐条核对音频许可。下一步如果你手头只有一块 500GB 以上的空闲磁盘按上面的五步走装环境、拉 fma_small、跑通 usage.ipynb然后用 baselines.ipynb 的流派识别结果当参照系替换成你自己的模型开始迭代。数据的问题 FMA 已经替你想好了剩下的才是真正属于你的部分。【免费下载链接】fmaFMA: A Dataset For Music Analysis项目地址: https://gitcode.com/gh_mirrors/fm/fma创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考