CSE 481I: Sound Design capstone project for Josh Bean, Jeremy Cruz and Gerard Gaimari
Before everything can work together you need to download the source code for Audacity and install it with mod-script-pipe
enabled. There are instructions for downloading the source code and installing it here. There is also some information about enabling mod-script-pipe
here. In order to get it to run on Windows we had to build and run from Visual Studio. For some reason running Audacity from the executable file wouldn't allow mod-script-pipe
to work even though it was enabled.
Also since we are using Spotify you need to add a config.py
file to the mixlist/analyzer/analyzer
folder before pip install .
. This config file should contain two variables:
CLIENT_ID = <your client id>
CLIENT_SECRET = <your client secret>
main.py
runs the GUI for MixList. By default it will create a cache in the folder you are running it from calledmixlist_cache
. There it will store all the serialized analyses for files that it has analyzed.pipe_test.py
is called frommain.py
to test the connection to Audacity. For some reason, after mixing one song and pressingTest Audacity
it doesn't work correctly although you can still mix.
analyzer
contains the code for the analyzer portion of MixList and also defines some of the data structures used throughout the pipeline- NOTE: Before running you'll need to
cd analyzer/
and runpip install .
, theanalyzer
uses a lot of third party libraries so it's best that we put those dependencies insetup.py
. There were a number of issues configuring theeyed3
module however we reverted the version to be installed to not import thepython-magic
library which was causing issues.
- NOTE: Before running you'll need to
composer
contains the code for the MixList composer.composer_scripts
was a folder containing some of the test scripts we used when developing the composer.keyfinder
contains code for a keyfinding algorithm. It's a fairly simple module since it can just use the LibROSA command for getting the constant q transform of an audio file which otherwise would be a fair amount of code. We didn't end up integrating this into our platform because the results weren't great.optimizer
contains the code for MixList optimization.proposal
contains the writeup of our proposal and a script to compile it withpandoc
scripts
contains some scripts that we used during the development process