muscriptor 0.1.0__tar.gz → 0.2.0__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.
- {muscriptor-0.1.0 → muscriptor-0.2.0}/PKG-INFO +11 -12
- {muscriptor-0.1.0 → muscriptor-0.2.0}/README.md +9 -10
- {muscriptor-0.1.0 → muscriptor-0.2.0}/pyproject.toml +2 -2
- {muscriptor-0.1.0 → muscriptor-0.2.0}/uv.lock +2 -2
- {muscriptor-0.1.0 → muscriptor-0.2.0}/.dockerignore +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/.github/workflows/pypi.yml +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/.gitignore +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/.pre-commit-config.yaml +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/.python-version +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/Dockerfile +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/LICENSE +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/deploy.sh +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/muscriptor/__init__.py +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/muscriptor/__main__.py +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/muscriptor/events.py +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/muscriptor/main.py +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/muscriptor/models/__init__.py +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/muscriptor/models/lm.py +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/muscriptor/modules/__init__.py +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/muscriptor/modules/conditioners.py +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/muscriptor/modules/mel_spectrogram.py +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/muscriptor/modules/streaming.py +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/muscriptor/modules/transformer.py +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/muscriptor/server.py +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/muscriptor/tokenizer/__init__.py +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/muscriptor/tokenizer/mt3.py +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/muscriptor/tokenizer/notes.py +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/muscriptor/transcription_model.py +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/muscriptor/utils/__init__.py +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/muscriptor/utils/audio.py +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/muscriptor/utils/auralization.py +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/muscriptor/utils/download.py +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/muscriptor/utils/midi.py +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/muscriptor/utils/resample.py +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/muscriptor/utils/sampling.py +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/swarm.yml +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/tests/__init__.py +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/tests/conftest.py +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/tests/encode_helpers.py +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/tests/test_cli.py +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/tests/test_conditioners.py +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/tests/test_events.py +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/tests/test_integration.py +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/tests/test_midi.py +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/tests/test_notes.py +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/tests/test_sampling.py +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/tests/test_server.py +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/tests/test_transcription_model.py +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/tests/test_transformer.py +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/web/index.html +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/web/logo_muscriptor_final.png +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/web/package-lock.json +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/web/package.json +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/web/pnpm-lock.yaml +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/web/public/favicon.png +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/web/public/kyutai-logo.svg +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/web/public/mirelo-logo.svg +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/web/public/muscriptor-logo-v2.png +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/web/public/muscriptor-logo-v4-pink.svg +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/web/public/muscriptor-mark-v4-pink.svg +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/web/public/muscriptor-wave.svg +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/web/scripts/prepare-soundfonts.mjs +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/web/src/App.tsx +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/web/src/audio.ts +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/web/src/components/ConditioningPanel.tsx +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/web/src/components/Controls.tsx +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/web/src/components/DropOverlay.tsx +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/web/src/components/Footer.tsx +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/web/src/components/InstrumentList.tsx +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/web/src/components/OutputBar.tsx +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/web/src/components/PianoRollCanvas.tsx +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/web/src/components/WelcomeScreen.tsx +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/web/src/components/icons.tsx +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/web/src/hooks/useAudioEngine.ts +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/web/src/hooks/useTranscription.ts +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/web/src/instruments.ts +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/web/src/main.tsx +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/web/src/pianoroll.ts +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/web/src/progress.ts +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/web/src/sse.ts +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/web/src/style.css +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/web/src/vite-env.d.ts +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/web/tsconfig.json +0 -0
- {muscriptor-0.1.0 → muscriptor-0.2.0}/web/vite.config.ts +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: muscriptor
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.2.0
|
|
4
4
|
Summary: Audio-to-MIDI transcription using a transformer language model
|
|
5
5
|
Project-URL: Homepage, https://github.com/muscriptor/muscriptor
|
|
6
6
|
Project-URL: Repository, https://github.com/muscriptor/muscriptor
|
|
@@ -27,7 +27,7 @@ Requires-Dist: numpy>=1.24
|
|
|
27
27
|
Requires-Dist: python-multipart>=0.0.29
|
|
28
28
|
Requires-Dist: safetensors>=0.4
|
|
29
29
|
Requires-Dist: soundfile>=0.14.0
|
|
30
|
-
Requires-Dist: torch
|
|
30
|
+
Requires-Dist: torch>=2.0
|
|
31
31
|
Requires-Dist: typer>=0.10
|
|
32
32
|
Requires-Dist: uvicorn[standard]>=0.48.0
|
|
33
33
|
Description-Content-Type: text/markdown
|
|
@@ -41,7 +41,7 @@ Description-Content-Type: text/markdown
|
|
|
41
41
|
MuScriptor is a multi-instrument music transcription model developed by [Kyutai](https://kyutai.org) and [Mirelo](https://www.mirelo.ai).
|
|
42
42
|
MuScriptor is the first music transcription model that has been trained on a large scale dataset of 170k songs from classical music to heavy metal.
|
|
43
43
|
|
|
44
|
-
[Online Demo](https://muscriptor.kyutai.org) | [Paper]
|
|
44
|
+
[Online Demo](https://muscriptor.kyutai.org) | [Paper](https://arxiv.org/abs/2607.08168v1) | [HuggingFace](https://huggingface.co/MuScriptor)
|
|
45
45
|
|
|
46
46
|
<!-- TODO: record the demo GIF (web UI piano roll), save it as assets/demo.gif,
|
|
47
47
|
then uncomment:
|
|
@@ -322,15 +322,14 @@ distributed under its own (MIT) license.
|
|
|
322
322
|
|
|
323
323
|
## Citation
|
|
324
324
|
|
|
325
|
-
<!-- TODO: fill in the BibTeX entry when the paper is out:
|
|
326
325
|
```bibtex
|
|
327
|
-
@
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
326
|
+
@misc{rouard2026muscriptoropenmodelmultiinstrument,
|
|
327
|
+
title={MuScriptor: An Open Model for Multi-Instrument Music Transcription},
|
|
328
|
+
author={Simon Rouard and Michael Krause and Axel Roebel and Carl-Johann Simon-Gabriel and Alexandre Défossez},
|
|
329
|
+
year={2026},
|
|
330
|
+
eprint={2607.08168},
|
|
331
|
+
archivePrefix={arXiv},
|
|
332
|
+
primaryClass={cs.SD},
|
|
333
|
+
url={https://arxiv.org/abs/2607.08168},
|
|
332
334
|
}
|
|
333
335
|
```
|
|
334
|
-
-->
|
|
335
|
-
|
|
336
|
-
The paper is coming soon — a citation entry will be added here with it.
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
MuScriptor is a multi-instrument music transcription model developed by [Kyutai](https://kyutai.org) and [Mirelo](https://www.mirelo.ai).
|
|
8
8
|
MuScriptor is the first music transcription model that has been trained on a large scale dataset of 170k songs from classical music to heavy metal.
|
|
9
9
|
|
|
10
|
-
[Online Demo](https://muscriptor.kyutai.org) | [Paper]
|
|
10
|
+
[Online Demo](https://muscriptor.kyutai.org) | [Paper](https://arxiv.org/abs/2607.08168v1) | [HuggingFace](https://huggingface.co/MuScriptor)
|
|
11
11
|
|
|
12
12
|
<!-- TODO: record the demo GIF (web UI piano roll), save it as assets/demo.gif,
|
|
13
13
|
then uncomment:
|
|
@@ -288,15 +288,14 @@ distributed under its own (MIT) license.
|
|
|
288
288
|
|
|
289
289
|
## Citation
|
|
290
290
|
|
|
291
|
-
<!-- TODO: fill in the BibTeX entry when the paper is out:
|
|
292
291
|
```bibtex
|
|
293
|
-
@
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
292
|
+
@misc{rouard2026muscriptoropenmodelmultiinstrument,
|
|
293
|
+
title={MuScriptor: An Open Model for Multi-Instrument Music Transcription},
|
|
294
|
+
author={Simon Rouard and Michael Krause and Axel Roebel and Carl-Johann Simon-Gabriel and Alexandre Défossez},
|
|
295
|
+
year={2026},
|
|
296
|
+
eprint={2607.08168},
|
|
297
|
+
archivePrefix={arXiv},
|
|
298
|
+
primaryClass={cs.SD},
|
|
299
|
+
url={https://arxiv.org/abs/2607.08168},
|
|
298
300
|
}
|
|
299
301
|
```
|
|
300
|
-
-->
|
|
301
|
-
|
|
302
|
-
The paper is coming soon — a citation entry will be added here with it.
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "muscriptor"
|
|
7
|
-
version = "0.
|
|
7
|
+
version = "0.2.0"
|
|
8
8
|
description = "Audio-to-MIDI transcription using a transformer language model"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.10"
|
|
@@ -23,7 +23,7 @@ classifiers = [
|
|
|
23
23
|
"Topic :: Multimedia :: Sound/Audio :: Analysis",
|
|
24
24
|
]
|
|
25
25
|
dependencies = [
|
|
26
|
-
"torch>=2.0
|
|
26
|
+
"torch>=2.0",
|
|
27
27
|
"numpy>=1.24",
|
|
28
28
|
"einops>=0.4",
|
|
29
29
|
"mido>=1.3",
|
|
@@ -531,7 +531,7 @@ wheels = [
|
|
|
531
531
|
|
|
532
532
|
[[package]]
|
|
533
533
|
name = "muscriptor"
|
|
534
|
-
version = "0.
|
|
534
|
+
version = "0.2.0"
|
|
535
535
|
source = { editable = "." }
|
|
536
536
|
dependencies = [
|
|
537
537
|
{ name = "einops" },
|
|
@@ -566,7 +566,7 @@ requires-dist = [
|
|
|
566
566
|
{ name = "python-multipart", specifier = ">=0.0.29" },
|
|
567
567
|
{ name = "safetensors", specifier = ">=0.4" },
|
|
568
568
|
{ name = "soundfile", specifier = ">=0.14.0" },
|
|
569
|
-
{ name = "torch", specifier = ">=2.0
|
|
569
|
+
{ name = "torch", specifier = ">=2.0" },
|
|
570
570
|
{ name = "typer", specifier = ">=0.10" },
|
|
571
571
|
{ name = "uvicorn", extras = ["standard"], specifier = ">=0.48.0" },
|
|
572
572
|
]
|
|
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
|
|
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
|
|
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
|
|
File without changes
|
|
File without changes
|