Skip to content

Projector is a foundation to create 3D Scenes that can be used for Projection Mapping or just to visualize audio and/or midi in the browser

Notifications You must be signed in to change notification settings

sandroidmusic/projector

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Projector

Projector is a foundation to create 3D Scenes that can be used for Projection Mapping or just to visualize audio and/or midi in the browser. It does this by using Three.js , Webmidi.js and the Web Audio API. I'm not sure if this could be considered a framework or just a bunch of helpers 😆 , let's say it's a framework to keep it simple.

Check out these videos, to see it in action:

You can find the source for the videos above in their respective "project-*" branches.

All this is wrapped in Vue 3 Environment, for easy Hot Reloading during development and for ease of UI development.

It has everything you need, to start creating your own scenes in 3D or 2D and to analyze/visualize audio. At its heart it has a SceneController that can be either controlled programmatically or via midi to change scenes. An additional midi cc message can be used to send changes/parameters to a running scene to interact with. It includes a bunch of example scenes, so you can get a feel of how things work.

Some code is documented, some isn't. You are using this at your own peril 😆. Future improvements will be made available, when i keep improving and using this for my own projects.

Customize configuration

See Vite Configuration Reference.

Project Setup

npm install

Compile and Hot-Reload for Development

npm run dev

or

npm run serve

Compile and Minify for Production

npm run build

Lint with ESLint

npm run lint

About

Projector is a foundation to create 3D Scenes that can be used for Projection Mapping or just to visualize audio and/or midi in the browser

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages