Giter Club home page Giter Club logo

octavia's Introduction

Octavia

๐ŸŽป Event-driven multi-standard MIDI state-tracking library.

Made with โค๏ธ by Lightingale Community. Repository available on Codeberg, GitHub and GitLab.

Maintainability

What is Octavia?

The current MIDI landscape is a dumpster fire, at least in the FOSS world. Only proprietary software solutions respect existing MIDI standards, while the FOSS ecosystem largely ignores or even violates the conventions, with TiMidity as the single exception. Octavia, born out of being fed up by the existing antics exhibited by existing FOSS solutions, aims to reach full compliance with existing MIDI standards (MT-32, GM, XG, GS, GM2 and etc.), while exposing simple yet powerful interfaces for developers to build upon.

With Octavia, no longer will you worry about standard compliance. Just focus on building what's important, be it visualizers, state browsers, event routers or even realtime event translators, Octavia's got your back. Feel free to test Octavia's capabilities with all available demos.

Why Octavia over others?

  • Free, libre and open-source, under GNU LGPL v3.0.
  • Developed with Firefox and an open Web in mind.
  • Compliant to existing standards.
  • Behaves like a real MIDI module, doing most of the heavy-lifting for you.
  • Supports 8 ports, 128 channels, 512-voice polyphony maximum. More than you'll ever need.
  • Built-in support for multiple plug-in cards and tons of other devices.
  • Emits warnings when MIDI programming errors are spotted, reducing chances of faulty programming.
  • Available in JS (browser and Deno).
  • No modification required to run in hardened forks of browsers, like Tor Browser, Cromite and LibreWolf.
  • Wide support of bank mapping and bitmaps via midi-db.

Supported targets

Octavia offers support to a wide range of targets, most of them being either GM-compliant or having strong historical importance. Read the support page for more information.

To have a general idea of how MIDI is implemented, refer to the MIDI Implementation Chart and Supported SysEx instructions.

Dev talks

We've been hosting places to handle development discussions! If you don't have a GitHub account, or just prefer to report bugs or give suggestions in a more casual way, feel free to chat with us with links below!

Credits

Please read CREDITS.md.

API & more

Please read the documentation.

Examples

Please check out the /examples/ directory.

Contribute

You can help with Octavia's development, by doing any of the following, or more...

  • Test Octavia, whether under production environment or not.
  • Write anything utilizing Octavia's API.
  • Report any bugs you find.
  • Submit feature requests.
  • Participate in programming (read the docs for further info).
  • Reward the developers some donation.
  • Spread the word about Octavia.

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.