five

disco-eth/FMA-rank

收藏
Hugging Face2024-03-18 更新2024-06-11 收录
下载链接:
https://hf-mirror.com/datasets/disco-eth/FMA-rank
下载链接
链接失效反馈
官方服务:
资源简介:
FMA-rank是一个基于CLAP的统计排名数据集,用于对Free Music Archive(FMA)中的音乐样本进行排名和过滤。FMA数据集包含超过8000小时的Creative Commons许可音乐,涵盖107k首曲目、16k位艺术家和15k张专辑。FMA-rank通过计算每个样本在CLAP潜在空间中的高斯分布的对数似然值,对样本进行排名,较高的对数似然值表示样本质量较好。

FMA-rank是一个基于CLAP的统计排名数据集,用于对Free Music Archive(FMA)中的音乐样本进行排名和过滤。FMA数据集包含超过8000小时的Creative Commons许可音乐,涵盖107k首曲目、16k位艺术家和15k张专辑。FMA-rank通过计算每个样本在CLAP潜在空间中的高斯分布的对数似然值,对样本进行排名,较高的对数似然值表示样本质量较好。
提供机构:
disco-eth
原始信息汇总

FMA-rank 数据集概述

数据集描述

FMA-rank 是一个基于 CLAP 的统计排名数据集,用于对 FMA(Free Music Archive)音乐数据集中的样本进行排名。FMA 包含超过 8000 小时的 Creative Commons 许可音乐,涵盖 107k 首曲目、16k 位艺术家和 15k 张专辑。FMA-rank 通过计算每个样本在 CLAP 潜在空间中属于估计高斯分布的对数似然值来进行排名,对数似然值越高表示样本质量越好。

数据集大小

数据集大小介于 100K 到 1M 之间。

数据集使用

用户可以通过以下步骤加载和过滤 FMA 样本:

  1. 从官方 GitHub 下载 FMA 数据集并解压。
  2. 设置 FMA 文件夹路径。
  3. 运行提供的代码片段,根据给定的百分比加载和过滤 FMA 样本,返回一个 HF 音频数据集。

代码示例

python from datasets import load_dataset, Dataset, Audio import os

设置 FMA 文件夹路径

fma_root_dir = "/path/to/fma/folder"

设置数据集使用的百分比

start_percentage = 80 end_percentage = 100

加载 FMA-rank.csv 并排序

csv_loaded = load_dataset("disco-eth/FMA-rank") fma_item_list = csv_loaded["train"] fma_sorted_list = sorted(fma_item_list, key=lambda d: d[CLAP-log-likelihood])

def parse_fma_audio_folder(fma_root_dir): valid_fma_ids = [] subfolders = os.listdir(fma_root_dir) for subfolder in subfolders: subfolder_path = os.path.join(fma_root_dir, subfolder) if os.path.isdir(subfolder_path): music_files = os.listdir(subfolder_path) for music_file in music_files: if ".mp3" not in music_file: continue else: fma_id = music_file.split(.)[0] valid_fma_ids.append(fma_id) return valid_fma_ids

选择存在的文件

valid_fma_ids = parse_fma_audio_folder(fma_root_dir) df_dict = {"id":[], "score": [], "audio": []} for fma_item in fma_sorted_list: this_id = f"{fma_item[id]:06d}" if this_id in valid_fma_ids: df_dict["id"].append(this_id) df_dict["score"].append(fma_item["CLAP-log-likelihood"]) df_dict["audio"].append(os.path.join(fma_root_dir, this_id[:3] , this_id+".mp3"))

根据百分比过滤数据集

i_start = int(start_percentage * len(df_dict["id"]) / 100) i_end = int(end_percentage * len(df_dict["id"]) / 100) df_dict_filtered = { "id": df_dict["id"][i_start:i_end], "score": df_dict["score"][i_start:i_end], "audio": df_dict["audio"][i_start:i_end], }

获取最终数据集

audio_dataset = Dataset.from_dict(df_dict_filtered).cast_column("audio", Audio())

数据集特征

最终数据集包含以下特征:

  • id: 样本 ID
  • score: CLAP 对数似然值
  • audio: 音频文件路径
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

面向社区/商业的数据集话题

二维码
科研交流群

面向高校/科研机构的开源数据集话题

数据驱动未来

携手共赢发展

商业合作