drumscript 0.1.4__tar.gz → 0.1.5__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {drumscript-0.1.4 → drumscript-0.1.5}/DrumScript.egg-info/PKG-INFO +67 -15
- {drumscript-0.1.4 → drumscript-0.1.5}/DrumScript.egg-info/requires.txt +0 -1
- {drumscript-0.1.4 → drumscript-0.1.5}/PKG-INFO +67 -15
- {drumscript-0.1.4 → drumscript-0.1.5}/README.md +66 -13
- {drumscript-0.1.4 → drumscript-0.1.5}/drumscript/__init__.py +1 -1
- {drumscript-0.1.4 → drumscript-0.1.5}/pyproject.toml +1 -2
- {drumscript-0.1.4 → drumscript-0.1.5}/DrumScript.egg-info/SOURCES.txt +0 -0
- {drumscript-0.1.4 → drumscript-0.1.5}/DrumScript.egg-info/dependency_links.txt +0 -0
- {drumscript-0.1.4 → drumscript-0.1.5}/DrumScript.egg-info/entry_points.txt +0 -0
- {drumscript-0.1.4 → drumscript-0.1.5}/DrumScript.egg-info/top_level.txt +0 -0
- {drumscript-0.1.4 → drumscript-0.1.5}/LICENSE +0 -0
- {drumscript-0.1.4 → drumscript-0.1.5}/MANIFEST.in +0 -0
- {drumscript-0.1.4 → drumscript-0.1.5}/drumscript/audio_processor/__init__.py +0 -0
- {drumscript-0.1.4 → drumscript-0.1.5}/drumscript/audio_processor/audio_loader.py +0 -0
- {drumscript-0.1.4 → drumscript-0.1.5}/drumscript/audio_processor/feature_extractor.py +0 -0
- {drumscript-0.1.4 → drumscript-0.1.5}/drumscript/audio_processor/onset_detector.py +0 -0
- {drumscript-0.1.4 → drumscript-0.1.5}/drumscript/audio_processor/stem_splitter.py +0 -0
- {drumscript-0.1.4 → drumscript-0.1.5}/drumscript/audio_processor/tempo_detector.py +0 -0
- {drumscript-0.1.4 → drumscript-0.1.5}/drumscript/audio_processor/tempogram.py +0 -0
- {drumscript-0.1.4 → drumscript-0.1.5}/drumscript/drum_classifier/__init__.py +0 -0
- {drumscript-0.1.4 → drumscript-0.1.5}/drumscript/drum_classifier/classify.py +0 -0
- {drumscript-0.1.4 → drumscript-0.1.5}/drumscript/main.py +0 -0
- {drumscript-0.1.4 → drumscript-0.1.5}/drumscript/notation_generator/__init__.py +0 -0
- {drumscript-0.1.4 → drumscript-0.1.5}/drumscript/notation_generator/constants.py +0 -0
- {drumscript-0.1.4 → drumscript-0.1.5}/drumscript/notation_generator/helpers.py +0 -0
- {drumscript-0.1.4 → drumscript-0.1.5}/drumscript/notation_generator/midi_exporter.py +0 -0
- {drumscript-0.1.4 → drumscript-0.1.5}/drumscript/notation_generator/pdf_exporter.py +0 -0
- {drumscript-0.1.4 → drumscript-0.1.5}/drumscript/notation_generator/score_builder.py +0 -0
- {drumscript-0.1.4 → drumscript-0.1.5}/drumscript/notation_generator/xml_exporter.py +0 -0
- {drumscript-0.1.4 → drumscript-0.1.5}/drumscript/utils/__init__.py +0 -0
- {drumscript-0.1.4 → drumscript-0.1.5}/drumscript/utils/ffmpeg_installer.py +0 -0
- {drumscript-0.1.4 → drumscript-0.1.5}/setup.cfg +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: drumscript
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.5
|
|
4
4
|
Summary: A Python package to convert drum audio to sheet music.
|
|
5
5
|
Author-email: drumscript-admin <hello.drumscript@gmail.com>
|
|
6
6
|
License-Expression: Apache-2.0
|
|
@@ -53,7 +53,6 @@ Requires-Dist: myst-nb>=1.3.0; extra == "dev"
|
|
|
53
53
|
Requires-Dist: pytest; extra == "dev"
|
|
54
54
|
Requires-Dist: pytest-cov>=7.1.0; extra == "dev"
|
|
55
55
|
Requires-Dist: shibuya>=2025.10.21; extra == "dev"
|
|
56
|
-
Requires-Dist: fastapi>=0.128.8; extra == "dev"
|
|
57
56
|
Requires-Dist: ipywidgets>=8.1.8; extra == "dev"
|
|
58
57
|
Requires-Dist: requests>=2.32.5; extra == "dev"
|
|
59
58
|
Requires-Dist: ruff>=0.15.11; extra == "dev"
|
|
@@ -62,14 +61,40 @@ Dynamic: license-file
|
|
|
62
61
|
# **`DrumScript`**
|
|
63
62
|
|
|
64
63
|
<!--date_created: sun-15-june-2025-->
|
|
65
|
-
<!--date_edited:
|
|
64
|
+
<!--date_edited: sat-22-may-2026--->
|
|
66
65
|
|
|
67
|
-
**
|
|
66
|
+
**Workflow Status**
|
|
68
67
|
|
|
69
|
-
|
|
68
|
+
[](https://github.com/DrumScript/DrumScript/actions/workflows/tests.yml)
|
|
69
|
+
|
|
70
|
+
**Demo Notebooks**
|
|
71
|
+
|
|
72
|
+
[](https://colab.research.google.com/drive/1eDVXc3d6ezmorxINOjzldRPSC3emTl2I)
|
|
73
|
+
|
|
74
|
+
**DrumScript** is an open-source Python library and CLI tool for drum audio analysis and transcription. Give it a recording — a full mix or an isolated drum stem — and it will generate PDF sheet music, MIDI files, and MusicXML output. The `DrumScript` model is a **deterministic classifier**, and doesn't use AI/machine learning. Built for drummers and by drummers, it is - and always will be - an open-source community tool.
|
|
70
75
|
|
|
71
76
|
> **Python >=3.9**
|
|
72
77
|
|
|
78
|
+
> **[Documentation](https://drumscript.github.io/DrumScript/)**
|
|
79
|
+
|
|
80
|
+
**Public Alpha (v0.1.4) — June to August 2026**
|
|
81
|
+
|
|
82
|
+
- We're looking for early adopters and feedback
|
|
83
|
+
- [Feedback on the classification model](https://github.com/DrumScript/DrumScript/issues), and help shape v1.0.
|
|
84
|
+
- In particular we are interested in hearing from everyone:: drummers (coding not required!), sound engineers and academics in Music Information Retrieval with an interest in deterministic drum/percussion classifications.
|
|
85
|
+
- For beta release, we are planning to (amongst other things) improve the classification model, fix any user-suggested bugs, implement user-suggested feature requests and **most importantly** build a **WebGPU/ONNX/WASM UI** that will be free to use for all.
|
|
86
|
+
|
|
87
|
+
> See the **[Roadmap](https://drumscript.github.io/DrumScript/guide/roadmap.html)** for what's planned.
|
|
88
|
+
|
|
89
|
+
**What it looks like**
|
|
90
|
+
|
|
91
|
+
<!-- TODO: Replace with a GIF showing terminal output if you have one -->
|
|
92
|
+
<!-- For now, this shows the PDF transcription output -->
|
|
93
|
+
|
|
94
|
+
*Input: audio recording → Output: drum notation (PDF).
|
|
95
|
+
|
|
96
|
+

|
|
97
|
+
|
|
73
98
|
---
|
|
74
99
|
|
|
75
100
|
- **[Features](#features)**
|
|
@@ -78,14 +103,7 @@ Dynamic: license-file
|
|
|
78
103
|
- **[CLI Usage](#cli-usage)**
|
|
79
104
|
- **[Contributing](#contributing)**
|
|
80
105
|
- **[FAQs](#faqs)**
|
|
81
|
-
|
|
82
|
-
**Workflow Status**
|
|
83
|
-
|
|
84
|
-
[](https://github.com/DrumScript/DrumScript/actions/workflows/tests.yml)
|
|
85
|
-
|
|
86
|
-
**Demo Notebooks**
|
|
87
|
-
|
|
88
|
-
[](https://colab.research.google.com/drive/1eDVXc3d6ezmorxINOjzldRPSC3emTl2I)
|
|
106
|
+
- **[Similar projects](#similar-projects)**
|
|
89
107
|
|
|
90
108
|
---
|
|
91
109
|
|
|
@@ -273,6 +291,28 @@ We welcome contributions! DrumScript is intended to be a community-owned project
|
|
|
273
291
|
|
|
274
292
|
> All bug reports and feature requests must be filed as GitHub Issues. All code changes must be submitted as Pull Requests. Keeping discussion public helps everyone.
|
|
275
293
|
|
|
294
|
+
**[hello.drumscript@gmail.com](mailto:hello.drumscript@gmail.com)**
|
|
295
|
+
|
|
296
|
+
## Alpha Priorities (v0.1 – v0.2)
|
|
297
|
+
The alpha phase runs between 01 June and 31 August 2026
|
|
298
|
+
|
|
299
|
+
**What works today:**
|
|
300
|
+
|
|
301
|
+
- End-to-end transcription pipeline: audio → onsets → classification → PDF / MIDI / MusicXML
|
|
302
|
+
- Tempo detection via spectral onset envelope
|
|
303
|
+
- Stem separation using Demucs (`htdemucs` 4-stem model)
|
|
304
|
+
- Drumless backing track generation
|
|
305
|
+
- CLI and Python API
|
|
306
|
+
|
|
307
|
+
**What we're focused on during the alpha:**
|
|
308
|
+
|
|
309
|
+
- Expanding test coverage across genres, kit types, and recording conditions
|
|
310
|
+
- Fixing classification edge cases (deep snares vs clicky kicks, splash cymbals vs open hats)
|
|
311
|
+
- Improving onset detection sensitivity for ghost notes and fast passages
|
|
312
|
+
- Stabilising the public API ahead of the beta freeze
|
|
313
|
+
- Community feedback collection
|
|
314
|
+
|
|
315
|
+
|
|
276
316
|
---
|
|
277
317
|
|
|
278
318
|
## FAQs
|
|
@@ -297,8 +337,8 @@ DrumScript's own classification engine is **fully deterministic** — it uses ph
|
|
|
297
337
|
|
|
298
338
|
## Acknowledgements
|
|
299
339
|
|
|
300
|
-
|
|
301
|
-
|
|
340
|
+
1. **[Demucs](https://github.com/adefossez/demucs)** — The stem splitting functionality is built upon the work of [@adefossez](https://github.com/adefossez).
|
|
341
|
+
2. **[librosa](https://librosa.org/)** — For foundational audio processing tools.
|
|
302
342
|
|
|
303
343
|
---
|
|
304
344
|
|
|
@@ -306,6 +346,18 @@ DrumScript's own classification engine is **fully deterministic** — it uses ph
|
|
|
306
346
|
|
|
307
347
|
[Apache License 2.0](LICENSE)
|
|
308
348
|
|
|
349
|
+
---
|
|
350
|
+
## Similar Projects
|
|
351
|
+
|
|
352
|
+
No affiliation as yet, however.
|
|
353
|
+
|
|
354
|
+
**[librosa](https://librosa.org/)** — The spectral analysis library that powers DrumScript's onset detection and feature extraction.
|
|
355
|
+
**[Demucs](https://github.com/adefossez/demucs)** — The stem separation model we use for isolating drums from full mixes.
|
|
356
|
+
**[tepreece/drumscript (Golang)](https://github.com/tepreece/drumscript)** — A `(Go)lang` MIDI drum pattern scripting language by Tom Preece. Different use case (composing drum patterns via script), different technology (MIDI output rather than audio transcription). If you're looking to *write* drum patterns programmatically, check it out. Maintained by [@tepreece](https://github.com/tepreece)
|
|
357
|
+
**[basic-pitch][**https://github.com/spotify/basic-pitch]** - A lightweight yet powerful audio-to-MIDI converter with pitch bend detection (better for non-percussive audio)
|
|
358
|
+
**[mir_eval](https://github.com/mir-evaluation/mir_eval)** — Standard evaluation metrics for music information retrieval tasks.
|
|
359
|
+
**[onset_db](https://github.com/CPJKU/onset_db)** - Provides a dataset of annotated musical onsets for tuning and evaluating audio detection algorithms. Maintained by JKU Linz.
|
|
360
|
+
|
|
309
361
|
---
|
|
310
362
|
|
|
311
363
|
<!--END-->
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: drumscript
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.5
|
|
4
4
|
Summary: A Python package to convert drum audio to sheet music.
|
|
5
5
|
Author-email: drumscript-admin <hello.drumscript@gmail.com>
|
|
6
6
|
License-Expression: Apache-2.0
|
|
@@ -53,7 +53,6 @@ Requires-Dist: myst-nb>=1.3.0; extra == "dev"
|
|
|
53
53
|
Requires-Dist: pytest; extra == "dev"
|
|
54
54
|
Requires-Dist: pytest-cov>=7.1.0; extra == "dev"
|
|
55
55
|
Requires-Dist: shibuya>=2025.10.21; extra == "dev"
|
|
56
|
-
Requires-Dist: fastapi>=0.128.8; extra == "dev"
|
|
57
56
|
Requires-Dist: ipywidgets>=8.1.8; extra == "dev"
|
|
58
57
|
Requires-Dist: requests>=2.32.5; extra == "dev"
|
|
59
58
|
Requires-Dist: ruff>=0.15.11; extra == "dev"
|
|
@@ -62,14 +61,40 @@ Dynamic: license-file
|
|
|
62
61
|
# **`DrumScript`**
|
|
63
62
|
|
|
64
63
|
<!--date_created: sun-15-june-2025-->
|
|
65
|
-
<!--date_edited:
|
|
64
|
+
<!--date_edited: sat-22-may-2026--->
|
|
66
65
|
|
|
67
|
-
**
|
|
66
|
+
**Workflow Status**
|
|
68
67
|
|
|
69
|
-
|
|
68
|
+
[](https://github.com/DrumScript/DrumScript/actions/workflows/tests.yml)
|
|
69
|
+
|
|
70
|
+
**Demo Notebooks**
|
|
71
|
+
|
|
72
|
+
[](https://colab.research.google.com/drive/1eDVXc3d6ezmorxINOjzldRPSC3emTl2I)
|
|
73
|
+
|
|
74
|
+
**DrumScript** is an open-source Python library and CLI tool for drum audio analysis and transcription. Give it a recording — a full mix or an isolated drum stem — and it will generate PDF sheet music, MIDI files, and MusicXML output. The `DrumScript` model is a **deterministic classifier**, and doesn't use AI/machine learning. Built for drummers and by drummers, it is - and always will be - an open-source community tool.
|
|
70
75
|
|
|
71
76
|
> **Python >=3.9**
|
|
72
77
|
|
|
78
|
+
> **[Documentation](https://drumscript.github.io/DrumScript/)**
|
|
79
|
+
|
|
80
|
+
**Public Alpha (v0.1.4) — June to August 2026**
|
|
81
|
+
|
|
82
|
+
- We're looking for early adopters and feedback
|
|
83
|
+
- [Feedback on the classification model](https://github.com/DrumScript/DrumScript/issues), and help shape v1.0.
|
|
84
|
+
- In particular we are interested in hearing from everyone:: drummers (coding not required!), sound engineers and academics in Music Information Retrieval with an interest in deterministic drum/percussion classifications.
|
|
85
|
+
- For beta release, we are planning to (amongst other things) improve the classification model, fix any user-suggested bugs, implement user-suggested feature requests and **most importantly** build a **WebGPU/ONNX/WASM UI** that will be free to use for all.
|
|
86
|
+
|
|
87
|
+
> See the **[Roadmap](https://drumscript.github.io/DrumScript/guide/roadmap.html)** for what's planned.
|
|
88
|
+
|
|
89
|
+
**What it looks like**
|
|
90
|
+
|
|
91
|
+
<!-- TODO: Replace with a GIF showing terminal output if you have one -->
|
|
92
|
+
<!-- For now, this shows the PDF transcription output -->
|
|
93
|
+
|
|
94
|
+
*Input: audio recording → Output: drum notation (PDF).
|
|
95
|
+
|
|
96
|
+

|
|
97
|
+
|
|
73
98
|
---
|
|
74
99
|
|
|
75
100
|
- **[Features](#features)**
|
|
@@ -78,14 +103,7 @@ Dynamic: license-file
|
|
|
78
103
|
- **[CLI Usage](#cli-usage)**
|
|
79
104
|
- **[Contributing](#contributing)**
|
|
80
105
|
- **[FAQs](#faqs)**
|
|
81
|
-
|
|
82
|
-
**Workflow Status**
|
|
83
|
-
|
|
84
|
-
[](https://github.com/DrumScript/DrumScript/actions/workflows/tests.yml)
|
|
85
|
-
|
|
86
|
-
**Demo Notebooks**
|
|
87
|
-
|
|
88
|
-
[](https://colab.research.google.com/drive/1eDVXc3d6ezmorxINOjzldRPSC3emTl2I)
|
|
106
|
+
- **[Similar projects](#similar-projects)**
|
|
89
107
|
|
|
90
108
|
---
|
|
91
109
|
|
|
@@ -273,6 +291,28 @@ We welcome contributions! DrumScript is intended to be a community-owned project
|
|
|
273
291
|
|
|
274
292
|
> All bug reports and feature requests must be filed as GitHub Issues. All code changes must be submitted as Pull Requests. Keeping discussion public helps everyone.
|
|
275
293
|
|
|
294
|
+
**[hello.drumscript@gmail.com](mailto:hello.drumscript@gmail.com)**
|
|
295
|
+
|
|
296
|
+
## Alpha Priorities (v0.1 – v0.2)
|
|
297
|
+
The alpha phase runs between 01 June and 31 August 2026
|
|
298
|
+
|
|
299
|
+
**What works today:**
|
|
300
|
+
|
|
301
|
+
- End-to-end transcription pipeline: audio → onsets → classification → PDF / MIDI / MusicXML
|
|
302
|
+
- Tempo detection via spectral onset envelope
|
|
303
|
+
- Stem separation using Demucs (`htdemucs` 4-stem model)
|
|
304
|
+
- Drumless backing track generation
|
|
305
|
+
- CLI and Python API
|
|
306
|
+
|
|
307
|
+
**What we're focused on during the alpha:**
|
|
308
|
+
|
|
309
|
+
- Expanding test coverage across genres, kit types, and recording conditions
|
|
310
|
+
- Fixing classification edge cases (deep snares vs clicky kicks, splash cymbals vs open hats)
|
|
311
|
+
- Improving onset detection sensitivity for ghost notes and fast passages
|
|
312
|
+
- Stabilising the public API ahead of the beta freeze
|
|
313
|
+
- Community feedback collection
|
|
314
|
+
|
|
315
|
+
|
|
276
316
|
---
|
|
277
317
|
|
|
278
318
|
## FAQs
|
|
@@ -297,8 +337,8 @@ DrumScript's own classification engine is **fully deterministic** — it uses ph
|
|
|
297
337
|
|
|
298
338
|
## Acknowledgements
|
|
299
339
|
|
|
300
|
-
|
|
301
|
-
|
|
340
|
+
1. **[Demucs](https://github.com/adefossez/demucs)** — The stem splitting functionality is built upon the work of [@adefossez](https://github.com/adefossez).
|
|
341
|
+
2. **[librosa](https://librosa.org/)** — For foundational audio processing tools.
|
|
302
342
|
|
|
303
343
|
---
|
|
304
344
|
|
|
@@ -306,6 +346,18 @@ DrumScript's own classification engine is **fully deterministic** — it uses ph
|
|
|
306
346
|
|
|
307
347
|
[Apache License 2.0](LICENSE)
|
|
308
348
|
|
|
349
|
+
---
|
|
350
|
+
## Similar Projects
|
|
351
|
+
|
|
352
|
+
No affiliation as yet, however.
|
|
353
|
+
|
|
354
|
+
**[librosa](https://librosa.org/)** — The spectral analysis library that powers DrumScript's onset detection and feature extraction.
|
|
355
|
+
**[Demucs](https://github.com/adefossez/demucs)** — The stem separation model we use for isolating drums from full mixes.
|
|
356
|
+
**[tepreece/drumscript (Golang)](https://github.com/tepreece/drumscript)** — A `(Go)lang` MIDI drum pattern scripting language by Tom Preece. Different use case (composing drum patterns via script), different technology (MIDI output rather than audio transcription). If you're looking to *write* drum patterns programmatically, check it out. Maintained by [@tepreece](https://github.com/tepreece)
|
|
357
|
+
**[basic-pitch][**https://github.com/spotify/basic-pitch]** - A lightweight yet powerful audio-to-MIDI converter with pitch bend detection (better for non-percussive audio)
|
|
358
|
+
**[mir_eval](https://github.com/mir-evaluation/mir_eval)** — Standard evaluation metrics for music information retrieval tasks.
|
|
359
|
+
**[onset_db](https://github.com/CPJKU/onset_db)** - Provides a dataset of annotated musical onsets for tuning and evaluating audio detection algorithms. Maintained by JKU Linz.
|
|
360
|
+
|
|
309
361
|
---
|
|
310
362
|
|
|
311
363
|
<!--END-->
|
|
@@ -1,14 +1,40 @@
|
|
|
1
1
|
# **`DrumScript`**
|
|
2
2
|
|
|
3
3
|
<!--date_created: sun-15-june-2025-->
|
|
4
|
-
<!--date_edited:
|
|
4
|
+
<!--date_edited: sat-22-may-2026--->
|
|
5
5
|
|
|
6
|
-
**
|
|
6
|
+
**Workflow Status**
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
[](https://github.com/DrumScript/DrumScript/actions/workflows/tests.yml)
|
|
9
|
+
|
|
10
|
+
**Demo Notebooks**
|
|
11
|
+
|
|
12
|
+
[](https://colab.research.google.com/drive/1eDVXc3d6ezmorxINOjzldRPSC3emTl2I)
|
|
13
|
+
|
|
14
|
+
**DrumScript** is an open-source Python library and CLI tool for drum audio analysis and transcription. Give it a recording — a full mix or an isolated drum stem — and it will generate PDF sheet music, MIDI files, and MusicXML output. The `DrumScript` model is a **deterministic classifier**, and doesn't use AI/machine learning. Built for drummers and by drummers, it is - and always will be - an open-source community tool.
|
|
9
15
|
|
|
10
16
|
> **Python >=3.9**
|
|
11
17
|
|
|
18
|
+
> **[Documentation](https://drumscript.github.io/DrumScript/)**
|
|
19
|
+
|
|
20
|
+
**Public Alpha (v0.1.4) — June to August 2026**
|
|
21
|
+
|
|
22
|
+
- We're looking for early adopters and feedback
|
|
23
|
+
- [Feedback on the classification model](https://github.com/DrumScript/DrumScript/issues), and help shape v1.0.
|
|
24
|
+
- In particular we are interested in hearing from everyone:: drummers (coding not required!), sound engineers and academics in Music Information Retrieval with an interest in deterministic drum/percussion classifications.
|
|
25
|
+
- For beta release, we are planning to (amongst other things) improve the classification model, fix any user-suggested bugs, implement user-suggested feature requests and **most importantly** build a **WebGPU/ONNX/WASM UI** that will be free to use for all.
|
|
26
|
+
|
|
27
|
+
> See the **[Roadmap](https://drumscript.github.io/DrumScript/guide/roadmap.html)** for what's planned.
|
|
28
|
+
|
|
29
|
+
**What it looks like**
|
|
30
|
+
|
|
31
|
+
<!-- TODO: Replace with a GIF showing terminal output if you have one -->
|
|
32
|
+
<!-- For now, this shows the PDF transcription output -->
|
|
33
|
+
|
|
34
|
+
*Input: audio recording → Output: drum notation (PDF).
|
|
35
|
+
|
|
36
|
+

|
|
37
|
+
|
|
12
38
|
---
|
|
13
39
|
|
|
14
40
|
- **[Features](#features)**
|
|
@@ -17,14 +43,7 @@
|
|
|
17
43
|
- **[CLI Usage](#cli-usage)**
|
|
18
44
|
- **[Contributing](#contributing)**
|
|
19
45
|
- **[FAQs](#faqs)**
|
|
20
|
-
|
|
21
|
-
**Workflow Status**
|
|
22
|
-
|
|
23
|
-
[](https://github.com/DrumScript/DrumScript/actions/workflows/tests.yml)
|
|
24
|
-
|
|
25
|
-
**Demo Notebooks**
|
|
26
|
-
|
|
27
|
-
[](https://colab.research.google.com/drive/1eDVXc3d6ezmorxINOjzldRPSC3emTl2I)
|
|
46
|
+
- **[Similar projects](#similar-projects)**
|
|
28
47
|
|
|
29
48
|
---
|
|
30
49
|
|
|
@@ -212,6 +231,28 @@ We welcome contributions! DrumScript is intended to be a community-owned project
|
|
|
212
231
|
|
|
213
232
|
> All bug reports and feature requests must be filed as GitHub Issues. All code changes must be submitted as Pull Requests. Keeping discussion public helps everyone.
|
|
214
233
|
|
|
234
|
+
**[hello.drumscript@gmail.com](mailto:hello.drumscript@gmail.com)**
|
|
235
|
+
|
|
236
|
+
## Alpha Priorities (v0.1 – v0.2)
|
|
237
|
+
The alpha phase runs between 01 June and 31 August 2026
|
|
238
|
+
|
|
239
|
+
**What works today:**
|
|
240
|
+
|
|
241
|
+
- End-to-end transcription pipeline: audio → onsets → classification → PDF / MIDI / MusicXML
|
|
242
|
+
- Tempo detection via spectral onset envelope
|
|
243
|
+
- Stem separation using Demucs (`htdemucs` 4-stem model)
|
|
244
|
+
- Drumless backing track generation
|
|
245
|
+
- CLI and Python API
|
|
246
|
+
|
|
247
|
+
**What we're focused on during the alpha:**
|
|
248
|
+
|
|
249
|
+
- Expanding test coverage across genres, kit types, and recording conditions
|
|
250
|
+
- Fixing classification edge cases (deep snares vs clicky kicks, splash cymbals vs open hats)
|
|
251
|
+
- Improving onset detection sensitivity for ghost notes and fast passages
|
|
252
|
+
- Stabilising the public API ahead of the beta freeze
|
|
253
|
+
- Community feedback collection
|
|
254
|
+
|
|
255
|
+
|
|
215
256
|
---
|
|
216
257
|
|
|
217
258
|
## FAQs
|
|
@@ -236,8 +277,8 @@ DrumScript's own classification engine is **fully deterministic** — it uses ph
|
|
|
236
277
|
|
|
237
278
|
## Acknowledgements
|
|
238
279
|
|
|
239
|
-
|
|
240
|
-
|
|
280
|
+
1. **[Demucs](https://github.com/adefossez/demucs)** — The stem splitting functionality is built upon the work of [@adefossez](https://github.com/adefossez).
|
|
281
|
+
2. **[librosa](https://librosa.org/)** — For foundational audio processing tools.
|
|
241
282
|
|
|
242
283
|
---
|
|
243
284
|
|
|
@@ -245,6 +286,18 @@ DrumScript's own classification engine is **fully deterministic** — it uses ph
|
|
|
245
286
|
|
|
246
287
|
[Apache License 2.0](LICENSE)
|
|
247
288
|
|
|
289
|
+
---
|
|
290
|
+
## Similar Projects
|
|
291
|
+
|
|
292
|
+
No affiliation as yet, however.
|
|
293
|
+
|
|
294
|
+
**[librosa](https://librosa.org/)** — The spectral analysis library that powers DrumScript's onset detection and feature extraction.
|
|
295
|
+
**[Demucs](https://github.com/adefossez/demucs)** — The stem separation model we use for isolating drums from full mixes.
|
|
296
|
+
**[tepreece/drumscript (Golang)](https://github.com/tepreece/drumscript)** — A `(Go)lang` MIDI drum pattern scripting language by Tom Preece. Different use case (composing drum patterns via script), different technology (MIDI output rather than audio transcription). If you're looking to *write* drum patterns programmatically, check it out. Maintained by [@tepreece](https://github.com/tepreece)
|
|
297
|
+
**[basic-pitch][**https://github.com/spotify/basic-pitch]** - A lightweight yet powerful audio-to-MIDI converter with pitch bend detection (better for non-percussive audio)
|
|
298
|
+
**[mir_eval](https://github.com/mir-evaluation/mir_eval)** — Standard evaluation metrics for music information retrieval tasks.
|
|
299
|
+
**[onset_db](https://github.com/CPJKU/onset_db)** - Provides a dataset of annotated musical onsets for tuning and evaluating audio detection algorithms. Maintained by JKU Linz.
|
|
300
|
+
|
|
248
301
|
---
|
|
249
302
|
|
|
250
303
|
<!--END-->
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "drumscript"
|
|
7
|
-
version = "0.1.
|
|
7
|
+
version = "0.1.5"
|
|
8
8
|
description = "A Python package to convert drum audio to sheet music."
|
|
9
9
|
license = "Apache-2.0"
|
|
10
10
|
readme = "README.md"
|
|
@@ -70,7 +70,6 @@ dev = [
|
|
|
70
70
|
"pytest",
|
|
71
71
|
"pytest-cov>=7.1.0",
|
|
72
72
|
"shibuya>=2025.10.21",
|
|
73
|
-
"fastapi>=0.128.8",
|
|
74
73
|
"ipywidgets>=8.1.8",
|
|
75
74
|
"requests>=2.32.5",
|
|
76
75
|
"ruff>=0.15.11",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|