TuneScope is audio player for learning music by ear. It allows you to slow down an audio file without changing its pitch, so you can follow along more easily on your instrument. You can also transpose it to a different key, adjust the tuning, and loop selections.
- Clone the TuneScope repository:
git clone https://github.com/brsaylor/TuneScope.git
- Install Homebrew
- Install GStreamer (this can take a long time):
brew reinstall --build-from-source gstreamer gst-plugins-{base,good,bad,ugly}
- Install SDL:
brew reinstall --build-from-source sdl2 sdl2_image sdl2_ttf sdl2_mixer
- Install current version of Python 2:
brew install python2
- Create a virtual environment for TuneScope. Recommended method:
- Install virtualenvwrapper:
pip2 install virtualenvwrapper
- Edit (or create) the file ~/.bashrc, adding the following lines:
export VIRTUALENVWRAPPER_PYTHON=/usr/local/bin/python2 export WORKON_HOME=$HOME/.virtualenvs export PROJECT_HOME=$HOME/src source /usr/local/bin/virtualenvwrapper.sh
source ~/.bashrc
cd
path-to-TuneScopemkvirtualenv -a . -p /usr/local/bin/python2 tunescope
- Install virtualenvwrapper:
- Install Python dependencies:
pip install Cython==0.26.1 pip install numpy==1.16.1 pip install -r requirements.txt --no-binary kivy
- Download and build Rubber Band Library:
pushd . mkdir lib cd lib hg clone https://[email protected]/brsaylor/rubberband cd rubberband hg checkout api-get-buffered-input-duration make -f Makefile.osx lib static popd
python setup.py develop
- Run the tests
make test
- Run TuneScope
python tunescope/main.py
Copyright 2017 Benjamin R. Saylor