Re: [music-dsp] note onset detection
On 8/9/13 7:25 PM, Ross Bencina wrote: Hi Robert, I have a question: are you trying to output the pitch and note on/off information in a real-time streaming scenario with minimum delay? or is this an off-line process? My impression is that the MIR folk worry less about minimum-delay/causal processing than us real-time people. well, we want to be able to do the former, but may be stuck with doing the latter. and i know the big difference is that if you can look at both the NoteOn and the corresponding NoteOff and all of the pitch in between, you can construct a better MIDI NoteOn by looking at that whole pitch track inbetween. in the real-time minimal-delay case, once you detect a NoteOn, you will have to base the MIDI NoteOn message on the initial pitch (which might be crap, if it hasn't settled down yet) rather than the overall pitch over the lifetime of the note. Another comment: On 9/08/2013 7:51 AM, robert bristow-johnson wrote: On 8/8/13 2:23 PM, Ian Esten wrote: Hmm. I think keeping it in the time domain would be difficult. Most time domain pitch detection algs are error prone, which would yield false positives. You can of course tweak FFT size and your interval between FFTs. I think it would be pretty reasonable to run your FFTs at a pretty coarse time resolution and increase the density to get better time resolution when you find a note on. That would be pretty low cost. well, pitch detection is one thing, note onsets are another. my experience with pitch detectors came to an opposite conclusion. unless you're using the FFT to quick compute the autocorrelation (ACF), other frequency-domain pitch detectors have (at least where i have seen them) relied on energy at the fundamental. I don't think that's true. As far as I know the usual frequency-domain pitch tracking approch is based on performing MQ partial tracking combined with Maher and Beauchamp's two-way mismatch procedure: http://ems.music.uiuc.edu/beaucham/papers/JASA.04.94.pdf thanks for the reference. i sorta knew James Beauchamp since i was at Northwestern in the 80s, and i first met Rob Maher at an AES in the 90s soon after this. he was presenting something about duet separation that appears alluded to in this paper. i don't know what is usually done. had no idea that this paper existed. but the partial tracking thing was something i've seen Rob present before (back in the 90s). even with the partials properly tracked and linked between frames, i am not sure how Rob infers the missing fundamental. i see how he is tracking sinusoidal components, but unlike MQ, this is about the fundamental frequency of a quasi-harmonic tone. i'll read it some more. BTW, i got a few different papers on onset detection from a few different sources. the zip archive is about 3 MB. if anyone wants it (assuming my email can attach something that large), i can send you the zip file. -- r b-j r...@audioimagination.com Imagination is more important than knowledge. -- dupswapdrop -- the music-dsp mailing list and website: subscription info, FAQ, source code archive, list archive, book reviews, dsp links http://music.columbia.edu/cmc/music-dsp http://music.columbia.edu/mailman/listinfo/music-dsp
Re: [music-dsp] note onset detection
Hi Robert, I have a question: are you trying to output the pitch and note on/off information in a real-time streaming scenario with minimum delay? or is this an off-line process? My impression is that the MIR folk worry less about minimum-delay/causal processing than us real-time people. Another comment: On 9/08/2013 7:51 AM, robert bristow-johnson wrote: On 8/8/13 2:23 PM, Ian Esten wrote: Hmm. I think keeping it in the time domain would be difficult. Most time domain pitch detection algs are error prone, which would yield false positives. You can of course tweak FFT size and your interval between FFTs. I think it would be pretty reasonable to run your FFTs at a pretty coarse time resolution and increase the density to get better time resolution when you find a note on. That would be pretty low cost. well, pitch detection is one thing, note onsets are another. my experience with pitch detectors came to an opposite conclusion. unless you're using the FFT to quick compute the autocorrelation (ACF), other frequency-domain pitch detectors have (at least where i have seen them) relied on energy at the fundamental. I don't think that's true. As far as I know the usual frequency-domain pitch tracking approch is based on performing MQ partial tracking combined with Maher and Beauchamp's two-way mismatch procedure: http://ems.music.uiuc.edu/beaucham/papers/JASA.04.94.pdf Ross. -- dupswapdrop -- the music-dsp mailing list and website: subscription info, FAQ, source code archive, list archive, book reviews, dsp links http://music.columbia.edu/cmc/music-dsp http://music.columbia.edu/mailman/listinfo/music-dsp
Re: [music-dsp] note onset detection
I've been trying to send a reply to this, but none has appeared, I guess because of html blocking... Anyway, here's the message, I hope it gets there now We've done some work on this a couple of years ago: Real-time detection of musical onsets with linear prediction and sinusoidal modeling, EURASIP Journal on Advances in Signal Processing 2011,2011:68 doi:10.1186/1687-6180-2011-68 HTH Victor On 5 Aug 2013, at 18:50, robert bristow-johnson wrote: would anyone be interested in pointing me in a good direction regarding note onset detection? i have the MIRtoolbox from Oliver Lartillot which looks quite current. still digging into it to see what the kernel is. various papers mention a novelty function which makes use of a similarity matrix. i see references to a paper by Foote, Cooper, Nam: Audio Retrieval by Rhythmic Similarity. i got that paper but it didn't define the similarity metric. and it looks expensive to be calculating the similarity of each little snippet of audio against *every* other snippet. especially when all i want is only a better method for note onsets than simply applying thresholds to various envelopes derived from the audio (like amplitude vs. time and the derivative of pitch vs. time). who's working in this? and if you're one of them and free to discuss basic ideas, i'd love to hear it. thanx. -- r b-j r...@audioimagination.com Imagination is more important than knowledge. -- dupswapdrop -- the music-dsp mailing list and website: subscription info, FAQ, source code archive, list archive, book reviews, dsp links http://music.columbia.edu/cmc/music-dsp http://music.columbia.edu/mailman/listinfo/music-dsp Dr Victor Lazzarini Senior Lecturer Dept. of Music NUI Maynooth Ireland tel.: +353 1 708 3545 Victor dot Lazzarini AT nuim dot ie -- dupswapdrop -- the music-dsp mailing list and website: subscription info, FAQ, source code archive, list archive, book reviews, dsp links http://music.columbia.edu/cmc/music-dsp http://music.columbia.edu/mailman/listinfo/music-dsp
Re: [music-dsp] note onset detection
Glad you finally made it through, Victor. I guess none of my posts through the years have shown up either. This is the first time I bothered to check, since I never received any bounce emails. I just thought everyone was just really unresponsive. For those interested, I'll copy my original response. Previously it was only sent directly to everyone who had responded to this thread: I'd also recommend the Bello tutorial paper. It's a great overview. Here are some other papers that are worth looking at. One of the more recent approaches that seems to be winning evals uses a long short-term memory (LSTM) recurrent neural net [2,3]. This may be along the lines of what Ross Bencina was talking about: humans do it with reference to their knowledge of previously heard melodic fragments. I've found the multi-band Klapuri approach [6] to be quite effective for detecting notes with strong attack transients. For notes with less pronounced attacks, the method covered in [5] is designed to detect changes in pitch. The method in [5] is also discussed in the tutorial paper [4] (Spectral features using phase), so definitely read that paper. [1] S. Böck, F. Krebs, and M. Schedl, “Evaluating the online capabilities of onset detection methods,” presented at the International Society for Music Information Retrieval Conference, 2012. [2] S. Böck, A. Arzt, F. Krebs, and M. Schedl, “Online realtime onset detection with recurrent neural networks,” presented at the International Conference on Digital Audio Effects (DAFx-12), 2012. [3] F. Eyben, S. Böck, B. Schuller, and A. Graves, “Universal onset detection with bidirectional long-short term memory neural networks,” Proc. of ISMIR, 2010. [4] J. Bello, L. Daudet, S. A. Abdallah, C. Duxbury, M. Davies, and M. Sandler, “A tutorial on onset detection in music signals,” IEEE Transactions on Speech and Audio Processing, vol. 13, no. 5, p. 1035, 2005. [5] J. Bello, C. Duxbury, M. Davies, and M. Sandler, “On the use of phase and energy for musical onset detection in the complex domain,” IEEE Signal Processing Letters, vol. 11, no. 6, pp. 553–556, 2004. [6] A. Klapuri, “Sound onset detection by applying psychoacoustic knowledge,” ICASSP, 1999. Best, Eric On Thursday, August 8, 2013, Victor Lazzarini wrote: I've been trying to send a reply to this, but none has appeared, I guess because of html blocking... Anyway, here's the message, I hope it gets there now We've done some work on this a couple of years ago: Real-time detection of musical onsets with linear prediction and sinusoidal modeling, EURASIP Journal on Advances in Signal Processing 2011,2011:68 doi:10.1186/1687-6180-2011-68 HTH Victor On 5 Aug 2013, at 18:50, robert bristow-johnson wrote: would anyone be interested in pointing me in a good direction regarding note onset detection? i have the MIRtoolbox from Oliver Lartillot which looks quite current. still digging into it to see what the kernel is. various papers mention a novelty function which makes use of a similarity matrix. i see references to a paper by Foote, Cooper, Nam: Audio Retrieval by Rhythmic Similarity. i got that paper but it didn't define the similarity metric. and it looks expensive to be calculating the similarity of each little snippet of audio against *every* other snippet. especially when all i want is only a better method for note onsets than simply applying thresholds to various envelopes derived from the audio (like amplitude vs. time and the derivative of pitch vs. time). who's working in this? and if you're one of them and free to discuss basic ideas, i'd love to hear it. thanx. -- r b-j r...@audioimagination.com Imagination is more important than knowledge. -- dupswapdrop -- the music-dsp mailing list and website: subscription info, FAQ, source code archive, list archive, book reviews, dsp links http://music.columbia.edu/cmc/music-dsp http://music.columbia.edu/mailman/listinfo/music-dsp Dr Victor Lazzarini Senior Lecturer Dept. of Music NUI Maynooth Ireland tel.: +353 1 708 3545 Victor dot Lazzarini AT nuim dot ie -- dupswapdrop -- the music-dsp mailing list and website: subscription info, FAQ, source code archive, list archive, book reviews, dsp links http://music.columbia.edu/cmc/music-dsp http://music.columbia.edu/mailman/listinfo/music-dsp -- dupswapdrop -- the music-dsp mailing list and website: subscription info, FAQ, source code archive, list archive, book reviews, dsp links http://music.columbia.edu/cmc/music-dsp http://music.columbia.edu/mailman/listinfo/music-dsp
Re: [music-dsp] note onset detection
On 8/8/13 11:05 AM, Ian Esten wrote: On Mon, Aug 5, 2013 at 1:01 PM, robert bristow-johnson r...@audioimagination.com wrote: the big problem i am dealing with is people singing or humming and changing notes. i really want to encode those pitch changes as new notes rather than as a continuation of the previous note (perhaps adjusted with MIDI pitch bend messages). there is not sufficient change in amplitude or even in the timbre (brightness or spectral centroid) or the periodicity measure to get a grip on this. i *am* trying to kludge together something that looks at the tracked pitch output (of my pitch detector), but i need to condition that signal because little blips (bad pitch measurements) trigger spurious NoteOn messages. so just observing pitch changes is not robust enough. Spectral flux is the way to go. It will detect both changes in level and sharp changes in frequency content. It will be a more robust onset detector than trying to repurpose a pitch detector, with the added advantage of being simpler to compute. There are other frequency domain methods to compute a new note likelihood or novelty function, but they end up doing about as well as spectral flux with the downside of being more computationally complex. my issue with spectral flux, which is similar to bandsplitting and looking for changes in each band is how to combine the decisions coming from the vector of band decisions. the simplest is if *any* band detects a sufficient change to warrant a NoteOn message (a big OR operation), that you launch the NoteOn, but you must put in some kinda timer so that 10 different NoteOns are not launched milliseconds apart due to these different bands hitting at slightly different times due to a common source of change. i'd sorta like to keep this in the time-domain if possible so that it might be able to operate real-time, even with a small delay. but the delay in doing an STFT seems too long. the way i look at this novelty function whether it includes spectral flux or not, is that there are several parameters being tracked simultaneously and the novelty function defines how these several parameters are combined to yield a single novelty parameter that one can make an onset decision with. and i am also concerned with offset. when the note ends and a MIDI NoteOff message is derived. my case is mono-phonic (which is one reason i thought that spectral flux might be more than i need, but i dunno) so, i guess, if a new onset is detected when i am still in the NoteOn state, i can quickly end the current note with a NoteOff and then launch the new NoteOn. (I also did not know I was sending html mail... This is take 3 at getting the message through!) we hear you now, Ian. thanks. -- r b-j r...@audioimagination.com Imagination is more important than knowledge. -- dupswapdrop -- the music-dsp mailing list and website: subscription info, FAQ, source code archive, list archive, book reviews, dsp links http://music.columbia.edu/cmc/music-dsp http://music.columbia.edu/mailman/listinfo/music-dsp
Re: [music-dsp] note onset detection
Hmm. I think keeping it in the time domain would be difficult. Most time domain pitch detection algs are error prone, which would yield false positives. You can of course tweak FFT size and your interval between FFTs. I think it would be pretty reasonable to run your FFTs at a pretty coarse time resolution and increase the density to get better time resolution when you find a note on. That would be pretty low cost. On Thu, Aug 8, 2013 at 11:23 AM, robert bristow-johnson r...@audioimagination.com wrote: On 8/8/13 11:05 AM, Ian Esten wrote: On Mon, Aug 5, 2013 at 1:01 PM, robert bristow-johnson r...@audioimagination.com wrote: the big problem i am dealing with is people singing or humming and changing notes. i really want to encode those pitch changes as new notes rather than as a continuation of the previous note (perhaps adjusted with MIDI pitch bend messages). there is not sufficient change in amplitude or even in the timbre (brightness or spectral centroid) or the periodicity measure to get a grip on this. i *am* trying to kludge together something that looks at the tracked pitch output (of my pitch detector), but i need to condition that signal because little blips (bad pitch measurements) trigger spurious NoteOn messages. so just observing pitch changes is not robust enough. Spectral flux is the way to go. It will detect both changes in level and sharp changes in frequency content. It will be a more robust onset detector than trying to repurpose a pitch detector, with the added advantage of being simpler to compute. There are other frequency domain methods to compute a new note likelihood or novelty function, but they end up doing about as well as spectral flux with the downside of being more computationally complex. my issue with spectral flux, which is similar to bandsplitting and looking for changes in each band is how to combine the decisions coming from the vector of band decisions. the simplest is if *any* band detects a sufficient change to warrant a NoteOn message (a big OR operation), that you launch the NoteOn, but you must put in some kinda timer so that 10 different NoteOns are not launched milliseconds apart due to these different bands hitting at slightly different times due to a common source of change. i'd sorta like to keep this in the time-domain if possible so that it might be able to operate real-time, even with a small delay. but the delay in doing an STFT seems too long. the way i look at this novelty function whether it includes spectral flux or not, is that there are several parameters being tracked simultaneously and the novelty function defines how these several parameters are combined to yield a single novelty parameter that one can make an onset decision with. and i am also concerned with offset. when the note ends and a MIDI NoteOff message is derived. my case is mono-phonic (which is one reason i thought that spectral flux might be more than i need, but i dunno) so, i guess, if a new onset is detected when i am still in the NoteOn state, i can quickly end the current note with a NoteOff and then launch the new NoteOn. (I also did not know I was sending html mail... This is take 3 at getting the message through!) we hear you now, Ian. thanks. -- r b-j r...@audioimagination.com Imagination is more important than knowledge. -- dupswapdrop -- the music-dsp mailing list and website: subscription info, FAQ, source code archive, list archive, book reviews, dsp links http://music.columbia.edu/cmc/music-dsp http://music.columbia.edu/mailman/listinfo/music-dsp -- dupswapdrop -- the music-dsp mailing list and website: subscription info, FAQ, source code archive, list archive, book reviews, dsp links http://music.columbia.edu/cmc/music-dsp http://music.columbia.edu/mailman/listinfo/music-dsp
Re: [music-dsp] note onset detection
I haven't worked much on this, so just some speculations. i'd sorta like to keep this in the time-domain if possible so that it might be able to operate real-time, even with a small delay. but the delay in doing an STFT seems too long. A delay the size of a few periods of the signal seems inevitable, regardless of what methods you use. At least if there is no very sharp attack transient. and i am also concerned with offset. when the note ends and a MIDI NoteOff message is derived. my case is mono-phonic (which is one reason i thought that spectral flux might be more than i need, but i dunno) so, i guess, if a new onset is detected when i am still in the NoteOn state, i can quickly end the current note with a NoteOff and then launch the new NoteOn. I think spectral flux may react to consonants, plosives and sibilants and suchlike, perhaps even more than to the change from one pitch to another sung at the same vowel. It might be efficient to do the flux only over a low frequency range, say up to 1 kHz. Also, if you take the signed difference X_k[m] - X_k[m-1] of spectral bins at time m, the onsets are easy to distinguish from the end of the notes, or at least ends of phrases. Risto r b-j r...@audioimagination.com Imagination is more important than knowledge. -- dupswapdrop -- the music-dsp mailing list and website: subscription info, FAQ, source code archive, list archive, book reviews, dsp links http://music.columbia.edu/cmc/music-dsp http://music.columbia.edu/mailman/listinfo/music-dsp
Re: [music-dsp] note onset detection
On 8/8/13 2:23 PM, Ian Esten wrote: Hmm. I think keeping it in the time domain would be difficult. Most time domain pitch detection algs are error prone, which would yield false positives. You can of course tweak FFT size and your interval between FFTs. I think it would be pretty reasonable to run your FFTs at a pretty coarse time resolution and increase the density to get better time resolution when you find a note on. That would be pretty low cost. well, pitch detection is one thing, note onsets are another. my experience with pitch detectors came to an opposite conclusion. unless you're using the FFT to quick compute the autocorrelation (ACF), other frequency-domain pitch detectors have (at least where i have seen them) relied on energy at the fundamental. but you can have a periodic function with period 1/f0 and have absolutely zero energy at f0 (but there needs to be energy at other harmonics where the greatest common factor is f0) to deal with that problem, as soon as you start thinking of a sweeping combfilter, that's essentially what the AMDF or ASDF do with varying lags. when using the FFT to do autocorrelation (by iFFT of the magnitude-squared of the FFT of a segment of the input), one thing you need to worry about is what these guys did: http://www.cs.otago.ac.nz/tartini/papers/A_*Smarter*_*Way*_to_Find_*Pitch*.pdf (the Type 2 ACF). you have to compensate for the windows overlapping less as the lag increases (as the lag increases, there is an envelope to the ACF that decreases and that should be undone). you can do the same thing in the time domain without getting this problem and you can relate the ACF to the ASDF (one is an upside-down version of the other). you can do this quite nicely in the time domain and you don't have to compute the ACF or AMDF or ASDF for each and every lag. to save computation, it doesn't take Einstein to figure out that some ACF lags need not be computed because you will not use the results. -- r b-j r...@audioimagination.com Imagination is more important than knowledge. -- dupswapdrop -- the music-dsp mailing list and website: subscription info, FAQ, source code archive, list archive, book reviews, dsp links http://music.columbia.edu/cmc/music-dsp http://music.columbia.edu/mailman/listinfo/music-dsp
Re: [music-dsp] note onset detection
Ross Bencina wrote: On 7/08/2013 2:38 AM, Theo Verelst wrote: I suppose in EE terms, if you know something about the waves you're ... You would need a definition of note onset that somehow includes segmenting a hummed glide transition from one pitch to another according to Robert's transcription rules. Hmhm, but in the digital domain you probably want some sort of signal path to measure that, get the distinction between the one note and the next right, and I'd prefer to know what's reasonable possible within the theory perimeter to get done well. You could presume a pitch change of the voice as being a higher excitation note through the vocal tract as more or less time-fixed filter, or you could presume all sounds to be more or less cyclic waveforms, lots of options. If it's a choir in a reverberant space, far from the microphone with coughs and booklet dropping sounds, it's a whole other ballgame, where trivial solutions are likely to often fail. T. On the High Road -- dupswapdrop -- the music-dsp mailing list and website: subscription info, FAQ, source code archive, list archive, book reviews, dsp links http://music.columbia.edu/cmc/music-dsp http://music.columbia.edu/mailman/listinfo/music-dsp
Re: [music-dsp] note onset detection
On 7/08/2013 12:23 PM, charles morrow wrote: Please explain your reference Roberts transcription notes for me. Robert expressed the following requirement: On 6/08/2013 6:01 AM, robert bristow-johnson wrote: the big problem i am dealing with is people singing or humming and changing notes. i really want to encode those pitch changes as new notes rather than as a continuation of the previous note (perhaps adjusted with MIDI pitch bend messages). My thought was that this kind of top down parsing requires some kind of musical knowledge that is not intrinsic to the signal. I.e. I don't think any kind of signal novelty function is going to tell you how to segment features at the note level of abstraction. I rather suspect that humans do it with reference to their knowledge of previously heard melodic fragments. Ross. -- dupswapdrop -- the music-dsp mailing list and website: subscription info, FAQ, source code archive, list archive, book reviews, dsp links http://music.columbia.edu/cmc/music-dsp http://music.columbia.edu/mailman/listinfo/music-dsp
Re: [music-dsp] note onset detection
Eric, it looks like you're sending HTML mail. The list only takes plain text. best, douglas On 8/7/13 3:01 PM, Eric Battenberg wrote: For the life of me, I can't get the list to stop ignoring my replies (I'm not even getting bounces), so just to be sure, I've CC'd everyone on the thread. I'd also recommend the Bello tutorial paper. It's a great overview. Here are some other papers that are worth looking at. One of the more recent approaches that seems to be winning evals uses a long short-term memory (LSTM) recurrent neural net [2,3]. This may be along the lines of what Ross Bencina was talking about: humans do it with reference to their knowledge of previously heard melodic fragments. I've found the multi-band Klapuri approach [6] to be quite effective for detecting notes with strong attack transients. For notes with less pronounced attacks, the method covered in [5] is designed to detect changes in pitch. The method in [5] is also discussed in the tutorial paper [4] (Spectral features using phase), so definitely read that paper. Best, Eric [1] S. Böck, F. Krebs, and M. Schedl, “Evaluating the online capabilities of onset detection methods,” presented at the International Society for Music Information Retrieval Conference, 2012. [2] S. Böck, A. Arzt, F. Krebs, and M. Schedl, “Online realtime onset detection with recurrent neural networks,” presented at the International Conference on Digital Audio Effects (DAFx-12), 2012. [3] F. Eyben, S. Böck, B. Schuller, and A. Graves, “Universal onset detection with bidirectional long-short term memory neural networks,” /Proc. of ISMIR/, 2010. [4] J. Bello, L. Daudet, S. A. Abdallah, C. Duxbury, M. Davies, and M. Sandler, “A tutorial on onset detection in music signals,” /IEEE Transactions on Speech and Audio Processing/, vol. 13, no. 5, p. 1035, 2005. [5] J. Bello, C. Duxbury, M. Davies, and M. Sandler, “On the use of phase and energy for musical onset detection in the complex domain,” /IEEE Signal Processing Letters/, vol. 11, no. 6, pp. 553–556, 2004. [6] A. Klapuri, “Sound onset detection by applying psychoacoustic knowledge,” /ICASSP/, 1999. On Wed, Aug 7, 2013 at 6:56 AM, Ross Bencina rossb-li...@audiomulch.com mailto:rossb-li...@audiomulch.com wrote: On 7/08/2013 12:23 PM, charles morrow wrote: Please explain your reference Roberts transcription notes for me. Robert expressed the following requirement: On 6/08/2013 6:01 AM, robert bristow-johnson wrote: the big problem i am dealing with is people singing or humming and changing notes. i really want to encode those pitch changes as new notes rather than as a continuation of the previous note (perhaps adjusted with MIDI pitch bend messages). My thought was that this kind of top down parsing requires some kind of musical knowledge that is not intrinsic to the signal. I.e. I don't think any kind of signal novelty function is going to tell you how to segment features at the note level of abstraction. I rather suspect that humans do it with reference to their knowledge of previously heard melodic fragments. Ross. -- dupswapdrop -- the music-dsp mailing list and website: subscription info, FAQ, source code archive, list archive, book reviews, dsp links http://music.columbia.edu/cmc/__music-dsp http://music.columbia.edu/cmc/music-dsp http://music.columbia.edu/__mailman/listinfo/music-dsp http://music.columbia.edu/mailman/listinfo/music-dsp -- ... http://artbots.org .douglas.irving http://dorkbot.org .. http://music.columbia.edu/cmc/music-dsp ...repetto. http://music.columbia.edu/organism ... http://music.columbia.edu/~douglas -- dupswapdrop -- the music-dsp mailing list and website: subscription info, FAQ, source code archive, list archive, book reviews, dsp links http://music.columbia.edu/cmc/music-dsp http://music.columbia.edu/mailman/listinfo/music-dsp
Re: [music-dsp] note onset detection
On 7/08/2013 2:38 AM, Theo Verelst wrote: I suppose in EE terms, if you know something about the waves you're trying to detect Strikes me that we are talking about perceptual note onset, not something you could define /easily/ in EE terms. You would need a definition of note onset that somehow includes segmenting a hummed glide transition from one pitch to another according to Robert's transcription rules. Ross. -- dupswapdrop -- the music-dsp mailing list and website: subscription info, FAQ, source code archive, list archive, book reviews, dsp links http://music.columbia.edu/cmc/music-dsp http://music.columbia.edu/mailman/listinfo/music-dsp
Re: [music-dsp] note onset detection
Ross Please explain your reference Roberts transcription notes for me. In my ignorance, I am imagining this is a joke on Roberts Rules of Order or a real reference to someone like Willow Roberts Powers charlie On Aug 6, 2013, at 8:12 PM, Ross Bencina rossb-li...@audiomulch.com wrote: On 7/08/2013 2:38 AM, Theo Verelst wrote: I suppose in EE terms, if you know something about the waves you're trying to detect Strikes me that we are talking about perceptual note onset, not something you could define /easily/ in EE terms. You would need a definition of note onset that somehow includes segmenting a hummed glide transition from one pitch to another according to Robert's transcription rules. Ross. -- dupswapdrop -- the music-dsp mailing list and website: subscription info, FAQ, source code archive, list archive, book reviews, dsp links http://music.columbia.edu/cmc/music-dsp http://music.columbia.edu/mailman/listinfo/music-dsp -- dupswapdrop -- the music-dsp mailing list and website: subscription info, FAQ, source code archive, list archive, book reviews, dsp links http://music.columbia.edu/cmc/music-dsp http://music.columbia.edu/mailman/listinfo/music-dsp
Re: [music-dsp] note onset detection
On 8/6/13 7:23 PM, charles morrow wrote: Ross Please explain your reference Roberts transcription notes for me. In my ignorance, I am imagining this is a joke on Roberts Rules of Order or a real reference to someone like Willow Roberts Powers oh jeepers. -- r b-j r...@audioimagination.com Imagination is more important than knowledge. -- dupswapdrop -- the music-dsp mailing list and website: subscription info, FAQ, source code archive, list archive, book reviews, dsp links http://music.columbia.edu/cmc/music-dsp http://music.columbia.edu/mailman/listinfo/music-dsp
Re: [music-dsp] note onset detection
Hey Robert, an excellent introduction to onset detection can be found in this paper by Bello et al. @ARTICLE{bello05, TITLE = {{A Tutorial on Onset Detection in Music Signals}}, AUTHOR = { {Juan Pablo} Bello and Laurent Daudet and Samer Abdallah and Chris Duxbury and Mike Davies and {Mark B} Sandler}, EDITOR = {}, YEAR = {2005}, VOLUME = {13}, NUMBER = {5 Part 2}, PAGES = {1035--1047}, JOURNAL = {Transactions on Speech and Audio Processing}, ORGANISATION = {Institute of Electrical and Electronics Engineers (IEEE)}, PUBLISHER = {Institute of Electrical and Electronics Engineers (IEEE)}, doi = {10.1109/TSA.2005.851998}, } I uploaded some simple Matlab code for novelty function computation here: http://www.audiocontentanalysis.org/code/rhythm/novelty-function-computation/ Note that this code is only intended to showcase algorithmic principles – it is not suited to be used without parameter optimization and additional algorithmic tuning. But perhaps it can be of help... Cheers, (a) On 2013-08-05 19:50, robert bristow-johnson wrote: would anyone be interested in pointing me in a good direction regarding note onset detection? i have the MIRtoolbox from Oliver Lartillot which looks quite current. still digging into it to see what the kernel is. various papers mention a novelty function which makes use of a similarity matrix. i see references to a paper by Foote, Cooper, Nam: Audio Retrieval by Rhythmic Similarity. i got that paper but it didn't define the similarity metric. and it looks expensive to be calculating the similarity of each little snippet of audio against *every* other snippet. especially when all i want is only a better method for note onsets than simply applying thresholds to various envelopes derived from the audio (like amplitude vs. time and the derivative of pitch vs. time). who's working in this? and if you're one of them and free to discuss basic ideas, i'd love to hear it. thanx. -- dr. alexander lerch co-owner, zplane.development http://www.zplane.de founder, sonicAPI.com http://www.sonicAPI.com author, An Introduction to Audio Content Analysis http://www.AudioContentAnalysis.org -- dupswapdrop -- the music-dsp mailing list and website: subscription info, FAQ, source code archive, list archive, book reviews, dsp links http://music.columbia.edu/cmc/music-dsp http://music.columbia.edu/mailman/listinfo/music-dsp
Re: [music-dsp] note onset detection
I have an old onset detector but for drums, you're looking for notes. That's an even better reason to do it in the time domain IMHO. Mine (it can be tested in the Slicex plugin) would probably do the job (I can send you the sources if you want but it's pascal code) unless you also wanna detect overlapping notes with smooth attacks. -Message d'origine- From: robert bristow-johnson Sent: Monday, August 05, 2013 7:50 PM To: music-dsp@music.columbia.edu Subject: [music-dsp] note onset detection would anyone be interested in pointing me in a good direction regarding note onset detection? i have the MIRtoolbox from Oliver Lartillot which looks quite current. still digging into it to see what the kernel is. various papers mention a novelty function which makes use of a similarity matrix. i see references to a paper by Foote, Cooper, Nam: Audio Retrieval by Rhythmic Similarity. i got that paper but it didn't define the similarity metric. and it looks expensive to be calculating the similarity of each little snippet of audio against *every* other snippet. especially when all i want is only a better method for note onsets than simply applying thresholds to various envelopes derived from the audio (like amplitude vs. time and the derivative of pitch vs. time). who's working in this? and if you're one of them and free to discuss basic ideas, i'd love to hear it. thanx. -- r b-j r...@audioimagination.com Imagination is more important than knowledge. -- dupswapdrop -- the music-dsp mailing list and website: subscription info, FAQ, source code archive, list archive, book reviews, dsp links http://music.columbia.edu/cmc/music-dsp http://music.columbia.edu/mailman/listinfo/music-dsp - Aucun virus trouve dans ce message. Analyse effectuee par AVG - www.avg.fr Version: 2012.0.2242 / Base de donnees virale: 3209/6051 - Date: 04/08/2013 -- dupswapdrop -- the music-dsp mailing list and website: subscription info, FAQ, source code archive, list archive, book reviews, dsp links http://music.columbia.edu/cmc/music-dsp http://music.columbia.edu/mailman/listinfo/music-dsp
Re: [music-dsp] note onset detection
On 8/5/13 12:47 PM, Didier Dambrin wrote: I have an old onset detector but for drums, you're looking for notes. drum whacks, i think, should be pretty easy to detect. drum (or cymbal) rolls, maybe not so easy. That's an even better reason to do it in the time domain IMHO. Mine (it can be tested in the Slicex plugin) would probably do the job (I can send you the sources if you want but it's pascal code) unless you also wanna detect overlapping notes with smooth attacks. the big problem i am dealing with is people singing or humming and changing notes. i really want to encode those pitch changes as new notes rather than as a continuation of the previous note (perhaps adjusted with MIDI pitch bend messages). there is not sufficient change in amplitude or even in the timbre (brightness or spectral centroid) or the periodicity measure to get a grip on this. i *am* trying to kludge together something that looks at the tracked pitch output (of my pitch detector), but i need to condition that signal because little blips (bad pitch measurements) trigger spurious NoteOn messages. so just observing pitch changes is not robust enough. -- r b-j r...@audioimagination.com Imagination is more important than knowledge. -- dupswapdrop -- the music-dsp mailing list and website: subscription info, FAQ, source code archive, list archive, book reviews, dsp links http://music.columbia.edu/cmc/music-dsp http://music.columbia.edu/mailman/listinfo/music-dsp
Re: [music-dsp] note onset detection
On 8/5/13 12:31 PM, alexander lerch wrote: Hey Robert, an excellent introduction to onset detection can be found in this paper by Bello et al. @ARTICLE{bello05, TITLE = {{A Tutorial on Onset Detection in Music Signals}}, AUTHOR = { {Juan Pablo} Bello and Laurent Daudet and Samer Abdallah and Chris Duxbury and Mike Davies and {Mark B} Sandler}, EDITOR = {}, YEAR = {2005}, VOLUME = {13}, NUMBER = {5 Part 2}, PAGES = {1035--1047}, JOURNAL = {Transactions on Speech and Audio Processing}, ORGANISATION = {Institute of Electrical and Electronics Engineers (IEEE)}, PUBLISHER = {Institute of Electrical and Electronics Engineers (IEEE)}, doi = {10.1109/TSA.2005.851998}, } got that (or a version of it that IEEE hasn't constructed a paywall in front of). been reading it. got a few other papers, too. I uploaded some simple Matlab code for novelty function computation here: http://www.audiocontentanalysis.org/code/rhythm/novelty-function-computation/ Note that this code is only intended to showcase algorithmic principles – it is not suited to be used without parameter optimization and additional algorithmic tuning. But perhaps it can be of help... it seems to need something critical to be defined: hNoveltyFunc(X, f_s) i wonder how hNoveltyFunc is defined? -- r b-j r...@audioimagination.com Imagination is more important than knowledge. -- dupswapdrop -- the music-dsp mailing list and website: subscription info, FAQ, source code archive, list archive, book reviews, dsp links http://music.columbia.edu/cmc/music-dsp http://music.columbia.edu/mailman/listinfo/music-dsp
Re: [music-dsp] note onset detection
On 2013-08-05 22:01, robert bristow-johnson wrote: it seems to need something critical to be defined: hNoveltyFunc(X, f_s) i wonder how hNoveltyFunc is defined? You can find the function definitions either through the code menu on the site or you can directly download the zip archive from the side bar. Cheers, (a) -- dr. alexander lerch co-owner, zplane.development http://www.zplane.de founder, sonicAPI.com http://www.sonicAPI.com author, An Introduction to Audio Content Analysis http://www.AudioContentAnalysis.org -- dupswapdrop -- the music-dsp mailing list and website: subscription info, FAQ, source code archive, list archive, book reviews, dsp links http://music.columbia.edu/cmc/music-dsp http://music.columbia.edu/mailman/listinfo/music-dsp
Re: [music-dsp] note onset detection
literally novelty is something going on now that wasn't before - see now perfectly that matches the idea of note onsets. ideally a complete onset detector shall test that 1) a note exists at t1 and 2) it hadn't existed at t0 to signal a positive between t0 and t1. for some reason most of today's onset detectors don't work that way, but merely look for signs suggestive of onsets with novelty functions. they can still be very useful, but it's good to remember they haven't truly finished the job yet. say you push a humming voice through a pitch estimator: a change in the pitch estimate is merely *suggesting* an onset. to confirm it you still need to see the note (is and wasn't) there. -Original Message- From: robert bristow-johnson Sent: Monday, August 05, 2013 9:01 PM To: music-dsp@music.columbia.edu Subject: Re: [music-dsp] note onset detection it seems to need something critical to be defined: hNoveltyFunc(X, f_s) i wonder how hNoveltyFunc is defined? -- r b-j r...@audioimagination.com Imagination is more important than knowledge. -- dupswapdrop -- the music-dsp mailing list and website: subscription info, FAQ, source code archive, list archive, book reviews, dsp links http://music.columbia.edu/cmc/music-dsp http://music.columbia.edu/mailman/listinfo/music-dsp