Plugin.Maui.Spine.Speech
0.1.37
dotnet add package Plugin.Maui.Spine.Speech --version 0.1.37
NuGet\Install-Package Plugin.Maui.Spine.Speech -Version 0.1.37
<PackageReference Include="Plugin.Maui.Spine.Speech" Version="0.1.37" />
<PackageVersion Include="Plugin.Maui.Spine.Speech" Version="0.1.37" />
<PackageReference Include="Plugin.Maui.Spine.Speech" />
paket add Plugin.Maui.Spine.Speech --version 0.1.37
#r "nuget: Plugin.Maui.Spine.Speech, 0.1.37"
#:package Plugin.Maui.Spine.Speech@0.1.37
#addin nuget:?package=Plugin.Maui.Spine.Speech&version=0.1.37
#tool nuget:?package=Plugin.Maui.Spine.Speech&version=0.1.37
Plugin.Maui.Spine.Speech
Text-to-speech for Spine apps, with what a caption or an avatar needs to follow it, and speech-to-text from audio the app already has.
- Voices:
GetVoicesAsync(language)lists the installed voices best first, with their quality, so an app can use Apple's downloaded Enhanced and Premium voices (MAUI'sTextToSpeechpicks the compact one). - Utterances:
Speak(text, options)returns at once; the utterance raisesStarted,Word(each word as the voice reaches it, with the position) andEnded, has aPosition, andCompletedsays how it ended. Utterances play one after another;Stop()andStopAll()end them. - Sound on Apple: the voice plays as spoken audio, so it is heard with the Ring/Silent switch on silent and a podcast pauses while it talks; a session that records (Spine.Voice listening) is left as it is.
- Writing speech down:
ISpineSpeechRecognizer.Start(options)takes PCM16 the app already has (Spine.Voice's echo-cancelled microphone), raisesPartialand answers the words fromFinishAsync;SFSpeechRecognizeron iOS and Mac Catalyst, on the device when it can. - Rendering:
ISpineSpeechRenderer.RenderAsync(text, options)gives the voices' audio as PCM16 instead of playing it, for a voice conversation's own engine (iOS and Mac Catalyst). - Platforms:
AVSpeechSynthesizeron iOS and Mac Catalyst,TextToSpeechon Android (words from Android 8, on engines that report them); some voices report no words at all, so a caption or mouth should not wait onWordalone (SpeechAvatarDriverguesses the words from the text when none come),SpeechSynthesizerthroughMediaPlayeron Windows.
builder.UseSpine(); // registers ISpineSpeech for an app that references this package (UseSpineSpeech() without Spine)
var utterance = speech.Speak("Welcome back", new SpeakOptions { Language = "en-GB", Rate = 1.1f });
utterance.Word += (_, word) => caption.Highlight(word.Start, word.Length);
var reason = await utterance.Completed; // Completed, Stopped or Failed
With Plugin.Maui.Spine.Controls.Avatar, SpeechAvatarDriver makes an avatar speak the text. See Speech.
| Product | Versions 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. |
-
net10.0
- No dependencies.
-
net10.0-android36.0
- Microsoft.Maui.Controls (>= 10.0.50)
-
net10.0-ios26.0
- Microsoft.Maui.Controls (>= 10.0.50)
-
net10.0-maccatalyst26.0
- Microsoft.Maui.Controls (>= 10.0.50)
-
net10.0-windows10.0.19041
- Microsoft.Maui.Controls (>= 10.0.50)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on Plugin.Maui.Spine.Speech:
| Package | Downloads |
|---|---|
|
Plugin.Maui.Spine.Voice
Voice for Spine apps: a full-duplex audio engine with the platform's echo cancellation, PCM16 in and out at a provider's rate, a playback queue that can be flushed when the user talks over the answer, and levels and 24 bands each way for visuals. The base for realtime voice AI, and voice pipelines that let any chat model (Claude) talk: speech-to-text, the chat and text-to-speech, each on the device or the server. |
|
|
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. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.1.37 | 0 | 10/30/2026 |
| 0.1.36 | 72 | 10/27/2026 |
| 0.1.35 | 67 | 10/27/2026 |
| 0.1.34 | 71 | 10/27/2026 |
| 0.1.33 | 59 | 10/27/2026 |
| 0.1.32 | 76 | 10/27/2026 |
| 0.1.31 | 76 | 10/27/2026 |
| 0.1.30 | 74 | 10/27/2026 |
| 0.1.29 | 119 | 10/26/2026 |
| 0.1.28 | 115 | 10/26/2026 |
| 0.1.27 | 116 | 10/26/2026 |
| 0.1.26 | 136 | 10/24/2026 |
| 0.1.25 | 117 | 10/24/2026 |
| 0.1.24 | 133 | 10/23/2026 |
| 0.1.23 | 122 | 10/23/2026 |
| 0.1.22 | 135 | 10/23/2026 |
| 0.1.21 | 135 | 10/23/2026 |
| 0.1.20 | 125 | 10/23/2026 |
| 0.1.19 | 138 | 10/22/2026 |
| 0.1.18 | 136 | 10/21/2026 |