lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: audio input?


From: Mark Polesky
Subject: Re: audio input?
Date: Sat, 6 Dec 2008 20:27:04 -0800 (PST)

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.)



      




reply via email to

[Prev in Thread] Current Thread [Next in Thread]