Upload folder using huggingface_hub
Browse files- .gitattributes +2 -0
- README.md +36 -0
- basic-pitch-f16.gguf +3 -0
- basic-pitch-f32.gguf +3 -0
.gitattributes
CHANGED
|
@@ -33,3 +33,5 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
|
| 33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
|
|
|
|
|
|
|
|
| 33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
| 36 |
+
basic-pitch-f16.gguf filter=lfs diff=lfs merge=lfs -text
|
| 37 |
+
basic-pitch-f32.gguf filter=lfs diff=lfs merge=lfs -text
|
README.md
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
license: apache-2.0
|
| 3 |
+
base_model:
|
| 4 |
+
- spotify/basic-pitch
|
| 5 |
+
pipeline_tag: audio-classification
|
| 6 |
+
tags:
|
| 7 |
+
- music-transcription
|
| 8 |
+
- note-events
|
| 9 |
+
- basic-pitch
|
| 10 |
+
- amt
|
| 11 |
+
- gguf
|
| 12 |
+
- crispasr
|
| 13 |
+
library_name: ggml
|
| 14 |
+
---
|
| 15 |
+
|
| 16 |
+
# Basic Pitch — GGUF (ggml)
|
| 17 |
+
|
| 18 |
+
GGUF / ggml conversion of [Spotify Basic Pitch](https://github.com/spotify/basic-pitch) (ICASSP 2022 `nmp` model, Apache-2.0) for **[CrispStrobe/CrispASR](https://github.com/CrispStrobe/CrispASR)** (§250): lightweight polyphonic audio → note-event transcription (any instrument, 88-key MIDI range).
|
| 19 |
+
|
| 20 |
+
Converted from the `nmp.onnx` that ships inside the basic-pitch repo (sha256 `2c3c1d14…`, 230 KB) with [`models/convert-basic-pitch-to-gguf.py`](https://github.com/CrispStrobe/CrispASR/blob/main/models/convert-basic-pitch-to-gguf.py). The nnAudio CQT2010v2 kernels, the 256-tap decimation FIR, and the rescale vector are copied **bit-for-bit from the ONNX initializers** — nothing DSP-critical is reimplemented.
|
| 21 |
+
|
| 22 |
+
## Files
|
| 23 |
+
|
| 24 |
+
| File | Size | Notes |
|
| 25 |
+
|---|---:|---|
|
| 26 |
+
| `basic-pitch-f32.gguf` | 146 KB | exact — note events match the Python reference 27/27 and 11/11 on the validation clips |
|
| 27 |
+
| `basic-pitch-f16.gguf` | 113 KB | default; two note *ends* may shift by one frame (11.6 ms) at threshold boundaries |
|
| 28 |
+
|
| 29 |
+
## Usage
|
| 30 |
+
|
| 31 |
+
```bash
|
| 32 |
+
crispasr --piano --backend basic-pitch -m auto --auto-download -f input.wav
|
| 33 |
+
crispasr --piano -m basic-pitch-f32.gguf -f input.wav --piano-format json
|
| 34 |
+
```
|
| 35 |
+
|
| 36 |
+
Parity vs the upstream ONNX (per-stage cosine ≥ 0.9991 on real audio, 1.000000 on native-rate input; end-to-end note events exact at F32) is enforced by the `crispasr-diff basic-pitch` harness with `tools/reference_backends/basic_pitch.py` as the oracle.
|
basic-pitch-f16.gguf
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:1bbef6c713af2c78ba0d0126ad4f6095421f20ae3e145f394b2131ff50b54cad
|
| 3 |
+
size 112160
|
basic-pitch-f32.gguf
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:b88612fcbb90daadae97928e748d064fe997fbcf25e34c0fdda58868e3c0f730
|
| 3 |
+
size 145408
|