Question

So I've been googling and browsing stack overflow and have been unable to find anything that meets my specifications for an audio editing library. I do not need to work on live streams, just pre-existing files. The key things I'm looking for:

  • BPM Detection (this is the one that seems most rare)
  • Change playback speed without affecting pitch
  • Add two files together and save as mp3
  • Change volume

Anyone know of a library that performs all of these? I really don't care what language it's in, but C/C++, C#, or Java would probably be best.

Thanks in advance.

Was it helpful?

Solution

There is no single library that will do all this that I'm aware of, although possibly JUCE or BASS has added these features, so you should check those out in addition to my suggestions below.

Aubio is probably your best bet for bpm detection. The most popular open-source library for modifying pitch and tempo independently is probably SoundTouch, but if you need something high quality, you are probably going to want to license something commercial.

The last two requirements are trivial. Noone supplies libraries to do these kinds of tasks beyond reading and writing the audio data from files. For that purpose, look at libsndfile, lame and ffmpeg.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top