- Zachary Taglia ([email protected])
- Yuchen Huang ([email protected])
When we hear our favorite song, our brains recognize it instantly. When soundwaves graze our eardrums, they fire off several neurons that allow us to instantly recognize the collection of frequencies being produced. For a music recognition algorithm like Shazam, it’s a much different scenario: Our job will be to apply machine learning techniques, Fourier Transforms, and Hashing to help our algorithm distinguish between your favorite songs!
- Learn the basics of Python and Matplotlib
- Understand the intuition behind the Shazam algorithm
- Learn about and implement Fourier transforms and hash functions
- Build our own Shazam clone algorithms using machine learning techniques
- HAVE FUN!!!
- Introduction for the project
- Ice breaker
- Basic python and concepts
- Explore dataset
- Convert mp3 files to .wav files
- Make visualizations with the dataset (matplotlib)
- Introduce Fourier transform
- Intuition behind music recognition algorithms
- Fourier transform review
- Intro to constellation mapping
- Hash functions
- Begin training our model!
- Testing and optimizations
- Optimization
- Optimization
- Show off what we've made!
- Install packages:
$ brew install ffmpeg sqlite3 librosa
- Clone this repo
- Make a workspace in VS Code
- Create a virtual environment within the workspace folder:
$ python3 -m venv env
- Activate your virtual environment:
$ source env/bin/activate
- Install the required dependencies:
$ pip3 install -r requirements.txt
- Type the following command into your IDE:
$ sqlite3 songs.sqlite3
- Copy/paste the code from sql/schema.sql corresponding to the songs table and hit enter
- Do the same for "hashes"
- Type and enter ".exit"
- Start loading songs into your newly-created SQL database!