Mscanalysis is a set of tools for determining characteristics of Audio and returning them to a user in a meaningful way.
Essentia tools are now bundled in the bin directory. You may need to install the following to function properly:
Copy the essentia files in bin to /usr/local/bin/ to ensure they get picked up properly.
sudo apt-get install build-essential libyaml-dev libfftw3-dev libavcodec-dev libavformat-dev libavutil-dev libavresample-dev python-dev libsamplerate0-dev libtag1-dev libchromaprint-dev python-six
And make sure FFMPEG is installed too.
Run bundle to install necessary dependencies.
bundle install
Currently in dev
rake db:migrate
Run the server
rerun 'ruby -Ilib application.rb'
After you have spun up the server, you can visit http://localhost:4567/upload
and upload an audio file.
To view all analyzed files go to http://localhost:4567/songs
No full proper views yet.
Make a request to the current song key endpoint
curl -v -F "data=@demo_files/02 - Antikue - Into Jomsom.wav" http://localhost:4567/song_key
Open get_song_key.rb
Change @file to your chosen filename
Run:
ruby get_song_key.rb
The output will guess the key of the song.
@song = SongTempo.new '../demo_files/01 - Opening Sequence - Outside (Raining).mp3'
@song.tempo
@song.tempo_float
This will output the tempo of the song.
Aubio
Currently undergoing heavy development.
This software relies on the awesome Essentia software. All binaries that are needed canbe found in the /bin/ folder along with a copy of the license for Essentia's work.
You are only required to install the standard Aubio binary to use these scripts, you may obtain it and the source code from: Github
Going back to square one as Essentia can help with pretty much all of these.
Using Aubio
Possibility to use MiniBPM (https://bitbucket.org/breakfastquay/minibpm)