{"id":18789439,"url":"https://github.com/zak-45/wledaudiosync-chataigne-module","last_synced_at":"2025-04-13T13:32:37.578Z","repository":{"id":147534774,"uuid":"618180775","full_name":"zak-45/WLEDAudioSync-Chataigne-Module","owner":"zak-45","description":"Stream music/audio to WLED Sound Reactive. Real time audio data analysis: volume, FFT, pitch detection etc.Include RTMGC. Include Real Time Music Mood Detection.WLED audio sync integrated v1 for esp8266 \u0026 v2 message for esp32.","archived":false,"fork":false,"pushed_at":"2024-10-27T17:56:01.000Z","size":307,"stargazers_count":34,"open_issues_count":1,"forks_count":3,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-10-27T21:20:16.913Z","etag":null,"topics":["audio","audio-analysis","beat","bpm","chataigne","esp32","esp8266","ledfx","osc","portable-executable","real-time","soundreactive","stream","udp","wled"],"latest_commit_sha":null,"homepage":"","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/zak-45.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":"2023-03-23T23:16:44.000Z","updated_at":"2024-10-27T17:56:05.000Z","dependencies_parsed_at":null,"dependency_job_id":"fd9aec76-b8ec-4e29-b888-58d50da6c48e","html_url":"https://github.com/zak-45/WLEDAudioSync-Chataigne-Module","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zak-45%2FWLEDAudioSync-Chataigne-Module","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zak-45%2FWLEDAudioSync-Chataigne-Module/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zak-45%2FWLEDAudioSync-Chataigne-Module/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zak-45%2FWLEDAudioSync-Chataigne-Module/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zak-45","download_url":"https://codeload.github.com/zak-45/WLEDAudioSync-Chataigne-Module/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223589154,"owners_count":17169897,"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","audio-analysis","beat","bpm","chataigne","esp32","esp8266","ledfx","osc","portable-executable","real-time","soundreactive","stream","udp","wled"],"created_at":"2024-11-07T21:07:35.350Z","updated_at":"2025-04-13T13:32:37.570Z","avatar_url":"https://github.com/zak-45.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![image](https://user-images.githubusercontent.com/121941293/283798323-94bb9a2c-65b0-4d98-a483-e49d4d9b0eb1.png)](http://benjamin.kuperberg.fr/chataigne/en) **+** ![image](https://user-images.githubusercontent.com/121941293/227901678-8f3d1f7c-ae1d-4b85-8199-5b763ec91a5b.png) **=**\n# **WLEDAudioSync Module for Chataigne.**\n\n## Stream music/audio datas to WLED Audio reactive.\n\n**Real time audio analysis** : the real time audio datas are not supposed to be fully accurate for scientific works but enough for light show creation.\nSee : https://youtu.be/YtS6dwke0LE\n\n_Should work on any OS where Chataigne is running._(Win/Mac/Linux)\n\n***This can be used with or without WLED device***\n\nAs options:\n\n- **Real Time Beat/ BPM** sent to OSC\n\n- **Real Time Music Genre Classification** sent to OSC : get real-time music genre predictions based on the analysed audio stream.\n\n- **Real Time Music Mood Detection** sent to OSC: set Colors based on the music mood.\n\nAll features:\n\n```\n- Send your music from any computer to WLED sound reactive LED.\n\n- Should Work on any OS where Chataigne run ( Win/Mac/Linux/Pi ). \n\n- You only need to have WLED Sound Reactive version installed. \n  No Hardware( micro: analog or digital) required. \n\n- Use UDP Multicast, so your LED strip can be anywhere.\n  adjustable rate let you choose between bandwidth / reactivity\n\n- Send different message version, to different UDP port with different settings at same time\n  thanks to Chataigne's Multiple Instances feature. \n  \n- Capture audio datas ( snapshot ) and replay them ( replay ). \n\n- All WLED Sound Reactive effects supported: volume based or FFT based.\n\n- Message version 1 (V1) and version 2 (V2) included, so can stream even to ESP8266 \n\n- Real time FFT Analysis fully customisable by GUI\n  this provide different way for effects customisation.\n\n- Real time pitch detection : freq / pitch / note / octave\n  thanks to Chataigne...\n\n- Real Time audio analysis :\n  thanks to https://friture.org/\n\n- Real Time Beat and BPM  send data via OSC\n  thanks to https://github.com/DrLuke/aubio-beat-osc\n\n- Real Time Music Genre Classification send data via OSC  \n  thanks to Essentia.js https://mtg.github.io/essentia.js/\n\n- Real Time Music Mood Detection send data via OSC\n  thanks to : https://github.com/tyiannak/color_your_music_mood\n\n```\n\nFor Chataigne : http://benjamin.kuperberg.fr/chataigne/en#download --\u003e min version 1.9.17b10\n\nFor beat / BPM see : https://github.com/zak-45/WLEDAudioSyncRTBeat\n\nFor Friture see : https://friture.org/\n\nFor RMTGC see: https://github.com/zak-45/WLEDAudioSyncRTMGC\n\nFor RTMMD see: https://github.com/zak-45/WLEDAudioSyncRTMood\n\n---\n\n## ***Installation :***\n\n### For Windows\n\nDownload release : [Windows Installer](https://github.com/zak-45/WLEDAudioSync-Chataigne-Module/releases)\n\nYou have two options :\n\n\n-1- **WLEDAudioSync.exe** provide full installation, options :\n\n```\nThis will install chataigne module / and optionally : Chataigne  \u0026\u0026 all portable apps e.g. Friture / WrtmgcSRV ...\n\nNota : Provide portable Nodejs with WrtmgcSRV.js preconfigured (optional but recommanded to use RTMGC).\n```\n\n-2- **WLEDAudioSync-Portable.zip** is a 'portable' version :\n\nIf you want only to use the WLED audio sync feature in a easy way, this one is for you.\n\n```\nJust unzip it and execute WLEDAudioSync.cmd.\nThis will do all necessary steps to have a running Chataigne with Beat detection.\nNo installation, only required folder creation (done when first time run it).\n--- Check \"%USERPROFILE%\\Documents\\Chataigne\" folder\n```\n\nYou need to accept the unknown app and allow firewall\n\n![image](https://github.com/zak-45/WLEDAudioSync-Chataigne-Module/assets/121941293/2ea134a3-d14a-46d2-a4f2-43783be65f71)\n\n\n\n### Manual (any OS with Chataigne installed)\n```\nTake all from this repository and \nCopy  to \u003cMyDocuments\u003e\\chataigne\\modules\\WLEDAudioSync.\n\nThis is enough if you want to use WLED audio sync only.\n```\n\n_Options_\n```\nYou will need additional step for beat / BPM / RTMGC or RTMMD if you want to use these features.\n       For BPM, you can download binary from https://github.com/zak-45/WLEDAudioSyncRTBeat\n       For RTMGC, you can download binary from https://github.com/zak-45/WLEDAudioSyncRTMGC\n       For RTMMD, you can download binary from https://github.com/zak-45/WLEDAudioSyncRTMood\n       To use integrated tools (not mandatory), you need to customize :\n       rtmmd.cmd, rtmgc.cmd, aubio.cmd, friture.cmd, multicast.cmd\n\n```\n----\n\n## ***Use it (Win 'portable' version):***\n\nOpen folder with unzipped files and click on **WLEDAudioSync.cmd**\n\n\n![image](https://github.com/zak-45/WLEDAudioSync-Chataigne-Module/assets/121941293/0b7d3499-e97e-4347-a609-2158119f9793)\n\n\nYou will be able to found the running program under 'hidden icons':\n\n![image](https://github.com/zak-45/WLEDAudioSync-Chataigne-Module/assets/121941293/fcf70fbb-6c32-46d4-a624-0bed09f3b155)\n\n\n\nIf you \"left - click\" on it, this will open the main interface. (\"right - click\" is for EXIT) :\n\n![image](https://github.com/zak-45/WLEDAudioSync-Chataigne-Module/assets/121941293/4035170d-7c2f-4c64-b57b-9441dfa07a84)\n\n\n\nFrom there, you will be able to modify settings /parameters. This should be necessary only the first time to put your audio parameters and the defaults one e.g. run at startup, minimized etc ...\n\n![image](https://github.com/zak-45/WLEDAudioSync-Chataigne-Module/assets/121941293/41fbfb01-15e7-46df-8690-8de416b73f86)\n\n\n![image](https://github.com/zak-45/WLEDAudioSync-Chataigne-Module/assets/121941293/cd494688-f6ab-4826-920c-5c93a9647896)\n\n\nIf you want to be able to acces main dashboard menu via a Web Browser :\n\n![image](https://github.com/zak-45/WLEDAudioSync-Chataigne-Module/assets/121941293/107b195e-7f2f-49d3-83a4-1ddc3815a392)\n\n\nOnce done, click on save and close Chataigne with the 'cross X'\n\n![image](https://github.com/zak-45/WLEDAudioSync-Chataigne-Module/assets/121941293/d9dbde16-de6e-4f54-a096-bdff43fe6d47)\n\n\n\nYou are ready now to send your audio datas to any WLED device with audio reactive firmware configured to receive them.\n\nIf you want to modify data sent, you can access the main features from any web browser, this mean even from your phone / tablet, by entering the IP address of your running PC and port number '9998' e.g. http://192.168.x.y:9998\n\n![image](https://github.com/zak-45/WLEDAudioSync-Chataigne-Module/assets/121941293/6ae987e5-57ea-46f0-bb1d-d0c544e27d99)\n\n\n## ***Use it (full options):***\n\n```\nOpen  Chataigne.\n\nGo to Modules, right click, Protocol/Community Modules, WLEDAudioSync.\n```\n![image](https://user-images.githubusercontent.com/121941293/227391581-d8341ed8-aeb0-4507-9ab9-d0bdd89a4c07.png)\n\nInitial settings with WLED : https://youtu.be/5Y2O9qGDVE0\n\n```\nOn Inspector:\n\n  Multicast Mode: need to be checked\n  IP Address to bind: select the computer IP address if more than one.\n  Send Test Message: if more than one network interface and had trouble to send data to MulticastGroup, click on it to send a test message.\n  Live : use real time audio data, uncheck when want to use the replay feature.\n  Visualize live audio : run Friture, live audio analyzer.\n  Audio V1 : V1 message format\n  Audio V2 : V2 message format ( to be used mainly )\n  Delay : delay in ms before sending audio data. audio data during delay are lost.\n  Volume Multiplier : multiply Chataigne volume audio data before sent\n  Frequency Magnitude Multiplier : multiply Chataigne FFT Magnitude data before sent\n  Take snapshot : This will take audio datas snapshot and save them to file. Used by the replay feature.\n  \n  Local : send to local IP (127.0.0.1). This will freeze audio data to send.\n  Remote Host : MulticastGroup address\n  Remote Port : port number to bind\n  \n  Use BPM : will create corresponding process for Beat via OSC\n    if unchecked and WLEDAudioSyncRTBeat process is running, this will kill it.\n  Input audio : audio devices detected by WLEDAudioSyncRTBeat list command \n    the one selected will be used when 'Force reload' clicked.\n  Script file : script file name for OSC module\n    use OSCBPM.js under modules folder.\n  Force reload : kill (if running) and create a new WLEDAudioSyncRTBeat process.\n  \n  Use RTMGC : this will execute the Nodejs server and launch chrome\n  Server Port : port number for the Nodejs server , default to 8000\n  Script file: script file name for OSC module\n    use OSCRTMGC.js under modules folder.\n  \n  Update Rate : frequence to send audio data message to WLED (fps)\n    set rate from 1 fps to 1000 (for test stress: dangerous), 50 is recommended.\n  \n```\n![image](https://user-images.githubusercontent.com/121941293/227391790-5bddd576-7fdd-440a-b03e-cc8985c81764.png)\n\n![image](https://user-images.githubusercontent.com/121941293/230686974-c077ef89-51f3-4a71-a101-e385d02b8aa6.png)\n\n![image](https://github.com/zak-45/WLEDAudioSync-Chataigne-Module/assets/121941293/d651b923-8cc5-4abf-b7c6-a8beecbadded)\n\n```\nOn Command Tester, Replay / FFT : all WLEDAudioSync available commands\n\n    Replay / Snapshot : provide you the possibility to 'replay' audio data from snapshot with defined duration (max 1500 ms).\n        The snapshot is not limited to the played effect, you can change settings and/or effect.\n```\n![image](https://user-images.githubusercontent.com/121941293/227524093-53dd4caa-0807-4d2f-a673-2ba36b40c21a.png)\n\n![image](https://user-images.githubusercontent.com/121941293/227524612-29fdfaf6-22f0-438d-9aab-433358002675.png)\n\n\n```\n   FFT / WLED : got two choices on how FFT data will be captured. OLD or NEW. \n      / Custom : custom FFT data analysis capture with variable size.\n```\n\n![image](https://user-images.githubusercontent.com/121941293/227527086-6d9b9d29-70e2-40ea-8e87-e5b547255a27.png)\n\n![image](https://user-images.githubusercontent.com/121941293/227527270-46aeb219-3c6f-49b4-a337-e613d9f8b410.png)\n\n\n\n---\n\n   Let see that on the FFT Analysis Chataigne sound card Module. You can even do any modification you like afterward.   \n\nNEW\n![image](https://user-images.githubusercontent.com/121941293/227527762-76316aa2-4284-4c68-b6c2-b217abacf5fe.png)\n\nOLD\n![image](https://user-images.githubusercontent.com/121941293/227594966-2d4ab958-761b-42dd-820a-dc676cb6c2b3.png)\n\nCustom / size 0.10\n![image](https://user-images.githubusercontent.com/121941293/227595263-a79bf314-5c95-4ee0-90d1-04d3bd7d3b1c.png)\n\n\n---\n\n\nAudio Configuration:\n\nLinux : https://wiki.ubuntu.com/record_system_sound\n\nMac : https://github.com/ExistentialAudio/BlackHole\n\nWin : https://thegeekpage.com/stereo-mix/\n\nFor audio control, Voicemeeter is one of the best tools : https://voicemeeter.com/\n\nhttps://user-images.githubusercontent.com/121941293/227597492-aff9c8a6-5314-4f5f-9825-353296f6ff28.mp4\n\n\n---\n\n---\n\n\nReal Time audio analysis: all values you see there can be used by State Machine or others and by scripts.\n\n\nhttps://user-images.githubusercontent.com/121941293/230689672-cc5d42c5-c94b-488a-aab2-aea43275ef82.mp4\n\n\nRTMGC : real time music genre detection. Detected music genre is sent to Chataigne via OSC.\n\n\n\nhttps://github.com/zak-45/WLEDAudioSync-Chataigne-Module/assets/121941293/958e140b-c4e1-4627-93b5-a1b53836775c\n\n---\n\nLedFx demo\n\nClick here : https://youtu.be/yu8QgQlLT5g\n\n[![image](https://github.com/zak-45/WLEDAudioSync-Chataigne-Module/assets/121941293/19165bed-26b6-47a9-99d7-b0846780ff2c)](https://youtu.be/yu8QgQlLT5g)\n\n\n---\n\nWLED demo\n\nclick here : https://youtu.be/NIcdctzx6TY?feature=shared\n\n[![image](https://github.com/zak-45/WLEDAudioSync-Chataigne-Module/assets/121941293/757030aa-e2d3-48e2-87db-651de051de63)](https://youtu.be/NIcdctzx6TY)\n\n\n---\n\n## ***Info ***\n\nThis module use WLED Audio Sync feature to send data via UDP / Multicast. Message version 1 \u0026 2 are provided.\n// On 10/03/2023: Multicast do not work as expected on Chataigne, mainly when more than one network card. Small python utility provided  to bind on UDP port on specified IP address and join the MulticastGroup in case of.\nSee : https://github.com/zak-45/WLEDAudioSyncMCast\n\nOn 26/03/2023:\nfor ESP8266, old SR WLED fw version required : 0.13.0b3 https://wled-install.github.io/.\nPort to the 0.14.xx version is on TO DO list...\n\nOn 27/10/2024: WLED Beta 0.15.0b6 (160) include the Audio Reactive userModule, so now ESP8266 can act as UDP sync receiver for the audio.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzak-45%2Fwledaudiosync-chataigne-module","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzak-45%2Fwledaudiosync-chataigne-module","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzak-45%2Fwledaudiosync-chataigne-module/lists"}