EdgeTtsSharp 2.0.4

dotnet add package EdgeTtsSharp --version 2.0.4                
NuGet\Install-Package EdgeTtsSharp -Version 2.0.4                
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="EdgeTtsSharp" Version="2.0.4" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add EdgeTtsSharp --version 2.0.4                
#r "nuget: EdgeTtsSharp, 2.0.4"                
#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.
// Install EdgeTtsSharp as a Cake Addin
#addin nuget:?package=EdgeTtsSharp&version=2.0.4

// Install EdgeTtsSharp as a Cake Tool
#tool nuget:?package=EdgeTtsSharp&version=2.0.4                

EdgeTTS Sharp

Overview

EdgeTTS Sharp is a .NET Standard 2.1 library that provides an easy-to-use interface for text-to-speech (TTS) synthesis using Microsoft's Edge voices. It is designed to work across different systems and environments, offering flexible ways to handle audio streams. Whether you need real-time streaming, file saving, or direct playback, EdgeTTS Sharp makes it simple to integrate high-quality TTS into your applications.

Key Features

Real-time audio streaming – Start playback immediately as the first audio packet arrives.
Save to file – Store generated speech as an audio file while streaming.
Stream to third-party services – Send audio directly to a network stream (e.g., HTTP response).
Cross-platform support – Works on any system supporting .NET Standard 2.1.
Windows-specific playback support – Utilize NAudio for local playback on Windows.


EdgeTtsSharp

EdgeTts.GetAudioStream

Returns a stream that starts playing immediately once the first audio packet arrives.

var voice = await EdgeTts.GetVoice("en-US-ChristopherNeural");
await using var stream = voice.GetAudioStream("test");

// use the stream here

EdgeTts.SaveAudioToFile

Uses GetAudioStream internally and redirects the stream to a file. The saving process starts immediately when the first packet arrives.

var voice = await EdgeTts.GetVoice("en-US-ChristopherNeural");
await voice.SaveAudioToFile("test", @"d:\test\test1.mp3");

EdgeTts.StreamText

Streams audio directly to a specified output stream, such as an HTTP response body. If HTTP headers are set correctly, browsers can start playback before the download finishes, showing the progress indicator as the audio loads.

[HttpGet("api/audio/{id}")]
[Produces("audio/mpeg")]
[ResponseCache(NoStore = true, Location = ResponseCacheLocation.None)]

...

var voice = await EdgeTts.GetVoice("en-US-ChristopherNeural");

// stream audio directly to HttpResponse as it's being downloaded
await voice.StreamText(this.Response.Body, "test");

EdgeTts.GetVoices

Provides an offline lookup of all available voices from Edge_tts_sharp. If the list is outdated, feel free to report it.

EdgeTts.GetVoice

Retrieves a specific voice using its short name (e.g., "en-US-ChristopherNeural").


EdgeTtsSharp.NAudio (Windows-Specific)

This module is for Windows users who want local playback using NAudio. However, due to NAudio's limitations, it requires downloading the entire stream before playback begins.

EdgeTtsWindowsPlayback.PlayText

var voice = await EdgeTts.GetVoice("en-US-ChristopherNeural");
await voice.PlayText("test");

License

EdgeTtsSharp is licensed under the MIT License.

The configuration file containing the list of available voices was taken from Entity-Now/Edge_tts_sharp, and the authentication method is also inspired by that project.

Product 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. 
.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 is compatible. 
.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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on EdgeTtsSharp:

Package Downloads
EdgeTtsSharp.NAudio

Library for interfacing with Microsoft EdgeTTS service inspired by Entity-Now/Edge_tts_sharp. This extension can interface with NAudio library to play audio directly on Windows machines.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
2.0.4 159 2/17/2025