BeyondImmersion.Bannou.MusicTheory
2.0.1-preview.14
dotnet add package BeyondImmersion.Bannou.MusicTheory --version 2.0.1-preview.14
NuGet\Install-Package BeyondImmersion.Bannou.MusicTheory -Version 2.0.1-preview.14
<PackageReference Include="BeyondImmersion.Bannou.MusicTheory" Version="2.0.1-preview.14" />
<PackageVersion Include="BeyondImmersion.Bannou.MusicTheory" Version="2.0.1-preview.14" />
<PackageReference Include="BeyondImmersion.Bannou.MusicTheory" />
paket add BeyondImmersion.Bannou.MusicTheory --version 2.0.1-preview.14
#r "nuget: BeyondImmersion.Bannou.MusicTheory, 2.0.1-preview.14"
#:package BeyondImmersion.Bannou.MusicTheory@2.0.1-preview.14
#addin nuget:?package=BeyondImmersion.Bannou.MusicTheory&version=2.0.1-preview.14&prerelease
#tool nuget:?package=BeyondImmersion.Bannou.MusicTheory&version=2.0.1-preview.14&prerelease
BeyondImmersion.Bannou.MusicTheory
Pure computation music theory library for deterministic MIDI generation.
Overview
This library provides formal music theory primitives for generating music programmatically without AI/neural networks. It implements music theory rules as code, enabling:
- Pitch operations: Pitch classes, intervals, transposition
- Collections: Scales, modes, chords, voicings
- Time: Durations, meters, rhythmic patterns
- Harmony: Harmonic functions, progressions, voice leading
- Melody: Contour-based generation, motif development
- Structure: Form templates, phrase construction
- Style: Genre-specific configurations (Celtic, Jazz, Baroque, etc.)
Usage
using BeyondImmersion.Bannou.MusicTheory;
// Create a key
var key = new KeySignature(PitchClass.D, Mode.Dorian);
// Generate a chord progression
var generator = new ProgressionGenerator();
var chords = generator.Generate(key, length: 8);
// Generate a melody over the chords
var melodyGen = new MelodyGenerator();
var melody = melodyGen.Generate(chords, style: "celtic");
// Output as MIDI-JSON
var midiJson = MidiJsonRenderer.Render(melody, chords);
Modules
| Module | Description |
|---|---|
Pitch |
PitchClass, Pitch, Interval fundamentals |
Collections |
Scale, Mode, Chord, Voicing types |
Time |
Duration, Meter, Rhythm patterns |
Harmony |
HarmonicFunction, Progression, VoiceLeading |
Melody |
Contour, MelodyGenerator, Motif |
Structure |
Form, Phrase construction |
Style |
StyleDefinition, StyleLoader |
Output |
MidiJson rendering |
License
MIT
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- YamlDotNet (>= 16.3.0)
-
net9.0
- YamlDotNet (>= 16.3.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on BeyondImmersion.Bannou.MusicTheory:
| Package | Downloads |
|---|---|
|
BeyondImmersion.Bannou.MusicStoryteller
Compositional intelligence layer for music generation. Transforms "notes wandering around" into "music with purpose" using research-backed theories from Huron (ITPRA), Lerdahl (TPS), and BRECVEMA. Provides GOAP-based planning, emotional state tracking, narrative templates, and intent generation. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 2.0.1-preview.14 | 86 | 3/2/2026 |
| 2.0.1-preview.13 | 73 | 2/24/2026 |
| 2.0.1-preview.11 | 91 | 1/29/2026 |
| 2.0.1-preview.10 | 86 | 1/22/2026 |
| 2.0.1-preview.9 | 79 | 1/19/2026 |