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

# Packages

No description provided by the author

# 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祖鲁语南非男性

参考资料