cstr commited on
Commit
49d4c2e
·
verified ·
1 Parent(s): 1916742

Upload folder using huggingface_hub

Browse files
Files changed (4) hide show
  1. .gitattributes +2 -0
  2. README.md +36 -0
  3. basic-pitch-f16.gguf +3 -0
  4. 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