{"id":16889017,"url":"https://github.com/algesten/sekvens","last_synced_at":"2025-03-20T07:15:53.623Z","repository":{"id":167911188,"uuid":"507510880","full_name":"algesten/sekvens","owner":"algesten","description":null,"archived":false,"fork":false,"pushed_at":"2023-05-21T12:51:40.000Z","size":72,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-25T08:26:59.008Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","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/algesten.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":"2022-06-26T07:50:41.000Z","updated_at":"2023-05-21T12:52:47.000Z","dependencies_parsed_at":"2023-06-15T16:30:12.376Z","dependency_job_id":null,"html_url":"https://github.com/algesten/sekvens","commit_stats":null,"previous_names":["algesten/sekvens"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/algesten%2Fsekvens","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/algesten%2Fsekvens/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/algesten%2Fsekvens/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/algesten%2Fsekvens/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/algesten","download_url":"https://codeload.github.com/algesten/sekvens/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244566946,"owners_count":20473451,"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-10-13T16:55:10.997Z","updated_at":"2025-03-20T07:15:53.602Z","avatar_url":"https://github.com/algesten.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"sekvens\n=======\n\n# Functional requirements\n\n## 4 tracks\n\nSekvens has 4 track outputs. Each track output consists of:\n\n* A PITCH CV with volt per octave.\n* A GATE signal.\n* An LFO CV (also called \"accent\") output.\n\nEach time the step of the sequencer changes, the outputs can change for each channel according to the settings of that step.\n\n## Track lengths\n\nThe four tracks have individual lengths. Each track will play its full length and then loop from the beginning. The loop can either be synced to the RESET signal, or run free.\n\n### 16 steps\n\nThe 16 steps are laid out with individual controls for each step. The step moves forward with each pulse of the inomcing SYNC signal.\n\n### 8 parts\n\n`G` is green diode. `R` is red diode. To access part 1-4, short push on the part button. To access the 5-8, hold down the part button for a little longer.\n\n  * `G---` Part 1\n  * `-G--` Part 2\n  * `--G-` Part 3\n  * `---G` Part 4\n  * `R---` Part 5\n  * `-R--` Part 6\n  * `--R-` Part 7\n  * `---R` Part 8\n\n## Step input\n\n* Rotary encoder with push button\n* BiLED push button\n\nTurning the rotary encoder sets the pitch of the step. The pitch adjusts in the quantization setting.\n\n# TODO\n\n## Global\n\n## Track/part selectors\n\n  * [x] switch part - changes the 16 steps.\n  * [x] select - select which track the 16 steps show\n  * [x] mute - mute a track stops the gate (and pitch?)\n  * [x] copy/paste - copy step to other step, track to track, part to part, (bank to bank?)\n\n### HOLD SHIFT\n\n  * [x] pattern root - root key for the scale\n  * [x] pattern scale\n  * [x] play/pause\n  * [ ] switch bank - switches all 8 parts.\n  * [x] play direction (forward, backward, random).\n  * [x] swing\n\n  * [x] length - length of the track 1-128 (track spanning multiple parts)\n  * [x] \"loop mode\" - restart track on each SYNC or loop free\n  * [x] base velocity - starting point for velocity or lfo offset.\n  * [x] velocity/lfo - switch mode between velocity or lfo for the track\n  * [x] base probability - base probabilty of each step triggering\n  * [x] Slew (glissando)\n\n## Per step\n\n  * [x] step on/off (skip?)\n  * [x] note\n  * [x] legato\n  * [x] length\n  * [x] chord mode :)]\n  * [x] probability - (additive to step triggering, negative values possible)\n  * [x] Slew (glissando)\n\n### HOLD VELOCITY\n\n  * [x] set velocity (and lfo?) - (additive to base velocity, negative values possible)\n  * [x] restart lfo (accent?!)\n  * [x] micro offset\n  * [ ] ratchet\n\n## Chord mode\n\nPress and hold step.\n\n  * [x] step root - root key for the scale\n  * [x] step scale\n  * [x] step pitch - same as pitch without chord mode\n  * [x] spread - how wide the chord is\n\n\n## Reset mode\n\nHold shift + velocity\n\n  * [x] reset (bank) - blank everything in the current bank.\n  * [x] factory reset - blank all the things.\n\n# Scales\n\n```\n[C] D [E] F [G] A [B] C [D] E [F] G [A] B C\nroot  3rd   5th   7th   9th   11th  13th\n```\n\n1. Select root node\n2. Select scale\n  3. Sinfonion has modes to mean \"collection of scales\"\n\nInversions of Cm7\n\n```\n               G\n          Eb   Eb\n     C    C    C\nBb   Bb   Bb   Bb\nG    G    G\nEb   Eb\nC\n\nroot 1st  2nd  3rd\n```\n\nSinfonion has a confusion of inversion + pitch (which becomes octave)\nvs \"free inversion\", where the pitch just gradually climbs up/down.\nI think there should be only one of these methods.\n\nSpread\n\nThese are the spread configs of Sinfonion\n\n```\n1 3 5 7\n1 * 5 7 * 3\n1 * * 7 * 3 5\n1 * 5 * * 3 * 7\n1 * * 7 * * 5 * * 3\n1 * * * * 3 * 7 * * 5\n1 * 5 * * * * * * 3 * 7\n1 * * 7 * * * * * * 5 * * 3\n1 * * * * 3 * * * * * 7 * * 5\n1 * * * * 3 * * * * 5 * * * * 7\n```\n\n# Pitch 1v/octave\n\nAnalyze Sinfonion.\n\nOctave switch       : -3 0 +3 octaves\nTranspose           : -12 0 +12 notes\nPitch + spread goes : 0v - 8.5v octaves roughly. With a 13th + some inversion\n\n```\n   Volts  Tone   i8\n   -2.53  MIN   ---\n   -2.5   F#-1  -30\n   -2     C0    -24\n   -1     C1    -12\n    0     C2      0\n    1     C3     12\n    2     C4     24\n    3     C5     36\n    4     C6     48\n    5     C7     60\n    6     C8     72\n    7     C9     84\n    8     C10    96\n    8.42  F10   101\n    8.47  MAX   ---\n```\n\nNotice it's 11V total difference.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falgesten%2Fsekvens","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falgesten%2Fsekvens","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falgesten%2Fsekvens/lists"}