音乐解析引擎还有动作捕捉数据集怎么获取?
1282 語
6 分
音乐解析引擎还有动作捕捉数据集怎么获取?
音乐解析引擎和动作捕捉数据集的获取,可以分为**“现成开源资源直接调用”和”需要自研/申请的核心模块”**两类。以下是可直接落地的获取路径:
一、音乐解析引擎:获取与实现
1.1 现成开源库(立即可用)
这些库覆盖了除 PRE 以外的所有基础音频分析需求:
| 库名 | 安装命令 | 核心功能 | 适用场景 |
|---|---|---|---|
| Librosa | pip install librosa | MFCC、色谱、onset检测、BPM估计、CQT | 基础声学特征提取 |
| Madmom | pip install madmom | RNN+动态贝叶斯网络 Beat/Downbeat 追踪 | 高精度节拍检测,比 Librosa 更适合复杂节奏 |
| Essentia | pip install essentia | BPM、调性、响度、音乐分类 | 工业级音频分析,Spotify 在用 |
| Torchaudio | 随 PyTorch 安装 | STFT、Mel滤波器、音频 I/O | 与深度学习管线无缝衔接 |
最小可用组合建议:
pip install librosa madmom essentia torchaudioMadmom 典型 Beat 追踪代码(可直接替换伪代码中的 Beat 检测部分):
from madmom.features.beats import DBNBeatTrackingProcessor, RNNBeatProcessor
proc = DBNBeatTrackingProcessor(fps=100)act = RNNBeatProcessor()("music.wav")beat_times = proc(act) # 输出秒级节拍时间戳1.2 PRE 模块(需基于论文自研)
关键事实:Danceba 提出的 PRE(Phase-based Rhythm Extraction) 目前没有现成的开源 Python 包。它是该论文的核心创新,需要你自己实现。
但好消息是,所需的底层工具 PyTorch 都已内置:
torch.stft()—— 直接输出复数谱,含相位角torch.angle()—— 提取相位torch.diff()—— 相位差分(瞬时频率)
实现策略:
- 先用 Librosa + Madmom 搭建基础管线(1天内可跑通)
- 将 PRE 作为可插拔模块替换进去(基于之前给的伪代码,约1周调试)
1.3 音乐情绪识别:数据集与预训练模型
如果你需要情绪标签来驱动舞蹈风格,以下数据集公开可用:
| 数据集 | 获取地址 | 内容 | 规模 |
|---|---|---|---|
| DEAM | https://cvml.unige.ch/databases/DEAM/ | Valence-Arousal 动态标注(2Hz) | 1,802 首歌曲 |
| PMEmo | http://next.zju.edu.cn/archive/pmemo/ | 静态+动态情绪标注 + 皮肤电反应 | 794 首歌曲 |
| EmoMusic | MediaEval 2013 官网 | 45秒片段,连续情绪标注 | 744 首 |
快速方案:不必从头训练情绪模型。使用 Jukebox 或 MusicFM 的预训练音频嵌入 + 轻量 MLP 分类器,在 DEAM 上微调即可。研究表明 Jukebox 嵌入 + 色谱特征的组合跨数据集泛化能力最强。
二、动作捕捉数据集:获取途径
2.1 公开数据集(下载即用)
这是训练编舞模型的核心燃料,优先级如下:
| 数据集 | 获取方式 | 特点 | 格式 |
|---|---|---|---|
| AIST++ | https://google.github.io/aistplusplus_dataset/ | 最权威,1,408段舞蹈,多视角,已配准音乐,SMPL 参数化 | 视频 + 3D关键帧 + SMPL |
| FineDance | 通过论文 GitHub 申请 | 长序列舞蹈(适合训练长时一致性),高质量 | SMPL |
| Imperial Dance | https://github.com/YunZhongNikki/ImperialDance-Dataset | 多种舞蹈风格,.npy 格式 | 关键帧数据 |
| Motorica Dance | https://github.com/simonalexanderson/MotoricaDanceDataset | BVH 格式,适合动作生成研究 | BVH |
AIST++ 下载建议:
- 官网提供
keypoints3d/(3D关键点)、keypoints2d/(2D投影)、smpl/(SMPL参数) - 直接下载 SMPL 子集即可,无需处理原始视频
- 配合官方提供的
aistplusplus_apiPython 包读取标注
2.2 自建数据集工具(视频→3D 骨骼)
如果你想用抖音/B站/YouTube 的舞蹈视频扩充数据,或构建特定风格(如 K-pop、民族舞)数据集,使用这些开源动捕工具:
| 工具 | GitHub | 输出格式 | 特点 |
|---|---|---|---|
| HybrIK-X | https://github.com/Jeff-sjtu/HybrIK | SMPL-X (全身含手指) | 最推荐,单目视频→3D人体,精度高,已有 Blender 插件 |
| MMHuman3D | https://github.com/open-mmlab/mmhuman3d | SMPL/SMPL-X | OpenMMLab 生态,支持多种算法(HybrIK、SPIN、METRO) |
| MediaPipe Pose | Google 官方 | 33 个 2D/伪3D 关键点 | 轻量、实时、适合移动端,但精度不如 HybrIK |
| Rokoko Video | https://www.rokoko.com/video | FBX/BVH | 网页上传视频,自动返回骨骼数据,免费版可用 |
HybrIK-X 批量处理工作流:
# 安装git clone https://github.com/Jeff-sjtu/HybrIK.gitcd HybrIKpython setup.py develop
# 下载预训练模型(Google Drive/Baidu 网盘,code: 2u3c)# 批量处理视频python scripts/demo_3d.py --video_path ./dance_videos/ --save_path ./output/# 输出:SMPL 参数 .npz 文件,直接用于训练2.3 商业动捕设备(高质量但高成本)
如果你需要原创、高精度、无版权风险的数据:
- Rokoko Smartsuit Pro II:惯性动捕,约 $2,500,适合单人舞蹈
- Xsens DOT / Awinda:惯性传感器套装,约 $10,000+
- OptiTrack:光学动捕,精度最高,$20,000+,适合实验室
独立开发者建议:先用 HybrIK-X 处理公开视频 或 AIST++ 训练 MVP,验证模型有效性后,再考虑采购设备采集专属数据。
三、快速启动 Checklist
如果你今天就开始,按这个顺序执行:
Day 1-2: 音乐解析 └─ pip install librosa madmom └─ 用 Madmom 提取 10 首音乐的 Beat 时间戳 └─ 用 Librosa 提取 MFCC + Chromagram 验证维度
Day 3-5: 数据集准备 └─ 下载 AIST++ SMPL 子集 └─ 跑通 HybrIK-X Demo,处理 1 段自有舞蹈视频 └─ 对比 AIST++ 官方格式 vs HybrIK 输出格式,统一为 (T, 24, 3)
Day 6-7: 管线打通 └─ 将音频 Beat 与动作帧对齐(按时间戳切片) └─ 构建 PyTorch Dataset,输出 {music, motion, beat, emotion}需要我进一步展开哪个部分? 例如:
- AIST++ 数据格式的具体读取代码
- HybrIK-X 的 Docker 一键部署配置
- DEAM 情绪标签与舞蹈风格映射表的设计

記事を共有
この記事が役に立ったなら、ぜひ他の人と共有してください!
音乐解析引擎还有动作捕捉数据集怎么获取?
https://boyuan.net.cn/ja/posts/音乐解析引擎还有动作捕捉数据集怎么获取?/関連記事スマート
1
大小写问题
开发与编程以下是 Python 中大小写规则的核心应用范例,涵盖命名规范与字符串处理两大场景: 一、命名规范(PEP 8 标准) | 类型 | 规范 | 范例 | 说明 | | 变量 / 函数 | 小写 + 下划线 | username, getda…
2
全技术栈思维导图
开发与编程已为你生成完整的全技术栈思维导图,涵盖之前讨论的所有内容: 下载链接:智能编舞全栈思维导图.png 思维导图内容结构 | 主分支 | 涵盖内容 | | 🎵 音乐解析引擎 | PRE相位提取、Librosa基础特征、Madmom Beat追…
3
README
开发与编程🧠mindcraft⛏️ Crafting minds for Minecraft with LLMs and Mineflayer! FAQ | Discord Support | Video Tutorial | Blog Post…
4
README
开发与编程Use this service to connect your bot to an unsupported minecraft server versions. Run: After first start it will create…
5
running_human_ai
开发与编程Human AI Instructions Finishing Installation Install the conda environment for running the experiments by executing this…
ランダム記事ランダム
















