{"id":22122716,"url":"https://github.com/timendus/soundboard","last_synced_at":"2026-01-04T18:42:00.564Z","repository":{"id":41800137,"uuid":"164459642","full_name":"Timendus/soundboard","owner":"Timendus","description":"A very simple drag and drop soundboard app with MIDI support","archived":false,"fork":false,"pushed_at":"2024-03-17T00:46:29.000Z","size":4067,"stargazers_count":37,"open_issues_count":2,"forks_count":3,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-02-14T14:40:59.852Z","etag":null,"topics":["music","playback","podcast","pwa","radio","sound","soundboard"],"latest_commit_sha":null,"homepage":"https://timendus.github.io/soundboard/","language":null,"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/Timendus.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":"2019-01-07T16:25:49.000Z","updated_at":"2025-02-13T00:14:49.000Z","dependencies_parsed_at":"2024-02-25T13:36:02.863Z","dependency_job_id":"3e8a81ba-046a-4549-a4b4-8362b047c869","html_url":"https://github.com/Timendus/soundboard","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Timendus%2Fsoundboard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Timendus%2Fsoundboard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Timendus%2Fsoundboard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Timendus%2Fsoundboard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Timendus","download_url":"https://codeload.github.com/Timendus/soundboard/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245226336,"owners_count":20580701,"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":["music","playback","podcast","pwa","radio","sound","soundboard"],"created_at":"2024-12-01T15:27:28.470Z","updated_at":"2026-01-04T18:42:00.517Z","avatar_url":"https://github.com/Timendus.png","language":null,"funding_links":["https://ko-fi.com/T6T0DOOWP"],"categories":[],"sub_categories":[],"readme":"[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/T6T0DOOWP)\n\n# Soundboard\n\nThis is a simple drag and drop soundboard app with MIDI support. It allows you\nto load a number of audio files into different sound \"blocks\". Clicking a block\nor pressing the corresponding key on your keyboard or MIDI device can then play\nthe audio file.\n\n![The soundboard app](screenshots/soundboard.png \"The soundboard app\")\n\n## How to use\n\nThe app [lives here](https://timendus.github.io/soundboard/), and can be used in\nthe browser or installed on your computer or tablet as a progressive web app\nthrough your web browser. Mobile phones are currently \"kinda\" supported, but\nconfiguration is pretty annoying.\n\n![The soundboard app](screenshots/empty.png \"A boring, uninitialized soundboard\")\n\nWhen opened the app will greet you with lots of boring gray blocks. Click on any\nof the blocks and select an audio file or drag and drop files into them to load\nthe blocks. Each block will randomly be assigned a starting colour. Clicking a\nloaded block will trigger the sound to play.\n\n**Please note:** The app will generate a number of blocks that comfortably fit\non your screen. If you have already added any sounds to the soundboard, the app\nwill not automatically add blocks or throw blocks away as you probably don't\nwant that. So the solution is to first pick a size for your window and then\nstart adding files.\n\n## Settings\n\nYou can switch the app to settings mode by clicking the wrench in the top right\ncorner. In that mode you can clear the board, save it to file, load it from file\nor manually add a row or a column if you run out of space. And in settings mode\nyou can change the playback mode, colour and associated keyboard or MIDI key of\nyour sound blocks. You can also remove individual sound blocks from the board.\n\n_Screenshot is outdated, sorry for that 🙈_\n\n![Settings mode](screenshots/settings.png \"Settings mode\")\n\n### Playback modes\n\nSoundboard has three:\n\n* **Retrigger** (default, denoted by `-`) — Triggering the block repeatedly will\nplay the song from the beginning repeatedly. Mostly useful for sound effects and\ndrums.\n* **OneShot** (denoted by `|`) — Triggering the block plays it, triggering again\nstops playback. Mostly useful for things like background music.\n* **Gate** (denoted by `o`) — Triggering the block and holding down the trigger\nplays the sound. Releasing stops playback. Useful for short-lived variable\nduration effects like applause.\n\n### Using a MIDI device\n\nMIDI is currently supported in Chrome, Opera, Microsoft Edge and a couple of\nmobile browsers. See [this chart](https://caniuse.com/#feat=midi) for\ncompatibility.\n\nTo use a MIDI device with this soundboard, make sure it is a generic MIDI device\nor that you have installed the necessary drivers to make your browser be able to\ncommunicate with it. Then plug your device in before you start the soundboard.\n\nNext, load your audio files, go to the settings mode and press the little\nkeyboard icon (the third circle) for one of the blocks. It will ask you to press\na key. Push one of the buttons or keys on your MIDI device, and it should\nregister that button or key with that block. Pressing it again should now\ntrigger the block.\n\n![Settings mode](screenshots/midi.png \"Assigning a key to a block\")\n\n## Developing\n\nThis should get you up and running locally:\n\n```bash\n$ git clone git@github.com:Timendus/soundboard.git\n$ cd soundboard\n$ npm install\n$ npm start\n```\n\nPRs with improvements are welcome, as always. Feedback too. mail@timendus.com\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftimendus%2Fsoundboard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftimendus%2Fsoundboard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftimendus%2Fsoundboard/lists"}