{"id":19836452,"url":"https://github.com/megaemce/mobbler","last_synced_at":"2025-05-01T18:30:24.739Z","repository":{"id":159868025,"uuid":"305135491","full_name":"Megaemce/mobbler","owner":"Megaemce","description":" Analog music creation and realtime visual performance","archived":false,"fork":false,"pushed_at":"2024-01-15T04:28:33.000Z","size":21180,"stargazers_count":11,"open_issues_count":1,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-06T16:48:46.758Z","etag":null,"topics":["analog-music","audio","audio-effect","javascript","music","web-audio","web-audio-api"],"latest_commit_sha":null,"homepage":"https://mobbler.js.org","language":"JavaScript","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/Megaemce.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}},"created_at":"2020-10-18T15:38:36.000Z","updated_at":"2024-09-09T05:37:02.000Z","dependencies_parsed_at":null,"dependency_job_id":"b5c5f7ff-af80-4a7d-9634-2534eba2f1db","html_url":"https://github.com/Megaemce/mobbler","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/Megaemce%2Fmobbler","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Megaemce%2Fmobbler/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Megaemce%2Fmobbler/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Megaemce%2Fmobbler/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Megaemce","download_url":"https://codeload.github.com/Megaemce/mobbler/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251924542,"owners_count":21665987,"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":["analog-music","audio","audio-effect","javascript","music","web-audio","web-audio-api"],"created_at":"2024-11-12T12:11:24.034Z","updated_at":"2025-05-01T18:30:22.180Z","avatar_url":"https://github.com/Megaemce.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cspan align=\"center\"\u003e\n\u003ca hred=\"https://mobbler.js.org\"\u003e\n\n![Logo Light](/img/mobbler_animated.svg#gh-light-mode-only)\n![Logo Dark](/img/mobbler_animated_dark.svg#gh-dark-mode-only)\n\n \u003c/a\u003e\n\u003c/span\u003e\n\n## Introduction\n\nAre you tired of your old and dirty analog music hardware? \u003cbr\u003e\nTired of connecting modular synthesizers with actual PHYSICAL cables? \u003cbr\u003e\nHave you always dreamed of creating those mesmerizing berlin-techno hits of the 70's?\u003cbr\u003e\n\u003cdiv align=\"center\"\u003e\n \u003cimg src=\"https://i.imgur.com/uripicq.jpg\" height=\"250px\"/\u003e\n \u003cimg src=\"https://user-images.githubusercontent.com/1651451/147878175-7902a9ee-92ec-47f4-a4e9-f120ecdeb7dc.png\" height=\"250px\"/\u003e\n\u003c/div\u003e\n\u003cbr/\u003e\n\n**Say no more!** Turn those clumsy analog nightmares into modern world browser-based dreamsᵀᴹ.\u003cbr\u003e\nIntroducing \u003ca href=\"https://mobbler.js.org\"\u003e\u003cimg src=\"/img/mobbler_word.svg\" height=\"14px\"/\u003e\u003c/a\u003e - a revolutionary browser tool for analog-like music creation and realtime [visual performance](https://en.wikipedia.org/wiki/VJing).\n\u003cdiv align=\"center\"\u003e\n\u003cimg src=\"https://user-images.githubusercontent.com/1651451/142727254-c605e95b-abd8-4084-aa79-d2510d038e0b.png\" height=\"300px\" /\u003e\n\u003c/div\u003e\n\u003cBR\u003e\n\u003cdiv align=\"center\"\u003e\n \n 🎙️ \u003cb\u003e[TRY IT!](https://mobbler.js.org)\u003c/b\u003e\n\n\u003c/div\u003e\n\n## Motive\n\u003ca href=\"https://mobbler.js.org\"\u003e\u003cimg src=\"/img/mobbler_word.svg\" height=\"14px\"/\u003e\u003c/a\u003e is a complex extension of [web audio playground](https://github.com/cwilso/WebAudio). It allows user to explore most of [web audio API](https://www.w3.org/TR/webaudio/) options and play with them in easy to handle visual format. Moreover user can manipulate any module's parameters with other modules thus opening option for custom effects creation without any programming knowledge. It can be used for music creation, education or just for fun. \n\nFurther reading:\n\u003ctable\u003e\n\u003cthead\u003e\n  \u003ctr\u003e\n    \u003cth\u003eInputs\u003c/th\u003e\n    \u003cth\u003eBasics\u003c/th\u003e\n    \u003cth\u003eEffects\u003c/th\u003e\n    \u003cth\u003eOutputs\u003c/th\u003e\n    \u003cth\u003eTutorials\u003c/th\u003e\n  \u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n  \u003ctr\u003e\n    \u003ctd valign=\"top\"\u003e\n     \u003cul\u003e\n      \u003cli\u003e\u003ca href=\"https://github.com/Megaemce/mobbler/wiki/Inputs#audio-sources\"\u003eAudio source\u003c/a\u003e\u003c/li\u003e\n      \u003cli\u003e\u003ca href=\"https://github.com/Megaemce/mobbler/wiki/Inputs#offset\"\u003eOffset\u003c/a\u003e\u003c/li\u003e\n      \u003cli\u003e\u003ca href=\"https://github.com/Megaemce/mobbler/wiki/Inputs#oscillator\"\u003eOscillator\u003c/a\u003e\u003c/li\u003e\n      \u003cli\u003e\u003ca href=\"https://github.com/Megaemce/mobbler/wiki/Inputs#pulse-oscillator\"\u003ePulse oscillator\u003c/a\u003e\u003c/li\u003e\n      \u003cli\u003e\u003ca href=\"https://github.com/Megaemce/mobbler/wiki/Inputs#live-input\"\u003eLive input\u003c/a\u003e\u003c/li\u003e\n     \u003c/ul\u003e\n   \u003c/td\u003e\n    \u003ctd valign=\"top\"\u003e\n     \u003cul\u003e\n      \u003cli\u003e\u003ca href=\"https://github.com/Megaemce/mobbler/wiki/Basics#biquad-filter\"\u003eBiquad filter\u003c/a\u003e\u003c/li\u003e\n      \u003cli\u003e\u003ca href=\"https://github.com/Megaemce/mobbler/wiki/Basics#convoler\"\u003eConvoler\u003c/a\u003e\u003c/li\u003e\n      \u003cli\u003e\u003ca href=\"https://github.com/Megaemce/mobbler/wiki/Basics#crossfade\"\u003eCrossfade\u003c/a\u003e\u003c/li\u003e\n      \u003cli\u003e\u003ca href=\"https://github.com/Megaemce/mobbler/wiki/Basics#delay\"\u003eDelay\u003c/a\u003e\u003c/li\u003e\n      \u003cli\u003e\u003ca href=\"https://github.com/Megaemce/mobbler/wiki/Basics#dynamics-compressor\"\u003eDynamic compresssor\u003c/a\u003e\u003c/li\u003e\n      \u003cli\u003e\u003ca href=\"https://github.com/Megaemce/mobbler/wiki/Basics#envelope\"\u003eEnvelope\u003c/a\u003e\u003c/li\u003e\n      \u003cli\u003e\u003ca href=\"https://github.com/Megaemce/mobbler/wiki/Basics#equalizer\"\u003eEqualizer\u003c/a\u003e\u003c/li\u003e\n      \u003cli\u003e\u003ca href=\"https://github.com/Megaemce/mobbler/wiki/Basics#gain\"\u003eGain\u003c/a\u003e\u003c/li\u003e\n      \u003cli\u003e\u003ca href=\"https://github.com/Megaemce/mobbler/wiki/Basics#stereo-panner\"\u003eStereo panner\u003c/a\u003e\u003c/li\u003e\n     \u003c/ul\u003e\n   \u003c/td\u003e\n    \u003ctd valign=\"top\"\u003e\n     \u003cul\u003e\n      \u003cli\u003e\u003ca href=\"https://github.com/Megaemce/mobbler/wiki/Effects#chorus\"\u003eChorus\u003c/a\u003e\u003c/li\u003e\n      \u003cli\u003e\u003ca href=\"https://github.com/Megaemce/mobbler/wiki/Effects#distortion\"\u003eDistortion\u003c/a\u003e\u003c/li\u003e\n      \u003cli\u003e\u003ca href=\"https://github.com/Megaemce/mobbler/wiki/Effects#delay\"\u003eDelay\u003c/a\u003e\u003c/li\u003e\n      \u003cli\u003e\u003ca href=\"https://github.com/Megaemce/mobbler/wiki/Effects#flanger\"\u003eFlanger\u003c/a\u003e\u003c/li\u003e\n      \u003cli\u003e\u003ca href=\"https://github.com/Megaemce/mobbler/wiki/Effects#reverb\"\u003eReverb\u003c/a\u003e\u003c/li\u003e\n      \u003cli\u003e\u003ca href=\"https://github.com/Megaemce/mobbler/wiki/Effects#tremolo-gain\"\u003eGain Tremolo\u003c/a\u003e\u003c/li\u003e\n      \u003cli\u003e\u003ca href=\"https://github.com/Megaemce/mobbler/wiki/Effects#tremolo-panner\"\u003ePanner Tremolo\u003c/a\u003e\u003c/li\u003e\n      \u003cli\u003e\u003ca href=\"https://github.com/Megaemce/mobbler/wiki/Effects#vibrato\"\u003eVibrato\u003c/a\u003e\u003c/li\u003e\n      \u003cli\u003e\u003ca href=\"https://github.com/Megaemce/mobbler/wiki/Effects#wahwah\"\u003eWahWah\u003c/a\u003e\u003c/li\u003e\n     \u003c/ul\u003e   \n   \u003c/td\u003e\n    \u003ctd valign=\"top\"\u003e\n     \u003cul\u003e\n      \u003cli\u003e\u003ca href=\"https://github.com/Megaemce/mobbler/wiki/Outputs#analyser\"\u003eAnalyser\u003c/a\u003e\u003c/li\u003e\n      \u003cli\u003e\u003ca href=\"https://github.com/Megaemce/mobbler/wiki/Outputs#output\"\u003eOutput\u003c/a\u003e\u003c/li\u003e\n      \u003cli\u003e\u003ca href=\"https://github.com/Megaemce/mobbler/wiki/Outputs#visualisation\"\u003eVisualisation\u003c/a\u003e\u003c/li\u003e\n     \u003c/ul\u003e   \n   \u003c/td\u003e\n    \u003ctd valign=\"top\"\u003e\n     \u003cul\u003e\n      \u003cli\u003e\u003ca href=\"https://github.com/Megaemce/mobbler/wiki/Tutorials#recreating-tremolo-gain-effect\"\u003eCreate Gain Tremolo\u003c/a\u003e\u003c/li\u003e\n      \u003cli\u003e\u003ca href=\"https://github.com/Megaemce/mobbler/wiki/Tutorials#recreating-reverb-effect\"\u003eCreate Reverb\u003c/a\u003e\u003c/li\u003e\n      \u003cli\u003e\u003ca href=\"https://github.com/Megaemce/mobbler/wiki/Tutorials#recreating-delay-effect\"\u003eCreate Delay\u003c/a\u003e\u003c/li\u003e\n      \u003cli\u003e\u003ca href=\"https://github.com/Megaemce/mobbler/wiki/Tutorials#recreating-flanger-effect\"\u003eCreate Flanger\u003c/a\u003e\u003c/li\u003e\n      \u003cli\u003e\u003ca href=\"https://github.com/Megaemce/mobbler/wiki/Tutorials#recreating-chorus-effect\"\u003eCreate Chorus\u003c/a\u003e\u003c/li\u003e\n     \u003c/ul\u003e   \n   \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\n## How to start\nSimply create Audio source module (from `Inputs` menu) and Output (from `Outputs` menu) and connect them with a Audio source cable. Hit the play button \n\n\u003cdiv align=\"center\"\u003e\n \u003cimg src=\"https://github.com/Megaemce/mobbler/assets/1651451/05136993-9647-43e3-bfdf-71249e3d6a36.png\" width=\"500\"/\u003e\n \u003c/div\u003e\n\nFor more specific modules details and tutorials please check **[mobbler's WIKI](https://github.com/Megaemce/mobbler/wiki)**\n\n## Technology \u0026 limitation\nMade in vanilla JavaScript as my first big project to get thorough knowledge of this language.\u003cbr\u003e\nDue to lack of mouse-related handlers solution doesn't work properly with touch (mobiles/tablets). \u003cbr\u003e\nIt was developed for Chrome browser however seems to be working fine on Firefox and Egde too.\n\n\nI would never create this solution without the help of these people:\n- [Matt McKegg](https://github.com/mmckegg) - author of amazing [web-audio-school](http://mmckegg.github.io/web-audio-school/)\n- [Chris Wilson](https://github.com/cwilso) - webAPI guru. Creator of the original idea\n- [Chris Lowis](https://github.com/chrislo) - amazing tutorials (just [one example](https://blog.chrislowis.co.uk/2013/06/17/synthesis-web-audio-api-envelopes.html))\n- [Sam Bellen](https://github.com/Sambego) - role model for proper multiAudioNode handling and one of the first who started the fire\n- [Oskar Eriksson](https://github.com/Theodeus) - creator of Tuna.js\n- [Tero Parviainen](https://github.com/teropa) - creator of amazing webAudioAPI [tutorials](https://teropa.info/blog/2016/08/19/what-is-the-web-audio-api.html)\n \n**Thank you 👋**\n\n[![GPLv3 License](https://img.shields.io/badge/License-GPL%20v3-yellow.svg)](https://opensource.org/licenses/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmegaemce%2Fmobbler","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmegaemce%2Fmobbler","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmegaemce%2Fmobbler/lists"}