Skip to content

muskanqed/Polyrhythms_JavaScript_Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

10 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿฅ Polyrhythms Visualizer

This project is a JavaScript-based polyrhythm visualizer and sound generator, built to explore fundamental and advanced JS concepts such as animation with Canvas, math for rhythmic timing, and audio generation using the Web Audio API.

๐ŸŽฏ Purpose

The goal of this project is both educational and creative โ€” to learn deeper JavaScript techniques by building a fully interactive musical tool from scratch.

๐Ÿ’ก Features

  • โญ• Canvas-based animation for visualizing polyrhythms in real time
  • ๐ŸŽต Sound generation using AudioContext and oscillators
  • ๐Ÿง  Custom logic and math to calculate timing intervals for different rhythm layers
  • ๐ŸŽ›๏ธ Configurable number of beats for each track (e.g., 3:2, 5:4, etc.)
  • ๐Ÿ”„ Smooth looping and synchronized beat playback

๐Ÿงช Tech Stack

  • JavaScript
  • HTML/CSS
  • Canvas API
  • Web Audio API

๐Ÿง  What I Learned

  • Working with the <canvas> API for custom visuals and real-time drawing
  • Using the AudioContext interface for generating procedural sound
  • Building an animation loop using requestAnimationFrame
  • Applying modular arithmetic and time-based scheduling for polyrhythms
  • Structuring code for better reusability and logic separation

๐Ÿš€ Getting Started

  1. Clone the repo:
    git clone https://github.com/muskanqed/Polyrhythms_JavaScript_Project

About

๐ŸŽผ A canvas-based polyrhythm visualizer and sound generator built with JavaScript, using Web Audio API and custom math logic. Explore rhythm through visuals and beats.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors