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.25.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.25.tar.gz.
File metadata
- Download URL: music_drummer-0.1.25.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 |
073a22132106c22bb37020b70497939759dd9a185172bb6c68180dfe47ea5cbf
|
|
| MD5 |
0d5ec592f1499a8cc9038d5987ba6115
|
|
| BLAKE2b-256 |
896df78e3e707496fd8eb93ae8aee1863a001d77d9f184b02906fc2513f9fccf
|
File details
Details for the file music_drummer-0.1.25-py3-none-any.whl.
File metadata
- Download URL: music_drummer-0.1.25-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 |
5fd020713fdb4604f650daa6fe5f4d2214917dc21dcfe3122d619033066cdde5
|
|
| MD5 |
26eb284558265ea2bff11f49be184f41
|
|
| BLAKE2b-256 |
8a6970c934ac4f2c680cd73f1202c92e1f3632387623d8bd7869ee831b9c3e59
|