Lyo.Stt
2.0.0
dotnet add package Lyo.Stt --version 2.0.0
NuGet\Install-Package Lyo.Stt -Version 2.0.0
<PackageReference Include="Lyo.Stt" Version="2.0.0" />
<PackageVersion Include="Lyo.Stt" Version="2.0.0" />
<PackageReference Include="Lyo.Stt" />
paket add Lyo.Stt --version 2.0.0
#r "nuget: Lyo.Stt, 2.0.0"
#:package Lyo.Stt@2.0.0
#addin nuget:?package=Lyo.Stt&version=2.0.0
#tool nuget:?package=Lyo.Stt&version=2.0.0
Lyo.Stt
Lyo speech-to-text contract. The package ships ISttService, an abstract SttServiceBase, the request/result/options/event records, and metric name constants. No provider implementations ship in this repository. Applications that need transcription implement SttServiceBase (or any ISttService) and register it themselves.
ISttService
RecognizeAsync(byte[] audioData, LanguageCodeInfo?, AudioFormat?, CancellationToken)RecognizeFromFileAsync(string audioFilePath, LanguageCodeInfo?, CancellationToken). Audio format is inferred from the file extension.RecognizeFromStreamAsync(Stream audioStream, LanguageCodeInfo?, AudioFormat?, CancellationToken)RecognizeAsync(SttRequest request, CancellationToken)RecognizeBulkAsync(IEnumerable<SttRequest>, CancellationToken)TestConnectionAsync(CancellationToken)
SttServiceBase
Abstract ISttService implementation (also IDisposable) that provides the bulk pipeline, concurrency throttling, and metric/event plumbing. Subclasses implement Task<SttResult> RecognizeCoreAsync(SttRequest request, CancellationToken ct) (the provider call) and Task<bool> TestConnectionAsync(CancellationToken ct). The base class raises events Recognizing, Recognized, BulkRecognizing, and BulkRecognized, and applies a SemaphoreSlim sized by SttServiceOptions.BulkSttConcurrencyLimit to throttle bulk work.
SttServiceOptions
Base options (from Lyo.Stt.Models):
| Property | Type | Default | Purpose |
|---|---|---|---|
DefaultLanguageCode |
LanguageCodeInfo? |
null |
Default language for the RecognizeAsync convenience overloads. |
DefaultAudioFormat |
AudioFormat? |
null |
Audio format used when callers leave it unset. |
MaxAudioFileSize |
long |
10 * 1024 * 1024 (10 MiB) |
Advisory upper bound on RecognizeFromFileAsync payloads (enforced by providers). |
EnableMetrics |
bool |
true |
When false, the base substitutes NullMetrics.Instance. |
BulkSttConcurrencyLimit |
int |
10 |
Concurrency cap applied to RecognizeBulkAsync. |
MaxBulkSttLimit |
int |
100 |
Max requests per RecognizeBulkAsync call (throws ArgumentOutsideRangeException when exceeded). |
Metric names (Lyo.Stt.Constants.Metrics)
SttServiceBase records counters/timers under these keys (providers may replace the dictionary):
| Key | Metric | Kind |
|---|---|---|
RecognizeDuration |
stt.recognize.duration |
Timer |
RecognizeSuccess |
stt.recognize.success |
Counter |
RecognizeFailure |
stt.recognize.failure |
Counter |
BulkRecognizeDuration |
stt.bulk.recognize.duration |
Timer |
BulkRecognizeTotal |
stt.bulk.recognize.total |
Counter |
BulkRecognizeSuccess |
stt.bulk.recognize.success |
Counter |
BulkRecognizeFailure |
stt.bulk.recognize.failure |
Counter |
BulkRecognizeLastDurationMs |
stt.bulk.recognize.last_duration_ms |
Gauge |
No in-repo providers
No Lyo.Stt.* provider packages in this solution. Using the contract means writing your own implementation, usually by subclassing SttServiceBase and registering it in DI. A later provider will be listed here.
Supported frameworks
netstandard2.0;net10.0
Dependencies
Generated from ProjectReference / PackageReference (same model as docs/Lyo.ProjectGraph.html).
Lyo.Common.Metadata(direct, lyo)Lyo.Exceptions(direct, lyo)Lyo.Metrics(direct, lyo)Microsoft.Extensions.Logging.Abstractions10.0.5(direct, microsoft)Lyo.Common.Core(transitive, lyo)Microsoft.Bcl.AsyncInterfaces10.0.5(transitive, microsoft, netstandard2.0)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
- Lyo.Common.Metadata (>= 2.0.0)
- Lyo.Exceptions (>= 2.0.0)
- Lyo.Metrics (>= 2.0.0)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.5)
-
net10.0
- Lyo.Common.Metadata (>= 2.0.0)
- Lyo.Exceptions (>= 2.0.0)
- Lyo.Metrics (>= 2.0.0)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.5)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.