(tmp.fYyD5dzABI) % drumscript --help
/private/var/folders/m0/_mjkpjps6lq_13m2l6sfckw40000gn/T/tmp.fYyD5dzABI/.venv/lib/python3.12/site-packages/pydub/utils.py:300: SyntaxWarning: invalid escape sequence '\('
m = re.match('([su]([0-9]{1,2})p?) \(([0-9]{1,2}) bit\)$', token)
/private/var/folders/m0/_mjkpjps6lq_13m2l6sfckw40000gn/T/tmp.fYyD5dzABI/.venv/lib/python3.12/site-packages/pydub/utils.py:301: SyntaxWarning: invalid escape sequence '\('
m2 = re.match('([su]([0-9]{1,2})p?)( \(default\))?$', token)
/private/var/folders/m0/_mjkpjps6lq_13m2l6sfckw40000gn/T/tmp.fYyD5dzABI/.venv/lib/python3.12/site-packages/pydub/utils.py:310: SyntaxWarning: invalid escape sequence '\('
elif re.match('(flt)p?( \(default\))?$', token):
/private/var/folders/m0/_mjkpjps6lq_13m2l6sfckw40000gn/T/tmp.fYyD5dzABI/.venv/lib/python3.12/site-packages/pydub/utils.py:314: SyntaxWarning: invalid escape sequence '\('
elif re.match('(dbl)p?( \(default\))?$', token):
usage: drumscript [-h] [--full-song] [--drumless] [--mute MUTE] [--all-stems] [--format {wav,mp3}] [--rudiment] [--ts TS]
input_audio_path
DrumScript: Audio to Sheet Music & Stem Splitter
positional arguments:
input_audio_path Path to the audio file
options:
-h, --help show this help message and exit
--full-song Transcribe the full song (isolates drums first)
--drumless Extract a drumless backing track. Saves both the backing track and the drum-only audio
--mute MUTE Mute specific stems (e.g. --mute bass). Can be used multiple times.
--all-stems Export all individual stems
--format {wav,mp3} Output format for stems (default: wav)
--rudiment Optimise classification for isolated single beats, rudiments, or paradiddles.
--ts TS Time signature (default: 4/4)
[UPDATE-SUN-06-SEPT-2026]
Also add for libmpg123 -- the ID3 comment error hit when testing demuc stem splitter (src/libmpg123/id3.c:process_comment():587] error: No comment text / valid description?)
audio_file_11, sr_11 = ds.load_audio(AUDIO_FILE_11)
print(sr_11)
bpm = ds.detect_tempo(AUDIO_FILE_11)
print(f"Detected tempo {bpm:.1f} BPM")
audio_file_12, sr_12 = ds.load_audio(AUDIO_FILE_12)
print(sr_12)
bpm = ds.detect_tempo(AUDIO_FILE_12)
print(f"Detected tempo {bpm:.1f} BPM")
# terminal output
[src/libmpg123/id3.c:process_comment():587] error: No comment text / valid description?
44100
[src/libmpg123/id3.c:process_comment():587] error: No comment text / valid description?
Detected tempo 136.0 BPM
[src/libmpg123/id3.c:process_comment():587] error: No comment text / valid description?
44100
[src/libmpg123/id3.c:process_comment():587] error: No comment text / valid description?
Detected tempo 107.7 BPM
[UPDATE-SUN-06-SEPT-2026]
Also add for
libmpg123-- theID3comment error hit when testing demuc stem splitter (src/libmpg123/id3.c:process_comment():587] error: No comment text / valid description?)