Beat detection

De wikijoan
Salta a la navegació Salta a la cerca

Introducció

Arrel d'un mail a la LAU (maig 2010), hi ha la possibilitat de detectar el ritme i la pulsació en les cançons

[LAU] Q: HOWTO: extract the beat times from an audio track
FreeCycle: Plastic surgery for your audio... :-) 
http://freecycle.redsteamrecords.com/

Its a program that does all sorts of funky DSP analysis, and then spits out 
.wav's for each "chunk" of beat. 
Its even kind enough to also export a MIDI file that will play back that 
same loop if you load the samples to 
the right pads.. ;-) 

There's sonanalyse,I don't have the URL ready. It's a commandline tool. I 
can't really remember, if it acutally splits the song into regions. 
You might be able to use something like Papagayo: 

http://www.lostmarble.com/papagayo/index.shtml 

It doesn't determine beats per se, but is a tool for creating synchs 
for animation (usually dialog, but you could use it for this also). 
-- Brett
you could try to import your audio into ardour and apply the rhythm ferret to it. It is supposed to do more or less what you're after
likely even more than one :) 

Ardour has the "Rhythm Ferret" (Menu -> Window -> Rhythm Ferret) which 
can split a track into pieces on Note or Percussive onset. 

There's also an option to set the tempo-map (instead of splitting the 
track) but I never go this to work.. AFAIK the RF is still work in progress. 

To 'spit out' the times: I dunno if ardour can do that these days. But 
you can always save the ardour session and extract the start-time of 
each region with something alike this: 

cat /path/to/session.ardour \ 
| grep "<Region " \ 
| grep "Audio 1" \ 
| sed 's/^.* start="\([0-9]*\)".*$/\1/' \ 
| awk '//{print $0/44100.0;}' \ 
| awk '//{printf "%02i:%02i:%02i:%02i\n", \ 
          $0/3600, ($0/60)%60, $0%60, ($0*25)%25;}' 
> /tmp/beattimes.txt 

Replace the 44100.0 with your sample-rate (48000?), 25 with your 
video-fps. and "Audio 1" with the track-name.. In principle this could 
be an awk one-liner; but the above is a bit more readable.. (-; 

robin
Try aubiotrack (part of Aubio, http://aubio.org/), or use the simple 
host included with the Vamp plugin SDK (see http://vamp-plugins.org) 
together with a suitable analysis plugin 
(http://vamp-plugins.org/download.html).

Note that Ardour's Rhythm Ferret also uses Vamp plugins internally, 
and they can be used in Audacity too. 

Chris 

(TBD), provar tot això


creat per Joan Quintana Compte, febrer 2011