feat: 重构项目以符合 Go 规范,添加 OpenAI 接口适配,优化长文本朗读功能(切割后合并)
This commit is contained in:
45
internal/tts/microsoft/models.go
Normal file
45
internal/tts/microsoft/models.go
Normal file
@@ -0,0 +1,45 @@
|
||||
package microsoft
|
||||
|
||||
// MicrosoftVoice 表示Microsoft TTS服务中的一个语音
|
||||
type MicrosoftVoice struct {
|
||||
Name string `json:"Name"`
|
||||
DisplayName string `json:"DisplayName"`
|
||||
LocalName string `json:"LocalName"`
|
||||
ShortName string `json:"ShortName"`
|
||||
Gender string `json:"Gender"`
|
||||
Locale string `json:"Locale"`
|
||||
LocaleName string `json:"LocaleName"`
|
||||
StyleList []string `json:"StyleList,omitempty"`
|
||||
SampleRateHertz string `json:"SampleRateHertz"`
|
||||
VoiceType string `json:"VoiceType"`
|
||||
Status string `json:"Status"`
|
||||
}
|
||||
|
||||
// SSMLRequest 表示发送给Microsoft TTS服务的SSML请求
|
||||
type SSMLRequest struct {
|
||||
XMLHeader string
|
||||
Voice string
|
||||
Language string
|
||||
Rate string
|
||||
Pitch string
|
||||
Text string
|
||||
}
|
||||
|
||||
// FormatContentTypeMap 定义音频格式到MIME类型的映射
|
||||
var FormatContentTypeMap = map[string]string{
|
||||
"raw-16khz-16bit-mono-pcm": "audio/pcm",
|
||||
"raw-8khz-8bit-mono-mulaw": "audio/basic",
|
||||
"riff-8khz-8bit-mono-alaw": "audio/alaw",
|
||||
"riff-8khz-8bit-mono-mulaw": "audio/mulaw",
|
||||
"riff-16khz-16bit-mono-pcm": "audio/wav",
|
||||
"audio-16khz-128kbitrate-mono-mp3": "audio/mp3",
|
||||
"audio-16khz-64kbitrate-mono-mp3": "audio/mp3",
|
||||
"audio-16khz-32kbitrate-mono-mp3": "audio/mp3",
|
||||
"raw-24khz-16bit-mono-pcm": "audio/pcm",
|
||||
"riff-24khz-16bit-mono-pcm": "audio/wav",
|
||||
"audio-24khz-160kbitrate-mono-mp3": "audio/mp3",
|
||||
"audio-24khz-96kbitrate-mono-mp3": "audio/mp3",
|
||||
"audio-24khz-48kbitrate-mono-mp3": "audio/mp3",
|
||||
"ogg-24khz-16bit-mono-opus": "audio/ogg",
|
||||
"webm-24khz-16bit-mono-opus": "audio/webm",
|
||||
}
|
||||
Reference in New Issue
Block a user