{"id":16179868,"url":"https://github.com/bep/ewis","last_synced_at":"2025-08-24T01:07:18.888Z","repository":{"id":148327887,"uuid":"143907844","full_name":"bep/ewis","owner":"bep","description":"Play with chords on your EWI (electronic wind instrument)","archived":false,"fork":false,"pushed_at":"2023-04-29T01:05:17.000Z","size":506,"stargazers_count":4,"open_issues_count":2,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-07-05T09:02:43.244Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://ewis.netlify.com/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bep.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":"2018-08-07T17:45:45.000Z","updated_at":"2025-05-20T10:48:58.000Z","dependencies_parsed_at":"2023-05-19T19:30:23.192Z","dependency_job_id":null,"html_url":"https://github.com/bep/ewis","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/bep/ewis","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bep%2Fewis","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bep%2Fewis/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bep%2Fewis/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bep%2Fewis/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bep","download_url":"https://codeload.github.com/bep/ewis/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bep%2Fewis/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271778236,"owners_count":24819265,"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-23T02:00:09.327Z","response_time":69,"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":[],"created_at":"2024-10-10T05:44:10.679Z","updated_at":"2025-08-24T01:07:18.843Z","avatar_url":"https://github.com/bep.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n**EWIS** is a Web MIDI app that let you trigger chords and play on top of them using your [EWI](https://en.wikipedia.org/wiki/EWI_(musical_instrument)) or similar wind controller. There is a live version running at https://ewis.netlify.com/ -- but note that this app may change at any time, so don't count on it for your live performances. I may publish versioned URLs if this is of interest to people. The source code can be found [here](https://github.com/bep/ewis).\n\nThis app is developed by [bep](https://github.com/bep) and powered by [Hugo](https://gohugo.io/), [Vue](http://vuejs.org/) and [WebMIDI](https://github.com/djipco/webmidi).\n\n\n## Demo\n\n\u003ciframe class=\"mb-4\" width=\"560\" height=\"315\" src=\"https://www.youtube.com/embed/csM-4qtvIDo\" frameborder=\"0\" allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen\u003e\u003c/iframe\u003e\n\nThe violin patch in the video above is the SWAM Violin from AudioModeling, the synth pad for the chords comes from the Alchemy synth in MainStage 3.\n\nIt is played with an Akai EWI USB wind controller with the \"thumb up\" controller mapped to CC 5 (portamento, very importamt on Violin) and \"thumb down\" to CC 64 (sustain, to trigger a new chord seuence).\n\n## How to Use\n\nYou need:\n\n* An [EWI](https://en.wikipedia.org/wiki/EWI_(musical_instrument)) or similar breath controller.\n* A \"breath friendly\" synth or two. I recommend [Magellan](http://www.yonac.com/magellan/) on iOS (it is available for both iPad and iPhone) with [mkirino01's](https://www.youtube.com/watch?v=nKvo1yZBkr0) great, free patches. It has two synth engines, so you can use one for the lead and the second for a pad type of sound for the chords.\n* A browser that supports [Web MIDI](https://github.com/djipco/webmidi#browser-support). On IOS (e.g. iPad) you need to install [Web MIDI Browser ](https://itunes.apple.com/us/app/web-midi-browser/id953846217?mt=8). On `macOS`, Chrome works great (Safari does not).\n\nI have tested this on both `macOS` (in both Logic X and MainStage) and on `IOS` (using the Magellan synth running on an iPad Air) with an [Akai EWI USB](http://www.akaipro.com/products/ewi-series/ewi-usb).\n\nI have the \"thumb bend down\" mapped to CC 64 (sustain; see the `CC Toggle` setting below), which is what I use to trigger a new chord sequence with a single tap. This plays-and-holds up to the number of notes configured by the `Polyphony` setting (see below) with velocity matching the breath.\n\n## Settings\n\n| Setting | Description |\n| --- | --- |\n| Input| The MIDI input device. |\n| Input\u0026nbsp;Channel | The MIDI input channel. |\n| Output | The MIDI output device, i.e. a synth. |\n| Output\u0026nbsp;Channel | The MIDI output channel. |\n| Polyphony | How many notes to play in a chord. |\n| CC\u0026nbsp;Toggle | The [MIDI CC](http://nickfever.com/music/midi-cc-list) number to use to trigger a new chord. |\n| CC\u0026nbsp;Breath | The MIDI CC in use for breath control. |\n| %\u0026nbsp;Breath\u0026nbsp;Forward | Percentage of the MIDI breath value that gets forwarded to the output channel. This can be used to add some life to the chord pad. |\n\n\n## Build From Source\n\nYou need [Hugo](https://gohugo.io/) installed. Then you can just `git clone https://github.com/bep/ewis.git` and run `hugo server`.\n\nIf you want to develop and test your tweaks on an iPad, you may want a public URL for your development server. One way would be to use [ngrok](https://ngrok.com/) and then start your server with:\n\n```bash\nhugo server --liveReloadPort=443 --baseURL=https://[your-id].ngrok.io --appendPort=false\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbep%2Fewis","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbep%2Fewis","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbep%2Fewis/lists"}