Giter Site home page Giter Site logo

imaginary / fluid-viz-midi Goto Github PK

View Code? Open in Web Editor NEW

This project forked from imaginary/navier-stroke

1.0 1.0 0.0 4.91 MB

A fluid simulation that dances to your MIDI music

Home Page: https://imaginary.github.io/fluid-viz-midi/

License: MIT License

JavaScript 41.35% HTML 2.74% GLSL 11.32% TypeScript 44.06% CSS 0.52%

fluid-viz-midi's Introduction

MIDI Fluid Vizualization

A fluid simulation that dances to your MIDI music. Play a MIDI file or a real MIDI instrument and the notes will become visible in the fluid simulation.

Supported MIDI messages: Note on, Note off, Sustain pedal ("Hold"), Sostenuto pedal, All notes off, All sounds off, all Controllers off, Reset

Screenshot

Options

Some options of the app can be configured via URL parameters:

  • midiPortName (string; default: undefined): Name of the MIDI input port to grab the MIDI messages from. If not set, a MIDI file player will be made available.
  • midiChannelMask (number; default: 1111111111111111): Use the MIDI channels marked with 1, ignore MIDI channels marked with 0. Channel 1 corresponds to the rightmost character, Channel 16 to the leftmost.
  • midiVelocityFactor (number; default: 1.0): Factor to apply to the MIDI note velocity.
  • midiVelocityOffset (number; default: 0.0): Offset to add to the MIDI note velocity.
  • pauseParameterAnimation (boolean; default: false): Pause the built-in animation of the visualization parameters.
  • idleTimeout (number; default: 60): Pause the animation after the given number of seconds without input to reduce system load.
  • splatGroupSize (number; default: 64): Control how many notes are rendered together. For internal use, mostly.

Credits

Created by Christian Stussak for IMAGINARY gGmbH, based on the WebGL-based fluid simulation app by Pavel Dobryakov.

Aaron Montag.

License

The code is available under the MIT license.

fluid-viz-midi's People

Contributors

paveldogreat avatar porst17 avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.