[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-mdeff--fma":3,"tool-mdeff--fma":61},[4,18,26,36,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",155373,2,"2026-04-14T11:34:08",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108322,"2026-04-10T11:39:34",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[52,13,15,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":32,"last_commit_at":59,"category_tags":60,"status":17},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[52,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":66,"readme_en":67,"readme_zh":68,"quickstart_zh":69,"use_case_zh":70,"hero_image_url":71,"owner_login":72,"owner_name":73,"owner_avatar_url":74,"owner_bio":75,"owner_company":76,"owner_location":77,"owner_email":78,"owner_twitter":79,"owner_website":80,"owner_url":81,"languages":82,"stars":99,"forks":100,"last_commit_at":101,"license":102,"difficulty_score":10,"env_os":103,"env_gpu":104,"env_ram":105,"env_deps":106,"category_tags":116,"github_topics":119,"view_count":32,"oss_zip_url":78,"oss_zip_packed_at":78,"status":17,"created_at":127,"updated_at":128,"faqs":129,"releases":159},7520,"mdeff\u002Ffma","fma","FMA: A Dataset For Music Analysis","FMA（Free Music Archive）是一个专为音乐信息检索（MIR）研究打造的大型开源数据集。它旨在解决该领域长期面临的高质量、大规模音频数据匮乏的难题，为算法评估提供坚实基础。\n\nFMA 收录了来自 1.6 万多位艺术家的超 10 万首曲目，总计约 917 GiB 的创意共享许可音频。其核心优势在于提供了完整的层级化流派分类（涵盖 161 种风格），并附带了丰富的元数据、用户标签、传记文本以及预计算的音乐特征。为了适应不同研究需求，FMA 灵活提供了从仅含 8000 首曲目的精简版到包含完整未裁剪音轨的全量版等多种数据子集。\n\n这套资源特别适合人工智能研究人员、数据科学家及音乐技术开发者使用。无论是进行音乐流派识别、推荐系统构建，还是探索端到端的深度学习模型，FMA 都提供了开箱即用的训练\u002F验证\u002F测试划分和基线代码示例。借助 FMA，研究者可以摆脱数据收集的繁琐，专注于模型创新与音乐数据的深度挖掘。","# FMA: A Dataset For Music Analysis\n\n[Michaël Defferrard](https:\u002F\u002Fdeff.ch),\n[Kirell Benzi](https:\u002F\u002Fkirellbenzi.com),\n[Pierre Vandergheynst](https:\u002F\u002Fpeople.epfl.ch\u002Fpierre.vandergheynst),\n[Xavier Bresson](https:\u002F\u002Fwww.ntu.edu.sg\u002Fhome\u002Fxbresson). \\\nInternational Society for Music Information Retrieval Conference (ISMIR), 2017.\n\n> We introduce the Free Music Archive (FMA), an open and easily accessible\n> dataset suitable for evaluating several tasks in MIR, a field concerned with\n> browsing, searching, and organizing large music collections. The community's\n> growing interest in feature and end-to-end learning is however restrained by\n> the limited availability of large audio datasets. The FMA aims to overcome\n> this hurdle by providing 917 GiB and 343 days of Creative Commons-licensed\n> audio from 106,574 tracks from 16,341 artists and 14,854 albums, arranged in\n> a hierarchical taxonomy of 161 genres. It provides full-length and\n> high-quality audio, pre-computed features, together with track- and\n> user-level metadata, tags, and free-form text such as biographies. We here\n> describe the dataset and how it was created, propose a train\u002Fvalidation\u002Ftest\n> split and three subsets, discuss some suitable MIR tasks, and evaluate some\n> baselines for genre recognition. Code, data, and usage examples are available\n> at \u003Chttps:\u002F\u002Fgithub.com\u002Fmdeff\u002Ffma>.\n\n* Paper: [`arXiv:1612.01840`][paper] ([latex and reviews](https:\u002F\u002Fgithub.com\u002Fmdeff\u002Fpaper-fma-ismir2017))\n* Slides: [`doi:10.5281\u002Fzenodo.1066119`](https:\u002F\u002Fdoi.org\u002F10.5281\u002Fzenodo.1066119)\n* Poster: [`doi:10.5281\u002Fzenodo.1035847`](https:\u002F\u002Fdoi.org\u002F10.5281\u002Fzenodo.1035847)\n\n[paper]: https:\u002F\u002Farxiv.org\u002Fabs\u002F1612.01840\n[FMA]: https:\u002F\u002Ffreemusicarchive.org\n\n## Data\n\nAll metadata and features for all tracks are distributed in **[`fma_metadata.zip`]** (342 MiB).\nThe below tables can be used with [pandas] or any other data analysis tool.\nSee the [paper] or the [`usage.ipynb`] notebook for a description.\n* `tracks.csv`: per track metadata such as ID, title, artist, genres, tags and play counts, for all 106,574 tracks.\n* `genres.csv`: all 163 genres with name and parent (used to infer the genre hierarchy and top-level genres).\n* `features.csv`: common features extracted with [librosa].\n* `echonest.csv`: audio features provided by [Echonest] (now [Spotify]) for a subset of 13,129 tracks.\n\n[pandas]:   https:\u002F\u002Fpandas.pydata.org\u002F\n[librosa]:  https:\u002F\u002Flibrosa.org\u002F\n[spotify]:  https:\u002F\u002Fwww.spotify.com\u002F\n[echonest]: https:\u002F\u002Fweb.archive.org\u002Fweb\u002F20170519050040\u002Fhttp:\u002F\u002Fthe.echonest.com\u002F\n\nThen, you got various sizes of MP3-encoded audio data:\n\n1. **[`fma_small.zip`]**: 8,000 tracks of 30s, 8 balanced genres (GTZAN-like) (7.2 GiB)\n2. **[`fma_medium.zip`]**: 25,000 tracks of 30s, 16 unbalanced genres (22 GiB)\n3. **[`fma_large.zip`]**: 106,574 tracks of 30s, 161 unbalanced genres (93 GiB)\n4. **[`fma_full.zip`]**: 106,574 untrimmed tracks, 161 unbalanced genres (879 GiB)\n\n[`fma_metadata.zip`]: https:\u002F\u002Fos.unil.cloud.switch.ch\u002Ffma\u002Ffma_metadata.zip\n[`fma_small.zip`]:    https:\u002F\u002Fos.unil.cloud.switch.ch\u002Ffma\u002Ffma_small.zip\n[`fma_medium.zip`]:   https:\u002F\u002Fos.unil.cloud.switch.ch\u002Ffma\u002Ffma_medium.zip\n[`fma_large.zip`]:    https:\u002F\u002Fos.unil.cloud.switch.ch\u002Ffma\u002Ffma_large.zip\n[`fma_full.zip`]:     https:\u002F\u002Fos.unil.cloud.switch.ch\u002Ffma\u002Ffma_full.zip\n\nSee the [wiki](https:\u002F\u002Fgithub.com\u002Fmdeff\u002Ffma\u002Fwiki) (or [#41](https:\u002F\u002Fgithub.com\u002Fmdeff\u002Ffma\u002Fissues\u002F41)) for **known issues (errata)**.\n\n## Code\n\nThe following notebooks, scripts, and modules have been developed for the dataset.\n\n1. [`usage.ipynb`]: shows how to load the datasets and develop, train, and test your own models with it.\n2. [`analysis.ipynb`]: exploration of the metadata, data, and features.\n   Creates the [figures](https:\u002F\u002Fgithub.com\u002Fmdeff\u002Ffma\u002Ftree\u002Foutputs\u002Ffigures) used in the paper.\n3. [`baselines.ipynb`]: baseline models for genre recognition, both from audio and features.\n4. [`features.py`]: features extraction from the audio (used to create `features.csv`).\n5. [`webapi.ipynb`]: query the web API of the [FMA]. Can be used to update the dataset.\n6. [`creation.ipynb`]: creation of the dataset (used to create `tracks.csv` and `genres.csv`).\n7. [`creation.py`]: creation of the dataset (long-running data collection and processing).\n8. [`utils.py`]: helper functions and classes.\n\n[`usage.ipynb`]:     https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fmdeff\u002Ffma\u002Fblob\u002Foutputs\u002Fusage.ipynb\n[`analysis.ipynb`]:  https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fmdeff\u002Ffma\u002Fblob\u002Foutputs\u002Fanalysis.ipynb\n[`baselines.ipynb`]: https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fmdeff\u002Ffma\u002Fblob\u002Foutputs\u002Fbaselines.ipynb\n[`features.py`]:     features.py\n[`webapi.ipynb`]:    https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fmdeff\u002Ffma\u002Fblob\u002Foutputs\u002Fwebapi.ipynb\n[`creation.ipynb`]:  https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fmdeff\u002Ffma\u002Fblob\u002Foutputs\u002Fcreation.ipynb\n[`creation.py`]:     creation.py\n[`utils.py`]:        utils.py\n\n## Usage\n\n[![Binder](https:\u002F\u002Fstatic.mybinder.org\u002Fbadge_logo.svg)](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fmdeff\u002Ffma\u002Foutputs?urlpath=lab\u002Ftree\u002Fusage.ipynb)\n&nbsp; Click the binder badge to play with the code and data from your browser without installing anything.\n\n1. Clone the repository.\n    ```sh\n    git clone https:\u002F\u002Fgithub.com\u002Fmdeff\u002Ffma.git\n    cd fma\n    ```\n\n1. \u003Cdetails>\u003Csummary>Create a Python 3.6 environment.\u003C\u002Fsummary>\n\n    ```sh\n    # with https:\u002F\u002Fconda.io\n    conda create -n fma python=3.6\n    conda activate fma\n\n    # with https:\u002F\u002Fgithub.com\u002Fpyenv\u002Fpyenv\n    pyenv install 3.6.0\n    pyenv virtualenv 3.6.0 fma\n    pyenv activate fma\n\n    # with https:\u002F\u002Fpipenv.pypa.io\n    pipenv --python 3.6\n    pipenv shell\n\n    # with https:\u002F\u002Fdocs.python.org\u002F3\u002Ftutorial\u002Fvenv.html\n    python3.6 -m venv .\u002Fenv\n    source .\u002Fenv\u002Fbin\u002Factivate\n    ```\n    \u003C\u002Fdetails>\n\n1. Install dependencies.\n    ```sh\n    pip install --upgrade pip setuptools wheel\n    pip install numpy==1.12.1  # workaround resampy's bogus setup.py\n    pip install -r requirements.txt\n    ```\n    Note: you may need to install [ffmpeg](https:\u002F\u002Fffmpeg.org\u002Fdownload.html) or [graphviz](https:\u002F\u002Fwww.graphviz.org) depending on your usage.\\\n    Note: install [CUDA](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FCUDA) to train neural networks on GPUs (see [Tensorflow's instructions](https:\u002F\u002Fwww.tensorflow.org\u002Finstall\u002F)).\n\n1. Download some data, verify its integrity, and uncompress the archives.\n    ```sh\n    cd data\n\n    curl -O https:\u002F\u002Fos.unil.cloud.switch.ch\u002Ffma\u002Ffma_metadata.zip\n    curl -O https:\u002F\u002Fos.unil.cloud.switch.ch\u002Ffma\u002Ffma_small.zip\n    curl -O https:\u002F\u002Fos.unil.cloud.switch.ch\u002Ffma\u002Ffma_medium.zip\n    curl -O https:\u002F\u002Fos.unil.cloud.switch.ch\u002Ffma\u002Ffma_large.zip\n    curl -O https:\u002F\u002Fos.unil.cloud.switch.ch\u002Ffma\u002Ffma_full.zip\n\n    echo \"f0df49ffe5f2a6008d7dc83c6915b31835dfe733  fma_metadata.zip\" | sha1sum -c -\n    echo \"ade154f733639d52e35e32f5593efe5be76c6d70  fma_small.zip\"    | sha1sum -c -\n    echo \"c67b69ea232021025fca9231fc1c7c1a063ab50b  fma_medium.zip\"   | sha1sum -c -\n    echo \"497109f4dd721066b5ce5e5f250ec604dc78939e  fma_large.zip\"    | sha1sum -c -\n    echo \"0f0ace23fbe9ba30ecb7e95f763e435ea802b8ab  fma_full.zip\"     | sha1sum -c -\n\n    unzip fma_metadata.zip\n    unzip fma_small.zip\n    unzip fma_medium.zip\n    unzip fma_large.zip\n    unzip fma_full.zip\n\n    cd ..\n    ```\n\n    Note: try [7zip](https:\u002F\u002Fwww.7-zip.org) if decompression errors.\n    It might be an [unsupported compression issue](https:\u002F\u002Fgithub.com\u002Fmdeff\u002Ffma\u002Fissues\u002F5).\n\n1. Fill a `.env` configuration file (at repository's root) with the following content.\n    ```\n    AUDIO_DIR=.\u002Fdata\u002Ffma_small\u002F  # the path to a decompressed fma_*.zip\n    FMA_KEY=MYKEY  # only if you want to query the freemusicarchive.org API\n    ```\n\n1. Open Jupyter or run a notebook.\n    ```sh\n    jupyter notebook\n    make usage.ipynb\n    ```\n\n## Impact, coverage, and resources\n\n\u003Cdetails>\u003Csummary>100+ research papers\u003C\u002Fsummary>\n\nFull list on [Google Scholar](https:\u002F\u002Fscholar.google.com\u002Fscholar?cites=13646959466952873682,13785796238335741238,7544459641098681164,5736399534855095976).\nSome picks below.\n\n* [Zero-shot Learning for Audio-based Music Classification and Tagging](https:\u002F\u002Farxiv.org\u002Fabs\u002F1907.02670)\n* [One deep music representation to rule them all? A comparative analysis of different representation learning strategies](https:\u002F\u002Fdoi.org\u002F10.1007\u002Fs00521-019-04076-1)\n* [Deep Learning for Audio-Based Music Classification and Tagging: Teaching Computers to Distinguish Rock from Bach](https:\u002F\u002Fsci-hub.tw\u002F10.1109\u002FMSP.2018.2874383)\n* [Learning Discrete Structures for Graph Neural Networks](https:\u002F\u002Farxiv.org\u002Fabs\u002F1903.11960)\n* [A context encoder for audio inpainting](https:\u002F\u002Farxiv.org\u002Fabs\u002F1810.12138)\n* [OpenMIC-2018: An Open Data-set for Multiple Instrument Recognition](https:\u002F\u002Farchives.ismir.net\u002Fismir2018\u002Fpaper\u002F000248.pdf)\n* [Detecting Music Genre Using Extreme Gradient Boosting](https:\u002F\u002Fdoi.org\u002F10.1145\u002F3184558.3191822)\n* [Transfer Learning of Artist Group Factors to Musical Genre Classification](https:\u002F\u002Fdoi.org\u002F10.1145\u002F3184558.3191823)\n* [Learning to Recognize Musical Genre from Audio: Challenge Overview](https:\u002F\u002Farxiv.org\u002Fabs\u002F1803.05337)\n* [Representation Learning of Music Using Artist Labels](https:\u002F\u002Farxiv.org\u002Fabs\u002F1710.06648)\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\u003Csummary>2 derived works\u003C\u002Fsummary>\n\n* [OpenMIC-2018: An Open Data-set for Multiple Instrument Recognition](https:\u002F\u002Fgithub.com\u002Fcosmir\u002Fopenmic-2018)\n* [ConvNet features](https:\u002F\u002Fgithub.com\u002Fkeunwoochoi\u002FFMA_convnet_features) from [Transfer learning for music classification and regression tasks](https:\u002F\u002Farxiv.org\u002Fabs\u002F1703.09179)\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\u003Csummary>~10 posts\u003C\u002Fsummary>\n\n* [Music Genre Classification With TensorFlow](https:\u002F\u002Ftowardsdatascience.com\u002Fmusic-genre-classification-with-tensorflow-3de38f0d4dbb), Towards Data Science, 2020-08-11.\n* [Music Genre Classification: Transformers vs Recurrent Neural Networks](https:\u002F\u002Ftowardsdatascience.com\u002Fmusic-genre-classification-transformers-vs-recurrent-neural-networks-631751a71c58), Towards Data Science, 2020-06-14.\n* [Using CNNs and RNNs for Music Genre Recognition](https:\u002F\u002Ftowardsdatascience.com\u002Fusing-cnns-and-rnns-for-music-genre-recognition-2435fb2ed6af), Towards Data Science, 2018-12-13.\n* [Over 1.5 TB’s of Labeled Audio Datasets](https:\u002F\u002Ftowardsdatascience.com\u002Fa-data-lakes-worth-of-audio-datasets-b45b88cd4ad), Towards Data Science, 2018-11-13.\n* [Discovering Descriptive Music Genres Using K-Means Clustering](https:\u002F\u002Fmedium.com\u002Flatinxinai\u002Fdiscovering-descriptive-music-genres-using-k-means-clustering-d19bdea5e443), Medium, 2018-04-09.\n* [25 Open Datasets for Deep Learning Every Data Scientist Must Work With](https:\u002F\u002Fwww.analyticsvidhya.com\u002Fblog\u002F2018\u002F03\u002Fcomprehensive-collection-deep-learning-datasets\u002F), Analytics Vidhya, 2018-03-29.\n* [Learning Music Genres](https:\u002F\u002Fmedium.com\u002F@diegoagher\u002Flearning-music-genres-5ab1cabadfed), Medium, 2017-12-13.\n* [music2vec: Generating Vector Embeddings for Genre-Classification Task](https:\u002F\u002Fmedium.com\u002F@rajatheb\u002Fmusic2vec-generating-vector-embedding-for-genre-classification-task-411187a20820), Medium, 2017-11-28.\n* [A Music Information Retrieval Dataset, Made With FMA](https:\u002F\u002Fweb.archive.org\u002Fweb\u002F20190907182116\u002Fhttp:\u002F\u002Ffreemusicarchive.org\u002Fmember\u002Fcheyenne_h\u002Fblog\u002FA_Music_Information_Retrieval_Dataset_Made_With_FMA), freemusicarchive.org, 2017-05-22.\n* [Pre-publication release announced](https:\u002F\u002Ftwitter.com\u002Fm_deff\u002Fstatus\u002F861985446116589569), twitter.com, 2017-05-09.\n* [FMA: A Dataset For Music Analysis](https:\u002F\u002Ftensorflow.blog\u002F2017\u002F03\u002F14\u002Ffma-a-dataset-for-music-analysis), tensorflow.blog, 2017-03-14.\n* [Beta release discussed](https:\u002F\u002Ftwitter.com\u002FYadFaeq\u002Fstatus\u002F829406463286063104), twitter.com, 2017-02-08.\n* [FMA Data Set for Researchers Released](https:\u002F\u002Fweb.archive.org\u002Fweb\u002F20190826112752\u002Fhttp:\u002F\u002Ffreemusicarchive.org\u002Fmember\u002Fcheyenne_h\u002Fblog\u002FFMA_Dataset_for_Researchers), freemusicarchive.org, 2016-12-15.\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\u003Csummary>5 events\u003C\u002Fsummary>\n\n* [Summer Workshop](https:\u002F\u002Fhcdigitalscholarship.github.io\u002Faudio-files) by the [Haverford Digital Scholarship Library](https:\u002F\u002Fwww.haverford.edu\u002Flibrary\u002Fdigital-scholarship), 2020-07.\n* [Genre recognition challenge](https:\u002F\u002Fwww.crowdai.org\u002Fchallenges\u002Fwww-2018-challenge-learning-to-recognize-musical-genre) at the [Web Conference](https:\u002F\u002Fwww2018.thewebconf.org\u002Fprogram\u002Fchallenges-track\u002F), Lyon, 2018-04.\n* [Slides](https:\u002F\u002Fdoi.org\u002F10.5281\u002Fzenodo.1066119) presented at the [Data Jam days](http:\u002F\u002Fdatajamdays.org), Lausanne, 2017-11-24.\n* [Poster](https:\u002F\u002Fdoi.org\u002F10.5281\u002Fzenodo.1035847) presented at [ISMIR 2017](https:\u002F\u002Fismir2017.ismir.net), Suzhou, 2017-10-24.\n* [Slides](https:\u002F\u002Fdoi.org\u002F10.5281\u002Fzenodo.999353) for the [Open Science in Practice](https:\u002F\u002Fosip2017.epfl.ch) summer school at EPFL, 2017-09-29.\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\u003Csummary>~10 dataset lists\u003C\u002Fsummary>\n\n* \u003Chttps:\u002F\u002Fgithub.com\u002Fcaesar0301\u002Fawesome-public-datasets>\n* \u003Chttps:\u002F\u002Farchive.ics.uci.edu\u002Fml\u002Fdatasets\u002FFMA:+A+Dataset+For+Music+Analysis>\n* \u003Chttp:\u002F\u002Fdeeplearning.net\u002Fdatasets>\n* \u003Chttp:\u002F\u002Fwww.audiocontentanalysis.org\u002Fdata-sets>\n* \u003Chttps:\u002F\u002Fgithub.com\u002Fismir\u002Fmir-datasets>\n* \u003Chttps:\u002F\u002Fteachingmir.wikispaces.com\u002FDatasets>\n* \u003Chttps:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FList_of_datasets_for_machine_learning_research>\n* \u003Chttps:\u002F\u002Floc.gov\u002Fitem\u002F2018655052>\n* \u003Chttps:\u002F\u002Fcloudlab.atlassian.net\u002Fwiki\u002Fdisplay\u002Fdatasets\u002FFMA:+A+Dataset+For+Music+Analysis>\n* \u003Chttps:\u002F\u002Fwww.datasetlist.com>\n* \u003Chttps:\u002F\u002Fdata-flair.training\u002Fblogs\u002Fdeep-learning-project-ideas>\n\n\u003C\u002Fdetails>\n\n## Contributing\n\nContribute by opening an [issue](https:\u002F\u002Fgithub.com\u002Fmdeff\u002Ffma\u002Fissues) or a [pull request](https:\u002F\u002Fgithub.com\u002Fmdeff\u002Ffma\u002Fpulls).\nLet this repository be a hub around the dataset!\n\n## History\n\n**2017-05-09 pre-publication release**\n* paper: [arXiv:1612.01840v2](https:\u002F\u002Farxiv.org\u002Fabs\u002F1612.01840v2)\n* code: [git tag rc1](https:\u002F\u002Fgithub.com\u002Fmdeff\u002Ffma\u002Freleases\u002Ftag\u002Frc1)\n* `fma_metadata.zip` sha1: `f0df49ffe5f2a6008d7dc83c6915b31835dfe733`\n* `fma_small.zip`    sha1: `ade154f733639d52e35e32f5593efe5be76c6d70`\n* `fma_medium.zip`   sha1: `c67b69ea232021025fca9231fc1c7c1a063ab50b`\n* `fma_large.zip`    sha1: `497109f4dd721066b5ce5e5f250ec604dc78939e`\n* `fma_full.zip`     sha1: `0f0ace23fbe9ba30ecb7e95f763e435ea802b8ab`\n* known issues: see [#41](https:\u002F\u002Fgithub.com\u002Fmdeff\u002Ffma\u002Fissues\u002F41)\n\n**2016-12-06 beta release**\n* paper: [arXiv:1612.01840v1](https:\u002F\u002Farxiv.org\u002Fabs\u002F1612.01840v1)\n* code: [git tag beta](https:\u002F\u002Fgithub.com\u002Fmdeff\u002Ffma\u002Freleases\u002Ftag\u002Fbeta)\n* `fma_small.zip`  sha1: `e731a5d56a5625f7b7f770923ee32922374e2cbf`\n* `fma_medium.zip` sha1: `fe23d6f2a400821ed1271ded6bcd530b7a8ea551`\n\n## Acknowledgments and Licenses\n\nWe are grateful to the [Swiss Data Science Center] ([EPFL] and [ETHZ]) for hosting the dataset.\n\nPlease cite our work if you use our code or data.\n\n```\n@inproceedings{fma_dataset,\n  title = {{FMA}: A Dataset for Music Analysis},\n  author = {Defferrard, Micha\\\"el and Benzi, Kirell and Vandergheynst, Pierre and Bresson, Xavier},\n  booktitle = {18th International Society for Music Information Retrieval Conference (ISMIR)},\n  year = {2017},\n  archiveprefix = {arXiv},\n  eprint = {1612.01840},\n  url = {https:\u002F\u002Farxiv.org\u002Fabs\u002F1612.01840},\n}\n```\n\n```\n@inproceedings{fma_challenge,\n  title = {Learning to Recognize Musical Genre from Audio},\n  subtitle = {Challenge Overview},\n  author = {Defferrard, Micha\\\"el and Mohanty, Sharada P. and Carroll, Sean F. and Salath\\'e, Marcel},\n  booktitle = {The 2018 Web Conference Companion},\n  year = {2018},\n  publisher = {ACM Press},\n  isbn = {9781450356404},\n  doi = {10.1145\u002F3184558.3192310},\n  archiveprefix = {arXiv},\n  eprint = {1803.05337},\n  url = {https:\u002F\u002Farxiv.org\u002Fabs\u002F1803.05337},\n}\n```\n\n* The code in this repository is released under the [MIT license](LICENSE.txt).\n* The metadata is released under the [Creative Commons Attribution 4.0 International License (CC BY 4.0)][ccby40].\n* We do not hold the copyright on the audio and distribute it under the license chosen by the artist.\n* The dataset is meant for research purposes.\n\n[ccby40]: https:\u002F\u002Fcreativecommons.org\u002Flicenses\u002Fby\u002F4.0\n[Swiss Data Science Center]: https:\u002F\u002Fdatascience.ch\u002Fcollaboration-and-partnerships\n[EPFL]: https:\u002F\u002Fwww.epfl.ch\n[ETHZ]: https:\u002F\u002Fwww.ethz.ch\n","# FMA：用于音乐分析的数据集\n\n[米夏埃尔·德费拉尔](https:\u002F\u002Fdeff.ch)、\n[基雷尔·本齐](https:\u002F\u002Fkirellbenzi.com)、\n[皮埃尔·万德盖因斯特](https:\u002F\u002Fpeople.epfl.ch\u002Fpierre.vandergheynst)、\n[哈维埃·布雷松](https:\u002F\u002Fwww.ntu.edu.sg\u002Fhome\u002Fxbresson)。\\\n国际音乐信息检索会议（ISMIR），2017年。\n\n> 我们推出了自由音乐档案馆（FMA），这是一个开放且易于访问的数据集，适用于评估音乐信息检索（MIR）领域的多项任务。MIR 领域关注于大规模音乐库的浏览、搜索和组织。然而，社区对特征学习和端到端学习日益增长的兴趣，却受限于大型音频数据集的稀缺性。FMA 旨在克服这一障碍，提供了 917 GiB、总计 343 天的知识共享许可音频，涵盖来自 16,341 位艺术家、14,854 张专辑的 106,574 首曲目，并按照包含 161 个流派的层次化分类体系进行组织。该数据集提供完整长度的高质量音频、预计算的特征，以及曲目级和用户级的元数据、标签和传记等自由文本信息。本文描述了该数据集及其构建过程，提出了训练\u002F验证\u002F测试划分及三个子集，讨论了一些适合的 MIR 任务，并评估了流派识别的一些基准模型。代码、数据和使用示例可在 \u003Chttps:\u002F\u002Fgithub.com\u002Fmdeff\u002Ffma> 获取。\n\n* 论文：[`arXiv:1612.01840`][paper]（含 LaTeX 文档和评审意见 [GitHub 仓库](https:\u002F\u002Fgithub.com\u002Fmdeff\u002Fpaper-fma-ismir2017)）\n* 演示文稿：[`doi:10.5281\u002Fzenodo.1066119`](https:\u002F\u002Fdoi.org\u002F10.5281\u002Fzenodo.1066119)\n* 海报：[`doi:10.5281\u002Fzenodo.1035847`](https:\u002F\u002Fdoi.org\u002F10.5281\u002Fzenodo.1035847)\n\n[paper]: https:\u002F\u002Farxiv.org\u002Fabs\u002F1612.01840\n[FMA]: https:\u002F\u002Ffreemusicarchive.org\n\n## 数据\n\n所有曲目的元数据和特征均以 **[`fma_metadata.zip`]**（342 MiB）的形式发布。\n以下表格可与 [pandas] 或其他数据分析工具配合使用。\n详细说明请参阅论文或 [`usage.ipynb`] 笔记本。\n* `tracks.csv`：包含所有 106,574 首曲目的 ID、标题、艺术家、流派、标签和播放次数等曲目级元数据。\n* `genres.csv`：所有 163 个流派的名称及其父流派（用于推导流派层级结构和顶级流派）。\n* `features.csv`：使用 [librosa] 提取的常用特征。\n* `echonest.csv`：由 [Echonest]（现为 [Spotify]）为 13,129 首曲目提供的音频特征。\n\n[pandas]:   https:\u002F\u002Fpandas.pydata.org\u002F\n[librosa]:  https:\u002F\u002Flibrosa.org\u002F\n[spotify]:  https:\u002F\u002Fwww.spotify.com\u002F\n[echonest]: https:\u002F\u002Fweb.archive.org\u002Fweb\u002F20170519050040\u002Fhttp:\u002F\u002Fthe.echonest.com\u002F\n\n此外，还提供了不同规模的 MP3 编码音频数据：\n\n1. **[`fma_small.zip`]**：8,000 首 30 秒片段，8 个均衡流派（类似 GTZAN 数据集）（7.2 GiB）\n2. **[`fma_medium.zip`]**：25,000 首 30 秒片段，16 个不均衡流派（22 GiB）\n3. **[`fma_large.zip`]**：106,574 首 30 秒片段，161 个不均衡流派（93 GiB）\n4. **[`fma_full.zip`]**：106,574 首未修剪的完整曲目，161 个不均衡流派（879 GiB）\n\n[`fma_metadata.zip`]：https:\u002F\u002Fos.unil.cloud.switch.ch\u002Ffma\u002Ffma_metadata.zip  \n[`fma_small.zip`]：    https:\u002F\u002Fos.unil.cloud.switch.ch\u002Ffma\u002Ffma_small.zip  \n[`fma_medium.zip`]：   https:\u002F\u002Fos.unil.cloud.switch.ch\u002Ffma\u002Ffma_medium.zip  \n[`fma_large.zip`]：    https:\u002F\u002Fos.unil.cloud.switch.ch\u002Ffma\u002Ffma_large.zip  \n[`fma_full.zip`]：     https:\u002F\u002Fos.unil.cloud.switch.ch\u002Ffma\u002Ffma_full.zip  \n\n有关 **已知问题（勘误）**，请参阅 [wiki](https:\u002F\u002Fgithub.com\u002Fmdeff\u002Ffma\u002Fwiki) 或 [#41](https:\u002F\u002Fgithub.com\u002Fmdeff\u002Ffma\u002Fissues\u002F41)。\n\n## 代码\n\n为该数据集开发了以下笔记本、脚本和模块：\n\n1. [`usage.ipynb`]：演示如何加载数据集，并基于此开发、训练和测试自定义模型。\n2. [`analysis.ipynb`]：探索元数据、数据和特征，\n   并生成论文中使用的 [图表](https:\u002F\u002Fgithub.com\u002Fmdeff\u002Ffma\u002Ftree\u002Foutputs\u002Ffigures)。\n3. [`baselines.ipynb`]：基于音频和特征的流派识别基准模型。\n4. [`features.py`]：用于从音频中提取特征的模块（用于生成 `features.csv`）。\n5. [`webapi.ipynb`]：查询 [FMA] 的 Web API，可用于更新数据集。\n6. [`creation.ipynb`]：数据集的创建过程（用于生成 `tracks.csv` 和 `genres.csv`）。\n7. [`creation.py`]：数据集的创建脚本（涉及长期的数据收集和处理）。\n8. [`utils.py`]：辅助函数和类。\n\n[`usage.ipynb`]：     https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fmdeff\u002Ffma\u002Fblob\u002Foutputs\u002Fusage.ipynb  \n[`analysis.ipynb`]：  https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fmdeff\u002Ffma\u002Fblob\u002Foutputs\u002Fanalysis.ipynb  \n[`baselines.ipynb`]： https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fmdeff\u002Ffma\u002Fblob\u002Foutputs\u002Fbaselines.ipynb  \n[`features.py`]：     features.py  \n[`webapi.ipynb`]：    https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fmdeff\u002Ffma\u002Fblob\u002Foutputs\u002Fwebapi.ipynb  \n[`creation.ipynb`]：  https:\u002F\u002Fnbviewer.jupyter.org\u002Fgithub\u002Fmdeff\u002Ffma\u002Fblob\u002Foutputs\u002Fcreation.ipynb  \n[`creation.py`]：     creation.py  \n[`utils.py`]：        utils.py\n\n## 使用方法\n\n[![Binder](https:\u002F\u002Fstatic.mybinder.org\u002Fbadge_logo.svg)](https:\u002F\u002Fmybinder.org\u002Fv2\u002Fgh\u002Fmdeff\u002Ffma\u002Foutputs?urlpath=lab\u002Ftree\u002Fusage.ipynb)\n&nbsp; 点击 Binder 徽章，即可在浏览器中直接运行代码和处理数据，无需安装任何软件。\n\n1. 克隆仓库。\n    ```sh\n    git clone https:\u002F\u002Fgithub.com\u002Fmdeff\u002Ffma.git\n    cd fma\n    ```\n\n1. \u003Cdetails>\u003Csummary>创建 Python 3.6 环境。\u003C\u002Fsummary>\n\n    ```sh\n    # 使用 https:\u002F\u002Fconda.io\n    conda create -n fma python=3.6\n    conda activate fma\n\n    # 使用 https:\u002F\u002Fgithub.com\u002Fpyenv\u002Fpyenv\n    pyenv install 3.6.0\n    pyenv virtualenv 3.6.0 fma\n    pyenv activate fma\n\n    # 使用 https:\u002F\u002Fpipenv.pypa.io\n    pipenv --python 3.6\n    pipenv shell\n\n    # 使用 https:\u002F\u002Fdocs.python.org\u002F3\u002Ftutorial\u002Fvenv.html\n    python3.6 -m venv .\u002Fenv\n    source .\u002Fenv\u002Fbin\u002Factivate\n    ```\n    \u003C\u002Fdetails>\n\n1. 安装依赖。\n    ```sh\n    pip install --upgrade pip setuptools wheel\n    pip install numpy==1.12.1  # 用于解决 resampy 的错误 setup.py 问题\n    pip install -r requirements.txt\n    ```\n    注意：根据您的使用场景，可能需要安装 [ffmpeg](https:\u002F\u002Fffmpeg.org\u002Fdownload.html) 或 [graphviz](https:\u002F\u002Fwww.graphviz.org)。\\\n    注意：若要在 GPU 上训练神经网络，请安装 [CUDA](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FCUDA)（参阅 [TensorFlow 安装说明](https:\u002F\u002Fwww.tensorflow.org\u002Finstall\u002F)）。\n\n1. 下载数据、验证完整性并解压压缩包。\n    ```sh\n    cd data\n\n    curl -O https:\u002F\u002Fos.unil.cloud.switch.ch\u002Ffma\u002Ffma_metadata.zip\n    curl -O https:\u002F\u002Fos.unil.cloud.switch.ch\u002Ffma\u002Ffma_small.zip\n    curl -O https:\u002F\u002Fos.unil.cloud.switch.ch\u002Ffma\u002Ffma_medium.zip\n    curl -O https:\u002F\u002Fos.unil.cloud.switch.ch\u002Ffma\u002Ffma_large.zip\n    curl -O https:\u002F\u002Fos.unil.cloud.switch.ch\u002Ffma\u002Ffma_full.zip\n\n    echo \"f0df49ffe5f2a6008d7dc83c6915b31835dfe733  fma_metadata.zip\" | sha1sum -c -\n    echo \"ade154f733639d52e35e32f5593efe5be76c6d70  fma_small.zip\"    | sha1sum -c -\n    echo \"c67b69ea232021025fca9231fc1c7c1a063ab50b  fma_medium.zip\"   | sha1sum -c -\n    echo \"497109f4dd721066b5ce5e5f250ec604dc78939e  fma_large.zip\"    | sha1sum -c -\n    echo \"0f0ace23fbe9ba30ecb7e95f763e435ea802b8ab  fma_full.zip\"     | sha1sum -c -\n\n    unzip fma_metadata.zip\n    unzip fma_small.zip\n    unzip fma_medium.zip\n    unzip fma_large.zip\n    unzip fma_full.zip\n\n    cd ..\n    ```\n\n    注意：如果解压时出现错误，可以尝试使用 [7zip](https:\u002F\u002Fwww.7-zip.org)。这可能是由于 [不支持的压缩格式](https:\u002F\u002Fgithub.com\u002Fmdeff\u002Ffma\u002Fissues\u002F5) 导致的。\n\n1. 在仓库根目录下创建一个 `.env` 配置文件，并填入以下内容。\n    ```\n    AUDIO_DIR=.\u002Fdata\u002Ffma_small\u002F  # 解压后的 fma_*.zip 文件路径\n    FMA_KEY=MYKEY  # 仅当您需要调用 freemusicarchive.org API 时才需设置\n    ```\n\n1. 打开 Jupyter 或运行笔记本。\n    ```sh\n    jupyter notebook\n    make usage.ipynb\n    ```\n\n## 影响、覆盖范围和资源\n\n\u003Cdetails>\u003Csummary>100+ 篇研究论文\u003C\u002Fsummary>\n\n完整列表见 [Google Scholar](https:\u002F\u002Fscholar.google.com\u002Fscholar?cites=13646959466952873682,13785796238335741238,7544459641098681164,5736399534855095976)。\n以下是一些精选：\n\n* [基于音频的音乐分类与标签标注的零样本学习](https:\u002F\u002Farxiv.org\u002Fabs\u002F1907.02670)\n* [一种深度音乐表示能否统领全局？不同表示学习策略的比较分析](https:\u002F\u002Fdoi.org\u002F10.1007\u002Fs00521-019-04076-1)\n* [基于音频的音乐分类与标签标注中的深度学习：教计算机区分摇滚与巴赫](https:\u002F\u002Fsci-hub.tw\u002F10.1109\u002FMSP.2018.2874383)\n* [为图神经网络学习离散结构](https:\u002F\u002Farxiv.org\u002Fabs\u002F1903.11960)\n* [用于音频修复的上下文编码器](https:\u002F\u002Farxiv.org\u002Fabs\u002F1810.12138)\n* [OpenMIC-2018：一个多乐器识别的开放数据集](https:\u002F\u002Farchives.ismir.net\u002Fismir2018\u002Fpaper\u002F000248.pdf)\n* [使用极端梯度提升检测音乐流派](https:\u002F\u002Fdoi.org\u002F10.1145\u002F3184558.3191822)\n* [将艺术家群体因素迁移学习应用于音乐流派分类](https:\u002F\u002Fdoi.org\u002F10.1145\u002F3184558.3191823)\n* [从音频中学习识别音乐流派：挑战概述](https:\u002F\u002Farxiv.org\u002Fabs\u002F1803.05337)\n* [利用艺术家标签进行音乐表示学习](https:\u002F\u002Farxiv.org\u002Fabs\u002F1710.06648)\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\u003Csummary>2 项衍生作品\u003C\u002Fsummary>\n\n* [OpenMIC-2018：一个多乐器识别的开放数据集](https:\u002F\u002Fgithub.com\u002Fcosmir\u002Fopenmic-2018)\n* 来自 [用于音乐分类和回归任务的迁移学习](https:\u002F\u002Farxiv.org\u002Fabs\u002F1703.09179) 的 [ConvNet 特征](https:\u002F\u002Fgithub.com\u002Fkeunwoochoi\u002FFMA_convnet_features)\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\u003Csummary>约 10 篇文章\u003C\u002Fsummary>\n\n* [使用 TensorFlow 进行音乐流派分类](https:\u002F\u002Ftowardsdatascience.com\u002Fmusic-genre-classification-with-tensorflow-3de38f0d4dbb)，Towards Data Science，2020 年 8 月 11 日。\n* [音乐流派分类：Transformer 与循环神经网络的对比](https:\u002F\u002Ftowardsdatascience.com\u002Fmusic-genre-classification-transformers-vs-recurrent-neural-networks-631751a71c58)，Towards Data Science，2020 年 6 月 14 日。\n* [使用 CNN 和 RNN 进行音乐流派识别](https:\u002F\u002Ftowardsdatascience.com\u002Fusing-cnns-and-rnns-for-music-genre-recognition-2435fb2ed6af)，Towards Data Science，2018 年 12 月 13 日。\n* [超过 1.5 TB 的带标签音频数据集](https:\u002F\u002Ftowardsdatascience.com\u002Fa-data-lakes-worth-of-audio-datasets-b45b88cd4ad)，Towards Data Science，2018 年 11 月 13 日。\n* [使用 K-Means 聚类发现描述性音乐流派](https:\u002F\u002Fmedium.com\u002Flatinxinai\u002Fdiscovering-descriptive-music-genres-using-k-means-clustering-d19bdea5e443)，Medium，2018 年 4 月 9 日。\n* [每位数据科学家都应使用的 25 个深度学习开放数据集](https:\u002F\u002Fwww.analyticsvidhya.com\u002Fblog\u002F2018\u002F03\u002Fcomprehensive-collection-deep-learning-datasets\u002F)，Analytics Vidhya，2018 年 3 月 29 日。\n* [学习音乐流派](https:\u002F\u002Fmedium.com\u002F@diegoagher\u002Flearning-music-genres-5ab1cabadfed)，Medium，2017 年 12 月 13 日。\n* [music2vec：为流派分类任务生成向量嵌入](https:\u002F\u002Fmedium.com\u002F@rajatheb\u002Fmusic2vec-generating-vector-embedding-for-genre-classification-task-411187a20820)，Medium，2017 年 11 月 28 日。\n* [一个使用 FMA 制作的音乐信息检索数据集](https:\u002F\u002Fweb.archive.org\u002Fweb\u002F20190907182116\u002Fhttp:\u002F\u002Ffreemusicarchive.org\u002Fmember\u002Fcheyenne_h\u002Fblog\u002FA_Music_Information_Retrieval_Dataset_Made_With_FMA)，freemusicarchive.org，2017 年 5 月 22 日。\n* [宣布预发布](https:\u002F\u002Ftwitter.com\u002Fm_deff\u002Fstatus\u002F861985446116589569)，twitter.com，2017 年 5 月 9 日。\n* [FMA：用于音乐分析的数据集](https:\u002F\u002Ftensorflow.blog\u002F2017\u002F03\u002F14\u002Ffma-a-dataset-for-music-analysis)，tensorflow.blog，2017 年 3 月 14 日。\n* [讨论测试版发布](https:\u002F\u002Ftwitter.com\u002FYadFaeq\u002Fstatus\u002F829406463286063104)，twitter.com，2017 年 2 月 8 日。\n* [面向研究人员的 FMA 数据集发布](https:\u002F\u002Fweb.archive.org\u002Fweb\u002F20190826112752\u002Fhttp:\u002F\u002Ffreemusicarchive.org\u002Fmember\u002Fcheyenne_h\u002Fblog\u002FFMA_Dataset_for_Researchers)，freemusicarchive.org，2016 年 12 月 15 日。\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\u003Csummary>5 个活动\u003C\u002Fsummary>\n\n* [夏季研讨会](https:\u002F\u002Fhcdigitalscholarship.github.io\u002Faudio-files) 由 [哈弗福德数字学术图书馆](https:\u002F\u002Fwww.haverford.edu\u002Flibrary\u002Fdigital-scholarship) 举办，2020 年 7 月。\n* [流派识别挑战](https:\u002F\u002Fwww.crowdai.org\u002Fchallenges\u002Fwww-2018-challenge-learning-to-recognize-musical-genre) 在 [Web Conference](https:\u002F\u002Fwww2018.thewebconf.org\u002Fprogram\u002Fchallenges-track\u002F) 上举行，里昂，2018 年 4 月。\n* [演示文稿](https:\u002F\u002Fdoi.org\u002F10.5281\u002Fzenodo.1066119) 在 [Data Jam days](http:\u002F\u002Fdatajamdays.org) 上展示，洛桑，2017 年 11 月 24 日。\n* [海报](https:\u002F\u002Fdoi.org\u002F10.5281\u002Fzenodo.1035847) 在 [ISMIR 2017](https:\u002F\u002Fismir2017.ismir.net) 上展示，苏州，2017 年 10 月 24 日。\n* [演示文稿](https:\u002F\u002Fdoi.org\u002F10.5281\u002Fzenodo.999353) 用于 EPFL 的 [实践中的开放科学](https:\u002F\u002Fosip2017.epfl.ch) 夏季学校，2017 年 9 月 29 日。\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\u003Csummary>约 10 个数据集列表\u003C\u002Fsummary>\n\n* \u003Chttps:\u002F\u002Fgithub.com\u002Fcaesar0301\u002Fawesome-public-datasets>\n* \u003Chttps:\u002F\u002Farchive.ics.uci.edu\u002Fml\u002Fdatasets\u002FFMA:+A+Dataset+For+Music+Analysis>\n* \u003Chttp:\u002F\u002Fdeeplearning.net\u002Fdatasets>\n* \u003Chttp:\u002F\u002Fwww.audiocontentanalysis.org\u002Fdata-sets>\n* \u003Chttps:\u002F\u002Fgithub.com\u002Fismir\u002Fmir-datasets>\n* \u003Chttps:\u002F\u002Fteachingmir.wikispaces.com\u002FDatasets>\n* \u003Chttps:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FList_of_datasets_for_machine_learning_research>\n* \u003Chttps:\u002F\u002Floc.gov\u002Fitem\u002F2018655052>\n* \u003Chttps:\u002F\u002Fcloudlab.atlassian.net\u002Fwiki\u002Fdisplay\u002Fdatasets\u002FFMA:+A+Dataset+For+Music+Analysis>\n* \u003Chttps:\u002F\u002Fwww.datasetlist.com>\n* \u003Chttps:\u002F\u002Fdata-flair.training\u002Fblogs\u002Fdeep-learning-project-ideas>\n\n\u003C\u002Fdetails>\n\n## 贡献\n\n可通过提交 [issue](https:\u002F\u002Fgithub.com\u002Fmdeff\u002Ffma\u002Fissues) 或 [pull request](https:\u002F\u002Fgithub.com\u002Fmdeff\u002Ffma\u002Fpulls) 来贡献。\n让这个仓库成为围绕该数据集的中心枢纽！\n\n## 历史\n\n**2017 年 5 月 9 日 预发布**\n* 论文：[arXiv:1612.01840v2](https:\u002F\u002Farxiv.org\u002Fabs\u002F1612.01840v2)\n* 代码：[git 标签 rc1](https:\u002F\u002Fgithub.com\u002Fmdeff\u002Ffma\u002Freleases\u002Ftag\u002Frc1)\n* `fma_metadata.zip` sha1：`f0df49ffe5f2a6008d7dc83c6915b31835dfe733`\n* `fma_small.zip`    sha1：`ade154f733639d52e35e32f5593efe5be76c6d70`\n* `fma_medium.zip`   sha1：`c67b69ea232021025fca9231fc1c7c1a063ab50b`\n* `fma_large.zip`    sha1：`497109f4dd721066b5ce5e5f250ec604dc78939e`\n* `fma_full.zip`     sha1：`0f0ace23fbe9ba30ecb7e95f763e435ea802b8ab`\n* 已知问题：参见 [#41](https:\u002F\u002Fgithub.com\u002Fmdeff\u002Ffma\u002Fissues\u002F41)\n\n**2016 年 12 月 6 日 测试版发布**\n* 论文：[arXiv:1612.01840v1](https:\u002F\u002Farxiv.org\u002Fabs\u002F1612.01840v1)\n* 代码：[git 标签 beta](https:\u002F\u002Fgithub.com\u002Fmdeff\u002Ffma\u002Freleases\u002Ftag\u002Fbeta)\n* `fma_small.zip`  sha1：`e731a5d56a5625f7b7f770923ee32922374e2cbf`\n* `fma_medium.zip` sha1：`fe23d6f2a400821ed1271ded6bcd530b7a8ea551`\n\n## 致谢与许可\n\n我们感谢[瑞士数据科学中心]（[EPFL]和[ETHZ]）为本数据集提供托管服务。\n\n如果您使用了我们的代码或数据，请引用我们的工作：\n\n```\n@inproceedings{fma_dataset,\n  title = {{FMA}: 音乐分析数据集},\n  author = {Defferrard, Micha\\\"el 和 Benzi, Kirell 和 Vandergheynst, Pierre 和 Bresson, Xavier},\n  booktitle = {第18届国际音乐信息检索会议 (ISMIR)},\n  year = {2017},\n  archiveprefix = {arXiv},\n  eprint = {1612.01840},\n  url = {https:\u002F\u002Farxiv.org\u002Fabs\u002F1612.01840},\n}\n```\n\n```\n@inproceedings{fma_challenge,\n  title = {从音频中学习识别音乐流派},\n  subtitle = {挑战赛概述},\n  author = {Defferrard, Micha\\\"el 和 Mohanty, Sharada P. 和 Carroll, Sean F. 和 Salath\\'e, Marcel},\n  booktitle = {2018年万维网大会配套论文集},\n  year = {2018},\n  publisher = {ACM Press},\n  isbn = {9781450356404},\n  doi = {10.1145\u002F3184558.3192310},\n  archiveprefix = {arXiv},\n  eprint = {1803.05337},\n  url = {https:\u002F\u002Farxiv.org\u002Fabs\u002F1803.05337},\n}\n```\n\n* 本仓库中的代码采用[MIT许可证](LICENSE.txt)发布。\n* 元数据采用[知识共享署名4.0国际许可协议 (CC BY 4.0)](ccby40)发布。\n* 我们不持有音频文件的版权，而是根据艺术家选择的许可协议进行分发。\n* 本数据集仅用于研究目的。\n\n[ccby40]: https:\u002F\u002Fcreativecommons.org\u002Flicenses\u002Fby\u002F4.0\n[瑞士数据科学中心]: https:\u002F\u002Fdatascience.ch\u002Fcollaboration-and-partnerships\n[EPFL]: https:\u002F\u002Fwww.epfl.ch\n[ETHZ]: https:\u002F\u002Fwww.ethz.ch","# FMA 音乐分析数据集快速上手指南\n\nFMA (Free Music Archive) 是一个用于音乐信息检索（MIR）研究的开源数据集，包含大量带标签的音乐音频、元数据及预计算特征，适用于音乐流派分类、标签预测等任务。\n\n## 环境准备\n\n**系统要求：**\n- 操作系统：Linux \u002F macOS \u002F Windows (需支持 Bash 或 WSL)\n- Python 版本：**3.6** (项目原始依赖版本，建议使用虚拟环境隔离)\n- 磁盘空间：根据所需数据集大小准备（最小约 8GB，完整集约 879GB）\n\n**前置依赖：**\n- **Git**: 用于克隆代码仓库\n- **FFmpeg**: 用于音频处理（部分功能必需）\n- **Graphviz**: 用于可视化（可选，用于绘制图表）\n- **CUDA**: 如需使用 GPU 训练神经网络，请提前安装对应版本的 CUDA 和 cuDNN\n\n> **国内加速建议**：\n> - 安装 Python 包时，推荐使用清华或阿里镜像源加速：`pip install -r requirements.txt -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple`\n> - 下载数据集时，由于官方服务器位于海外，下载大文件可能较慢，建议使用支持断点续传的下载工具（如 `aria2c` 或迅雷）。\n\n## 安装步骤\n\n### 1. 克隆仓库\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fmdeff\u002Ffma.git\ncd fma\n```\n\n### 2. 创建 Python 环境\n推荐使用 `conda` 或 `venv` 创建独立的 Python 3.6 环境。\n\n**使用 Conda:**\n```bash\nconda create -n fma python=3.6\nconda activate fma\n```\n\n**使用 Venv:**\n```bash\npython3.6 -m venv .\u002Fenv\nsource .\u002Fenv\u002Fbin\u002Factivate  # Windows 用户请使用: .\\env\\Scripts\\activate\n```\n\n### 3. 安装依赖库\n```bash\npip install --upgrade pip setuptools wheel\n# 修复 resampy 兼容性问题\npip install numpy==1.12.1\n# 安装其他依赖 (建议配合国内镜像源)\npip install -r requirements.txt -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\n```\n\n### 4. 下载数据\n进入 `data` 目录并下载所需的数据包。初学者建议先下载 `fma_metadata.zip` 和 `fma_small.zip` 进行尝试。\n\n```bash\ncd data\n\n# 下载元数据 (必选)\ncurl -O https:\u002F\u002Fos.unil.cloud.switch.ch\u002Ffma\u002Ffma_metadata.zip\n\n# 下载小型数据集 (8000 首曲目，约 7.2GB，适合快速测试)\ncurl -O https:\u002F\u002Fos.unil.cloud.switch.ch\u002Ffma\u002Ffma_small.zip\n\n# 校验文件完整性 (可选，确保下载未损坏)\necho \"f0df49ffe5f2a6008d7dc83c6915b31835dfe733  fma_metadata.zip\" | sha1sum -c -\necho \"ade154f733639d52e35e32f5593efe5be76c6d70  fma_small.zip\"    | sha1sum -c -\n\n# 解压文件\nunzip fma_metadata.zip\nunzip fma_small.zip\n\ncd ..\n```\n> *注：若 `unzip` 报错，可尝试安装并使用 `7z` (p7zip-full)。*\n\n### 5. 配置环境变量\n在项目根目录创建 `.env` 文件，指定音频数据路径：\n\n```bash\necho \"AUDIO_DIR=.\u002Fdata\u002Ffma_small\u002F\" > .env\n```\n*(如果需要调用 FreeMusicArchive 在线 API，可在该文件中追加 `FMA_KEY=YOUR_API_KEY`)*\n\n## 基本使用\n\n项目提供了 Jupyter Notebook 示例，展示了如何加载数据、提取特征及训练基线模型。\n\n### 启动 Jupyter 并运行示例\n确保当前处于激活的虚拟环境中，然后执行：\n\n```bash\njupyter notebook\n```\n\n在浏览器打开的界面中，导航至 `usage.ipynb` 文件并运行。该笔记本将演示：\n1. 使用 `pandas` 加载 `tracks.csv` 和 `genres.csv` 元数据。\n2. 加载音频文件并进行预处理。\n3. 构建简单的机器学习模型进行音乐流派分类。\n\n### 代码片段示例 (Python)\n若需在脚本中直接加载元数据，可参考以下逻辑：\n\n```python\nimport pandas as pd\nimport os\n\n# 设置路径\nmetadata_path = '.\u002Fdata\u002Ffma_metadata'\naudio_dir = '.\u002Fdata\u002Ffma_small'\n\n# 加载元数据\ntracks = pd.read_csv(os.path.join(metadata_path, 'tracks.csv'), index_col=0, header=[0, 1, 2])\ngenres = pd.read_csv(os.path.join(metadata_path, 'genres.csv'), index_col=0)\n\n# 查看前几行数据\nprint(tracks.head())\nprint(genres.head())\n```\n\n现在您已准备好使用 FMA 数据集进行音乐分析实验了。更多高级用法（如特征提取、大规模训练）请参考仓库中的 `baselines.ipynb` 和 `features.py`。","某音乐科技初创公司的算法团队正在研发一款基于深度学习的自动音乐流派分类系统，以优化其流媒体平台的推荐引擎。\n\n### 没有 fma 时\n- **数据获取困难且昂贵**：团队难以找到大规模、合法的开源音频数据集，商业授权费用高昂，而爬取网络音频又面临严重的版权法律风险。\n- **数据规模与质量不足**：现有的公开数据集（如 GTZAN）仅包含数百首歌曲，样本量太小导致深度学习模型极易过拟合，无法泛化到真实的海量曲库中。\n- **特征工程重复造轮子**：研究人员需手动编写代码提取音频特征并整理元数据，缺乏统一的层级化流派标签（如从“摇滚”细分到“独立摇滚”），数据清洗耗时数月。\n- **基准测试缺失**：由于缺乏标准的训练集\u002F验证集\u002F测试集划分，团队难以客观评估模型性能，也无法与业界现有成果进行公平对比。\n\n### 使用 fma 后\n- **合法合规的大规模数据**：直接下载 fma 提供的 10 万余首创意共享（CC）授权音频，瞬间解决了数据冷启动问题，彻底规避了版权纠纷。\n- **支撑复杂模型训练**：利用 fma_full 或 fma_large 子集提供的 343 天高质量音频，团队成功训练出深层神经网络，显著提升了模型对罕见流派的识别准确率。\n- **开箱即用的特征与标签**：直接使用预计算的 Librosa 特征和包含 161 种流派的层级化元数据，将数据准备周期从数月缩短至几天，让团队专注于模型架构创新。\n- **标准化的评估体系**：采用官方推荐的训练\u002F验证\u002F测试分割方案，快速复现基线模型并量化改进效果，加速了算法迭代与论文发表进程。\n\nfma 通过提供大规模、结构化且合法的音频数据生态，将音乐信息检索领域的研发门槛从“数据收集”降低为纯粹的“算法创新”。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fmdeff_fma_4aa1efd8.png","mdeff","Michaël Defferrard","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fmdeff_11c0471e.jpg","Research on machine learning and graphs. Open science, source, data.","Qualcomm AI Research","Switzerland",null,"m_deff","https:\u002F\u002Fdeff.ch","https:\u002F\u002Fgithub.com\u002Fmdeff",[83,87,91,95],{"name":84,"color":85,"percentage":86},"Jupyter Notebook","#DA5B0B",77.4,{"name":88,"color":89,"percentage":90},"Python","#3572A5",21.4,{"name":92,"color":93,"percentage":94},"Makefile","#427819",0.8,{"name":96,"color":97,"percentage":98},"Shell","#89e051",0.4,2587,456,"2026-04-13T14:45:37","MIT","未说明","非必需。若需使用 GPU 训练神经网络，需安装 CUDA（具体版本取决于 TensorFlow 安装要求），无特定显存大小限制说明。","未说明（注：数据集最大压缩包 fma_full.zip 为 879 GiB，解压后需更大存储空间）",{"notes":107,"python":108,"dependencies":109},"1. 必须安装 ffmpeg 或 graphviz 以支持部分功能。2. 数据集分为 small\u002Fmedium\u002Flarge\u002Ffull 不同规模，full 版本高达 879 GiB，请根据磁盘空间选择下载。3. 解压失败时建议尝试使用 7zip。4. 可通过 Binder 在浏览器中直接运行示例无需本地安装。","3.6",[110,111,112,113,114,115],"numpy==1.12.1","pandas","librosa","tensorflow","jupyter","resampy",[117,14,16,118],"音频","其他",[120,121,122,123,124,125,126],"dataset","music-analysis","music-information-retrieval","deep-learning","open-data","open-science","reproducible-research","2026-03-27T02:49:30.150509","2026-04-15T06:12:46.315386",[130,135,140,145,150,155],{"id":131,"question_zh":132,"answer_zh":133,"source_url":134},33709,"为什么解压 fma_metadata.zip 文件时在 Mac 或 Windows 上会失败？","这是因为压缩包使用了 bzip2 压缩算法，而部分系统自带的解压工具不支持。解决方案是安装并使用 7-Zip (Windows) 或命令行版的 7-Zip (Mac\u002FLinux) 进行解压。该问题已在 README 的“使用方法”部分和已知问题列表中说明，并在未来的数据版本中修复。","https:\u002F\u002Fgithub.com\u002Fmdeff\u002Ffma\u002Fissues\u002F5",{"id":136,"question_zh":137,"answer_zh":138,"source_url":139},33710,"数据集（fma-small 或 fma-medium）中是否存在时长远小于 30 秒或为 0 秒的音频文件？","是的，存在少量异常文件。例如在 fma_small 中有 6 个文件时长极短（0s 到 1.6s 不等），其中 3 个为 0 秒的文件无法被 soxy 读取。这是由于元数据错误导致的。维护者已在 pinned meta-issue #41 和 README 的历史记录部分添加了说明，并计划在下一个数据更新版本中修复此问题。用户可参考 medium 子集的列表获取具体损坏文件的路径。","https:\u002F\u002Fgithub.com\u002Fmdeff\u002Ffma\u002Fissues\u002F8",{"id":141,"question_zh":142,"answer_zh":143,"source_url":144},33711,"运行代码加载 tracks.csv 时出现 \"ValueError: Got an unexpected argument: categories\" 错误怎么办？","该错误通常是由于 pandas 版本不兼容导致的。旧版代码中使用了 `astype` 函数的 `categories` 参数，而在新版 pandas 中该参数已被移除或更改。请确保使用与数据集版本（如 rc1）匹配的 code 分支（checkout rc1），或者根据错误信息调整代码以适配当前的 pandas 版本。维护者已合并相关修复代码（#47）。","https:\u002F\u002Fgithub.com\u002Fmdeff\u002Ffma\u002Fissues\u002F34",{"id":146,"question_zh":147,"answer_zh":148,"source_url":149},33712,"FMA Large 数据集中有哪些文件是损坏或无法加载的？","社区用户整理了一份在 Linux\u002Fffmpeg\u002Flibrosa 环境下无法打开的文件索引列表，包括 2624, 3284, 8669, 10116 等大量文件（完整列表见原 Issue）。这些文件可能缺失或数据损坏。建议在使用大型子集进行训练前，先验证音频文件的可读性并排除这些索引对应的文件。","https:\u002F\u002Fgithub.com\u002Fmdeff\u002Ffma\u002Fissues\u002F49",{"id":151,"question_zh":152,"answer_zh":153,"source_url":154},33713,"运行深度学习基线代码时遇到 \"ValueError: could not broadcast input array\" 维度不匹配错误如何解决？","该错误表明输入的音频特征数组形状不一致（例如期望形状 (59953,) 但实际得到 (59943,)）。这通常是因为某些音频文件时长过短或损坏，导致提取的特征长度不足。解决方法是在数据加载阶段检查并过滤掉那些无法生成正确维度特征的音频文件，或者在预处理时填充\u002F截断音频以确保固定长度。","https:\u002F\u002Fgithub.com\u002Fmdeff\u002Ffma\u002Fissues\u002F15",{"id":156,"question_zh":157,"answer_zh":158,"source_url":139},33714,"如何获取数据集的更新历史或已知问题列表？","数据集档案是有版本控制的。用户可以查看 GitHub 仓库 README 中的 \"History\" 部分，那里记录了不同版本的变更日志和已知问题（如 #41 号议题）。最新的修复代码通常位于 `next` 分支，将在未来的数据发布中应用。",[]]