SFX, voice, and live music
Cross-platform audio: miniaudio SFX, TTS voice stacks, and live music runtime.
Docs
·
https://nuget.pkg.github.com/Novolis-Platform/index.json
·
Org landing
·
Governance
GitHub Packages shows this repository README on every package page (upstream limitation). Open the package README for install and quick start — embedded in each .nupkg and linked below.
| Package | Install | Package README |
|---|---|---|
Novolis.Audio |
dotnet add package Novolis.Audio |
README |
Novolis.Audio.Abstractions |
dotnet add package Novolis.Audio.Abstractions |
README |
Novolis.Audio.Bindings |
dotnet add package Novolis.Audio.Bindings |
README |
Novolis.Audio.Codecs |
dotnet add package Novolis.Audio.Codecs |
README |
Novolis.Audio.Core |
dotnet add package Novolis.Audio.Core |
README |
Novolis.Audio.Edit |
dotnet add package Novolis.Audio.Edit |
README |
Novolis.Audio.Effects |
dotnet add package Novolis.Audio.Effects |
README |
Novolis.Audio.Filters |
dotnet add package Novolis.Audio.Filters |
README |
Novolis.Audio.Live |
dotnet add package Novolis.Audio.Live |
README |
Novolis.Audio.Live.Dsl |
dotnet add package Novolis.Audio.Live.Dsl |
README |
Novolis.Audio.Live.Protocol |
dotnet add package Novolis.Audio.Live.Protocol |
README |
Novolis.Audio.Live.Render |
dotnet add package Novolis.Audio.Live.Render |
README |
Novolis.Audio.Live.Visuals |
dotnet add package Novolis.Audio.Live.Visuals |
README |
Novolis.Audio.Manifests |
dotnet add package Novolis.Audio.Manifests |
README |
Novolis.Audio.Midi |
dotnet add package Novolis.Audio.Midi |
README |
Novolis.Audio.MusicTheory |
dotnet add package Novolis.Audio.MusicTheory |
README |
Novolis.Audio.Native |
dotnet add package Novolis.Audio.Native |
README |
Novolis.Audio.Output.Abstractions |
dotnet add package Novolis.Audio.Output.Abstractions |
README |
Novolis.Audio.Output.NAudio |
dotnet add package Novolis.Audio.Output.NAudio |
README |
Novolis.Audio.Patterns |
dotnet add package Novolis.Audio.Patterns |
README |
Novolis.Audio.Playback |
dotnet add package Novolis.Audio.Playback |
README |
Novolis.Audio.Runtime |
dotnet add package Novolis.Audio.Runtime |
README |
Novolis.Audio.Voice |
dotnet add package Novolis.Audio.Voice |
README |
Novolis.Audio.Voice.Abstractions |
dotnet add package Novolis.Audio.Voice.Abstractions |
README |
Novolis.Audio.Voice.Design |
dotnet add package Novolis.Audio.Voice.Design |
README |
Novolis.Audio.Voice.EdgeTts |
dotnet add package Novolis.Audio.Voice.EdgeTts |
README |
Novolis.Audio.Voice.Kokoro |
dotnet add package Novolis.Audio.Voice.Kokoro |
README |
Novolis.Audio.Voice.Manuscript |
dotnet add package Novolis.Audio.Voice.Manuscript |
README |
Novolis.Audio.Voice.Phraseology |
dotnet add package Novolis.Audio.Voice.Phraseology |
README |
Novolis.Audio.Voice.Platform.Abstractions |
dotnet add package Novolis.Audio.Voice.Platform.Abstractions |
README |
Novolis.Audio.Voice.Platform.Maui |
dotnet add package Novolis.Audio.Voice.Platform.Maui |
README |
Novolis.Audio.Voice.Platform.Windows |
dotnet add package Novolis.Audio.Voice.Platform.Windows |
README |
Novolis.Audio.Voice.Profiles |
dotnet add package Novolis.Audio.Voice.Profiles |
README |
Novolis.Audio.Voice.SherpaOnnx |
dotnet add package Novolis.Audio.Voice.SherpaOnnx |
README |
For NuGet.org and Visual Studio, the embedded README.md inside each package is authoritative.
Cross-platform audio for Novolis apps — outside any graphics engine.
| Package | Role |
|---|---|
Novolis.Audio |
Meta package (abstractions + runtime) |
Novolis.Audio.Abstractions |
IAudioEngine, ISoundHandle, NullAudioEngine |
Novolis.Audio.Runtime |
Generated facades + MiniaudioAudioEngine |
Novolis.Audio.Bindings |
Generated [LibraryImport] to novolis_audio |
Novolis.Audio.Native |
RID native binaries (transitive) |
Novolis.Audio.Manifests |
C# binding manifests (maintainers) |
Novolis.Audio.Output.Abstractions |
Game master-volume / device probe contract |
Novolis.Audio.Output.NAudio |
NAudio probe of Windows default render endpoint |
| Package | Role |
|---|---|
Novolis.Audio.Core |
PCM buffers, WAV read/write |
Novolis.Audio.Codecs |
Codec contracts (WAV in Core today) |
Novolis.Audio.Filters |
PCM filters (band-limit, EQ) |
Novolis.Audio.Effects |
PCM effect chains and pipelines |
Novolis.Audio.Playback |
PCM playback (NaudioPcmPlayback) |
Novolis.Audio.Voice |
SpeakAsync / WriteToFileAsync facade |
Novolis.Audio.Voice.Abstractions |
TTS contracts |
Novolis.Audio.Voice.SherpaOnnx |
Sherpa-ONNX synthesizer |
Novolis.Audio.Voice.Kokoro |
Kokoro ONNX offline TTS |
Novolis.Audio.Voice.EdgeTts |
Online Edge Read Aloud TTS (MP3; requires network) |
Novolis.Audio.Voice.Manuscript |
Books / audiobook pipeline on EdgeTts |
Novolis.Audio.Voice.Phraseology |
ICAO phraseology |
Novolis.Audio.Voice.Profiles |
Neutral base-voice archetypes |
Novolis.Audio.Voice.Design |
Preset drafts, validation, preview, GPR code export |
Native game playback uses a miniaudio C shim (novolis_audio.dll). Voice uses Sherpa ONNX + NAudio (separate stack). Edge/Manuscript is a parallel MP3 path (not IVoiceSynthesizer).
| Package | Role |
|---|---|
Novolis.Audio.MusicTheory |
Typed notes, chords, durations, tempo, instruments |
Novolis.Audio.Patterns |
Immutable pattern graph |
Novolis.Audio.Live |
Compiler, scheduler, program swap state |
Novolis.Audio.Live.Dsl |
Authoring helpers |
Novolis.Audio.Live.Protocol |
MessagePack IPC DTOs + REPL client |
Novolis.Audio.Live.Visuals |
Graph / analysis projections |
Novolis.Audio.Live.Render |
v0 NAudio oscillator synthesis |
See docs/live.md. Host process lives in LiveStudio (novolis-apps), not as a packable audio project.
typed music model
→ immutable pattern graph
→ live compiler / swap queue
→ host process (+ Render)
→ REPL + visual clients
Transport: Novolis.Transports.LocalIpc (GitHub Packages).
using Novolis.Audio;
using Novolis.Audio.Runtime;
await using IAudioEngine engine = new MiniaudioAudioEngine();
if (!engine.Start())
return;
var sound = engine.LoadSound("click.wav");
engine.Play(sound);using Novolis.Audio.Voice;
IVoiceService voice = new VoiceServiceBuilder().BuildService();
await voice.SpeakAsync("Tower, ready for departure.");
await voice.WriteToFileAsync("Cleared for takeoff.", new FileInfo("atc.wav"));dotnet run --project codegen/Novolis.Audio.Pipeline -- run maintainer
dotnet build Novolis.Audio.slnx -c Release- docs/getting-started.md
- docs/design.md
- docs/live.md
- docs/voice-models.md
- docs/release.md
- src/Novolis.Audio.Live.Protocol/README.md
This repository is licensed under the MIT license (LICENSE), except:
| Package | License |
|---|---|
Novolis.Audio.Voice.EdgeTts |
LGPL-3.0-only (derived from rany2/edge-tts; see THIRD-PARTY-NOTICES.md and LICENSES/LGPL-3.0.txt) |
All other Novolis Audio packages retain MIT (or their own declared license).