aubio
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: aubio beattracking
- To: Alex Norman <alex@neisis.net>
- Subject: Re: aubio beattracking
- From: Paul Brossier <piem@piem.org>
- Date: Mon, 5 Mar 2007 02:53:31 +0100
- Cc: aubio@piem.org
- In-reply-to: <20070304204918.GB9938@silverninja.net>
- References: <20070304204918.GB9938@silverninja.net>
- User-agent: Mutt/1.5.13 (2006-08-11)
Hello Alex, On Sun, Mar 04, 2007 at 12:49:18PM -0800, Alex Norman wrote: > Hi Paul, > My name is Alex Norman, I am a student in Media Arts and Technology at UC Santa > Barbara. I am checking out aubio for use with my master's thesis project and I > have a couple of questions. > > btw, I tried to sign up to the mailing list, I sent an email to the subscribe > email addr but I haven't received anything back, that was several hours ago. Arg. Your suscription request was wrongly filtered as spam. You are now registered. > First: > Do you have an examples using the aubio_beattracking analysis tools? I see an > example with the aubio_tempo functions, but nothing with aubio_beattracking (and > I'm curious how they compare). > > Ahh, it looks like beattracking is something lower level that tempo uses? Well, yes: aubio_tempo is simply a convenience function to compute the beat locations directly from the audio signal. If you look at what is going on in new_aubio_tempo, you will see that quite a few more objects are required to do that, in addition to the aubio_beattracking algorithm which does the tempo period and phase detection itself. As for examples, examples/aubiotrack.c should do. > Second: > I'm wondering what these functions populate the output buffers with? I see that > for tempo you simply check the first value of the output buffer in the first > channel to see if there is a 1 there, but is there any more data? The function aubio_tempo returns a 1x2 'vector' with the first channel containing 1 when a beat has been found, 0 otherwise, and the second channel containing 1 when an onset has been found, 0 otherwise. > Third: > It looks like you're telling aubio_tempo the hop and buffer size, but then > you're reading in overlap size samples, processing, then repeating.. so, can I > not pass a larger buffer to aubio_tempo and have it do calculations for the > whole buffer [using the hopsize/buffer size given]. No, and that could be a bad idea actually, the day the 'large' buffer becomes 'huge'. Instead, you can either use the existing aubiotrack program, either derive a similar code for you own purposes. > btw, are you actually processing buffer size or hopsize? it looks like you only > read in hop size samples at a time.. and your input buffer is only hopsize long. Every time hopsize samples have been read, the FFT is computed on buffersize samples. The rotation of the buffers happen in the phase vocoder. The beat tracking method is a bit more complex, as there is two levels of blocking, one for the phase-vocoder, one for the beat tracking algorithm. > Anyways, thanks a lot for your work, my initial tests with aubio have gone quite > well. (I've just been using the tempo extractor so far) > > -Alex > Great to know you found it useful! Paul
Attachment:
signature.asc
Description: Digital signature
- Prev by Date: Re: aubio in Intel mac - the output of the PD window
- Next by Date: ext/jackio.c aubio_jack_process
- Previous by thread: Re: documentation aubio
- Next by thread: ext/jackio.c aubio_jack_process
- Index(es):