Chip, I totally forgot...
If you want to get from audio input to lilypond output, you should talk to Jaime Oliver (not Jamie - the naked chef - Jaime is pronounced as in Spanish). Anyway, last I heard, Jaime was working on a MIDI to LilyPond converter using Pd. Here's a relevant post from him: http://lists.gnu.org/archive/html/lilypond-user/2008-04/msg00600.html If you don't yet know about PureData (Pd for short), you must look into it. It's a real-time audio-processing environment AND a graphical programming language. It's flexible and robust, it can analyze incoming audio (I've seen it happen), and it's totally free. Learning how to work the darn thing nearly gave me a brain aneurysm, but it was worth it. It's designed and maintained by Miller Puckette, the genius who created Max/MSP and in so doing, probably altered the course of music history. It should be relatively straightforward to get Pd to convert incoming audio into MIDI pitches (if the signal is clean enough - and without too many overtones). The difficulty would be analyzing durations -- Pd measures in milliseconds (and microseconds, I believe), but interpreting these into quarter-notes and eighth-notes is a slippery slope. But if Jaime creates a MIDI to Lily converter, you could probably use Pd to get from audio input to MIDI, and then piggy-back his project on to yours. Honestly, I would be surprised if there isn't already an audio to MIDI patch out there. But learning Pd is good for you. Somehow. Hope this helps. - Mark ______________________________________________________ postscript: I haven't worked with Pd for over a year, so I'm really rusty. But if you can stomach it, check out the "fiddle" object that comes with Pd. Here's the documentation that comes with the installation... The Fiddle object estimates the pitch and amplitude of an incoming sound, both continuously and as a stream of discrete "note" events. Fiddle optionally outputs a list of detected sinusoidal peaks used to make the pitch determination. Fiddle is described theoretically in the 1998 ICMC proceedings, available here: http://www-crca.ucsd.edu/~tapel/icmc98.pdf. Fiddle's creation arguments specify an analysis window size, the maximum polyphony (i.e., the number of simultaneous "pitches" to try to find), the number of peaks in the spectrum to consider, and the number of peaks, if any, to output "raw." The outlets give discrete pitch (a number), detected attacks in the amplitude envelope (a bang), one or more voices of continuous pitch and amplitude, overall amplitude, and optionally a s equence of messages with the peaks. The analysis hop size is half the window size so in the example shown here, one analysis is done every 512 samples (11.6 msec at 44K1), and the analysis uses the most recent 1024 samples (23.2 msec at 44K1). The minimum frequency that Fiddle will report is 2-1/2 cycles per analysis windows, or about 108 Hz. (just below MIDI 45.) _______________________________________________ lilypond-user mailing list [email protected] http://lists.gnu.org/mailman/listinfo/lilypond-user
