Categorygithub.com/wychl/edgetts
modulepackage
0.0.0-20240506100246-10d5af1b0618
Repository: https://github.com/wychl/edgetts.git
Documentation: pkg.go.dev

# README

edgetts

基于微软的 Azure Cognitive Services来实现文本到语音转换(TTS)。该库提供了一个简单的API,可以将文本转换为语音,并且支持多种语言和声音。

使用

命令行

go install github.com/wychl/edgetts/cmd@latest


#支持的语音模型
edgetts voice
edgetts voice --local zh-CN
edgetts voice --gender Male

#文本生成语音
edgetts speech--text "这是个测试" --voice "zh-CN-YunxiaNeural"

支持的语音模型

package main

import(
	"fmt"
	"log"

	"github.com/wychl/edgetts"
)

funcmain(){
	cli:=edgetts.New(nil)
	data,err:=cli.GetVoice()
	if err!=nil{
		log.Fatal(err)
	}
	fmt.Printf("%+v",data)
}

文本生成语音

package main

import(
	"log"
	"os"

	"github.com/wychl/edgetts"
)

func main(){
	cli:=edgetts.New(nil)
	data,err:=cli.TTS("这是个测试","zh-CN-YunxiaNeural")
	if err!=nil{
		log.Fatal(err)
	}
	WriteToFile("test.mp3",data)
}

func WriteToFile(filestring,data[]byte)error{
	f,err:=os.OpenFile(file,os.O_CREATE|os.O_TRUNC|os.O_WRONLY,os.ModePerm)
	if err!=nil{
		return err
	}
	_,err=f.Write(data)
	return err
}

音速/音调/音量/

  • rate音速

开发环境

  • golangci-lintlint工具
  • gofumpt格式化工具
#安装lint工具
go install github.com/golangci/golangci-lint/cmd/[email protected]
#安装格式化工具
go install mvdan.cc/[email protected]
#配置hook
git config core.hookspath.githooks

EdgeTTS语音模型

名称语言地区性别
af-ZA-AdriNeural阿非利卡语南非女性
af-ZA-WillemNeural阿非利卡语南非男性
am-ET-AmehaNeural阿姆哈拉语埃塞俄比亚男性
am-ET-MekdesNeural阿姆哈拉语埃塞俄比亚女性
ar-AE-FatimaNeural阿拉伯语阿联酋女性
ar-AE-HamdanNeural阿拉伯语阿联酋男性
ar-BH-AliNeural阿拉伯语巴林男性
ar-BH-LailaNeural阿拉伯语巴林女性
ar-DZ-AminaNeural阿拉伯语阿尔及利亚女性
ar-DZ-IsmaelNeural阿拉伯语阿尔及利亚男性
ar-EG-SalmaNeural阿拉伯语埃及女性
ar-EG-ShakirNeural阿拉伯语埃及男性
ar-IQ-BasselNeural阿拉伯语伊拉克男性
ar-IQ-RanaNeural阿拉伯语伊拉克女性
ar-JO-SanaNeural阿拉伯语约旦女性
ar-JO-TaimNeural阿拉伯语约旦男性
ar-KW-FahedNeural阿拉伯语科威特男性
ar-KW-NouraNeural阿拉伯语科威特女性
ar-LB-LaylaNeural阿拉伯语黎巴嫩女性
ar-LB-RamiNeural阿拉伯语黎巴嫩男性
ar-LY-ImanNeural阿拉伯语利比亚女性
ar-LY-OmarNeural阿拉伯语利比亚男性
ar-MA-JamalNeural阿拉伯语摩洛哥男性
ar-MA-MounaNeural阿拉伯语摩洛哥女性
ar-OM-AbdullahNeural阿拉伯语阿曼男性
ar-OM-AyshaNeural阿拉伯语阿曼女性
ar-QA-AmalNeural阿拉伯语卡塔尔女性
ar-QA-MoazNeural阿拉伯语卡塔尔男性
ar-SA-HamedNeural阿拉伯语沙特阿拉伯男性
ar-SA-ZariyahNeural阿拉伯语沙特阿拉伯女性
ar-SY-AmanyNeural阿拉伯语叙利亚女性
ar-SY-LaithNeural阿拉伯语叙利亚男性
ar-TN-HediNeural阿拉伯语突尼斯男性
ar-TN-ReemNeural阿拉伯语突尼斯女性
ar-YE-MaryamNeural阿拉伯语也门女性
ar-YE-SalehNeural阿拉伯语也门男性
az-AZ-BabekNeural阿塞拜疆语阿塞拜疆男性
az-AZ-BanuNeural阿塞拜疆语阿塞拜疆女性
bg-BG-BorislavNeural保加利亚语保加利亚男性
bg-BG-KalinaNeural保加利亚语保加利亚女性
bn-BD-NabanitaNeural孟加拉语孟加拉国女性
bn-BD-PradeepNeural孟加拉语孟加拉国男性
bn-IN-BashkarNeural孟加拉语印度男性
bn-IN-TanishaaNeural孟加拉语印度女性
bs-BA-GoranNeural波斯尼亚语波斯尼亚和黑塞哥维那男性
bs-BA-VesnaNeural波斯尼亚语波斯尼亚和黑塞哥维那女性
ca-ES-EnricNeural加泰罗尼亚语西班牙男性
ca-ES-JoanaNeural加泰罗尼亚语西班牙女性
cs-CZ-AntoninNeural捷克语捷克共和国男性
cs-CZ-VlastaNeural捷克语捷克共和国女性
cy-GB-AledNeural威尔士语英国男性
cy-GB-NiaNeural威尔士语英国女性
da-DK-ChristelNeural丹麦语丹麦女性
da-DK-JeppeNeural丹麦语丹麦男性
de-AT-IngridNeural德语奥地利女性
de-AT-JonasNeural德语奥地利男性
de-CH-JanNeural德语瑞士男性
de-CH-LeniNeural德语瑞士女性
de-DE-AmalaNeural德语德国女性
de-DE-ConradNeural德语德国男性
de-DE-FlorianMultilingualNeural德语德国男性
de-DE-KatjaNeural德语德国女性
de-DE-KillianNeural德语德国男性
de-DE-SeraphinaMultilingualNeural德语德国女性
el-GR-AthinaNeural希腊语希腊女性
el-GR-NestorasNeural希腊语希腊男性
en-AU-NatashaNeural英语澳大利亚女性
en-AU-WilliamNeural英语澳大利亚男性
en-CA-ClaraNeural英语加拿大女性
en-CA-LiamNeural英语加拿大男性
en-GB-LibbyNeural英语英式英语英国女性
en-GB-MaisieNeural英语英式英语英国女性
en-GB-RyanNeural英语英式英语英国男性
en-GB-SoniaNeural英语英式英语英国女性
en-GB-ThomasNeural英语英式英语英国男性
en-HK-SamNeural英语港式英语香港男性
en-HK-YanNeural英语港式英语香港女性
en-IE-ConnorNeural英语爱尔兰男性
en-IE-EmilyNeural英语爱尔兰女性
en-IN-NeerjaExpressiveNeural英语印度女性
en-IN-NeerjaNeural英语印度女性
en-IN-PrabhatNeural英语印度男性
en-KE-AsiliaNeural英语肯尼亚女性
en-KE-ChilembaNeural英语肯尼亚男性
en-NG-AbeoNeural英语尼日利亚男性
en-NG-EzinneNeural英语尼日利亚女性
en-NZ-MitchellNeural英语新西兰男性
en-NZ-MollyNeural英语新西兰女性
en-PH-JamesNeural英语菲律宾男性
en-PH-RosaNeural英语菲律宾女性
en-SG-LunaNeural英语新加坡女性
en-SG-WayneNeural英语新加坡男性
en-TZ-ElimuNeural英语坦桑尼亚男性
en-TZ-ImaniNeural英语坦桑尼亚女性
en-US-AnaNeural英语美式英语美国女性
en-US-AndrewNeural英语美式英语美国男性
en-US-AriaNeural英语美式英语美国女性
en-US-AvaNeural英语美式英语美国女性
en-US-BrianNeural英语美式英语美国男性
en-US-ChristopherNeural英语美式英语美国男性
en-US-EmmaNeural英语美式英语美国女性
en-US-EricNeural英语美式英语美国男性
en-US-GuyNeural英语美式英语美国男性
en-US-JennyNeural英语美式英语美国女性
en-US-MichelleNeural英语美式英语美国女性
en-US-RogerNeural英语美式英语美国男性
en-US-SteffanNeural英语美式英语美国男性
en-ZA-LeahNeural英语南非女性
en-ZA-LukeNeural英语南非男性
es-AR-ElenaNeural西班牙语阿根廷女性
es-AR-TomasNeural西班牙语阿根廷男性
es-BO-MarceloNeural西班牙语玻利维亚男性
es-BO-SofiaNeural西班牙语玻利维亚女性
es-CL-CatalinaNeural西班牙语智利女性
es-CL-LorenzoNeural西班牙语智利男性
es-CO-GonzaloNeural西班牙语哥伦比亚男性
es-CO-SalomeNeural西班牙语哥伦比亚女性
es-CR-JuanNeural西班牙语哥斯达黎加男性
es-CR-MariaNeural西班牙语哥斯达黎加女性
es-CU-BelkysNeural西班牙语古巴女性
es-CU-ManuelNeural西班牙语古巴男性
es-DO-EmilioNeural西班牙语多米尼加共和国男性
es-DO-RamonaNeural西班牙语多米尼加共和国女性
es-EC-AndreaNeural西班牙语厄瓜多尔女性
es-EC-LuisNeural西班牙语厄瓜多尔男性
es-ES-AlvaroNeural西班牙语西班牙男性
es-ES-ElviraNeural西班牙语西班牙女性
es-ES-XimenaNeural西班牙语西班牙女性
es-GQ-JavierNeural西班牙语赤道几内亚男性
es-GQ-TeresaNeural西班牙语赤道几内亚女性
es-GT-AndresNeural西班牙语危地马拉男性
es-GT-MartaNeural西班牙语危地马拉女性
es-HN-CarlosNeural西班牙语洪都拉斯男性
es-HN-KarlaNeural西班牙语洪都拉斯女性
es-MX-DaliaNeural西班牙语墨西哥女性
es-MX-JorgeNeural西班牙语墨西哥男性
es-NI-FedericoNeural西班牙语尼加拉瓜男性
es-NI-YolandaNeural西班牙语尼加拉瓜女性
es-PA-MargaritaNeural西班牙语巴拿马女性
es-PA-RobertoNeural西班牙语巴拿马男性
es-PE-AlexNeural西班牙语秘鲁男性
es-PE-CamilaNeural西班牙语秘鲁女性
es-PR-KarinaNeural西班牙语波多黎各女性
es-PR-VictorNeural西班牙语波多黎各男性
es-PY-MarioNeural西班牙语巴拉圭男性
es-PY-TaniaNeural西班牙语巴拉圭女性
es-SV-LorenaNeural西班牙语萨尔瓦多女性
es-SV-RodrigoNeural西班牙语萨尔瓦多男性
es-US-AlonsoNeural西班牙语美国男性
es-US-PalomaNeural西班牙语美国女性
es-UY-MateoNeural西班牙语乌拉圭男性
es-UY-ValentinaNeural西班牙语乌拉圭女性
es-VE-PaolaNeural西班牙语委内瑞拉女性
es-VE-SebastianNeural西班牙语委内瑞拉男性
et-EE-AnuNeural爱沙尼亚语爱沙尼亚女性
et-EE-KertNeural爱沙尼亚语爱沙尼亚男性
fa-IR-DilaraNeural波斯语伊朗女性
fa-IR-FaridNeural波斯语伊朗男性
fi-FI-HarriNeural芬兰语芬兰男性
fi-FI-NooraNeural芬兰语芬兰女性
fil-PH-AngeloNeural菲律宾语菲律宾男性
fil-PH-BlessicaNeural菲律宾语菲律宾女性
fr-BE-CharlineNeural法语比利时(瓦隆语区)女性
fr-BE-GerardNeural法语比利时(瓦隆语区)男性
fr-CA-AntoineNeural法语加拿大(魁北克)男性
fr-CA-JeanNeural法语加拿大(魁北克)男性
fr-CA-SylvieNeural法语加拿大(魁北克)女性
fr-CA-ThierryNeural法语加拿大(魁北克)男性
fr-CH-ArianeNeural法语瑞士女性
fr-CH-FabriceNeural法语瑞士男性
fr-FR-DeniseNeural法语法国女性
fr-FR-EloiseNeural法语法国女性
fr-FR-HenriNeural法语法国男性
fr-FR-RemyMultilingualNeural法语法国男性
fr-FR-VivienneMultilingualNeural法语法国女性
ga-IE-ColmNeural爱尔兰语爱尔兰男性
ga-IE-OrlaNeural爱尔兰语爱尔兰女性
gl-ES-RoiNeural加利西亚语加利西亚男性
gl-ES-SabelaNeural加利西亚语加利西亚女性
gu-IN-DhwaniNeural古吉拉特语印度女性
gu-IN-NiranjanNeural古吉拉特语印度男性
he-IL-AvriNeural希伯来语以色列男性
he-IL-HilaNeural希伯来语以色列女性
hi-IN-MadhurNeural印地语印度男性
hi-IN-SwaraNeural印地语印度女性
hr-HR-GabrijelaNeural克罗地亚语克罗地亚女性
hr-HR-SreckoNeural克罗地亚语克罗地亚男性
hu-HU-NoemiNeural匈牙利语匈牙利女性
hu-HU-TamasNeural匈牙利语匈牙利男性
id-ID-ArdiNeural印尼语印度尼西亚男性
id-ID-GadisNeural印尼语印度尼西亚女性
is-IS-GudrunNeural冰岛语冰岛女性
is-IS-GunnarNeural冰岛语冰岛男性
it-IT-DiegoNeural意大利语意大利男性
it-IT-ElsaNeural意大利语意大利女性
it-IT-GiuseppeNeural意大利语意大利男性
it-IT-IsabellaNeural意大利语意大利女性
ja-JP-KeitaNeural日语日语日本男性
ja-JP-NanamiNeural日语日语日本女性
jv-ID-DimasNeural爪哇语印度尼西亚男性
jv-ID-SitiNeural爪哇语印度尼西亚女性
ka-GE-EkaNeural格鲁吉亚语格鲁吉亚女性
ka-GE-GiorgiNeural格鲁吉亚语格鲁吉亚男性
kk-KZ-AigulNeural哈萨克语哈萨克斯坦女性
kk-KZ-DauletNeural哈萨克语哈萨克斯坦男性
km-KH-PisethNeural柬埔寨语柬埔寨男性
km-KH-SreymomNeural柬埔寨语柬埔寨女性
kn-IN-GaganNeural卡纳达语印度男性
kn-IN-SapnaNeural卡纳达语印度女性
ko-KR-HyunsuNeural韩语韩语韩国男性
ko-KR-InJoonNeural韩语韩语韩国男性
ko-KR-SunHiNeural韩语韩语韩国女性
lo-LA-ChanthavongNeural老挝语老挝男性
lo-LA-KeomanyNeural老挝语老挝女性
lt-LT-LeonasNeural立陶宛语立陶宛男性
lt-LT-OnaNeural立陶宛语立陶宛女性
lv-LV-EveritaNeural拉脱维亚语拉脱维亚女性
lv-LV-NilsNeural拉脱维亚语拉脱维亚男性
mk-MK-AleksandarNeural马其顿语北马其顿男性
mk-MK-MarijaNeural马其顿语北马其顿女性
ml-IN-MidhunNeural马拉雅拉姆语印度男性
ml-IN-SobhanaNeural马拉雅拉姆语印度女性
mn-MN-BataaNeural蒙古语蒙古男性
mn-MN-YesuiNeural蒙古语蒙古女性
mr-IN-AarohiNeural马拉地语印度女性
mr-IN-ManoharNeural马拉地语印度男性
ms-MY-OsmanNeural马来语马来西亚男性
ms-MY-YasminNeural马来语马来西亚女性
mt-MT-GraceNeural马耳他语马耳他女性
mt-MT-JosephNeural马耳他语马耳他男性
my-MM-NilarNeural缅甸语缅甸女性
my-MM-ThihaNeural缅甸语缅甸男性
nb-NO-FinnNeural挪威语(书面)挪威男性
nb-NO-PernilleNeural挪威语(书面)挪威女性
ne-NP-HemkalaNeural尼泊尔语尼泊尔女性
ne-NP-SagarNeural尼泊尔语尼泊尔男性
nl-BE-ArnaudNeural荷兰语比利时(弗拉芒语区)男性
nl-BE-DenaNeural荷兰语比利时(弗拉芒语区)女性
nl-NL-ColetteNeural荷兰语荷兰女性
nl-NL-FennaNeural荷兰语荷兰女性
nl-NL-MaartenNeural荷兰语荷兰男性
pl-PL-MarekNeural波兰语波兰男性
pl-PL-ZofiaNeural波兰语波兰女性
ps-AF-GulNawazNeural普什图语阿富汗男性
ps-AF-LatifaNeural普什图语阿富汗女性
pt-BR-AntonioNeural葡萄牙语巴西男性
pt-BR-FranciscaNeural葡萄牙语巴西女性
pt-BR-ThalitaNeural葡萄牙语巴西女性
pt-PT-DuarteNeural葡萄牙语葡萄牙男性
pt-PT-RaquelNeural葡萄牙语葡萄牙女性
ro-RO-AlinaNeural罗马尼亚语罗马尼亚女性
ro-RO-EmilNeural罗马尼亚语罗马尼亚男性
ru-RU-DmitryNeural俄语俄罗斯男性
ru-RU-SvetlanaNeural俄语俄罗斯女性
si-LK-SameeraNeural辛哈拉语斯里兰卡男性
si-LK-ThiliniNeural辛哈拉语斯里兰卡女性
sk-SK-LukasNeural斯洛伐克语斯洛伐克男性
sk-SK-ViktoriaNeural斯洛伐克语斯洛伐克女性
sl-SI-PetraNeural斯洛文尼亚语斯洛文尼亚女性
sl-SI-RokNeural斯洛文尼亚语斯洛文尼亚男性
so-SO-MuuseNeural索马里语索马里男性
so-SO-UbaxNeural索马里语索马里女性
sq-AL-AnilaNeural阿尔巴尼亚语阿尔巴尼亚女性
sq-AL-IlirNeural阿尔巴尼亚语阿尔巴尼亚男性
sr-RS-NicholasNeural塞尔维亚语塞尔维亚男性
sr-RS-SophieNeural塞尔维亚语塞尔维亚女性
su-ID-JajangNeural巽他语印度尼西亚男性
su-ID-TutiNeural巽他语印度尼西亚女性
sv-SE-MattiasNeural瑞典语瑞典男性
sv-SE-SofieNeural瑞典语瑞典女性
sw-KE-RafikiNeural斯瓦希里语肯尼亚男性
sw-KE-ZuriNeural斯瓦希里语肯尼亚女性
sw-TZ-DaudiNeural斯瓦希里语坦桑尼亚男性
sw-TZ-RehemaNeural斯瓦希里语坦桑尼亚女性
ta-IN-PallaviNeural泰米尔语印度女性
ta-IN-ValluvarNeural泰米尔语印度男性
ta-LK-KumarNeural泰米尔语斯里兰卡男性
ta-LK-SaranyaNeural泰米尔语斯里兰卡女性
ta-MY-KaniNeural泰米尔语马来西亚女性
ta-MY-SuryaNeural泰米尔语马来西亚男性
ta-SG-AnbuNeural泰米尔语新加坡男性
ta-SG-VenbaNeural泰米尔语新加坡女性
te-IN-MohanNeural泰卢固语印度男性
te-IN-ShrutiNeural泰卢固语印度女性
th-TH-NiwatNeural泰语泰国男性
th-TH-PremwadeeNeural泰语泰国女性
tr-TR-AhmetNeural土耳其语土耳其男性
tr-TR-EmelNeural土耳其语土耳其女性
uk-UA-OstapNeural乌克兰语乌克兰男性
uk-UA-PolinaNeural乌克兰语乌克兰女性
ur-IN-GulNeural乌尔都语印度女性
ur-IN-SalmanNeural乌尔都语印度男性
ur-PK-AsadNeural乌尔都语巴基斯坦男性
ur-PK-UzmaNeural乌尔都语巴基斯坦女性
uz-UZ-MadinaNeural乌兹别克语乌兹别克斯坦女性
uz-UZ-SardorNeural乌兹别克语乌兹别克斯坦男性
vi-VN-HoaiMyNeural越南语越南女性
vi-VN-NamMinhNeural越南语越南男性
zh-CN-XiaoxiaoNeural汉语(简体中文)普通话中国女性
zh-CN-XiaoyiNeural汉语(简体中文)普通话中国女性
zh-CN-YunjianNeural汉语(简体中文)普通话中国男性
zh-CN-YunxiNeural汉语(简体中文)普通话中国男性
zh-CN-YunxiaNeural汉语(简体中文)普通话中国男性
zh-CN-YunyangNeural汉语(简体中文)普通话中国男性
zh-CN-liaoning汉语(简体中文)辽宁方言中国女性
zh-CN-shaanxi汉语(简体中文)陕西方言中国女性
zh-HK-HiuGaaiNeural汉语(繁体中文)粤语香港女性
zh-HK-HiuMaanNeural汉语(繁体中文)粤语香港女性
zh-HK-WanLungNeural汉语(繁体中文)粤语香港男性
zh-TW-HsiaoChenNeural汉语(繁体中文)台湾女性
zh-TW-HsiaoYuNeural汉语(繁体中文)台湾女性
zh-TW-YunJheNeural汉语(繁体中文)台湾男性
zu-ZA-ThandoNeural祖鲁语南非女性
zu-ZA-ThembaNeural祖鲁语南非男性

参考资料

# Packages

No description provided by the author

# Functions

No description provided by the author
No description provided by the author
WithPitch sets the pitch for speech.
WithRate sets the rate for speech.
WithReceiveTimeout sets the receive timeout for speech.
WithVolume sets the volume for speech.

# Variables

ErrTTSTextEmpty tts text empty.
ErrTTSVoiceEmpty tts voice empty.

# Structs

No description provided by the author
No description provided by the author
Speech is a struct representing speech with the service.
Voice 声音.
No description provided by the author

# Type aliases

No description provided by the author