Skip to content

Latest commit

 

History

83 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Novolis

novolis-audio

SFX, voice, and live music
Cross-platform audio: miniaudio SFX, TTS voice stacks, and live music runtime.

docs merge packages org

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.

Published packages

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.

novolis-audio

Cross-platform audio for Novolis apps — outside any graphics engine.

Packages

Game SFX (miniaudio)

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

Voice / PCM (TTS)

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).

Live music

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).

Quick start (game SFX)

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);

Quick start (voice)

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"));

Maintainer pipeline

dotnet run --project codegen/Novolis.Audio.Pipeline -- run maintainer
dotnet build Novolis.Audio.slnx -c Release

Docs

License

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).

About

Cross-platform .NET audio — miniaudio SFX, TTS/voice, and live music.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages