{"id":22120351,"url":"https://github.com/maxpleaner/chiptune-cli","last_synced_at":"2025-03-24T06:27:41.859Z","repository":{"id":84577037,"uuid":"51484872","full_name":"MaxPleaner/chiptune-cli","owner":"MaxPleaner","description":"A Ruby CLI for chiptune using bloopaphone, auto-generates music","archived":false,"fork":false,"pushed_at":"2016-04-08T23:31:33.000Z","size":17,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-29T12:15:25.473Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Ruby","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/MaxPleaner.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":"2016-02-11T00:45:37.000Z","updated_at":"2017-03-30T06:40:24.000Z","dependencies_parsed_at":"2023-03-12T23:42:45.108Z","dependency_job_id":null,"html_url":"https://github.com/MaxPleaner/chiptune-cli","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/MaxPleaner%2Fchiptune-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MaxPleaner%2Fchiptune-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MaxPleaner%2Fchiptune-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MaxPleaner%2Fchiptune-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MaxPleaner","download_url":"https://codeload.github.com/MaxPleaner/chiptune-cli/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245220428,"owners_count":20579779,"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":[],"created_at":"2024-12-01T14:22:59.719Z","updated_at":"2025-03-24T06:27:41.832Z","avatar_url":"https://github.com/MaxPleaner.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"**An interactive CLI for using [bloopsaphone](https://github.com/mental/bloopsaphone),\na chiptune sound creator Ruby gem.**\n\n### Usage\n\n1. `bundle` - _the bloopsaphone gem will probably fail at first because of missing system dependencies. I got it installed on Ruby 2.4 by googling the errors._\n\n2. `./start_cli`\n\n3. `help`\n\n4. _enter a command of your choice_\n\n### About\n\n**CLI application structure**\n\nThis uses my [ruby-cli-skeleton](http://github.com/maxpleaner/ruby-cli-skeleton)\ntemplate for a REPL / CLI.\n\nThe chiptune-related CLI commands are in `cli_commands.rb`.\n\nThe underlying music-playing API is in `bloop_api.rb`. \n\n### Warning\n\nHigh likelihood of alsa/pulseaudio errors, especially when you playing a lot of sounds quickly or at the same time. Exiting and restarting the CLI is a temporary fix but this is still very low-performance software. \n\n### Commands\n\n1. `odd_time(options={})`\n  - _plays a polyrhythm_ in a simple structure inspired by Meshuggah. See [here](https://societymusictheory.org/files/2014_handouts/capuzzo.pdf) for an in-depth explanation or [here](http://metalintheory.com/meshuggah-obzen/) for a more simplified explanation, \n  - option keys(symbols):\n    1. tempo (i.e. BPM), defaults to 90,\n    2. beat_count (i.e. [4,17] or [3, 123]), the two beat counts which define the polythythm). Defaults to a random pair \n    3. repetitions (i.e. total length / phrase length), defaults to 2\n  - **bonus** shows some rudimentary visualizer art in the console\n\n2. `polyrhythm`\n  - calls the `odd_time` and `play_chiptune` commands in parallel.\n  - this has the effect of adding a 4/4 backing beat to the odd time melody. \n\n3. `play_chiptune`\n  - Plays a very simple 4/4 beat / melody. Probably doesn't sound that great.\n  - option keys(symbols):\n    1. tempo (defaults to 240)\n    2. length (defaults to 8)\n    3. intensity_min (defaults to 2), the minimum number of instruments playing at once\n    4. intensity_max (defaults to 3), the maximum number of instruments playing at once. \n\n4. `sick_beat(count=4)`\n  - Plays a hip-hop beat.\n  - Some friendly glitching can be expected.\n\n5. `parallel_sick_beat(count)`\n  - plays too much annoying noise\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaxpleaner%2Fchiptune-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmaxpleaner%2Fchiptune-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaxpleaner%2Fchiptune-cli/lists"}