Hannah Fowler, Kai Levy, Hieu Nguyen, Wilson Tang
Software Design 02
Project Proposal
The Big Idea
We are investigating automated music analysis with our project. We will attempt to analyze traits of song (tempo, timbre, chords, pitch) and note similarities to other songs in a library. Our minimum viable product will be to generate quantitative analysis of the various traits, while we will aim to have a DJ that would generate playlists based off of a starting song, with continuous and minimally intrusive fading. And as a further stretch, being able to mashup songs would be pretty sweet.
Learning Goals
- Learn about various libraries for music analysis
- Work well as a software development team
- Use github well
- Good code stuff
- Discover ourselves
Implementation Plan
Do research into music analysis libraries for python-- one that Paul noted was called ‘librosa’, but there may be other useful libraries. Learn how to use them and do it.
Project Schedule
Split up into mini-deliverables that are timeboxed into 2 weeks.
Mini-deliverable 1: Research and Testing (mainly complete minimum viable product)
Mar 23 - Apr 6
Wilson gone Mar 23-30
Hannah gone Apr 1-4
Mini-deliverable 2: Definitely complete minimum viable product by end of this timeframe
Apr 6 - 20
Kai gone Apr 7-13
Mini-deliverable 3: Time for exploration + reach goal
Apr 20 - 30
Collaboration Plan
Split tasks and continuously integrate
Pair program when integrating individual works
Risks
Learning a library (dependent on finding a suitable library)
Team members’ absences
Successful music analysis
Getting the mix to sound good/natural like in real life
Additional Course Content
Team Github organization (branching, merging etiquette)
Modular programming: how to split code into different folders/files