Glorified Metronome
Project description
Music Drummer
Glorified Metronome
The methods of this package depend upon music21.
For this package (and music21 too), a duration of 1 is a
quarter-note. So, 1/2 would be an eighth-note, etc.
SYNOPSIS
from music_drummer import Drummer
# Ex 1 - basic 4/4 metronome groove:
d = Drummer()
d.set_bpm(60) # set the beats per minute
d.set_ts() # set the default time signature of 4/4
# add a 16-beat phrase for 64 measures
for _ in range(64):
d.pattern(
patterns={
'kick': '1000000010000000',
'snare': '0000100000001000',
'hihat': '1010101010101010',
},
)
d.sync_parts() # make the parts play simultaneously
d.score.show('midi') # or nothing, text, etc. see music21 docs
# Ex 2 - 5/8 groove with intro:
d = Drummer()
d.set_instrument('kick', 'kick2') # change to the electric kick
d.set_instrument('snare', 'snare2') # change to the electric snare
d.set_instrument('crash', 'crash1') # add a crash
# print(d.instrument_map()) # full list of known instruments
d.set_bpm(99) # change the beats per minute from 120
d.set_ts('5/8') # change the time signature from 4/4
d.count_in(2) # count-in on the hi-hats for 2 measures
d.rest('kick', duration=10)
d.rest('snare', duration=10)
d.rest('crash', duration=10)
# add a eighth-note snare flam to the score
d.note('snare', duration=1/2, flam=1/16)
d.rest('kick', duration=1/2)
d.rest('hihat', duration=1/2)
d.rest('crash', duration=1/2)
# add a 5-note snare roll for an eighth-note, increasing in volume
d.roll('snare', duration=1/2, subdivisions=5, crescendo=[100, 127])
d.rest('kick', duration=1/2)
d.rest('hihat', duration=1/2)
d.rest('crash', duration=1/2)
# crash and kick!
d.note('kick', duration=1/2)
d.note('crash', duration=1/2)
d.rest('snare', duration=1/2)
d.rest('hihat', duration=1/2)
# add a 4-part, 4-bar, eighth-note phrase to the score
for _ in range(8):
d.pattern(
patterns={
'kick': '1000000010',
'snare': '0000001000',
'hihat': '0111111111',
'crash': '1000000000',
},
duration=1/2
)
d.sync_parts() # make the parts play simultaneously
d.score.show() # or text, midi, etc. see music21 docs
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
music_drummer-0.1.28.tar.gz
(42.5 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file music_drummer-0.1.28.tar.gz.
File metadata
- Download URL: music_drummer-0.1.28.tar.gz
- Upload date:
- Size: 42.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a01647db6eb01d0654a6590b937f79b18a60fff9820da7fca1d9ac0ad33d1ba0
|
|
| MD5 |
da973b2c2aacb3e0d70333570f7174f3
|
|
| BLAKE2b-256 |
cc53aad0175dd06bc1eb3c49f2d52050538d19b4536444adbffc5f6b2d372139
|
File details
Details for the file music_drummer-0.1.28-py3-none-any.whl.
File metadata
- Download URL: music_drummer-0.1.28-py3-none-any.whl
- Upload date:
- Size: 29.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d894a16ef2848adf9065b050c7e5b1250cd189636b1d2115818deeb5da608822
|
|
| MD5 |
a4cb520e88176578d02c0121a8885407
|
|
| BLAKE2b-256 |
fb1f49b62a9dc2be7938f651af1a9cc64c6be8beb6bcc57f90381f339e560bd4
|