Skip to content

Latest commit

 

History

18 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ocean Loop

Interactive audio-visual generative art experiment built with p5.js and the Web Audio API.

Ocean Loop turns clicks, touches, and collisions into moving particle systems and synthesized sound. The project is part of the Music Lab series and is designed as a browser-based creative coding piece rather than a traditional app.

Highlights

  • Real-time particle animation with six visual modes
  • Generative sound triggered by movement and collisions
  • Mouse, keyboard, touch, and gesture interactions
  • Live status HUD for loop count, audio state, and FPS
  • Desktop and mobile browser support
  • Lightweight static project with no build step required

Quick Start

git clone https://github.com/MJYKIM99/musiclab.git
cd musiclab
npm install
npm run start

Open http://localhost:8000.

Alternative local server options:

python3 -m http.server 8000
npx http-server -p 8000 -c-1 --cors

Controls

Mouse and Touch

  • Click or tap: create a particle
  • Drag: reshape an existing particle
  • Hold click: increase spawn radius
  • Double click: create a larger cluster
  • Mouse wheel: adjust preview radius

Keyboard

  • Space: save screenshot
  • Backspace: reset all particles
  • B: shrink all particles
  • R: spawn random particles
  • F: toggle fullscreen
  • H: toggle info panel
  • M: mute or unmute
  • 1-9: spawn particle groups

Mobile Gestures

  • Two fingers: save screenshot
  • Three fingers: shrink all particles

Project Structure

musiclab/
├── index.html
├── sketch.js
├── Loop.js
├── Pool.js
├── interactions.js
├── audioWorker.js
├── serve.py
└── types.d.ts

Development

Available scripts:

npm run start
npm run serve
npm run dev
npm run lint
npm run lint:fix
npm run typecheck
npm run check

Documentation

Roadmap

  • Publish a hosted demo through GitHub Pages
  • Add preview media for the repository page
  • Expand automated browser-based testing

Contributing

Issues and pull requests are welcome. See CONTRIBUTING.md for the expected workflow.

License

Released under the MIT License.

Credits

  • Original Ocean Loop by Sikai Li
  • p5.js and p5.sound
  • Web Audio API and generative art community references

About

Interactive audio-visual generative art experiment built with p5.js and Web Audio API

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages