Jamie Frost
10-27-2005, 04:58 PM
Hi there,
I'm currently thinking about what I could be doing for my final year university project, and I've been playing with an idea which would work in 2 stages:
1) The user could record themselves humming a part of a tune. Somehow I need to convert the wave into a sequence of notes, with rhythm ignored. This can then be easily converted into a sequence of 'musical intervals' - i.e. singing C D D# C B would yield [2,1,-3,-1] (i.e. you move up 2 keys from C to D etc.)
2) Using this sequence, a suitable pattern matching process (using a variant of the string-edit algorithm probably to allow for added/missing/wrong notes) would match the sequence against a list of tunes in the database, and hence identify the tune.
(2) is probably easily done with a suitable algorithm, but it's (1) that is going to be a technical challenge. Does anyone here know anything about pitch recognition using audio files (i.e. obtaining the frequency of the pitch), or know any good books/online resources that would help me?
What audio format would be best to use?
Any help anyone could give would be greatly appreciated :)
I stress this is only idea, and at the moment I'm finding out if it would be a feasible 3-4 month project to do, or if it would be too technically challenging.
(BTW, I would want to use Java).
I'm currently thinking about what I could be doing for my final year university project, and I've been playing with an idea which would work in 2 stages:
1) The user could record themselves humming a part of a tune. Somehow I need to convert the wave into a sequence of notes, with rhythm ignored. This can then be easily converted into a sequence of 'musical intervals' - i.e. singing C D D# C B would yield [2,1,-3,-1] (i.e. you move up 2 keys from C to D etc.)
2) Using this sequence, a suitable pattern matching process (using a variant of the string-edit algorithm probably to allow for added/missing/wrong notes) would match the sequence against a list of tunes in the database, and hence identify the tune.
(2) is probably easily done with a suitable algorithm, but it's (1) that is going to be a technical challenge. Does anyone here know anything about pitch recognition using audio files (i.e. obtaining the frequency of the pitch), or know any good books/online resources that would help me?
What audio format would be best to use?
Any help anyone could give would be greatly appreciated :)
I stress this is only idea, and at the moment I'm finding out if it would be a feasible 3-4 month project to do, or if it would be too technically challenging.
(BTW, I would want to use Java).