All Projects → shimpe → canon-generator

shimpe / canon-generator

Licence: GPL-3.0 License
Canon-generator: algorithmic composition using music21 and python

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to canon-generator

swirlr-wasm
willdady.github.io/swirlr-wasm/
Stars: ✭ 21 (+10.53%)
Mutual labels:  generative-art
samila
Generative Art Generator
Stars: ✭ 750 (+3847.37%)
Mutual labels:  generative-art
Generative-Art-Sketches
A Generative Art Gallery with the idea of creating a virtual Art Gallery with my creations. I have tried my hands on creating some visually appealing art using Cellular Automata, Recursive Grammar, Phyllotaxis, Sandpiles, Perlin Noise, IFS, Tiling.
Stars: ✭ 24 (+26.32%)
Mutual labels:  generative-art
ZzSprite
Pixel Art Sprite Generator
Stars: ✭ 85 (+347.37%)
Mutual labels:  generative-art
kotoist
A VST plugin for live coding and algorithmic composition
Stars: ✭ 37 (+94.74%)
Mutual labels:  algorithmic-composition
interactive-plants
Generative plants and flowers.
Stars: ✭ 21 (+10.53%)
Mutual labels:  generative-art
neon
Generative art piece made using 2d vector field
Stars: ✭ 26 (+36.84%)
Mutual labels:  generative-art
frameV
Framed Visuals: collaborative generative art.
Stars: ✭ 20 (+5.26%)
Mutual labels:  generative-art
camp
Building generative VR worlds on the Web
Stars: ✭ 16 (-15.79%)
Mutual labels:  generative-art
tweegeemee
Twitter Genetic Algorithm Imagery
Stars: ✭ 83 (+336.84%)
Mutual labels:  generative-art
facet
Facet is a live coding system for algorithmic music
Stars: ✭ 72 (+278.95%)
Mutual labels:  generative-art
jigsaws
Abstract Puzzles generative jigsaw puzzles showcase and IDE
Stars: ✭ 15 (-21.05%)
Mutual labels:  generative-art
canon-generator
Create and visualize temporal canons a'la Conlon Nancarrow
Stars: ✭ 31 (+63.16%)
Mutual labels:  canon
genuary2022
My entries for Genuary2022
Stars: ✭ 19 (+0%)
Mutual labels:  generative-art
p5-svelte
Easily add p5 sketches to a Svelte project 🍛 🌱
Stars: ✭ 94 (+394.74%)
Mutual labels:  generative-art
pycontextfree
Pythonic generative art tool
Stars: ✭ 32 (+68.42%)
Mutual labels:  generative-art
random-art-generator
Command-line application to produce generative art based on a target image
Stars: ✭ 32 (+68.42%)
Mutual labels:  generative-art
nft-generator-py
Unique image & metadata generation using weighted layer collections.
Stars: ✭ 127 (+568.42%)
Mutual labels:  generative-art
lines
A plotter-friendly 3D engine
Stars: ✭ 40 (+110.53%)
Mutual labels:  generative-art
vpype-pixelart
Pixel art plotting in vpype
Stars: ✭ 40 (+110.53%)
Mutual labels:  generative-art

canon-generator

Canon-generator: algorithmic composition using music21, scamp, abjad and python

  • Written by Stefaan Himpe - 2013
  • Revised to use python 3.8 and music21 6.3.0 - 2020 NOTE: canon-generator now also depends on the scamp library to generate the final notation

Code available under GPLv3.

Simple tonal canon generator. The main function contains some parameters that can be edited by the user (for now, no UI/command line options available).

chords = "C F Am Dm G C"

  • You can insert a new chord progression here.

scale = music21.scale.MajorScale("C")

  • You can define a new scale in which the notes of the chords should be interpreted here

voices = 5

  • Define the number of voices in your canon here

quarterLength = 2

  • Define the length of the notes used to realize the chord progression (don't choose them too short, since the automatic spicing-up will make them shorter)

spice_depth = 1

  • Define how many times a stream (recursively) should be spiced up, e.g. setting 2 will first spice up the chords, then again spice up the already spiced chords. Scores very quickly become rhytmically very complex for settings > 2

stacking = 1

  • the code can generate multiple versions of the spiced up chord progression, and use those versions to create extra voices. E.g. setting stacking = 2 will turn a 3-voice canon into a 3*2 = 6-voice canon

voice_transpositions = { VOICE1 : +12, VOICE2 : 0, VOICE3 : -12, VOICE4: -24, VOICE5: 0 }

  • allow extra octave jumps between voices
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].