On 05/10/2014 06:39 PM, Florian Paul Schmidt wrote:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On 10.05.2014 00:18, Lucas Takejame wrote:
Hello guys, recently I assembled note2midi LV2
plugin based on the
‘aubionotes’ from lib aubio's example folder. You can find it at
this link
https://github.com/portalmod/mod-utilities/tree/master/Note2Midi
and I'm hopping you guys could help me to improve this plugin so it
can be more reliable for using with guitar and bass. The majority
of the tests were made using pure sine waves. I barely know how the
algorithms ‘onset’ and ‘pitch’ detection works, that’s because I
don't know much more how the note2midi can be improved. I
appreciate if someone could give me some tips =)!
Att,
Lucas
I would be interested in trying a different approach to this problem.
Namely using machine learning. Would the guitar players on this list
be willing to provide training data? I.e. audio files of you playing
single notes with an additional text file describing the played
pitches. A format like
frame-number start 440
frame-number end
e.g. you have an audio clip at 1000hz sampling rate where an 440hz A
starts on frame 500 (at 0.5 secs) that lasts to frame 2500 (so, 2 secs
duration):
500 start 440
2500 end
And so on.. Also for a usable guitar synthesizer one would maybe have
to go a step further. The closer one is to the onset of the note the
more uncertain the pitch is (loosely and much simplified speaking: for
a low note it takes quite a while until even half a cycle has passed -
during that time the pitch is very uncertain), so one approach would
be to use a percussive sound for the start of the note (onset
detection is easier than pitch detection I would figure) and then once
the pitch is established fade to a second synthesis model that
produces a clearly defined pitch.
Mapping this to a midi stream introduces some loss of information, but
could also be possible (e.g. two midi outs, one for the percussive
onset detection and one for the (slower) pitch detection).
I wanted to try this for a long time.. Maybe using decent machine
learning and lots of training data one could even identify the pitch
based on the characteristics of the very early signal from a note, but
I'm not really certain about that.
Sorry for hijacking your post and talking about several separate
things at once, but maybe someone is interested in a project like this..
Flo
quick recording, old guitar, old strings, cheap "studio", blabla.
It's standard tuning (eadgbe), more or less tuned (according to
guitarix).
The 6 strings are played from fret 0 to 12.
http://sed.free.fr/guitar.wav.xz
I let you find the freqs and the note start/end, it should not be
too hard with simple analysis algorithms (the ones you want to avoid).
I can record more, but as you can hear, it's not good quality...
HTH
C.
(the URL will be valid until let's say 2014-06-30)