I was thinking about my turntables that I have and about spinning trance and thought to myself that I don’t have any way to tell what the BPM is of the song, there are mixers that have this built in and I have seen rack mount stand alone units but nothing small and portable. My device would be handheld with stereo jack and rca jacks for input. Knowing that all analog music is just a wave form, why not measure the wave of a specific frequency (e.g. bass) using a band pass, then calculate when the peaks hit and get the BPM.
This seems like a very simple thing to do but wont know till I start putting something together.
parts that I will need:
- Arduino or other ATmega chip
- RCA connections
- Darlington transistor pair (chip or separate transistors)
- a few LEDs
- Resistors asst
- 2x 7 or 8 segment display or serial LCD module
- maybe more parts, odds and ends
This could be made into a kit or a sellable project. Hopefull in Jan I will be able to start putting this together for my proof of concept and show it off….
Just thinking on how would i calculate BPM, so I started with Google….didnt get very many specific code, alot of applications that do it for you but no real source code to extract the equation from so i kept looking, and found this http://www.conradaskland.com/blog/2008/02/how-to-calculate-delay-time-to-tempo-beat/
He explains on how to calculate the delay time between beats
* Delay time for crotchet in ms = 60000/BPM (Beat Per Minute)
* Delay time for Quaver in ms = 60000/BPM/2 (Beat Per Minute)
* Delay time for Semi-Quaver in ms = 60000/BPM/4 (Beat Per Minute)
so I used my Horrible math skills and came up with
BPM= 60K/Delay , then so on and so fourth.
so now the hard part pattern recognition, The tactile Metronome project seems to be the closest on what I want to create there project is here http://wayneandlayne.com/metronome/ , This should give me a good start on my project/