{"id":16958431,"url":"https://github.com/dohliam/ccmixter-download","last_synced_at":"2025-04-11T22:08:13.829Z","repository":{"id":88991835,"uuid":"60381631","full_name":"dohliam/ccmixter-download","owner":"dohliam","description":"A tool for batch downloading and streaming songs from ccMixter","archived":false,"fork":false,"pushed_at":"2021-10-10T20:32:17.000Z","size":18,"stargazers_count":4,"open_issues_count":1,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-11T22:08:06.886Z","etag":null,"topics":["ccmixter","ccmixter-download","creative-commons","music","music-discovery","music-download","music-streaming","open-licensed-music","playlist","remixes","stream","streaming-audio","tags","tracklist"],"latest_commit_sha":null,"homepage":"","language":"Ruby","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/dohliam.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":"2016-06-03T22:35:54.000Z","updated_at":"2024-05-20T08:54:42.000Z","dependencies_parsed_at":"2023-06-13T11:15:22.613Z","dependency_job_id":null,"html_url":"https://github.com/dohliam/ccmixter-download","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/dohliam%2Fccmixter-download","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dohliam%2Fccmixter-download/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dohliam%2Fccmixter-download/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dohliam%2Fccmixter-download/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dohliam","download_url":"https://codeload.github.com/dohliam/ccmixter-download/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248487713,"owners_count":21112191,"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":["ccmixter","ccmixter-download","creative-commons","music","music-discovery","music-download","music-streaming","open-licensed-music","playlist","remixes","stream","streaming-audio","tags","tracklist"],"created_at":"2024-10-13T22:42:35.601Z","updated_at":"2025-04-11T22:08:13.807Z","avatar_url":"https://github.com/dohliam.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ccmixter-download - A tool for batch downloading and streaming songs from ccMixter\n\nThere is a lot of great open-licensed music on [ccMixter](http://ccmixter.org/), but it isn't very easy to download all tracks uploaded by a particular artist or with a particular tag. This script allows you to download songs and stream entire playlists by specifying the artist or tag name.\n\n## Usage\n\n    ccmixter_download.rb [OPTIONS]\n\nYou might want to rename the script to `ccm` and place it in your PATH. This will allow you to do for example:\n\n    ccm -su F_Fact\n\nWhich will begin streaming a playlist of all tracks uploaded by user [F_Fact](http://ccmixter.org/people/F_Fact/profile).\n\nFor the sake of convenience, the examples below will assume that you have renamed the executable to `ccm`.\n\n## Options\n\nOptions can be used individually or combined together to produce more fine grained results. The following options are available:\n\n* `-c`, (`--license LICENSE`): _Filter tracks by license_\n* `-d`, (`--download`): _Download all tracks_\n* `-f`, (`--save-to-file`): _Save urls to tracklist file_\n* `-i`, (`--id ID`): _Get results for track id (or url)_\n* `-l`, (`--limit NUMBER`): _Specify results limit (default 200)_\n* `-m`, (`--markdown`): _Print out playlist in markdown format with links_\n* `-p`, (`--print`): _Print tracklist_\n* `-q`, (`--query KEYWORD`): _Search for a keyword_\n* `-R`, (`--remixes ID`): _Get remixes of a given track by id number_\n* `-r`, (`--recommended`): _Sort by highest recommended uploads_\n* `-s`, (`--stream`): _Stream entire playlist (requires mplayer)_\n* `-t`, (`--tag TAG`): _Specify tag name_\n* `-u`, (`--user USER`): _Specify user name_\n* `-w`, (`--raw`): _Output raw track array values (debugging)_\n\n### Users\n\nTo get all tracks uploaded by a particular user, use the `-u` option, for example:\n\n    ccm -u teru\n\nThe above command will print out a list of tracks uploaded by user `teru`.\n\nThis can be combined with other options to refine the list of results to a particular tag (`-t`) or sort according to number of recommendations (`-r`), as well as save the results to a playlist (`-s`) or download all files to disk (`-d`). Further examples are below.\n\n### Tags\n\nTo get results for a specific tag you can use the `-t` option. This option can be used together with `-d`, `-f`, `p`, `-r`, and `-s` to download, save, print, output raw values or stream music based on a specific tag. For example, to stream a list of tracks tagged as \"ambient\", you could use:\n\n    ccm -st ambient\n\nTo download the tracks instead, use:\n\n    ccm -dt ambient\n\nYou can specify multiple tags by separating them with a space or a `+`:\n\n    ccm -t \"celtic+electro+remix\"\n\n    ccm -t \"funk jazz saxophone chill trip_hop\"\n\n### Keyword search\n\nYou can search for an exact phrase, term, or title in track metadata using the `-q` option:\n\n    ccm -q \"Violet Fusion\"\n\nAs always, this can be combined with other options to refine the search:\n\n    ccm -u grapes -q dunno\n\n### Limiting results\n\nThe default number of results provided by the ccMixter API is 200. However, many tags (such as `rock`, `hip_hop` or `techno`) and some artists (such as `Javolenus`) can have many more results. In such cases, you can raise the limit using the limit option (`-l`), for example to get the first 500 results from the list of tracks tagged as \"techno\":\n\n    ccm -l 500 -t techno\n\nSimilarly, to get the first 300 tracks by Javolenus:\n\n    ccm -l 300 -u Javolenus\n\n### Results based on track ID\n\nIf you know the url or the id number of a particular track (the id is the number at the end of the canonical URL on the ccMixter.org site), you can retrieve information about the track or download it directly without having to visit the site.\n\nFor example, you can download the track _Imperfect World-Jazz Ballad_ by `VJ_Memes` using the following command with the `-i` option:\n\n    ccm -di http://ccmixter.org/files/VJ_Memes/32009\n\nThe following command using only the id number will have the same effect:\n\n    ccm -di 32009\n\nIf you would just like to print out some markdown-formatted metadata for the track, you can use:\n\n    ccm -mi 32009\n\nLike the `-i` option, `-R` also takes the id number or url of a track as an argument, and returns a list of all the remixes of that track. For example:\n\n    ccm -R http://ccmixter.org/files/ANTIQCOOL/39459\n\nOne practical use for `-R` is in conjunction with the `-s` option to stream all the remixes of a particular track. You can combine this with the `-r` option to play a list of remixes sorted in order of popularity:\n\n    ccm -rsR 39459\n\n### Filter by license\n\nYou can use the license option (`-c`) to filter the results for a given search by license. Only tracks with the specified license will be returned.\n\nFor example, to display a list of tracks tagged as \"blues\" that are released under a CC-BY license, you can use:\n\n    ccm -t blues -c by\n\nThe possibe license values are:\n\nValue | License name\n----- | ------------\n`by` | [Attribution](http://creativecommons.org/licenses/by/4.0/) (CC BY)\n`nc` | [NonCommercial](http://creativecommons.org/licenses/by-nc/4.0/) (CC BY-NC)\n`sa` | [ShareAlike](http://creativecommons.org/licenses/by-sa/4.0/) (CC BY-SA)\n`nod` | [NoDerivs](http://creativecommons.org/licenses/by-nd/4.0/) (CC BY-ND)\n`byncsa` | [NonCommercial ShareAlike](http://creativecommons.org/licenses/by-nc-sa/4.0/) (CC BY-NC-SA)\n`byncnd` | [Attribution-NonCommercial-NoDerivs](http://creativecommons.org/licenses/by-nc-nd/4.0/) (CC BY-NC-ND)\n`s` | [Sampling](http://creativecommons.org/licenses/sampling/1.0/)\n`splus` | [Sampling+](http://creativecommons.org/licenses/sampling+/1.0/)\n`ncsplus` | [NonCommercial Sampling+](http://creativecommons.org/licenses/nc-sampling+/1.0/) (NC Sampling+)\n`pd` | [Public Domain](https://creativecommons.org/publicdomain/zero/1.0/) (CC 0)\n\n### Output format\n\nThe default output format (e.g. for the `-p` or `-f` options) is a plain text list of download urls, separated by line breaks. However other output formats (e.g. markdown, raw) are also available.\n\nAs with tags, the `-m` option can be combined with other options such as `-p`, `-t`, `-l`, and `-q` to produce nicely formatted results in markdown. For example, to get a markdown list of 300 tracks with the tag \"jazz\", use:\n\n    ccm -ml 300 -t jazz\n\nFor debugging purposes, the `-w` option outputs the track list in raw format (i.e., as an array of strings).\n\n## To do\n\n* Play random track\n* Specify date range\n\n## License\n\nMIT.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdohliam%2Fccmixter-download","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdohliam%2Fccmixter-download","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdohliam%2Fccmixter-download/lists"}