[Top][All Lists]

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

[Denemo-devel] Pitch recognition patch

From: Richard Shann
Subject: [Denemo-devel] Pitch recognition patch
Date: Sun, 19 Aug 2007 18:42:15 +0100

Here is the patch fixing the bugs listed in my last mailing and
introducing pitch recognition entry for denemo.
The rhythm entry stuff has been upgraded as well, especially in handling
patterns with rests which get entered automatically now, and triplets
can be entered via separate start triplet/end tuplet commands. The
rhythm mode is now started via the mode menu.

The pitch recognition entry is invoked from the mode menu - it
automatically invokes rhythmic patterns and a special keymap (which you
can modify to your taste and save in .denemo).
It works by recognizing pitches sounded into the microphone input of the
soundcard and putting notes into the score. The notes are only entered
into the score when the cursor is in the score area - the background
turns a rather lurid yellow to indicate you are "live" in this sense.
Additionally you get to see the pitches detected in the Pitch
Recognition Window. The Pitch Recognition Window allows you to change
the enharmonic range (e.g. whether Eb or D# should be entered) and to
change various parameters that control the pitch detection.

The good news is that it works well - you can exploit your previously
learnt skills to enter notes, which is a subtle thing, that you are
actually conscious of the notes as music as you enter them. (I think a
similar effect would be gotten by the computer sounding the notes back
to you as you entered them at the keyboard).

The bad news you often only get to play tiny rhythmic phrases before you
have to select a new rhythm, so its ok with one hand on, say, an
electric piano and the other hovering over the keyboard, but not so good
with, say, the guitar.

Also though it works very well with instruments with a distinct attack
the recorder struggles to make itself understood.

My experience with this suggests to me that the rhythmic pattern mode
should probably become the default mode of denemo - even without using
user-defined patterns it reduces typing because repeated durations are
more common in music than repeated notes of varying duration.
The pitch recognition will really come into its own when you can enter
all the durations for the piece (as a kind of rhythm track - appearing
on the clef just like the music but all on one note) and then play the
piece over the top, so that as you play it in you can see the music
writing itself. This is not completely trivial, owing to denemo's
convoluted internal organs, but it is only a whisker away. Then we will
have achieved something which I suspect is state-of-the-art - entering
music in the time required to play it through twice.

On the technical front: the pitch recognition stuff requires libaubio
and libportaudio, and I haven't figured out how you get these configured
in to the system - I've just built it by adding -laubio etc to the
LD_FLAGS in the src/Makefile
The diffs will have (judging by the ChangeLog) reverted a change which
they shouldn't have in src/prefops.c - I believe I have taken care of
all other changes that have taken place since I started on this

Any comments - particularly on the proposal to develop a two-pass music
entry scheme - most welcome.

Attachment: diff.txt
Description: Text Data

reply via email to

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