Skip to content

vaz-io/AudioTheorem

Repository files navigation

Musical Theory Library

License is a Combination of Proprietary and Apache per the original source code below, as this project is a combination and evolution of 3 parts, or 2.5 projects..

Original Collaborative License

(Original API Docs)

Objective

Encoding music theory into a usable audio library Intended to be a learning tool and creative resource

Ancillary TODO'S

  • GUI Representation of 144 Grid
  • Reading MIDI
  • Synthesize Audio (Still In Progress)
  • Parallelism in IO Loops
  • Pitchgroup Analysis with +/- Octave Representation in GUI
  • MIDI Playing in Concurrency with GUI and Analysis - Full Integration
  • Scale Mode in GUI
  • Tonic Analysis and Chord / Inversions Chart
  • Combined Pitchgroup & Scale/Chord Analysis + Tonic Cursor
  • Abstracting Main Class and Decoupling AudioTheorem
  • Develop GUI Framework
  • Abstract out WGPU Engine
  • Incorporate Live Analysis on Mobile
  • Incorporate Batch Analysis on Server
  • Incorporate File Drag and Drop
  • Smooth and Intuitive UI for GFX Analysis

Working Samples

All Working Samples are Subject to change. If anyone wishes to go through the history you can find a history of the evolution of this project nested in the history of this readme. Results may vary.

Proto

Proto has a python version of a graphical 'simulation' to help me better understand how to handle various sync and compute buffers for this problem set. Depending on the state of testing, this application can be ran using python main.py

image image

AudioTheorem

The AudioTheorem app can be ran from an executable, through cargo run and many of the examples and unit tests. The original documentation is filled with various examples as well.

The application takes midi input, and it is in the process of being able to write to an output. (This is on hold as I study more about handling buffers and queues) image image

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be licensed as above, without any additional terms or conditions. Additionally, without an explicitly stated agreement, any contributions submitted to this project, not inclusive of prior Apache-2.0 licensing, will be considered without any inclusive rights or entitlement to the lifetime of the work.

License

The original "musictheory" part of this project, a collaborative effort between Hans Uhlig and Richard Christopher, is licensed under Apache License, Version 2.0.

The remaining original code of this project is exclusively owned by Ancillary, Inc. 2023-2024.

About

Implementing Mathematically Correct Music Theory

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages