{"id":24756725,"url":"https://github.com/jaydeep-godhani/soundwavevisualizer","last_synced_at":"2026-02-17T15:32:24.964Z","repository":{"id":272918666,"uuid":"918153381","full_name":"jaydeep-godhani/SoundWaveVisualizer","owner":"jaydeep-godhani","description":"A customizable iOS equalizer view with animated bars, perfect for music visualizations and audio-related apps.","archived":false,"fork":false,"pushed_at":"2025-01-17T15:17:04.000Z","size":1213,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-28T14:20:04.888Z","etag":null,"topics":["animatedequalizer","animation","audiovisualizer","beatanimation","customanimation","customaudiovisualizer","customequalizerview","customview","equalizer","equalizerview-ios","ios","iosequalizer","soundvisualizer","soundwavevisualizer","swift","uikit","uiview","visualeffects","xcode"],"latest_commit_sha":null,"homepage":"","language":"Swift","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/jaydeep-godhani.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":"2025-01-17T10:58:36.000Z","updated_at":"2025-01-18T03:56:42.000Z","dependencies_parsed_at":"2025-01-17T12:58:27.159Z","dependency_job_id":"84de0957-48de-4368-a6b6-04d35120b473","html_url":"https://github.com/jaydeep-godhani/SoundWaveVisualizer","commit_stats":null,"previous_names":["jaydeep-godhani/soundwavevisualizer"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaydeep-godhani%2FSoundWaveVisualizer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaydeep-godhani%2FSoundWaveVisualizer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaydeep-godhani%2FSoundWaveVisualizer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaydeep-godhani%2FSoundWaveVisualizer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jaydeep-godhani","download_url":"https://codeload.github.com/jaydeep-godhani/SoundWaveVisualizer/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245070820,"owners_count":20556184,"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":["animatedequalizer","animation","audiovisualizer","beatanimation","customanimation","customaudiovisualizer","customequalizerview","customview","equalizer","equalizerview-ios","ios","iosequalizer","soundvisualizer","soundwavevisualizer","swift","uikit","uiview","visualeffects","xcode"],"created_at":"2025-01-28T14:20:08.392Z","updated_at":"2026-02-17T15:32:24.921Z","avatar_url":"https://github.com/jaydeep-godhani.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SoundWaveVisualizer\n\n![GitHub repo size](https://img.shields.io/github/repo-size/jaydeep-godhani/SoundWaveVisualizer)\n![GitHub stars](https://img.shields.io/github/stars/jaydeep-godhani/SoundWaveVisualizer?style=social)\n![GitHub forks](https://img.shields.io/github/forks/jaydeep-godhani/SoundWaveVisualizer?style=social)\n\n**EqualizerView** is a custom iOS UIView component that simulates a dynamic equalizer animation. It allows you to display multiple bars representing an audio equalizer, with visual states for play, pause, and stop, along with customizable bar count and spacing. This view can be used in music or audio-related apps to provide users with a visual representation of sound.\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"Assets/ScreenRecording.gif\" alt=\"Demo\" width=\"270\"/\u003e\n\u003c/div\u003e\n\n## Features\n\n- Customizable number of bars (`barCount`).\n- Adjustable space between bars (`barSpacing`).\n- Supports three visual states: Play, Pause, and Stop.\n- Smooth animations with the option for animation control (`animated` flag).\n- Can be easily integrated into your app's UI.\n- Automatically adjusts the view based on app state when entering the foreground.\n\n## Installation\n\nThis is an Xcode project, so you can directly clone or download the project into your workspace.\n\n### Clone the Repository\n\n```bash\ngit clone https://github.com/jaydeep-godhani/SoundWaveVisualizer.git\n```\nAlternatively, you can download the project as a ZIP file from the GitHub repository page.\n\n### Integrating into Your Project\n\nTo integrate the `EqualizerView` into your own Xcode project:\n\n1. Download or clone the repository.\n2. Copy the `EqualizerView.swift` file into your project.\n3. Add `EqualizerView` to your storyboard or use it programmatically in your view controllers.\n\n## Usage\n\n### Step 1: Add `EqualizerView` to your storyboard or XIB file\nYou can use the `EqualizerView` as a custom view in your storyboard or XIB file. Make sure to set the class to `EqualizerView` and customize the properties like `barCount` and `barSpacing` from the Attributes inspector.\n\n### Step 2: Programmatic Usage\nYou can also initialize `EqualizerView` programmatically.\n```swift\nlet equalizerView = EqualizerView(frame: CGRect(x: 0, y: 0, width: 300, height: 100))\nequalizerView.barCount = 5\nequalizerView.barSpacing = 2.0\nequalizerView.tintColor = .blue\nview.addSubview(equalizerView)\n```\n\n### Step 3: Update the State\nUse the `setState(_:animated:)` method to update the visual state of the equalizer.\n```swift\nequalizerView.setState(.play, animated: true)  // Start the animation\nequalizerView.setState(.pause, animated: true) // Pause the animation\nequalizerView.setState(.stop, animated: true)  // Stop the animation\n```\n\n## Customization\n\n- **barCount**: Set the number of bars to be drawn in the equalizer.\n- **barSpacing**: Adjust the spacing between bars.\n- **tintColor**: Set the color of the bars (supports dynamic tinting).\n- **State Management**: Control the animation states using `.play`, `.pause`, and `.stop`.\n\n## App State Awareness\n\nThe `EqualizerView` is aware of the app's state. When the app enters the foreground, the visual state of the equalizer will be updated to match its current state.\n\n## Contributions\n\nWe welcome contributions! If you find a bug, have an idea for a new extension, or want to improve the documentation, feel free to fork the repo and create a pull request.\n\n## License\n\nThis project is licensed under the MIT License - see the `LICENSE` file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaydeep-godhani%2Fsoundwavevisualizer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjaydeep-godhani%2Fsoundwavevisualizer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaydeep-godhani%2Fsoundwavevisualizer/lists"}