Edge_tts_sharp/Edge_tts_sharp/Edge_tts.cs at main · Entity-Now/Edge_tts_sharp · GitHub
说明:不支持.net framework,支持.net8
Edge_tts_sharp
Edge_tts_sharp,是一个免费的C#库,调用Microsoft Edge Text to Speech接口生成音频。
install
NuGet\Install-Package Edge_tts_sharp
方法
全局对象
参数 | 说明 |
---|---|
Edge_tts.Debug | 调试模式,为true则显示日志 |
Edge_tts.Await | 同步模式,为true会等待函数执行完毕 |
Invoke/PlayText/SaveAudio方法
参数 | 说明 |
---|---|
PlayOption | 参数配置 |
eVoice | 音源 |
Action<List> | 回调函数,参数是一个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 = Edge_tts.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 = Edge_tts.GetVoice().First(); Edge_tts.PlayText(option, voice); }
保存到本地
// 保存音频 static void SaveAudio() { PlayOption option = new PlayOption { Rate = 0, Text = "Hello EdgeTTs", SavePath = "C:\\audio" }; // 获取xiaoxiao语音包 var voice = Edge_tts.GetVoice().FirstOrDefault(i => i.Name == "Microsoft Server Speech Text to Speech Voice (zh-CN, XiaoxiaoNeural)"); Edge_tts.SaveAudio(option, voice); }
自定义操作
// 自定义接口使用 static void MyFunc(string msg, eVoice voice) { PlayOption option = new PlayOption { Rate = 0, Text = msg, }; Edge_tts.Invoke(option, voice, libaray => { // 写入自己的操作 // ... } ); }
获取音频列表
using Edge_tts_sharp; var voices = Edge_tts.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 | 中国(陕西) |