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.pyruns 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.pyis called frommain.pyto test the connection to Audacity. For some reason, after mixing one song and pressingTest Audacityit doesn't work correctly although you can still mix.
analyzercontains 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 ., theanalyzeruses a lot of third party libraries so it's best that we put those dependencies insetup.py. There were a number of issues configuring theeyed3module however we reverted the version to be installed to not import thepython-magiclibrary which was causing issues.
- NOTE: Before running you'll need to
composercontains the code for the MixList composer.composer_scriptswas a folder containing some of the test scripts we used when developing the composer.keyfindercontains 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.optimizercontains the code for MixList optimization.proposalcontains the writeup of our proposal and a script to compile it withpandocscriptscontains some scripts that we used during the development process