{"id":13768809,"url":"https://github.com/jstrait/jssynth","last_synced_at":"2025-03-17T00:33:07.514Z","repository":{"id":18415187,"uuid":"21597099","full_name":"jstrait/jssynth","owner":"jstrait","description":"Make music in your browser with this synthesizer and sequencer","archived":false,"fork":false,"pushed_at":"2024-07-14T22:33:29.000Z","size":4220,"stargazers_count":37,"open_issues_count":1,"forks_count":6,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-02-27T15:31:21.545Z","etag":null,"topics":["audio","instrument","music","sequencer","synth","synthesizer","webaudio"],"latest_commit_sha":null,"homepage":"https://www.joelstrait.com/jssynth","language":"JavaScript","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/jstrait.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":"2014-07-08T03:32:19.000Z","updated_at":"2024-12-20T10:54:06.000Z","dependencies_parsed_at":"2024-01-01T00:34:11.974Z","dependency_job_id":"89337e95-15fe-4435-8be9-8471cbc41e67","html_url":"https://github.com/jstrait/jssynth","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jstrait%2Fjssynth","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jstrait%2Fjssynth/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jstrait%2Fjssynth/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jstrait%2Fjssynth/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jstrait","download_url":"https://codeload.github.com/jstrait/jssynth/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243835942,"owners_count":20355611,"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":["audio","instrument","music","sequencer","synth","synthesizer","webaudio"],"created_at":"2024-08-03T16:01:26.116Z","updated_at":"2025-03-17T00:33:07.106Z","avatar_url":"https://github.com/jstrait.png","language":"JavaScript","funding_links":[],"categories":["MIDI instruments"],"sub_categories":["Synths"],"readme":"# JS-130\n\nA synthesizer and sequencer that runs in your browser, using the WebAudio API.\n\nTry it out here: [https://www.joelstrait.com/jssynth/](https://www.joelstrait.com/jssynth/)\n\n## Example Song\n\nThe song below is an example of what you can create with the JS-130, along with [Beats Drum Machine](https://beatsdrummachine.com) and GarageBand.\n\n[JS-130 Example Song](https://www.joelstrait.com/jssynth/js-130-demo.m4a)\n\n## Features\n\n* Oscillator Instruments\n  * Base oscillator with sine/square/saw/triangle wave\n  * Secondary oscillator with same wave types, and optional detune from primary oscillator\n  * White or pink noise\n  * Adjustable volume for each noise source (oscillator 1, oscillator 2, noise)\n  * LFO to control oscillator pitch (i.e. \"pitch wobble\")\n  * Filter, with LFO and ADSR envelope to control filter cutoff frequency\n  * ADSR Envelope to control loudness\n  * Feedback delay and reverb effects\n* Sampler Instruments\n  * Use a sound file (*.wav, *.mp3, etc.) as an instrument\n  * Filter, with LFO and ADSR envelope to control filter cutoff frequency\n  * ADSR Envelope to control loudness\n  * Feedback delay and reverb effects\n* Sequencer\n  * Multiple tracks, each with its own instrument and set of patterns\n  * Enter notes in patterns via on-screen piano keyboard, MIDI keyboard, or computer's keyboard\n  * Full songs 1-99 patterns long\n  * Volume control + mute for each track\n* Tempo control\n* Master volume control\n* On-screen keyboard to enter notes and try out sounds\n* MIDI keyboard support (only in browsers that support Web MIDI, such as Chrome)\n* Download sequencer output to a *.wav file\n\n## Running Locally\n\n* If running the app locally for the first time, run `yarn install`\n* Run `yarn serve`, which will build the app and start a local development server\n* Open the `localhost` URL listed in the command-line output in your browser\n* If a source file is changed while the server is running the app will automatically be rebuilt. However, you'll need to manually refresh the page in your browser to see the changes.\n\n## Building For Production\n\n* If building the app for the first time, run `yarn install`\n* Run `yarn build`\n* The `dist/` folder will contain the files that should be deployed to production\n\n\n## Screenshots\n\nSequencer:\n![JS-130 Sequencer](js-130-sequencer.png)\n\n---\n\nInstrument editor:\n![JS-130 Instrument Editor](js-130-instrument-editor.png)\n\n---\n\nPattern editor:\n![JS-130 Pattern Editor](js-130-pattern-editor.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjstrait%2Fjssynth","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjstrait%2Fjssynth","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjstrait%2Fjssynth/lists"}