11

I'm working on a project which requires me to add beat detection when a song is playing in the application (WinForms - C#).

I'm currently using NAudio.NET for playing the song & displaying details about the song.

Is there a library that would allow me to do this or some way to detecting this manually? I'm not expecting a finished solution but pointers in the right direction. Ideally I would like this to be a real-time detection but it is not essential.

M.Babcock
  • 18,753
  • 6
  • 54
  • 84
MisdartedPenguin
  • 258
  • 1
  • 2
  • 12

3 Answers3

3

This question has already been asked; check out this StackOverflow thread. Some of the answers include explicit beat detection algorithms and links.

Community
  • 1
  • 1
GGulati
  • 1,027
  • 6
  • 11
2

You can use this BPM Detection Library

Besides BPM calculation it also allows you to get every beat, so you could for example adjust your visualisation, if that is the case.

Aram
  • 361
  • 3
  • 10
  • 3
    This library is great but I am unable to get hold of the developer to discuss licensing (Comes with a horrible popup in the .dll at runtime). So not helpful at the moment – MisdartedPenguin Jan 09 '12 at 00:24
0

I've used FMOD to do exactly what you're doing. They don't have annoying popups. You can check out this link to a GitHub project that uses it in c#. Fmod licensing is a little odd, based on what the program's budget is. If your budget is under 500k, you can use it for free, but are supposed to display their logo somewhere, either in a splash screen or credits screen.

John Lord
  • 1,941
  • 12
  • 27