{"id":17258109,"url":"https://github.com/albincorreya/chromacoverid","last_synced_at":"2025-08-23T02:36:10.627Z","repository":{"id":101071449,"uuid":"109407350","full_name":"albincorreya/ChromaCoverId","owner":"albincorreya","description":"Methods to compute various chroma audio features and audio similarity measures particularly for the task of cover song identification","archived":false,"fork":false,"pushed_at":"2020-02-07T15:11:23.000Z","size":13935,"stargazers_count":25,"open_issues_count":0,"forks_count":10,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-14T06:09:09.347Z","etag":null,"topics":["audio-processing","audio-similarity-measures","chroma","cover-song-detection","cover-song-identification","essentia","librosa","music-information-retrieval"],"latest_commit_sha":null,"homepage":"","language":"Jupyter Notebook","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/albincorreya.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}},"created_at":"2017-11-03T14:48:16.000Z","updated_at":"2024-11-20T17:57:23.000Z","dependencies_parsed_at":null,"dependency_job_id":"68b0045a-e4a7-418f-9b41-74e9b9a9513f","html_url":"https://github.com/albincorreya/ChromaCoverId","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/albincorreya%2FChromaCoverId","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/albincorreya%2FChromaCoverId/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/albincorreya%2FChromaCoverId/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/albincorreya%2FChromaCoverId/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/albincorreya","download_url":"https://codeload.github.com/albincorreya/ChromaCoverId/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248830395,"owners_count":21168272,"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":["audio-processing","audio-similarity-measures","chroma","cover-song-detection","cover-song-identification","essentia","librosa","music-information-retrieval"],"created_at":"2024-10-15T07:19:35.232Z","updated_at":"2025-04-14T06:09:13.064Z","avatar_url":"https://github.com/albincorreya.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ChromaCoverID\n\nSet of functions and methods to compute various chroma and audio similarity measures particularly for the task of cover song identification.\n\n\nFor the moment it includes the python implementation of QMAX, DMAX cover song similarity measures as mentioned in the following papers.\n\n* Serra, J., Serra, X., \u0026 Andrzejak, R. G. (2009). Cross recurrence quantification for cover song identification. New Journal of Physics.\n\n* Chen, N., Li, W., \u0026 Xiao, H. (2017). Fusing similarity functions for cover song identification. Multimedia Tools and Applications.\n\n\n[PS: This implementation is purely for research purposes]\n\n\n## Setup\n\nInstall python dependencies using pip\n\n```bash\n$ pip install -r requirements.txt\n```\n\n## Usage examples\n\nFor more detailed examples have a look on the ipython [notebook](examples.ipynb)\n\n* For feature extraction using [chroma_features.py]\n\n```python\nfrom chroma_features import ChromaFeatures\n\naudio_path = \"./test_audio.wav\"\n\n#Initiate the chroma class\nchroma = ChromaFeatures(audio_file=audio_path, mono=True, sample_rate=44100)\n\n# Now you can compute various chroma features and ther plots using the various methods of object chroma\nchroma.chroma_stft()\nchroma.chroma_cqt()\n\n#You can specify custom params\nchroma.chroma_hpcp(hopSize=2048, numBins=24)\nchroma.chroma_cens(hopSize=1024)\n\n```\n\n* Computing cover song similarity measures (qmax and dmax)\n\n```python\nfrom chroma_features import ChromaFeatures\nimport cover_similarity_measures as sims\n\nchroma1 = ChromaFeatures('\u003cpath_to_query_audio_file\u003e')\nchroma2 = ChromaFeatures('\u003cpath_to_reference_audio_file\u003e')\nhpcp1 = chroma1.chroma_hpcp()\nhpcp2 = chroma2.chroma_hpcp()\n\n#similarity matrix\ncross_recurrent_plot = sims.cross_recurrent_plot(hpcp1, hpcp2)\n\n#cover song similarity distance\nqmax, cost_matrix = sims.qmax_measure(cross_recurrent_plot)\ndmax, cost_matrix = sims.dmax_measure(cross_recurrent_plot)\n```\n\n## Contribute\n\nIt would be great if we can compile all the related cover song similarity measures from\nother papers together in this repo. Let me know if you have any suggestions.\n\n* Fork the repo\n* Submit a pull request\n\n## Acknowledgements\n\nThanks to Romain Hennequin for helping in the implementation and Ning Chen for the matlab code for dmax measure.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falbincorreya%2Fchromacoverid","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falbincorreya%2Fchromacoverid","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falbincorreya%2Fchromacoverid/lists"}