{"id":13678611,"url":"https://github.com/keijiro/KlakLasp","last_synced_at":"2025-04-29T15:32:13.925Z","repository":{"id":137964357,"uuid":"97719544","full_name":"keijiro/KlakLasp","owner":"keijiro","description":"An extension for the Klak Wiring system to create audio reactive behaviors.","archived":false,"fork":false,"pushed_at":"2018-08-02T07:19:01.000Z","size":462,"stargazers_count":162,"open_issues_count":5,"forks_count":23,"subscribers_count":19,"default_branch":"master","last_synced_at":"2024-08-02T13:23:53.539Z","etag":null,"topics":["audio","input","unity","unity3d"],"latest_commit_sha":null,"homepage":"","language":"C#","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/keijiro.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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":"2017-07-19T13:30:41.000Z","updated_at":"2024-08-01T17:56:54.000Z","dependencies_parsed_at":"2023-04-05T13:07:32.033Z","dependency_job_id":null,"html_url":"https://github.com/keijiro/KlakLasp","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/keijiro%2FKlakLasp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/keijiro%2FKlakLasp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/keijiro%2FKlakLasp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/keijiro%2FKlakLasp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/keijiro","download_url":"https://codeload.github.com/keijiro/KlakLasp/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224178966,"owners_count":17268981,"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","input","unity","unity3d"],"created_at":"2024-08-02T13:00:56.062Z","updated_at":"2024-11-11T21:30:53.861Z","avatar_url":"https://github.com/keijiro.png","language":"C#","funding_links":[],"categories":["C#"],"sub_categories":[],"readme":"KlakLASP\n========\n\n**KlakLASP** is an extension for [Klak] to create audio reactive behaviors with\nusing the Klak Wiring system.\n\n![Screenshot](http://i.imgur.com/jAtUMDvl.png)\n\nKlakLASP integrates the [LASP] plugin to analyze audio signals. Thanks to the\nlow-latency nature of LASP, it doesn't introduce noticeable delays between\naudio input and actions.\n\n![GIF](http://i.imgur.com/NoG5EtG.gif)\n[Demo](http://radiumsoftware.tumblr.com/post/163292853756)\n\nSystem Requirements\n-------------------\n\n- Unity 2017.1 or later\n\nAt the moment, KlakLASP only supports Windows (64 bit) and macOS (64 bit).\n\nInstallation\n------------\n\nBefore installing KlakLASP to a project, all its dependent plugins ([Klak] and\n[LASP]) should be installed to the project. Follow the installation\ninstructions in each page.\n\nThen, download one of the unitypackage files from the [Releases] page and\nimport it to the project.\n\nHow It Works\n------------\n\nThe Audio Input node has a VU meter in the inspector, and it shows how the node\nanalyzes input audio signals and determines output.\n\n![GIF](http://i.imgur.com/e4QyD1u.gif)\n\nThe node tracks the recent peak amplitude of the input audio signals, and\ndetermine the output based on the difference between the current amplitude and\nthe peak amplitude.\n\nWhen the current amplitude is equal or larger than the peak amplitude, it\noutputs a value of 1. The VU meter indicates over-peak input with a red band\n(see the image below).\n\n![Meter](http://i.imgur.com/6iIJB8z.png)\n\nWhen the current amplitude is smaller than the peak amplitude and larger than\nthe value of *(peak amplitude - dynamic range)*, it outputs a value between 0\nand 1 that varies based on the position in the dynamic range. This range is\nindicated with a gray band in the VU meter (see the image below).\n\n![Meter](http://i.imgur.com/ecLQf0t.png)\n\nWhen the current amplitude is equal or smaller than the value of *(peak\namplitude - dynamic range)*, it outputs a value of 0.\n\n![Meter](http://i.imgur.com/tDPkH7X.png)\n\nThe peak amplitude value slowly decreases by time to adapt itself to the recent\namplitude level. The GIF above shows this behavior that the peak amplitude and\nthe dynamic range are slightly slid to the left while the input doesn't hit the\npeak.\n\nNote that the peak amplitude doesn't exactly match with the actual peak of the\ninput signals -- there is a small margin between them, so that it increases the\nchance of hitting the peak.\n\nAudio Input Properties\n----------------------\n\n### Filter Type\n\nFour types of filters are available -- *Bypass*, *Low-Pass*, *Band-Pass* and\n*High-Pass*. These filter are useful to detect rhythmic accents. For instance,\nthe *Low-Pass* filter can be used to make a behavior that reacts to kick drums\nor a bassline.\n\n### Dynamic Range (dB)\n\nSpecifies the difference between the lowest amplitude and the highest\namplitude in decibel.\n\n### Auto Gain Control\n\nWhen enabled, it automatically adjust the amount of the gain based on recent\npeak of amplitude (as explained in the *How It Works* section). When disabled,\nthe peak amplitude is fixed to 0dB, and the amount of the gain is manually\ncontrolled by the *Gain* property.\n\n### Hold And Fall Down\n\nEnables the \"peak-hold and fall down\" behavior that is commonly used in VU\nmeters. This is useful to make animation smoother. The GIF below shows the\ndifference between with/without this option.\n\n![GIF](http://i.imgur.com/dhxqaH3.gif)\n\nTIPS\n----\n\n### Dynamic Range = Clickiness of Behavior\n\nAlthough having a wide dynamic range is important for expressiveness, it tends\nto make behavior slower and unclear. It's recommended reducing the dynamic\nrange when \"clicky\" behavior is preferred.\n\n![GIF](http://i.imgur.com/ljVUjxV.gif)\n\n### Use internal audio sources\n\n**[LASP Loopback]** can be used as a substitute of the LASP plugin. It analyzes\naudio output from Unity instead of external audio sources. This is useful to\ncreate audio reactive behaviors with internal audio sources.\n\n[LASP Loopback]: https://github.com/keijiro/Lasp/tree/loopback\n\nCurrent Limitations\n-------------------\n\n- LASP always tries to use the system default device for recording. There is no\n  way to use a device that is not assigned as default.\n- LASP only supports monophonic input. Only the first channel (the left channel\n  in case of stereo input) will be enabled when using a multi-channel audio\n  device.\n\nLicense\n-------\n\n[MIT](LICENSE.txt)\n\n[Klak]: https://github.com/keijiro/Klak\n[LASP]: https://github.com/keijiro/Lasp\n[Releases]: https://github.com/keijiro/KlakLasp/releases\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkeijiro%2FKlakLasp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkeijiro%2FKlakLasp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkeijiro%2FKlakLasp/lists"}