{"id":15451831,"url":"https://github.com/schollz/piwip","last_synced_at":"2025-08-25T10:10:26.571Z","repository":{"id":147335577,"uuid":"298334928","full_name":"schollz/piwip","owner":"schollz","description":"live sample synthesizer for monome norns","archived":false,"fork":false,"pushed_at":"2022-02-04T19:00:24.000Z","size":59,"stargazers_count":10,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-08-18T00:46:56.506Z","etag":null,"topics":["monome","norns","sampling","synthesizer"],"latest_commit_sha":null,"homepage":"https://llllllll.co/t/piwip","language":"Lua","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/schollz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"github":"schollz"}},"created_at":"2020-09-24T16:28:56.000Z","updated_at":"2025-05-31T08:15:07.000Z","dependencies_parsed_at":"2023-07-02T16:00:39.404Z","dependency_job_id":null,"html_url":"https://github.com/schollz/piwip","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/schollz/piwip","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/schollz%2Fpiwip","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/schollz%2Fpiwip/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/schollz%2Fpiwip/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/schollz%2Fpiwip/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/schollz","download_url":"https://codeload.github.com/schollz/piwip/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/schollz%2Fpiwip/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272045319,"owners_count":24864021,"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","status":"online","status_checked_at":"2025-08-25T02:00:12.092Z","response_time":1107,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["monome","norns","sampling","synthesizer"],"created_at":"2024-10-01T21:40:12.087Z","updated_at":"2025-08-25T10:10:26.537Z","avatar_url":"https://github.com/schollz.png","language":"Lua","readme":"## piwip\n\na sampler that works in realtime.\n\n![screenshot](.github/piwip.gif)\n\nmy goal here was to make a sampler that plays back samples of an instrument while playing an instrument. that way, i can have a \"autotune\" for my bad trumpet playing - e.g. turning off the monitor and sequencing with the notes i'm trying to play. \n\nfuture directions:\n\n- add crow support\n- fix bugs\n\n### Requirements\n\n- midi input (optional)\n- audio input\n- norns\n\n### Documentation\n\n- K2 arms recording\n- K3 forces recording\n- K1+K2 toggles monitor\n- E1 activates presets\n- E2/E3 trims sample\n\n\n**quick start:** \n\n- *sampling*: plug in midi keyboard and audio source. turn E1 to \"sampler\". press K2 to arm or K3 to directly record. then play audio. now you can play it back on your midi source.\n- *random harmony*: turn E1 to \"follower\". change `harmonizer -\u003e probability` to `100%`. change the scale and root note to your preference. then press K2 to arm and play a sound through the input.\n\n\nthere are a number of customizable parameters in the global menu. currently there are two presets (E1 toggles):\n\n- \"sampler\": generic sampler. record once and then midi notes are shifted by a constant amount (relative to middle c).\n- \"follower\": sample in realtime. playing midi during recording will try to play notes near the leading edge, using a realtime pitch-detector to correctly pitch shift.\n\ni'm sure there are other interesting combos. here is a quick rundown of some parameters:\n\n- `recording-\u003erec thresh`: lower to more easily trigger recording when armed\n- `recording-\u003esilence to stop`: recording after armed stops after this much silence\n- `playback-\u003emin recorded`: is the amount recorded before note playback is possible\n- `playback-\u003eplayback reference`: determines how pitch adjustment works\n- `playback-\u003elive follow`: starts notes behind the latest sample\n- `playback-\u003ekeep armed`: re-arms recording if recorded stops\n- `playback-\u003eonly play during rec`: sequenced notes only emit during recording\n- `playback-\u003emidi during rec`: use to disable midi during recording\n- `playback-\u003enotes start at 0`: start notes at 0 or from where they last were\n\n\n## demo \n\n\u003cp align=\"center\"\u003e\u003ca href=\"https://www.instagram.com/p/CFla2iJh9zC/\"\u003e\u003cimg src=\"https://user-images.githubusercontent.com/6550035/94328978-fed24c80-ff6b-11ea-8a8f-3b2c6f5c9e91.png\" alt=\"Demo of playing\" width=80%\u003e\u003c/a\u003e\u003c/p\u003e\n\n## my other norns scripts\n\n- [barcode](https://github.com/schollz/barcode): replays a buffer six times, at different levels \u0026 pans \u0026 rates \u0026 positions, modulated by lfos on every parameter.\n- [blndr](https://github.com/schollz/blndr): a quantized delay with time morphing\n- [clcks](https://github.com/schollz/clcks): a tempo-locked repeater\n- [oooooo](https://github.com/schollz/oooooo): digital tape loops\n\n## license \n\nmit \n\n\n","funding_links":["https://github.com/sponsors/schollz"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fschollz%2Fpiwip","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fschollz%2Fpiwip","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fschollz%2Fpiwip/lists"}