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)
# 3 hi-hat states: closed, open, pedal
d.note('closed', duration=1/2)
d.note('open', duration=1/2)
d.note('pedal', duration=1/2)
d.note('closed', duration=1/2)
d.rest('snare', duration=2)
d.rest('kick', duration=2)
d.rest('crash', duration=2)
# 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.2.1.tar.gz
(42.6 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.2.1.tar.gz.
File metadata
- Download URL: music_drummer-0.2.1.tar.gz
- Upload date:
- Size: 42.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
900e52c983c46390e71d6d7923d5f777f7feeb8c3b067720411c874c3eb98567
|
|
| MD5 |
122d06509999282bf1563285e0313244
|
|
| BLAKE2b-256 |
4b41ddeb9cd5821d8e031effb42df5ddd84a9e7d21b82424aae77775a314fca6
|
File details
Details for the file music_drummer-0.2.1-py3-none-any.whl.
File metadata
- Download URL: music_drummer-0.2.1-py3-none-any.whl
- Upload date:
- Size: 29.1 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 |
9c2264e39230056addceaaebc5d52b90e9b8f809f7587da0bcb51cbf8210a4f8
|
|
| MD5 |
cccbbd46efa5fe8242eb731a88f6a08f
|
|
| BLAKE2b-256 |
dcac3cd8983c631c80c236f3500355c3e8919e3c3b56b47f3562fc625e0baac9
|