This is NOT directly ABC related, so you might call it Spam.  If so, I
apologise.  I will try not to do it often!

Taking some of Laura's pleas to heart I want to experiment with Open Source.
I'm not prepared to risk the source code of Muse in this way at present, but
I am working on another music related project.

This is a Music Analyser.  Currently it works on PCM encoded WAV files on
PCs running 32 bit Windows systems only.  It can already
* play the music at any speed (musicians are usually interested in slowing
it down),
* FFT it and display the spectrum with peaks labelled in musical terms,
* guess at the exact tuning and key (e.g. key of A 17 cents flat),
* filter the sound,
* try a couple of non-FFT ways of getting exact pitches from short notes
(i.e. only a few cycles),
* display the waveform which you can scroll and zoom in various ways,
* display a piano keyboard with the active notes highlighted
* (almost) make good "voiceprints".

Possible enhancements are almost boundless. Some of the more obvious ones
are on the input side to work from mp3 or CD, on the processing side to make
more use of stereo channels, play reference tones for comparison, automatic
feature detection, better phase matching in the "play slowly" code, noise
cleanup, speed change with pitch-shift by re-sampling (e.g. to alter the
tuning), guessing the mode or scale in use, guessing the rhythm, converting
underlying note lengths to musical terms, identifying and ignoring overtones
in the spectrum, analysis of vibrato,...  it's endless!

The code is multi-threaded:
Highest: real-time code to play the sound
Above normal: filtering when the sound is playing
Normal: UI stuff
Below normal: long operations, FFT, spectrum, voiceprint etc.
Lowest: filtering (in advance) when the sound is not playing

The question is, on what terms should the source be opened?  Here is what I
have in mind.

1. Developers undertake not to market a competing product (whether free or
for money) and will not incorporate any of the code into a competing
product.
2. Developers may make any use of the source code for their private use.
3. Enhancements should be incorporated back into the main product base.
Developers undertake that any contributions they make are free of any legal
entanglements (i.e. they own the copyright, they give a non-exclusive free
licence to the project and they know of no patent infringements).
4. Developers should receive a share of any profits.  Formula yet to be
worked out, but don't start thinking greedy thoughts.  That probably means
irregular pocket money not wages!

If any developer is interested, initially I suggest that they email me
off-list.  Unless they say not to, I would distribute their emails to others
who reply (but not to the ABC list).

Feel free to distribute this further if you know anyone who might be
interested.

Laurie Griffiths
http://www.musements.co.uk/muse
where you will find music notation software for PCs.

To subscribe/unsubscribe, point your browser to: http://www.tullochgorm.com/lists.html

Reply via email to