EdgeTTS.Net
1.1.2.1
.NET 6.0
This package targets .NET 6.0. The package is compatible with this framework or higher.
.NET Framework 4.7.2
This package targets .NET Framework 4.7.2. The package is compatible with this framework or higher.
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package EdgeTTS.Net --version 1.1.2.1
NuGet\Install-Package EdgeTTS.Net -Version 1.1.2.1
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="EdgeTTS.Net" Version="1.1.2.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add EdgeTTS.Net --version 1.1.2.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: EdgeTTS.Net, 1.1.2.1"
#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 EdgeTTS.Net as a Cake Addin #addin nuget:?package=EdgeTTS.Net&version=1.1.2.1 // Install EdgeTTS.Net as a Cake Tool #tool nuget:?package=EdgeTTS.Net&version=1.1.2.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
EdgeTTS.Net
EdgeTTS.Net,是一个免费的C#库,调用Microsoft Edge Text to Speech接口生成音频。
Describes
Fork 自 https://github.com/STBBRD/EdgeTTS_dotNET_Framework
install
NuGet\Install-Package EdgeTTS.Net
方法
全局对象
参数 | 说明 |
---|---|
EdgeTts.Debug | 调试模式,为true则显示日志 |
EdgeTts.Await | 同步模式,为true会等待函数执行完毕 |
Invoke/PlayText/SaveAudio方法
参数 | 说明 |
---|---|
PlayOption | 参数配置 |
Voice | 音源 |
Action<List<callback>>? | 回调函数,参数是一个binary数组 |
InvokeAsync/PlayTextAsync/SaveAudioAsync方法
参数 | 说明 |
---|---|
PlayOption | 参数配置 |
Voice | 音源 |
Func<List<byte>, Task>>? | 回调函数,参数是一个binary数组 |
PlayOption对象
名称 | 说明 |
---|---|
Text | 播放的文本 |
Rate | 播放速度,是一个-100至+100的数值 |
Volume | 音量,是一个0-1的浮点数值 |
SavePath | 音频保存路径,为空不保存 |
获取一个Player对象
PlayerAudio对象,支持对音频进行简单的控制,例如:开始、暂停、继续播放、停止播放等。
// 获取一个PlayerAudio对象
static void getPlayer(string msg, eVoice voice)
{
PlayOption option = new PlayOption
{
Rate = 0,
Text = msg,
};
var player = EdgeTts.GetPlayer(option, voice);
Console.WriteLine("开始播放");
player.PlayAsync();
Thread.Sleep(3000);
Console.WriteLine("暂停播放");
player.Pause();
Thread.Sleep(3000);
Console.WriteLine("继续播放");
player.PlayAsync();
Thread.Sleep(5000);
player.Stop();
Console.WriteLine("结束播放");
}
文字转语言
// 文本转语音
static void TextToAudio()
{
PlayOption option = new PlayOption
{
Rate = 0,
Text = "Hello EdgeTTs",
};
var voice = EdgeTts.GetVoice().First();
EdgeTts.PlayText(option, voice);
}
保存到本地
// 保存音频
static void SaveAudio()
{
PlayOption option = new PlayOption
{
Rate = 0,
Text = "Hello EdgeTTs",
SavePath = "C:\\audio"
};
// 获取xiaoxiao语音包
var voice = EdgeTts.GetVoice().FirstOrDefault(i => i.Name == "Microsoft Server Speech Text to Speech Voice (zh-CN, XiaoxiaoNeural)");
EdgeTts.SaveAudio(option, voice);
}
自定义操作
// 自定义接口使用
static void MyFunc(string msg, eVoice voice)
{
PlayOption option = new PlayOption
{
Rate = 0,
Text = msg,
};
EdgeTts.Invoke(option, voice, libaray =>
{
// 写入自己的操作
// ...
} );
}
获取音频列表
using EdgeTTS.Net;
var voices = EdgeTts.GetVoice();
foreach(var item in voices){
Console.WriteLine($"voice name is{item.Name}, locale(语言) is {item.Locale}, SuggestedCodec(音频类型) is {item.SuggestedCodec}");
}
汉语语音包有:
ShortName | Locale | 地区 |
---|---|---|
zh-HK-HiuGaaiNeural | zh-HK | 香港 |
zh-HK-HiuMaanNeural | zh-HK | 香港 |
zh-HK-WanLungNeural | zh-HK | 香港 |
zh-CN-XiaoxiaoNeural | zh-CN | 中国(大陆) |
zh-CN-XiaoyiNeural | zh-CN | 中国(大陆) |
zh-CN-YunjianNeural | zh-CN | 中国(大陆) |
zh-CN-YunxiNeural | zh-CN | 中国(大陆) |
zh-CN-YunxiaNeural | zh-CN | 中国(大陆) |
zh-CN-YunyangNeural | zh-CN | 中国(大陆) |
zh-CN-liaoning-XiaobeiNeural | zh-CN-liaoning | 中国(辽宁) |
zh-TW-HsiaoChenNeural | zh-TW | 台湾 |
zh-TW-YunJheNeural | zh-TW | 台湾 |
zh-TW-HsiaoYuNeural | zh-TW | 台湾 |
zh-CN-shaanxi-XiaoniNeural | zh-CN-shaanxi | 中国(陕西) |
更新内容
- 2024.10.30
- 更新调用接口的方式
- 添加异步方法
- 支持
net8.0-windows;net7.0-windows;net6.0-windows;net481;net472
- 2023.10.28
- 第一次上传。
- 2023.10.30
- 更新调用接口的方式
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0-windows7.0 is compatible. net7.0-windows was computed. net7.0-windows7.0 is compatible. net8.0-windows was computed. net8.0-windows7.0 is compatible. |
.NET Framework | net472 is compatible. net48 was computed. net481 is compatible. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
.NETFramework 4.7.2
- NAudio (>= 2.2.1)
- Newtonsoft.Json (>= 13.0.3)
- System.Net.Http (>= 4.3.4)
- WebSocketSharp-netstandard (>= 1.0.1)
-
.NETFramework 4.8.1
- NAudio (>= 2.2.1)
- Newtonsoft.Json (>= 13.0.3)
- System.Net.Http (>= 4.3.4)
- WebSocketSharp-netstandard (>= 1.0.1)
-
net6.0-windows7.0
- NAudio (>= 2.2.1)
- Newtonsoft.Json (>= 13.0.3)
- System.Net.Http (>= 4.3.4)
- WebSocketSharp-netstandard (>= 1.0.1)
-
net7.0-windows7.0
- NAudio (>= 2.2.1)
- Newtonsoft.Json (>= 13.0.3)
- System.Net.Http (>= 4.3.4)
- WebSocketSharp-netstandard (>= 1.0.1)
-
net8.0-windows7.0
- NAudio (>= 2.2.1)
- Newtonsoft.Json (>= 13.0.3)
- System.Net.Http (>= 4.3.4)
- WebSocketSharp-netstandard (>= 1.0.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.