Skip to main content

Glorified Metronome

Project description

python-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

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(4):
    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


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.19.tar.gz (42.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

music_drummer-0.1.19-py3-none-any.whl (29.1 kB view details)

Uploaded Python 3

File details

Details for the file music_drummer-0.1.19.tar.gz.

File metadata

  • Download URL: music_drummer-0.1.19.tar.gz
  • Upload date:
  • Size: 42.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.7

File hashes

Hashes for music_drummer-0.1.19.tar.gz
Algorithm Hash digest
SHA256 03dac1d58d14779a8197089c8b74d3083cfd7b56e1d11d462f4c65b37109dd66
MD5 9f0c6410024711be8130f70bf3921eb5
BLAKE2b-256 2ae4a1a9b295fb4f1611e35c8280888b86be7c6a5570025f257edf60ea1c6fd2

See more details on using hashes here.

File details

Details for the file music_drummer-0.1.19-py3-none-any.whl.

File metadata

  • Download URL: music_drummer-0.1.19-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

Hashes for music_drummer-0.1.19-py3-none-any.whl
Algorithm Hash digest
SHA256 7543e2bf753dcb0c1be7c6ecf5c608cff397054af9ab43fd51eaf7b4de8feebd
MD5 634102390647c1960876c6e4d765d28a
BLAKE2b-256 de71af264e7a2240f77c8d658276730c0e16dc22445c04d8d34ba5ad96741478

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page