Lyo.Tts.AwsPolly
1.0.11
dotnet add package Lyo.Tts.AwsPolly --version 1.0.11
NuGet\Install-Package Lyo.Tts.AwsPolly -Version 1.0.11
<PackageReference Include="Lyo.Tts.AwsPolly" Version="1.0.11" />
<PackageVersion Include="Lyo.Tts.AwsPolly" Version="1.0.11" />
<PackageReference Include="Lyo.Tts.AwsPolly" />
paket add Lyo.Tts.AwsPolly --version 1.0.11
#r "nuget: Lyo.Tts.AwsPolly, 1.0.11"
#:package Lyo.Tts.AwsPolly@1.0.11
#addin nuget:?package=Lyo.Tts.AwsPolly&version=1.0.11
#tool nuget:?package=Lyo.Tts.AwsPolly&version=1.0.11
Lyo.Tts.AwsPolly
Amazon Polly TTS. AwsPollyTtsService extends TtsServiceBase<AwsPollyTtsRequest> with voice selection, output formats, bulk synthesis, metrics, and DI helpers.
Target frameworks: netstandard2.0, net10.0
Examples
Quick start
using Lyo.Common.Enums;
using Lyo.Common.Records;
using Lyo.Tts.AwsPolly;
var options = new AwsPollyOptions
{
Region = "us-east-1",
DefaultVoiceId = nameof(AwsPollyVoiceId.Joanna),
DefaultLanguageCode = LanguageCodeInfo.EnUs,
DefaultOutputFormat = AudioFormat.Mp3
};
await using var service = new AwsPollyTtsService(options);
var result = await service.SynthesizeAsync("Hello, world!");
if (result.IsSuccess && result.AudioData is { Length: > 0 })
{
await File.WriteAllBytesAsync("out.mp3", result.AudioData);
}
Register with DI
using Lyo.Tts.AwsPolly;
// Configuration-bound registration: registers IAmazonPolly + AwsPollyOptions if missing,
// then registers AwsPollyTtsService, ITtsService<AwsPollyTtsRequest>, AwsPollyTtsAppService, ITtsService.
services.AddAwsPollyTtsServiceFromConfiguration(configuration);
// Or with an inline configurator (also registers AwsPollyTtsAppService + ITtsService):
services.AddAwsPollyTtsService(options =>
{
options.Region = "us-east-1";
options.DefaultVoiceId = nameof(AwsPollyVoiceId.Joanna);
});
// AddAmazonPollyFromConfiguration is also exposed on its own for hosts that want to
// register IAmazonPolly + AwsPollyOptions without the Lyo TTS surface.
services.AddAmazonPollyFromConfiguration(configuration);
Quick start
Prefer IAM roles, environment credentials, or the shared credentials file instead of embedding AccessKeyId / SecretAccessKey.
Dependency injection
AwsPollyTtsService(the singleton implementation, subclass ofTtsServiceBase<AwsPollyTtsRequest>).ITtsService<AwsPollyTtsRequest>resolved from the singleton above.AwsPollyTtsAppServiceconvertsTtsResult<AwsPollyTtsRequest>intoTtsSynthesisResult.ITtsService(non-generic) backed byAwsPollyTtsAppService, so callers that only need the simple contract can resolve it without referencing Polly-specific types.
Behavior notes
| Area | Detail |
|---|---|
| Voices | AwsPollyVoiceId maps to Polly VoiceId values |
| Language | LanguageCode on AwsPollyTtsRequest is primarily for selection; a fixed VoiceId determines spoken language |
| Metrics | Constants.Metrics uses tts.awspolly.* keys (distinct from Lyo.Tts) |
| Adapter | AwsPollyTtsAppService adapts AwsPollyTtsService to ITtsService.SynthesizeAsync(text, voiceId). On failure it returns the first error message. On success it returns audio bytes. |
Dependencies
Generated from ProjectReference / PackageReference (same model as docs/Lyo.ProjectGraph.html).
Lyo.Exceptions(direct, lyo)Lyo.Tts(direct, lyo)AWSSDK.Polly4.0.100.3(direct, third-party)Microsoft.Extensions.Configuration.Binder10.0.5(direct, microsoft)Microsoft.Extensions.Logging.Abstractions10.0.5(direct, microsoft)Microsoft.Extensions.Options10.0.5(direct, microsoft)Lyo.Common(transitive, lyo)Lyo.Metrics(transitive, lyo)Lyo.Result(transitive, lyo)Lyo.Tts.Models(transitive, lyo)Microsoft.Extensions.DependencyInjection.Abstractions10.0.5(transitive, microsoft)Microsoft.Extensions.Options.ConfigurationExtensions10.0.5(transitive, microsoft)System.Memory4.6.3(transitive, microsoft, netstandard2.0)System.Text.Json10.0.5(transitive, microsoft, netstandard2.0)
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. 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 was computed. 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 is compatible. 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. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- AWSSDK.Polly (>= 4.0.100.3)
- Lyo.Exceptions (>= 1.0.11)
- Lyo.Tts (>= 1.0.11)
- Microsoft.Extensions.Configuration.Binder (>= 10.0.5)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.5)
- Microsoft.Extensions.Options (>= 10.0.5)
-
net10.0
- AWSSDK.Polly (>= 4.0.100.3)
- Lyo.Exceptions (>= 1.0.11)
- Lyo.Tts (>= 1.0.11)
- Microsoft.Extensions.Configuration.Binder (>= 10.0.5)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.5)
- Microsoft.Extensions.Options (>= 10.0.5)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Lyo.Tts.AwsPolly:
| Package | Downloads |
|---|---|
|
Lyo.Tts.AwsPolly.Web.Components
Reusable Blazor components for AWS Polly text to speech experiences. |
GitHub repositories
This package is not used by any popular GitHub repositories.