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.rbThe output will guess the key of the song.
@song = SongTempo.new '../demo_files/01 - Opening Sequence - Outside (Raining).mp3'
@song.tempo
@song.tempo_floatThis 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)