Archive for October, 2007

Generative Chord Explorer

One of the ideas I would like to implement is as follows.

The user would hold down a key on their MIDI keyboard (or possibly input a note in some other fashion). The software would choose a scale, possibly from a set constrained by the user. The algorithm would then play chord progressions chosen at random from a generalized chord progression map or flowchart, choosing embellished and inverted chords as well as common triads. These progressions would be simultaneously played through a MIDI instrument or internal synthesizer while being written to a MIDI file for later playback and editing. Meanwhile, the interface would show the user what chord it is playing, and what chords it had recently played, as well as the chosen scale and root note.

In this way, the user could audition a large number of progressions, chords, and scales in hopes of discovering a new basis for a song — whether a long progression or just a few chords that evoked a desired emotion.

The user might also be able to go back and edit which inversion and type of chord were played in a generated sequence, tweaking the temporal order or harmonics used.

I think that this could be realized in Pure Data with a relative minimum of fuss, maybe requiring that an extension be written in C. If I can dig up the code, I wrote a program in C with a subset of this functionality several years ago.

Comment if it sounds like an interesting tool, or if you have any ideas about how to realize this in PD, perhaps with a minimum of external coding.

PdPedia online

Something that should be a boon to new and intermediate Pure Data users, a wiki of Pd objects is now up.

Marius Schebella on the Pd mailing list:

At the moment we still use the address http://wiki.puredata.info, but it
should be http://www.pdpedia.org in the next [few] days/weeks. (At the moment, pdpedia.org is linked to a test site.)
The general idea of the project is to have better documentation of Pd, mainly – but not only – its object classes. I hope it will become a useful tool to search for objects and how to do things in Pd. The search field should really work as a “how do I…”
All objects have some basic information like a short description, library, categories, but we also dumped text that we found in the
help patches to give a little help for filling in content. That is the goal, to get many people involved in sharing knowledge about how to use the objects, document features, and so on.

So far, the documentation for Pd is not nearly as bad as I was warned it would be. I think the PdPedia is a great idea — all the core and extension objects documented in one comprehensive resource. The self-documentation of the program (Help patches) is quite informative, as well.

One quirk I’ve noticed is that both the mailing list and the main documentation wiki are both heavy with Quebecois. I’m glad that some of the documentation appears in French, but this also accounts for some seriously poor and distracting English in those pages, as well as some documents being impenetrable to someone who can scarcely order soup in French.

I have no explanation for this prominent Francophone Canadian presence. Interesting curiosity I suppose, though I’m still left wondering why the userbase is concentrated there. Perhaps its just a vocal Quebecois minority.

I keep forgetting to check the Cycling ’74 docs and tutorials for Max, which I have heard are largely applicable to Pd.

Follow

Get every new post delivered to your Inbox.