{"id":13449857,"url":"https://github.com/lukemcraig/AudioSearch","last_synced_at":"2025-03-22T23:31:49.426Z","repository":{"id":133265666,"uuid":"159116763","full_name":"lukemcraig/AudioSearch","owner":"lukemcraig","description":"Python implementation of the \"Shazam\" algorithm","archived":false,"fork":false,"pushed_at":"2019-04-21T02:17:48.000Z","size":7234,"stargazers_count":47,"open_issues_count":0,"forks_count":6,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-10-28T16:45:33.200Z","etag":null,"topics":["algorithms","audio-analysis"],"latest_commit_sha":null,"homepage":"https://github.com/lukemcraig/AudioSearch","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lukemcraig.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-11-26T05:41:46.000Z","updated_at":"2024-08-22T09:20:40.000Z","dependencies_parsed_at":"2023-04-28T09:05:17.136Z","dependency_job_id":null,"html_url":"https://github.com/lukemcraig/AudioSearch","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lukemcraig%2FAudioSearch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lukemcraig%2FAudioSearch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lukemcraig%2FAudioSearch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lukemcraig%2FAudioSearch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lukemcraig","download_url":"https://codeload.github.com/lukemcraig/AudioSearch/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245036111,"owners_count":20550661,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["algorithms","audio-analysis"],"created_at":"2024-07-31T06:00:59.998Z","updated_at":"2025-03-22T23:31:48.744Z","avatar_url":"https://github.com/lukemcraig.png","language":"Python","funding_links":[],"categories":["Audio ##"],"sub_categories":[],"readme":"# AudioSearch\nPython implementation of \"[An Industrial-Strength Audio Search Algorithm](https://www.ee.columbia.edu/~dpwe/papers/Wang03-shazam.pdf)\"\n\nCreated 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.\n\u003e  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.\n\u003e \n\u003e -- Dr. Raghuveer Mohan\n\n-------\nSome neat figures in my paper:\n\n![figure 7-2](https://github.com/lukemcraig/AudioSearch/blob/master/figures/max%20filter.png)\n![figure 6-2](https://github.com/lukemcraig/AudioSearch/blob/master/figures/target%20zone.png)\n![figure 8-3](https://github.com/lukemcraig/AudioSearch/blob/master/figures/pub%20noise.png)\n\n\n\n\n\n------\n## Usage:\n\npositional arguments:\n* d             the root directory of the library of mp3s to insert or test\n\noptional arguments:\n*  --insert      to insert into the database instead of testing\n*  --plot        whether to plot the algorithm\n* -processes p  the number of processes to use during insertion\n*  -noise n      noise type (White or Pub)\n\n\nDependencies:\n* numpy\n* scipy\n* pandas\n* matplotlib (only for plotting)\n* librosa (only for loading audio)\n* mutagen (for parsing mp3 metadata)\n* pymongo (only if MongoDB is used for the database)\n\nA conda environment with these packages can be built automatically from **audiosearchminenv.yml**\n\n`conda env create -f audiosearchminenv.yml`\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flukemcraig%2FAudioSearch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flukemcraig%2FAudioSearch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flukemcraig%2FAudioSearch/lists"}