Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lukemcraig/AudioSearch
Python implementation of the "Shazam" algorithm
https://github.com/lukemcraig/AudioSearch
algorithms audio-analysis
Last synced: 15 days ago
JSON representation
Python implementation of the "Shazam" algorithm
- Host: GitHub
- URL: https://github.com/lukemcraig/AudioSearch
- Owner: lukemcraig
- Created: 2018-11-26T05:41:46.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2019-04-21T02:17:48.000Z (over 5 years ago)
- Last Synced: 2024-08-01T06:22:32.291Z (3 months ago)
- Topics: algorithms, audio-analysis
- Language: Python
- Homepage: https://github.com/lukemcraig/AudioSearch
- Size: 6.9 MB
- Stars: 48
- Watchers: 4
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-sources - AudioSearch - Strength Audio Search Algorithm](https://www.ee.columbia.edu/~dpwe/papers/Wang03-shazam.pdf)" (Audio ##)
README
# AudioSearch
Python implementation of "[An Industrial-Strength Audio Search Algorithm](https://www.ee.columbia.edu/~dpwe/papers/Wang03-shazam.pdf)"Created for my [term paper](https://github.com/lukemcraig/AudioSearch/blob/master/craiglm_TermPaper_CS5100_Fall_2018.pdf) in CS 5110 - Design and Analysis of Algorithms, Fall 2018.
> One of the things I look for most in a term paper is its simplicity in explaining complex ideas. This year, the Best Term Paper Award goes to Luke Craig for his paper titled "Robust Audio Fingerprinting Using Combinatorial Hashing and Temporal Offsets". Many congratulations to him.
>
> -- Dr. Raghuveer Mohan-------
Some neat figures in my paper:![figure 7-2](https://github.com/lukemcraig/AudioSearch/blob/master/figures/max%20filter.png)
![figure 6-2](https://github.com/lukemcraig/AudioSearch/blob/master/figures/target%20zone.png)
![figure 8-3](https://github.com/lukemcraig/AudioSearch/blob/master/figures/pub%20noise.png)------
## Usage:positional arguments:
* d the root directory of the library of mp3s to insert or testoptional arguments:
* --insert to insert into the database instead of testing
* --plot whether to plot the algorithm
* -processes p the number of processes to use during insertion
* -noise n noise type (White or Pub)Dependencies:
* numpy
* scipy
* pandas
* matplotlib (only for plotting)
* librosa (only for loading audio)
* mutagen (for parsing mp3 metadata)
* pymongo (only if MongoDB is used for the database)A conda environment with these packages can be built automatically from **audiosearchminenv.yml**
`conda env create -f audiosearchminenv.yml`