{"id":16312488,"url":"https://github.com/kiranandcode/gop-music","last_synced_at":"2025-04-22T11:53:36.561Z","repository":{"id":112325884,"uuid":"175768618","full_name":"kiranandcode/gop-music","owner":"kiranandcode","description":"Music synced to typing baby!","archived":false,"fork":false,"pushed_at":"2019-05-02T10:48:04.000Z","size":489,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-16T14:25:08.333Z","etag":null,"topics":["mood","music","music-player","python","typing"],"latest_commit_sha":null,"homepage":"https://gitlab.com/gopiandcode/gop-music","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kiranandcode.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,"publiccode":null,"codemeta":null}},"created_at":"2019-03-15T07:16:57.000Z","updated_at":"2021-09-07T18:59:14.000Z","dependencies_parsed_at":"2023-05-12T23:00:19.947Z","dependency_job_id":null,"html_url":"https://github.com/kiranandcode/gop-music","commit_stats":null,"previous_names":["kiranandcode/gop-music"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kiranandcode%2Fgop-music","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kiranandcode%2Fgop-music/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kiranandcode%2Fgop-music/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kiranandcode%2Fgop-music/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kiranandcode","download_url":"https://codeload.github.com/kiranandcode/gop-music/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250237805,"owners_count":21397399,"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":["mood","music","music-player","python","typing"],"created_at":"2024-10-10T21:48:14.205Z","updated_at":"2025-04-22T11:53:36.540Z","avatar_url":"https://github.com/kiranandcode.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Gop-Music\n\nEver wanted to play music while working, but wanted more than just some plain background audio?\n\nEver felt that a static playlist could never capture the dynamism of your development process?\n\nWell, friend, do I have the tool for you!\n\nGop-Music uses \"algorithms and coding\" to automatically play music suited your writing style.\n\nBackground music for coding, but done the right way.\n\n## Screen Shots\n\n![Coding with a graph of key-press beats and the thresholds](https://github.com/Gopiandcode/gop-music/raw/master/example_use.png)\n\n![Example keyboard beat graph](https://github.com/Gopiandcode/gop-music/raw/master/keyboard_beats.png)\n\n\n## Video\nA video demonstration of gop-music in action can be found [here](https://www.youtube.com/watch?v=OG7meAEAAaU).\n\n\n### WARNING\n*In the interests of transparency, I should note that the functionality provided by Gop-music can only be achieved by tracking the frequency of key-presses, which, unfortunately, is a feature also used by many malicious applications. While Gop-Music doesn't log the exact keys you press, nor does it share any data with any devices, if you want to use Gop-music, it is strongly advised you read through the source code yourself.*\n\n\n\n\n## Usage\nI'm not sure how pipenv works, or if it works in this way, but I've been using pipenv to make my development \nenvironment, so maybe if you use pipenv shell it'll recreate the environment? If not, raise an issue, and I may \nfix it.\n```\npipenv shell\n```\nAnyway, all subsequent commands assume that your python environment contains all the required packages.\n\n### Loading Songs\n\nUse the music_manager script to load songs to a profile (by default all profiles stored in `~/.typemusic/`)\n\n    usage: music_manager.py [-h] [-p PROFILE] [-s] [-v] [--force-mood MOOD]\n                            [--min-length MIN-LENGTH]\n                            ACTION\n\n    Helper script to manage the internal music library used by gop-music.\n\n    positional arguments:\n    ACTION                The action to perform. Should be one of: add-song,\n                            remove-song, list-songs, list-snippets, test-run\n\n    optional arguments:\n    -h, --help            show this help message and exit\n    -p PROFILE, --profile PROFILE\n                            Type Music can maintain multiple libraries of songs to\n                            use for its music source - use this to group songs by\n                            different moods,etc. Defaults to the default profile.\n    -s, --silent          Whether to run in silent mode (useful for scripts).\n    -v, --visualise-beats\n                            Whether plot the beats produced by each song. -\n                            Requires manual saving\n    --force-mood MOOD, -f MOOD\n                            The beat detection is a bit iffy, so sometimes you may\n                            want to manually force a certain mood.\n    --min-length MIN-LENGTH, -m MIN-LENGTH\n                            Minimum length for a snippet. Snippet lengths aren't\n                            used when playing, only for the detection process\n\nThe beat detection is currently a bit iffy, so I often just use `--force-mood` to manually define a categorisation for the track I want to add.\n\nOnce music has been loaded, launch the main program to start gop-music:\n\n    usage: main.py [-h] [-p PROFILE]\n\n    Gop-Music automatic music player\n\n    optional arguments:\n    -h, --help            show this help message and exit\n    -p PROFILE, --profile PROFILE\n                            Name of the profile to load. Defaults to\n                            the default profile.\n\n\n## Note\nIf you are viewing this from micro$oft github, then note that any updates are first pushed to *gitlab*, \nand then only maybe will be pushed to Micro$oft's github at some delayed later date.\n\nIt can be found on gitlab at: https://gitlab.com/gopiandcode/gop-music\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkiranandcode%2Fgop-music","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkiranandcode%2Fgop-music","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkiranandcode%2Fgop-music/lists"}