Code Monkey home page Code Monkey logo

rs-audio-engine's People

Contributors

jbakker-atmind avatar jeroenbakker-atmind avatar

Watchers

 avatar

rs-audio-engine's Issues

Tracker: Keep track of last played instrument

Currently for every note the instrument needs to be set. The time doing this can be reduced when
the instrument doesn't change.

  • in Row/Event separate the note event from the instrument
  • Don't remove instrument when a note is finished (NoteOff event)

Note: Pitch is Rounded

Originally the pitch was copied from a document that contained 2 fraction numbers. This might not be 100% accurate and perhaps it is better to calculate the pitch using math for performance reasons as well. Current implementation can use a lot of branching and spill branch prediction tables.

Sound: Support level as input

When using physical instrument models the amplitude is considered an input value during evaluation. Current implementation of DigitalSound performs amplification as a post sample process. In the tracker this is even a separate attribute of a row.

  • Bundle Sound::sample parameters to its own struct. The parameter type might become a template type.
  • Add gain to this struct
  • Change all sound implementations to evaluate the gain (or forward this responsibility)
  • Add gain to hammer speed control to PianoInstrument.

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.