Skip to main content

Implementation of musical dice games from the 18th century.

Project description

This package features an implementation of various musical dice games by Mozart, Kirnberger and Stadler. These dice games are also known as “Musikalisches Würfelspiel” (German for “musical dice game”).

The earliest printed edition of a dice game is Johann Philipp Kirnberger’s “Der allezeit fertige Menuetten- und Polonaisencomponist” (The ever-ready minuet and polonaise composer”), published in 1757. Afterwards, many composers, such as, for example, C.P.E. Bach, Hayden, and Mozart, published these so called “Musikalische Würfelspiele” (musical dice games) all over Europe. The music style varies roughly between Gregorian chants up to and including the salon pieces of the Romantic period. See [Reuter2013] for more details.

To play a dice game, one would need:

  • two dice

  • a tables sheet with the measure indices

  • a measures sheet with all the numbered bars

  • music paper to write down your composition

The measures and tables where composed by the composer of the dice game and were organized such, that random compilations made a musical composition. To play the game, you would have to throw the dice, and then look up the measure corresponding to your dice throw and your bar index in the dice table. Having found the right bar number, you then select that bar from the measures sheet provided.

This software package automizes the production of these musical pieces. All pieces (tables sheets and measures) have been inserted into this software package and suitable software has been created to allow production of the musical pieces.

For a use case of this library, and more information on these dice games, please visit http://opus-infinity.org, a website by the same author.

For complete functionality, this package requires the following packages to be installed on the user’s system:

  • lilypond, to convert the compositions into midi and pdf files

  • fluidsynth or timidity, for converting midi to wav

  • ffmpeg, to convert wav to other audio formats

  • imagemagick, to prepare the image outputs of the compositions

Python API

The major component of this library is the class “DiceGame”. All dicegames implement this class and its funcions. For use cases, please see the demo’s in the scripts folder.

Technical details

All musical dice games are stored internally using Lilypond bars. When composed into a musical piece, these bars are combined to form a complete piece. The external package Lilypond is then called to convert the composition into a midi file and a pdf file. Next, fluidsynth, or timidity is used to convert the midi to wav, either using a default soundfont, or a user provided soundfont. Afterwards, the composition pdf can be transformed to png for display in, for example, a browser.

[Reuter2013]

Reuter, Christoph. (2013), Der Würfel als Autor, Würfelmusik und Zufallstexte des 17. bis 19. Jahrhunderts. In: Herbert Bannert, Elisabeth Klecker (Hgg.), Autorschaft, Konzeptionen, Transformationen, Diskussionen. Wien, Praesens Verlag. p. 195-222.

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

musical_games-0.9.0.tar.gz (98.3 kB view details)

Uploaded Source

Built Distribution

musical_games-0.9.0-py3-none-any.whl (108.4 kB view details)

Uploaded Python 3

File details

Details for the file musical_games-0.9.0.tar.gz.

File metadata

  • Download URL: musical_games-0.9.0.tar.gz
  • Upload date:
  • Size: 98.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.25.1

File hashes

Hashes for musical_games-0.9.0.tar.gz
Algorithm Hash digest
SHA256 cb191945aefe40ec5b0e31b2fa35b62b9058ddb14027bb2751e3bf7d86f1a38e
MD5 234dda239103c9bc109075046219cd8d
BLAKE2b-256 7522f7e21ed56b2bd778b1844b8d9829d8c06bfcd2c3c54fa229f3481377e2d5

See more details on using hashes here.

File details

Details for the file musical_games-0.9.0-py3-none-any.whl.

File metadata

File hashes

Hashes for musical_games-0.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 514c0d79d886b89ec8d3e5576933a0ca846178e2116a07084f4c90ac0248461c
MD5 5b2a8e4853aa4382c726ff268987247a
BLAKE2b-256 ac939319bc2eeafa1461278fcc9ee910404fe5c1fbc7dcf19b1f10324a62802f

See more details on using hashes here.

Supported by

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