# okazari/rythm.js

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/okazari-rythm-js).**

_How this analysis was created: the description and tags below were written by an AI model that read this project's README and public documentation pages; stars, license and language come straight from the GitHub API. The model does not read the source code._

3,924 stars · 248 forks · JavaScript · GPL-3.0

## Links

- GitHub: https://github.com/Okazari/Rythm.js
- Homepage: https://okazari.github.io/Rythm.js/
- awesome-repositories: https://awesome-repositories.com/repository/okazari-rythm-js.md

## Topics

`audio` `dance` `javascript` `music` `page-dancing` `pulse` `rythm` `web`

## Description

Rythm.js is a JavaScript animation framework designed to synchronize visual interface elements with audio playback or live microphone input. It functions as a DOM manipulation tool that maps real-time audio frequency data to CSS properties, allowing web elements to pulse, move, and transform in response to sound.

The library distinguishes itself by providing granular frequency-band mapping, which allows developers to isolate specific ranges like bass, mids, or treble to trigger targeted visual responses. By integrating with the Web Audio API, it processes audio signals to drive dynamic geometry modifications, such as shifts in element position, rotation, and stylistic attributes like color or opacity.

The core engine utilizes a high-performance render loop to ensure that visual updates remain aligned with the audio clock and display refresh rates. It supports both external media element hooking and live microphone stream processing, enabling a wide range of reactive design applications.

## Tags

### User Interface & Experience

- [Audio-Reactive Animation Frameworks](https://awesome-repositories.com/f/user-interface-experience/component-utilities/animation-engines/dynamic-animation-controllers/dynamic-element-animation/declarative-element-animators/data-reactive-element-animators/frequency-based-element-animations/audio-reactive-animation-frameworks.md) — Provides a framework for synchronizing visual interface elements with audio playback states or live microphone input using frequency-based modulation.
- [Music Reactive Web Design](https://awesome-repositories.com/f/user-interface-experience/music-reactive-web-design.md) — Provides a design paradigm for user interfaces where visual elements shift automatically to match the beat and rhythm of audio.
- [Audio-Reactive Animations](https://awesome-repositories.com/f/user-interface-experience/animation-frameworks/audio-reactive-animations.md) — Provides a framework for creating animations that dynamically respond to real-time audio frequency data. ([source](https://cdn.jsdelivr.net/gh/okazari/rythm.js@master/README.md))
- [Frequency-Based Element Animations](https://awesome-repositories.com/f/user-interface-experience/component-utilities/animation-engines/dynamic-animation-controllers/dynamic-element-animation/declarative-element-animators/data-reactive-element-animators/frequency-based-element-animations.md) — Animates DOM elements by reacting to specific audio frequency ranges to ensure visual synchronization with music beats. ([source](https://okazari.github.io/Rythm.js/))
- [Audio-Driven Position Transformations](https://awesome-repositories.com/f/user-interface-experience/animation-frameworks/state-driven-animations/audio-driven-animation-engines/audio-driven-position-transformations.md) — Moves elements across the screen using paths that respond directly to the intensity and rhythm of audio signals. ([source](https://okazari.github.io/Rythm.js/))
- [Audio-Driven Rotations](https://awesome-repositories.com/f/user-interface-experience/animation-frameworks/state-driven-animations/audio-driven-animation-engines/audio-driven-rotations.md) — Rotates visual elements around their axis by mapping specific sound frequency intensities to rotation degrees. ([source](https://okazari.github.io/Rythm.js/))
- [Dynamic CSS Property Modulation](https://awesome-repositories.com/f/user-interface-experience/dynamic-css-property-modulation.md) — Translates audio amplitude values into CSS units to alter element geometry, color, and position in real time.
- [Dynamic Geometry Modification](https://awesome-repositories.com/f/user-interface-experience/dynamic-geometry-modification.md) — Adjusts layout properties like font size and border width in real time based on detected audio frequency levels. ([source](https://okazari.github.io/Rythm.js/))

### Graphics & Multimedia

- [Frequency Band Mapping](https://awesome-repositories.com/f/graphics-multimedia/audio-frequency-visualizations/frequency-band-mapping.md) — Applies fast Fourier transform analysis to categorize raw audio data into distinct bass, mid, and treble frequency ranges. ([source](https://cdn.jsdelivr.net/gh/okazari/rythm.js@master/README.md))
- [Web Audio API Visualization Tools](https://awesome-repositories.com/f/graphics-multimedia/web-audio-api-visualization-tools.md) — Uses the browser audio processing pipeline to extract real-time frequency data from media streams or microphone inputs.
- [Animation-Audio Synchronization](https://awesome-repositories.com/f/graphics-multimedia/audio-music/audio-playback/animation-audio-synchronization.md) — Links the playback state of external audio players to CSS animations and element transformations on a webpage.
- [Audio-Reactive Visuals](https://awesome-repositories.com/f/graphics-multimedia/audio-reactive-visuals.md) — Updates visual style attributes like color, blur, and opacity to create reactive themes that pulse with audio. ([source](https://okazari.github.io/Rythm.js/))
- [Audio Visualization Libraries](https://awesome-repositories.com/f/graphics-multimedia/audio-visualization-libraries.md) — Provides a library for rendering audio-driven visual effects by mapping frequency data to DOM element properties. ([source](https://cdn.jsdelivr.net/gh/okazari/rythm.js@master/README.md))
- [External Media Player Synchronizations](https://awesome-repositories.com/f/graphics-multimedia/external-media-player-synchronizations.md) — Hooks into existing HTML media elements to align visual transformations with the playback state of external audio sources.
- [Live Microphone Visualizations](https://awesome-repositories.com/f/graphics-multimedia/live-microphone-visualizations.md) — Enables interactive web pages that respond visually to live audio input captured from a user microphone.
- [Microphone Input Processors](https://awesome-repositories.com/f/graphics-multimedia/microphone-input-processors.md) — Captures live audio input via a media stream to generate reactive animations based on ambient sound environments.

### Web Development

- [Media Lifecycle Hooks](https://awesome-repositories.com/f/web-development/media-lifecycle-hooks.md) — Observes the playback state of external audio sources to trigger and align visual animation cycles.
