Basically we're trying o build a real-time embedded system which will perform beat-tracking from music signals. However, raspberry-pi is not allowing use of NNs since allowed time-lag is only around 17ms but processing takes way longer than that...
It is pretty much possible to achive the realtime beat detection using emmbedded system. the only thing here is the machine processing power needs to be pretty high to bear the load of a NN under 17ms. and the NN needs to be very light on processing.
Normally NN is not designed to achieve real time. but we can tweak a NN to work under 17 ms. for your appliction of beat detection, which i believe is pretty much detcting a sound pattern from a sound track, a simple softmax function based NN should do the job (provided the NN training is good). This will give you the freedom to create NN using some basic c/c++ class files. If u dive deep into the softmax function based NN, they uses a lot of Matrix operation. This is a hint for using parallel programming to boost the performance, because matrix operations has high chances of parallalizing (depending on your operations). Do take care to use a good dataset to training the NN.
On hardware side, ditch the raspberry pi or any kind of board with GUI, this will eat away most of the processing power. One needs to get down to the old black and white screen for embedded apps on single board computers (Like raspberry pi).
Look for octacore based single board computers (RADXA, CubieBoard 4, ARMStoneA9, Banana Pi M3) with 8 GB RAM, and support for SATA drive. these hardwares can really pump out some serious computation.
if really serious then try to get your hands one of these (not so costly !):
THis is usually done with much simpler algorithms that use bandpass filters or FFTs to isolate frequencies of interest then simple peak-detection heuristics and perhaps Kalman filters for tracking.
As Andrew Wolfe pointed out, this has been achieved for decades with simple band-pass filters or FFTs.
Considering you are requiring less than 17ms response time, I would suggest sticking with those techniques as anything else will require unnecessarily powerful CPU.
If CPU power is not your concern then something like https://www.researchgate.net/publication/254583990_HarmonicPercussive_Separation_using_Median_Filtering?ev=prf_pub might help.
Article Harmonic/Percussive Separation using Median Filtering
Actually BP filters or FFT based algos are very trivial and don't work well on music excerpts with varying tempo..also we're trying to track beats or rhythm not only harmonic/percussive separation...thanks though...@Andrew Wolfe and @Jean-Michel Rubillon
You might try looking into the research of Henkjan Honing and Peter Desain, e.g. http://quod.lib.umich.edu/i/icmc/bbp2372.1995.052/4/--real-time-beat-tracking-system-for-audio-signals?page=root;size=175;view=text or https://www.researchgate.net/profile/Henkjan_Honing/citations?sorting=citationCount&page=3 Also, you will find plenty of research in the proceedings of the International Computer Music Association conferences. There is other research too, I just can't recall it now, but the ICMA will probably have it, for example Roger Dannenberg's research on music organised around beats, and other beat-detection systems.