{"id":13862927,"url":"https://github.com/huboles/cellseq","last_synced_at":"2025-07-14T13:32:53.074Z","repository":{"id":180313748,"uuid":"664379450","full_name":"huboles/cellseq","owner":"huboles","description":"generative midi sequencer","archived":false,"fork":false,"pushed_at":"2023-07-16T05:00:03.000Z","size":189,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-08-05T06:06:26.438Z","etag":null,"topics":["alsa","cellular-automata","midi-sequencer","rust"],"latest_commit_sha":null,"homepage":"https://huck.website/code/cellseq","language":"Rust","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/huboles.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":"2023-07-09T19:52:29.000Z","updated_at":"2024-01-09T20:15:43.000Z","dependencies_parsed_at":null,"dependency_job_id":"76d95f7a-b2c1-4f2d-9232-670c6c735667","html_url":"https://github.com/huboles/cellseq","commit_stats":null,"previous_names":["huboles/cellseq"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/huboles%2Fcellseq","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/huboles%2Fcellseq/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/huboles%2Fcellseq/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/huboles%2Fcellseq/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/huboles","download_url":"https://codeload.github.com/huboles/cellseq/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225980898,"owners_count":17554919,"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":["alsa","cellular-automata","midi-sequencer","rust"],"created_at":"2024-08-05T06:01:56.335Z","updated_at":"2024-11-22T23:30:33.471Z","avatar_url":"https://github.com/huboles.png","language":"Rust","funding_links":[],"categories":["Rust"],"sub_categories":[],"readme":"# cellseq v0.2.2\n\na cellular automata driven midi sequencer\n\n## dependencies\n\n- [alsa](https://www.alsa-project.org)\n\n## installation\n\n- clone repo `$ git clone 'git://git.huck.website/cellseq'`\n- enter directory `$ cd cellseq`\n- build and run `$ cargo run`\n- install `$ cargo install --path .`\n\n## usage\n\n*cellseq* consists of two interactive grids, referred to as the map (on the right)\nand the mask (on the left). clicking inside either one toggles the selected grid\nsquare on or off.\n\nwhen the play button (top left corner) is pressed, the current map will be ran\nas an iterative sequence of steps using the rules of\n[conway's game of life](https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life)\nto determine each step. each step is evenly spaced according to the set bpm and\nnote division.\n\n    step_ms = 60000 / ( bpm / divisor )\n\nduring each step the current map will be compared with the mask, and any cells\nthat are selected on both are 'triggered'. the vertical slider between the two\nboards determine the density of triggers that get turned into actual notes,\nallowing greater control over the amount of notes being generated.\n\nthe notes generated can be further refined using the controls at the bottom.\nselecting a scale will only allow notes in that scale, and the octave center\nand range controls how high and low the scale will extend. the two vertical\nsliders on the right give a range of velocities that will be generated.\n\nfor each trigger that becomes a note, *cellseq* checks if that note is already\nplaying, in which case it sends a note-off. otherwise it sends a note-on for the\nselected midi channel. the voice count is limited to the selected number,\nand randomly chooses what voice to cut when the limit is hit.\n\nby turning on the loop functionality a small portion of the sequence will be\nrepeated ad infinitum. the length of this loop can be adjusted, and the start\npoint is set when the toggle is turned on.\n\nby using the save and reset buttons on the top row, you can remember and recall\na map state, making it easy to test small changes in a base pattern. the clear\nmap and mask buttons revert the respective board to an empty state.\n\nthe horizontal slider on the bottom gives a variable level of random 'soup' that can be\ngenerated on either the map or the mask according to the given probability.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhuboles%2Fcellseq","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhuboles%2Fcellseq","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhuboles%2Fcellseq/lists"}