Home Git

Getting Started

Lyceum519

Prerequite

jupyter

python3

anaconda(option)

1. Crawling data set

clone crawler repository
git clone https://github.com/Lyceum519/Crawler
install scrapy
pip install Scrapy
name of spider && domain
Run Crawler
scrapy crawl drumcrawl
Before running crawler check your path if you want save in some specific folder you should run command inside folder like '/drumData'

2. Clone repository

cloning main python repository
git clone https://github.com/Lyceum519/MusicAnalyzer.git

3. Normalize data set

run jupyter. we use anaconda to launch jupyter easily if you do not use anaconda just run jupyter
enter to path that you clone Musicanlyzer repo and you can see '.ipynb' file in jupter folder
run compressionMp3.ipynb it will compress data set of kick wich you crawled and generate average.wav. you will use average.wav to compare at next stage.
running result like this

4. Compare your mp3

you can set audio_path which you want to compare
audio_path = "../audio/Hip-hop-drum-beat-116-bpm.wav"
audio_path2 = "../audio/compressed/average.wav"
you can also change threshold if it is bigger program compare more generoulsy
# threshold change depend on condtion
threshold = 0.02
on jupyer run cmpAverage.ipynb and result like this. it show expected point(second)s array

Server setting

version info

scala - 2.12.2
play framework - 2.6.3
jquery - 3.2.1
bootstrap - 4.0.0-beta
moment - 2.8.4
vis - 4.20.1

1. Install sbt

command depends on your OS in my case Mac
brew install sbt

2. Run sbt

at the first running it takes time around 30~60min depends on your environment
cd {yourPath}/MusicAnalyzer/server
run sbt

3. Run python server

your python version should more than 3. we suggest 3.5 or you can run python with anaconda virtual env
in progress you may need some python package you can install with command 'pip install {pkagename}
cd {yourPath}/MusicAnalyzer/module_suerver
python server.py

4. Test localhost

you can test comparing mp3 on localhost enter url like this.
localhost:9000
choose mp3 what you want to compare and send request to python server. and after getting result it shows graph with y means time of drum(kick)

bug reporting && contribute contact to Lyceum519 !