I have seen a nice feature of Audacity software: it's "beat finder", you can try from analysis tab, it is not perfect and maybe a little trivial, but looks to work rather well and I think it could be someway integrated to make Mixxx beat pattern manage to be synchronized with the first beat of a track.
In Audacity user can set threshold parameter and select a part of audio file to be analyzed; here in Mixxx i think that it would be enough to analyze the first 10-20 s of the track.
Here is the source code of beat finder written in Nyquist language: do someone know it and would be interested to convert in C++ and integrate into bpm and pattern algorhitms?
;nyquist plug-in
;version 1
;type analyze
;categories "http://audacityteam.org/namespace#OnsetDetector"
;name "Beat Finder..."
;action "Finding beats..."
;info "Released under terms of the GNU General Public License version 2"
;control thresval "Threshold Percentage" int "" 65 5 100
(setf s1 (if (arrayp s) (snd-add (aref s 0) (aref s 1)) s))
(defun signal () (force-srate 1000 (lp (snd-follow (lp s1 50) 0.001 0.01 0.1 512) 10)))
(setq max (peak (signal) NY:ALL))
(setq thres (* (/ thresval 100.0) max))
(setq s2 (signal))
(do ((c 0.0) (l NIL) (p T) (v (snd-fetch s2))) ((not v) l)
(if (and p (> v thres)) (setq l (cons (list c "B") l)))
(setq p (< v thres))
(setq c (+ c 0.001))
(setq v (snd-fetch s2)))
; arch-tag: 2204686b-2dcc-4891-964a-2749ac30661b
----------------------------------------------------------------------------
Vuoi essere presente online?
Vuoi dare voce alla tua attivita`?
Acquista un dominio su domini.interfree.it.
A partire da 18,59 euro
----------------------------------------------------------------------------
------------------------------------------------------------------------------ Check out the new SourceForge.net Marketplace. It is the best place to buy or sell services for just about anything Open Source. http://p.sf.net/sfu/Xq1LFB
_______________________________________________ Mixxx-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mixxx-devel
