http://softwareprocess.es/index.cgi/Veve
This software I have created tracks what you draw (based on webcam input, I also used a white board with some dry erase markers). Your drawing is stored as a temporal bitmap which is then traversed temporally. This traversal produces a path and that path is coverted into music. Usually it acts like a sequencer. A jagged path will have lots of sub paths where as a smooth path will not, thus a jagged path will sound staccato, while a smooth path will have a long duration. The different angles in a path determine if it is a path vertex or not.
Little lines and dots get turned into short flute bursts or drums, while longer lines and larger objects become long duration flute tones.
To learn more about Veve's go here: http://en.wikipedia.org/wiki/Veve
To learn more about Vodou or Voodoo go here: http://en.wikipedia.org/wiki/Haitian_Vodou
The idea is originally from Matthew Skala who has considerable multicultural expertise in these sorts of things: http://ansuz.sooke.bc.ca/
Here's the software if you want it, it is very Linux specific. It might work on other unices but I doubt it.
http://github.com/abramhindle/magic-sigils
You'll need csound:
http://csounds.com/
Before I offend anyone, I'm not drawing veves, it is just that idea of a drawing producing an effect which is how it relates to veves.
This is a first stab and the UI is pretty bad. Also it is hard to tell what is happening because it is pretty abstract.
I read from the webcam, this is the color display, my program, written in OCaml, reads this bitmap, then equalizes and thresholds the image, only the dark stuff because the positive content. This technique means images of my hand have a bit less of an effect. Then we sum the positive pixels of this cleaned up bitmap with the historical image I have and that is displayed as the black and white image. This means that things that stay the same are persistent where as things that don't stay the same fade out. I think walk through bitmap based on the time that it was changed, find the centroid of that event, then move onto the next event. I build up a list of centroids, these become my path. I simplify the path by removing intermediate nodes which do not modify the angle. Then I send this path out and decide how to turn it into music.
To turn a path into music, I walk the path calculating its vectors and angles and magnitude. These are then mapped to the music. Magnitude is mapped to duration, but short duration also map to drum sounds. Angles modify pitch. This is just arbitrary, you can do a lot more and potentially make it seem more like the drawing, but the drawing has no inherit musicality so it is up to me to do something about it.
You are a genius. I'm working on a game that has a magic system based on West African Systems. I'll keep you in the loop...
tonybennett3 1 year ago