{"id":30696771,"url":"https://github.com/jxckgan/synesthesia","last_synced_at":"2025-09-02T08:50:41.424Z","repository":{"id":276226294,"uuid":"927440718","full_name":"jxckgan/synesthesia","owner":"jxckgan","description":"An application which provides a real-time visualisation of audio frequencies represented as colour.","archived":false,"fork":false,"pushed_at":"2025-08-13T15:32:16.000Z","size":1621,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-13T17:36:23.180Z","etag":null,"topics":["audio-visual","glfw","imgui","metal","reactive","visual-art"],"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/jxckgan.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,"zenodo":null}},"created_at":"2025-02-05T00:39:06.000Z","updated_at":"2025-08-13T15:30:21.000Z","dependencies_parsed_at":"2025-03-04T01:22:42.819Z","dependency_job_id":"3f683e2e-5f0b-4322-a68c-6acf1f8f0b69","html_url":"https://github.com/jxckgan/synesthesia","commit_stats":null,"previous_names":["jxckgan/synesthesia"],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/jxckgan/synesthesia","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jxckgan%2Fsynesthesia","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jxckgan%2Fsynesthesia/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jxckgan%2Fsynesthesia/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jxckgan%2Fsynesthesia/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jxckgan","download_url":"https://codeload.github.com/jxckgan/synesthesia/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jxckgan%2Fsynesthesia/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273257812,"owners_count":25073532,"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","status":"online","status_checked_at":"2025-09-02T02:00:09.530Z","response_time":77,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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-visual","glfw","imgui","metal","reactive","visual-art"],"created_at":"2025-09-02T08:50:38.108Z","updated_at":"2025-09-02T08:50:41.358Z","avatar_url":"https://github.com/jxckgan.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Synesthesia\n\nSynesthesia is an application which provides a real-time visualisation of audio frequencies represented as colour. Features a rudimentary EQ, real-time frequency \u0026 wavelength information, and an audio input selection system.\n\n### Installation\n\nSynesthesia is automatically built by GitHub Actions, you can download the application from the [Releases](https://github.com/jxckgan/synesthesia/releases/) page.\n\n### Manual Building \u0026 Running\n\nSynesthesia runs on Windows (DirectX 12) and macOS (Metal). To run this project, make sure `cmake` is installed, and just clone this repository w/ submodules (we build app dependencies locally):\n\n\u003e **Note**:\n\u003e For Windows clients, you must install VS Microsoft C++ Build Tools, [here is a guide](https://github.com/bycloudai/InstallVSBuildToolsWindows?tab=readme-ov-file) for installing and setting up your PATH.\n\n```sh\n# Clone the repository with submodules\ngit clone --recurse-submodules https://github.com/jxckgan/synesthesia\ncd synesthesia\n\n# Create (and enter) the build directory\nmkdir build \u0026\u0026 cd build\n\n# Configure and build\ncmake ..\ncmake --build .\n\n# Run Synesthesia\n./synesthesia\n```\n\n#### Building an App Bundle on macOS\n\nIn order to build a macOS Application Bundle, we use the following flags (`-DBUILD_MACOS_BUNDLE`) to enable our app-building option:\n\n```sh\ncmake .. -DBUILD_MACOS_BUNDLE=ON\ncmake --build .\n```\n\nAnd your `.app` will be in the root of the build directory.\n\n#### Building an Executable on Windows\n\nTo build a standalone/portable Windows executable, we use the following flags (`-DCMAKE_BUILD_TYPE=Release`) to build:\n\n```sh\ncmake .. -DCMAKE_BUILD_TYPE=Release\ncmake --build . --config Release\n```\n\nYour executable will then be placed in the Release folder (placed at the root of your build directory).\n\n### Video Demo\n\nhttps://github.com/user-attachments/assets/f2d9a25c-81e7-4976-b707-c5cdb479754d\n\n### Todo\n\n- [x] ~~Cross-platform support~~\n- [x] ~~Better/granular EQ control~~\n- [x] ~~Ability for visualisation of multiple frequency bands~~\n- [ ] Vulkan port for Linux\n- [ ] Generally more control over settings\n- [ ] DAW-integration\n\n### Credits \u0026 Footnotes\n\n- GUI built with [Dear ImGui](https://github.com/ocornut/imgui)\n- FFT made possible with [KissFFT](https://github.com/mborgerding/kissfft)\n\n\u003e **⚠️ Warning:**\u003cbr\u003e\n\u003e This application can display rapidly changing colours when multiple frequencies are played. If you have photosensitive epilepsy, I strongly advise against using this application.\n\n\u003e **Note:**\n\u003e This application is artistic in nature, and doesn't aim to replicate Synesthesia (Chromesthesia) or to be 100% scientifically accurate.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjxckgan%2Fsynesthesia","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjxckgan%2Fsynesthesia","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjxckgan%2Fsynesthesia/lists"}