ONNX 模型库
返回模型

说明文档

Solitito 吉他和弦模型 (v0.1.0)

这是一个轻量级的实时吉他和弦识别模型,专为 CPU 推理优化。它是 Solitito 的核心引擎 - 一个用 Rust 编写的开源吉他和弦训练与琶音练习工具。

模型描述

该模型是一个 Transformer/CNN 混合模型,经过训练可以从原始音频信号转换的特定特征集中识别爵士吉他和弦。它设计为在消费级硬件(笔记本电脑)上高效运行,无需专用 GPU。

类别

该模型可识别:

  • 根音: C, C#, D, D#, E, F, F#, G, G#, A, A#, B
  • 性质: Major, Minor, 7, Maj7, m7, dim7, m7b5, 9, 13(以及用于单音的 "Note")。

使用方法(需要预处理!)

重要提示: 该模型接受原始音频波形。您必须按照 dsp_weights.json 中定义的方式对音频进行精确预处理。

输入规范

  • 输入形状: [Batch, 32, 156]
    • 32:上下文帧(约 0.5 秒的音频历史)。
    • 156:每帧的特征向量大小。

DSP 流程 (Rust/Python)

  1. 采样率: 将音频重采样至 16,000 Hz
  2. FFT: 大小 8192,跳跃长度 256。
  3. CQT(恒 Q 变换): 144 个频段(6 个八度,每八度 24 个频段)。
  4. 色度: 从 CQT 派生的 12 个频段。
  5. 归一化: 对数归一化 + 缩放至 0.0-1.0 范围。
  6. 堆叠: 输入向量为 [CQT (144) + Chroma (12)] = 156 个 float32 值。

注意:本仓库中包含的 dsp_weights.json 文件包含 CQT 矩阵乘法的预计算复数权重,便于快速 Rust 实现。

训练数据

该模型在自定义数据集和 GuitarSet 数据集的组合上进行训练。

  • Xi, Q., Bittner, R. M., Ye, X., & Bello, J. P. (2018). GuitarSet: A Dataset for Guitar Transcription. In ISMIR.

如何在 Rust 中使用

完整实现请参见 https://github.com/greblus/solitito

greblus/solitito-ai

作者 greblus

audio-classification ort
↓ 0 ♥ 1

创建时间: 2025-12-18 09:19:32+00:00

更新时间: 2025-12-20 10:27:52+00:00

在 Hugging Face 上查看

文件 (12)

.gitattributes
README.md
chord_model_v31_16k.onnx ONNX
confusion_matrix.png
dataset_annotations.csv
dataset_clean.wav
dataset_eob.wav
dataset_v32/README.md
dsp_weights.json
model_benchmark.txt
model_tester.py
model_trainer.py