{"id":15908562,"url":"https://github.com/capjamesg/vinyl-record-indexing","last_synced_at":"2025-03-22T03:31:32.274Z","repository":{"id":228057106,"uuid":"773046677","full_name":"capjamesg/vinyl-record-indexing","owner":"capjamesg","description":"A system for indexing vinyl records.","archived":false,"fork":false,"pushed_at":"2024-03-16T16:31:29.000Z","size":15,"stargazers_count":30,"open_issues_count":0,"forks_count":3,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-03-18T07:43:12.511Z","etag":null,"topics":["computer-vision","indexing","vinyl-records"],"latest_commit_sha":null,"homepage":"https://jamesg.blog/2024/03/16/vinyl-record-indexing/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/capjamesg.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2024-03-16T15:43:53.000Z","updated_at":"2025-02-16T15:55:23.000Z","dependencies_parsed_at":"2024-03-16T20:23:05.233Z","dependency_job_id":"5a4b41a1-b835-45f7-b6b7-aa0b6b041a55","html_url":"https://github.com/capjamesg/vinyl-record-indexing","commit_stats":null,"previous_names":["capjamesg/vinyl-record-indexing"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/capjamesg%2Fvinyl-record-indexing","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/capjamesg%2Fvinyl-record-indexing/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/capjamesg%2Fvinyl-record-indexing/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/capjamesg%2Fvinyl-record-indexing/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/capjamesg","download_url":"https://codeload.github.com/capjamesg/vinyl-record-indexing/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244902929,"owners_count":20529114,"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":["computer-vision","indexing","vinyl-records"],"created_at":"2024-10-06T14:22:24.709Z","updated_at":"2025-03-22T03:31:31.908Z","avatar_url":"https://github.com/capjamesg.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# vinyl-record-indexing\n\nUse computer vision to index your vinyl record collection.\n\n[Read about how this project works.](https://jamesg.blog/2024/03/16/vinyl-record-indexing/)\n\n## Demo\n\nhttps://github.com/capjamesg/vinyl-record-indexing/assets/37276661/327f42fa-bace-4f17-b9b1-7e60f5bea524\n\n## Getting Started\n\nFirst, clone this repository and install the required dependencies:\n\n```\ngit clone https://github.com/capjamesg/vinyl-record-indexing\ncd vinyl-record-indexing\n```\n\nNext, [follow the MobileCLIP installation instructions](https://github.com/apple/ml-mobileclip) to install MobileCLIP, on which this project depends.\n\nYou will need an OpenAI API key to use this project. Register for an OpenAI API key, then export it into your environment using the following command:\n\n```\nexport OPENAI_API_KEY=\"\"\n```\n\nTo start indexing your vinyl record collection, run the following command in the root project directory:\n\n```\npython3 app.py\n```\n\nWhen you run this command, a window will appear showing the feed from your webcam. In the top left corner, the prompt most similar to the current frame, as well as a counter showing how many records have been identified in the video feed, will show.\n\nTo start indexing your collection, place a vinyl in front of your camera until the `Vinyls recorded` counter increments. Repeat this process for all vinyls you want to index.\n\nThen, open your palm (like you would if you were giving someone a high-five) and hold it until the camera stops. Opening your palm is a control sequence to indicate you have no more records to index.\n\nYour camera will stop and all unique images will be sent to the OpenAI GPT-4 with Vision API for processing. The results, featuring the name of each vinyl record and the artist who wrote it, will be saved in a file called `results.csv`.\n\n## License\n\nThis project is licensed under an [MIT license](LICENSE).\n\nRefer to the [MobileCLIP license](https://github.com/apple/ml-mobileclip?tab=License-1-ov-file) for terms of use of MobileCLIP, on which this project depends. Of note, you can swap MobileCLIP for any CLIP-like model (i.e. the original CLIP model from OpenAI, which is licensed under an MIT license), although this will involve manually changing this script to work with your chosen model.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcapjamesg%2Fvinyl-record-indexing","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcapjamesg%2Fvinyl-record-indexing","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcapjamesg%2Fvinyl-record-indexing/lists"}