Plugin.Maui.Spine.Voice 0.1.33

dotnet add package Plugin.Maui.Spine.Voice --version 0.1.33
                    
NuGet\Install-Package Plugin.Maui.Spine.Voice -Version 0.1.33
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Plugin.Maui.Spine.Voice" Version="0.1.33" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Plugin.Maui.Spine.Voice" Version="0.1.33" />
                    
Directory.Packages.props
<PackageReference Include="Plugin.Maui.Spine.Voice" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Plugin.Maui.Spine.Voice --version 0.1.33
                    
#r "nuget: Plugin.Maui.Spine.Voice, 0.1.33"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Plugin.Maui.Spine.Voice@0.1.33
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Plugin.Maui.Spine.Voice&version=0.1.33
                    
Install as a Cake Addin
#tool nuget:?package=Plugin.Maui.Spine.Voice&version=0.1.33
                    
Install as a Cake Tool

Plugin.Maui.Spine.Voice

Voice for Spine apps. IVoiceSession holds a spoken conversation with a realtime model on the app's server (OpenAI's Realtime models or GPT-Live, OpenAI or Azure OpenAI): a short-lived token or the server's relay instead of a key in the app, a time limit per session, the answer cut off when the user talks over it, a transcript for ChatView, and tools the app answers itself. Under it, the audio engine runs the microphone and the speaker at once, with the platform's echo cancellation, so a realtime voice model does not hear itself. It takes and gives PCM16 at the provider's rate, keeps a playback queue that is cut off at once when the user talks over the answer, and meters both directions into levels and 24 bands for visuals.

iOS and Mac Catalyst now; Android and Windows come next.

dotnet add package Plugin.Maui.Spine.Voice
builder.UseSpineVoice(o => o.SessionEndpoint = new Uri("https://api.example.com/ai"));

await voice.ConnectAsync("Voice");       // IVoiceSession, one per conversation
chat.Messages = voice.Transcript;
voice.Interrupt();                       // a Stop button; talking over the answer does the same
await voice.EndAsync();

Text read aloud by a speech feature on the server (Kind: Speech), played without the microphone; Azure Speech's mouth shapes reach an avatar's Speech driver as TimedVisemes:

var speech = services.GetRequiredService<ServerSpeech>();   // an ISpineSpeech
speech.Feature = "Read";
await speech.Speak("Välkommen tillbaka.").Completed;

The engine on its own, for a provider of your own:

var audio = services.GetRequiredService<IVoiceAudio>();   // one per conversation
await audio.StartAsync(new VoiceAudioOptions { InputRate = 24_000, OutputRate = 24_000 });

audio.InputAvailable += pcm16 => socket.Send(pcm16);    // the microphone, after echo cancellation
audio.Enqueue(itemId, answerPcm16);                     // the model's answer
var position = audio.Flush();                           // barge-in: cut off, and how far it got

var frame = audio.UpdateFrame();                        // on the UI's tick: levels and bands

The app writes NSMicrophoneUsageDescription in Info.plist.

Documentation: Voice.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-android36.0 is compatible.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-ios26.0 is compatible.  net10.0-maccatalyst was computed.  net10.0-maccatalyst26.0 is compatible.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed.  net10.0-windows10.0.19041 is compatible. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on Plugin.Maui.Spine.Voice:

Package Downloads
Plugin.Maui.Spine.Controls.Avatar

AvatarView for Spine: animated characters and ambient visuals from .spineavatar files, drawn with SkiaSharp (vector scenes and SkSL shaders) and SceneKit (glTF on iOS and Mac Catalyst), driven by the app's state, by text, by speech or by a realtime voice conversation, with Reduce Motion, the app's theme and one screen-reader element. Built-in bars and ring show a voice's sound in and out.

Plugin.Maui.Spine.Controls.Voice

VoiceView for Spine.Voice: a voice conversation drawn as it happens, with SkiaSharp. Built-in Orb, duplex Bars, Ring and a simple Avatar that follow the levels, the 24 bands and visemes; a plug-in contract for visuals of your own, drawn on the canvas or hosted in a view of their own.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.1.33 0 10/27/2026
0.1.32 0 10/27/2026
0.1.31 0 10/27/2026
0.1.30 0 10/27/2026
0.1.29 31 10/26/2026
0.1.28 34 10/26/2026
0.1.27 39 10/26/2026
0.1.26 92 10/24/2026
0.1.25 59 10/24/2026
0.1.24 64 10/23/2026
0.1.23 58 10/23/2026
0.1.22 73 10/23/2026
0.1.21 66 10/23/2026
0.1.20 64 10/23/2026
0.1.19 71 10/22/2026
0.1.18 80 10/21/2026
0.1.17 97 10/20/2026
0.1.16 87 10/20/2026
0.1.15 122 10/16/2026