ai_admin/WebAdmin/audio.py
2024-09-20 04:29:09 +00:00

1237 lines
49 KiB
Python
Executable File

import requests
from django.http import JsonResponse, HttpResponse
from django.views.decorators.csrf import csrf_exempt
from django.views.decorators.http import require_http_methods
import json
# 配置Azure TTS的API密钥和区域
API_KEY = 'be13f9fbf56446bdbaa16e986bb0771b'
REGION = 'eastus'
ENDPOINT = f'https://{REGION}.tts.speech.microsoft.com/cognitiveservices/v1'
# 读取 JSON 文件并将其转换为字典
list_data = [
{
"国家": "中国",
"语言参数": "zh-CN",
"语言": "中文(普通话,简体)",
"讲话人": [
{
"讲话人中文名": "晓晓",
"讲话人英文参数": "zh-CN-XiaoxiaoNeural",
"风格列表": [],
},
{
"讲话人中文名": "云希",
"讲话人英文参数": "zh-CN-YunxiNeural",
"风格列表": [],
},
{
"讲话人中文名": "云健",
"讲话人英文参数": "zh-CN-YunjianNeural",
"风格列表": [],
},
{
"讲话人中文名": "晓艺",
"讲话人英文参数": "zh-CN-XiaoyiNeural",
"风格列表": [],
},
{
"讲话人中文名": "云阳",
"讲话人英文参数": "zh-CN-YunyangNeural",
"风格列表": [],
},
{
"讲话人中文名": "晓晨",
"讲话人英文参数": "zh-CN-XiaochenNeural",
"风格列表": [{"中文参数": "默认", "英文参数": "general"}],
},
{
"讲话人中文名": "晓涵",
"讲话人英文参数": "zh-CN-XiaohanNeural",
"风格列表": [],
},
{
"讲话人中文名": "晓萌",
"讲话人英文参数": "zh-CN-XiaomengNeural",
"风格列表": [],
},
{
"讲话人中文名": "晓陌",
"讲话人英文参数": "zh-CN-XiaomoNeural",
"风格列表": [],
},
{
"讲话人中文名": "晓秋",
"讲话人英文参数": "zh-CN-XiaoqiuNeural",
"风格列表": [ {
"中文参数": "默认",
"英文参数": "general"
}],
},
{
"讲话人中文名": "晓蕊",
"讲话人英文参数": "zh-CN-XiaoruiNeural",
"风格列表": [],
},
{
"讲话人中文名": "晓双",
"讲话人英文参数": "zh-CN-XiaoshuangNeural",
"风格列表": [],
},
{
"讲话人中文名": "晓妍",
"讲话人英文参数": "zh-CN-XiaoyanNeural",
"风格列表": [ {
"中文参数": "默认",
"英文参数": "general"
}],
},
{
"讲话人中文名": "晓优",
"讲话人英文参数": "zh-CN-XiaoyouNeural",
"风格列表": [ {
"中文参数": "默认",
"英文参数": "general"
}],
},
{
"讲话人中文名": "晓真",
"讲话人英文参数": "zh-CN-XiaozhenNeural",
"风格列表": [],
},
{
"讲话人中文名": "云峰",
"讲话人英文参数": "zh-CN-YunfengNeural",
"风格列表": [],
},
{
"讲话人中文名": "云浩",
"讲话人英文参数": "zh-CN-YunhaoNeural",
"风格列表": [{"中文参数": "默认", "英文参数": "general"}],
},
{
"讲话人中文名": "云霞",
"讲话人英文参数": "zh-CN-YunxiaNeural",
"风格列表": [],
},
{
"讲话人中文名": "云烨",
"讲话人英文参数": "zh-CN-YunyeNeural",
"风格列表": [],
},
{
"讲话人中文名": "云泽",
"讲话人英文参数": "zh-CN-YunzeNeural",
"风格列表": [],
}
]
},
{
"国家": "香港特别行政区",
"语言参数": "zh-HK",
"语言": "中文(粤语,繁体)",
"讲话人": [
{
"讲话人中文名": "晓文",
"讲话人英文参数": "zh-HK-HiuMaanNeural",
"风格列表": [ {
"中文参数": "默认",
"英文参数": "general"
}],
},
{
"讲话人中文名": "云龙",
"讲话人英文参数": "zh-HK-WanLungNeural",
"风格列表": [ {
"中文参数": "默认",
"英文参数": "general"
}],
},
{
"讲话人中文名": "晓佳",
"讲话人英文参数": "zh-HK-HiuGaaiNeural",
"风格列表": [ {
"中文参数": "默认",
"英文参数": "general"
}],
}
]
},
{
"国家": "台湾",
"语言参数": "zh-TW",
"语言": "中文(台湾普通话,繁体)",
"讲话人": [
{
"讲话人中文名": "晓晨",
"讲话人英文参数": "zh-TW-HsiaoChenNeural",
"风格列表": [ {
"中文参数": "默认",
"英文参数": "general"
}],
},
{
"讲话人中文名": "云哲",
"讲话人英文参数": "zh-TW-YunJheNeural",
"风格列表": [ {
"中文参数": "默认",
"英文参数": "general"
}],
},
{
"讲话人中文名": "晓语",
"讲话人英文参数": "zh-TW-HsiaoYuNeural",
"风格列表": [ {
"中文参数": "默认",
"英文参数": "general"
}],
}
]
},
{
"国家": "美国",
"语言参数": "en-US",
"语言": "英语(美国)",
"讲话人": [
{
"讲话人中文名": "Ava",
"讲话人英文参数": "en-US-AvaNeural",
"风格列表": [ {
"中文参数": "默认",
"英文参数": "general"
}],
},
{
"讲话人中文名": "Andrew",
"讲话人英文参数": "en-US-AndrewNeural",
"风格列表": [ {
"中文参数": "默认",
"英文参数": "general"
}],
},
{
"讲话人中文名": "Emma",
"讲话人英文参数": "en-US-EmmaNeural",
"风格列表": [ {
"中文参数": "默认",
"英文参数": "general"
}],
},
{
"讲话人中文名": "Brian",
"讲话人英文参数": "en-US-BrianNeural",
"风格列表": [ {
"中文参数": "默认",
"英文参数": "general"
}],
},
{
"讲话人中文名": "Jenny",
"讲话人英文参数": "en-US-JennyNeural",
"风格列表": [],
},
{
"讲话人中文名": "Guy",
"讲话人英文参数": "en-US-GuyNeural",
"风格列表": [],
},
{
"讲话人中文名": "Aria",
"讲话人英文参数": "en-US-AriaNeural",
"风格列表": [],
},
{
"讲话人中文名": "Davis",
"讲话人英文参数": "en-US-DavisNeural",
"风格列表": [],
},
{
"讲话人中文名": "Jane",
"讲话人英文参数": "en-US-JaneNeural",
"风格列表": [],
},
{
"讲话人中文名": "Jason",
"讲话人英文参数": "en-US-JasonNeural",
"风格列表": [],
},
{
"讲话人中文名": "Sara",
"讲话人英文参数": "en-US-SaraNeural",
"风格列表": [],
},
{
"讲话人中文名": "Tony",
"讲话人英文参数": "en-US-TonyNeural",
"风格列表": [],
},
{
"讲话人中文名": "Nancy",
"讲话人英文参数": "en-US-NancyNeural",
"风格列表": [],
},
{
"讲话人中文名": "Amber",
"讲话人英文参数": "en-US-AmberNeural",
"风格列表": [ {
"中文参数": "默认",
"英文参数": "general"
}],
},
{
"讲话人中文名": "Ana",
"讲话人英文参数": "en-US-AnaNeural",
"风格列表": [ {
"中文参数": "默认",
"英文参数": "general"
}],
},
{
"讲话人中文名": "Ashley",
"讲话人英文参数": "en-US-AshleyNeural",
"风格列表": [ {
"中文参数": "默认",
"英文参数": "general"
}],
},
{
"讲话人中文名": "Brandon",
"讲话人英文参数": "en-US-BrandonNeural",
"风格列表": [ {
"中文参数": "默认",
"英文参数": "general"
}],
},
{
"讲话人中文名": "Christopher",
"讲话人英文参数": "en-US-ChristopherNeural",
"风格列表": [ {
"中文参数": "默认",
"英文参数": "general"
}],
},
{
"讲话人中文名": "Cora",
"讲话人英文参数": "en-US-CoraNeural",
"风格列表": [ {
"中文参数": "默认",
"英文参数": "general"
}],
},
{
"讲话人中文名": "Elizabeth",
"讲话人英文参数": "en-US-ElizabethNeural",
"风格列表": [ {
"中文参数": "默认",
"英文参数": "general"
}],
},
{
"讲话人中文名": "Eric",
"讲话人英文参数": "en-US-EricNeural",
"风格列表": [ {
"中文参数": "默认",
"英文参数": "general"
}],
},
{
"讲话人中文名": "Jacob",
"讲话人英文参数": "en-US-JacobNeural",
"风格列表": [ {
"中文参数": "默认",
"英文参数": "general"
}],
},
{
"讲话人中文名": "Jenny",
"讲话人英文参数": "en-US-JennyMultilingualNeural3",
"风格列表": [ {
"中文参数": "默认",
"英文参数": "general"
}],
},
{
"讲话人中文名": "Michelle",
"讲话人英文参数": "en-US-MichelleNeural",
"风格列表": [ {
"中文参数": "默认",
"英文参数": "general"
}],
},
{
"讲话人中文名": "Monica",
"讲话人英文参数": "en-US-MonicaNeural",
"风格列表": [ {
"中文参数": "默认",
"英文参数": "general"
}],
},
{
"讲话人中文名": "Roger",
"讲话人英文参数": "en-US-RogerNeural",
"风格列表": [ {
"中文参数": "默认",
"英文参数": "general"
}],
},
{
"讲话人中文名": "Ryan",
"讲话人英文参数": "en-US-RyanMultilingualNeural3",
"风格列表": [ {
"中文参数": "默认",
"英文参数": "general"
}],
},
{
"讲话人中文名": "Steffan",
"讲话人英文参数": "en-US-SteffanNeural",
"风格列表": [ {
"中文参数": "默认",
"英文参数": "general"
}],
},
{
"讲话人中文名": "AIGenerate1",
"讲话人英文参数": "en-US-AIGenerate1Neural1",
"风格列表": [ {
"中文参数": "默认",
"英文参数": "general"
}],
},
{
"讲话人中文名": "AIGenerate2",
"讲话人英文参数": "en-US-AIGenerate2Neural1",
"风格列表": [ {
"中文参数": "默认",
"英文参数": "general"
}],
},
{
"讲话人中文名": "Andrew",
"讲话人英文参数": "en-US-AndrewMultilingualNeural3",
"风格列表": [ {
"中文参数": "默认",
"英文参数": "general"
}],
},
{
"讲话人中文名": "Ava",
"讲话人英文参数": "en-US-AvaMultilingualNeural3",
"风格列表": [ {
"中文参数": "默认",
"英文参数": "general"
}],
},
{
"讲话人中文名": "Blue",
"讲话人英文参数": "en-US-BlueNeural1",
"风格列表": [ {
"中文参数": "默认",
"英文参数": "general"
}],
},
{
"讲话人中文名": "Kai",
"讲话人英文参数": "en-US-KaiNeural1",
"风格列表": [ {
"中文参数": "默认",
"英文参数": "general"
}],
},
{
"讲话人中文名": "Luna",
"讲话人英文参数": "en-US-LunaNeural1",
"风格列表": [ {
"中文参数": "默认",
"英文参数": "general"
}],
},
{
"讲话人中文名": "Brian",
"讲话人英文参数": "en-US-BrianMultilingualNeural3",
"风格列表": [ {
"中文参数": "默认",
"英文参数": "general"
}],
},
{
"讲话人中文名": "Emma",
"讲话人英文参数": "en-US-EmmaMultilingualNeural3",
"风格列表": [ {
"中文参数": "默认",
"英文参数": "general"
}],
},
{
"讲话人中文名": "Alloy",
"讲话人英文参数": "en-US-AlloyMultilingualNeural4",
"风格列表": [ {
"中文参数": "默认",
"英文参数": "general"
}],
},
{
"讲话人中文名": "Echo",
"讲话人英文参数": "en-US-EchoMultilingualNeural4",
"风格列表": [ {
"中文参数": "默认",
"英文参数": "general"
}],
},
{
"讲话人中文名": "Fable",
"讲话人英文参数": "en-US-FableMultilingualNeural4",
"风格列表": [ {
"中文参数": "默认",
"英文参数": "general"
}],
},
{
"讲话人中文名": "Onyx",
"讲话人英文参数": "en-US-OnyxMultilingualNeural4",
"风格列表": [ {
"中文参数": "默认",
"英文参数": "general"
}],
},
{
"讲话人中文名": "Nova",
"讲话人英文参数": "en-US-NovaMultilingualNeural4",
"风格列表": [ {
"中文参数": "默认",
"英文参数": "general"
}],
},
{
"讲话人中文名": "Shimmer",
"讲话人英文参数": "en-US-ShimmerMultilingualNeural4",
"风格列表": [ {
"中文参数": "默认",
"英文参数": "general"
}],
},
{
"讲话人中文名": "Alloy",
"讲话人英文参数": "en-US-AlloyMultilingualNeuralHD4",
"风格列表": [ {
"中文参数": "默认",
"英文参数": "general"
}],
},
{
"讲话人中文名": "Echo",
"讲话人英文参数": "en-US-EchoMultilingualNeuralHD4",
"风格列表": [ {
"中文参数": "默认",
"英文参数": "general"
}],
},
{
"讲话人中文名": "Fable",
"讲话人英文参数": "en-US-FableMultilingualNeuralHD4",
"风格列表": [ {
"中文参数": "默认",
"英文参数": "general"
}],
},
{
"讲话人中文名": "Onyx",
"讲话人英文参数": "en-US-OnyxMultilingualNeuralHD4",
"风格列表": [ {
"中文参数": "默认",
"英文参数": "general"
}],
},
{
"讲话人中文名": "Nova",
"讲话人英文参数": "en-US-NovaMultilingualNeuralHD4",
"风格列表": [ {
"中文参数": "默认",
"英文参数": "general"
}],
},
{
"讲话人中文名": "Shimmer",
"讲话人英文参数": "en-US-ShimmerMultilingualNeuralHD4",
"风格列表": [ {
"中文参数": "默认",
"英文参数": "general"
}],
}
]
},
{
"国家": "西班牙",
"语言参数": "es-ES",
"语言": "西班牙语(西班牙)",
"讲话人": [
{
"讲话人中文名": "Elvira",
"讲话人英文参数": "es-ES-ElviraNeural",
"风格列表": [{
"中文参数": "默认",
"英文参数": "general"
}],
},
{
"讲话人中文名": "Alvaro",
"讲话人英文参数": "es-ES-AlvaroNeural",
"风格列表": [{
"中文参数": "默认",
"英文参数": "general"
}],
},
{
"讲话人中文名": "Abril",
"讲话人英文参数": "es-ES-AbrilNeural",
"风格列表": [{
"中文参数": "默认",
"英文参数": "general"
}],
},
{
"讲话人中文名": "Arnau",
"讲话人英文参数": "es-ES-ArnauNeural",
"风格列表": [{
"中文参数": "默认",
"英文参数": "general"
}],
},
{
"讲话人中文名": "Dario",
"讲话人英文参数": "es-ES-DarioNeural",
"风格列表": [{
"中文参数": "默认",
"英文参数": "general"
}],
},
{
"讲话人中文名": "Elias",
"讲话人英文参数": "es-ES-EliasNeural",
"风格列表": [{
"中文参数": "默认",
"英文参数": "general"
}],
},
{
"讲话人中文名": "Estrella",
"讲话人英文参数": "es-ES-EstrellaNeural",
"风格列表": [{
"中文参数": "默认",
"英文参数": "general"
}],
},
{
"讲话人中文名": "Irene",
"讲话人英文参数": "es-ES-IreneNeural",
"风格列表": [{
"中文参数": "默认",
"英文参数": "general"
}],
},
{
"讲话人中文名": "Laia",
"讲话人英文参数": "es-ES-LaiaNeural",
"风格列表": [{
"中文参数": "默认",
"英文参数": "general"
}],
},
{
"讲话人中文名": "Lia",
"讲话人英文参数": "es-ES-LiaNeural",
"风格列表": [{
"中文参数": "默认",
"英文参数": "general"
}],
},
{
"讲话人中文名": "Nil",
"讲话人英文参数": "es-ES-NilNeural",
"风格列表": [{
"中文参数": "默认",
"英文参数": "general"
}],
},
{
"讲话人中文名": "Saul",
"讲话人英文参数": "es-ES-SaulNeural",
"风格列表": [{
"中文参数": "默认",
"英文参数": "general"
}],
},
{
"讲话人中文名": "Teo",
"讲话人英文参数": "es-ES-TeoNeural",
"风格列表": [{
"中文参数": "默认",
"英文参数": "general"
}],
},
{
"讲话人中文名": "Triana",
"讲话人英文参数": "es-ES-TrianaNeural",
"风格列表": [{
"中文参数": "默认",
"英文参数": "general"
}],
},
{
"讲话人中文名": "Vera",
"讲话人英文参数": "es-ES-VeraNeural",
"风格列表": [{
"中文参数": "默认",
"英文参数": "general"
}],
},
{
"讲话人中文名": "Ximena",
"讲话人英文参数": "es-ES-XimenaNeural1",
"风格列表": [{
"中文参数": "默认",
"英文参数": "general"
}],
},
{
"讲话人中文名": "Arabella",
"讲话人英文参数": "es-ES-ArabellaMultilingualNeural1",
"风格列表": [{
"中文参数": "默认",
"英文参数": "general"
}],
},
{
"讲话人中文名": "Isidora",
"讲话人英文参数": "es-ES-IsidoraMultilingualNeural1,3",
"风格列表": [{
"中文参数": "默认",
"英文参数": "general"
}],
}
]
}
]
list_style = {
"de-DE-ConradNeural1": [
{"中文参数": "默认", "英文参数": "general"},
{"中文参数": "愉快", "英文参数": "cheerful"}
],
"en-GB-SoniaNeural": [
{"中文参数": "默认", "英文参数": "general"},
{"中文参数": "愉快", "英文参数": "cheerful"},
{"中文参数": "悲伤", "英文参数": "sad"}
],
"en-US-AriaNeural": [
{"中文参数": "默认", "英文参数": "general"},
{"中文参数": "生气", "英文参数": "angry"},
{"中文参数": "聊天", "英文参数": "chat"},
{"中文参数": "愉快", "英文参数": "cheerful"},
{"中文参数": "客服", "英文参数": "customerservice"},
{"中文参数": "富有同情心", "英文参数": "empathetic"},
{"中文参数": "兴奋", "英文参数": "excited"},
{"中文参数": "友好", "英文参数": "friendly"},
{"中文参数": "充满希望", "英文参数": "hopeful"},
{"中文参数": "专业叙述", "英文参数": "narration-professional"},
{"中文参数": "新闻随意", "英文参数": "newscast-casual"},
{"中文参数": "新闻正式", "英文参数": "newscast-formal"},
{"中文参数": "悲伤", "英文参数": "sad"},
{"中文参数": "大喊", "英文参数": "shouting"},
{"中文参数": "害怕", "英文参数": "terrified"},
{"中文参数": "不友好", "英文参数": "unfriendly"},
{"中文参数": "耳语", "英文参数": "whispering"}
],
"en-US-DavisNeural": [
{"中文参数": "默认", "英文参数": "general"},
{"中文参数": "生气", "英文参数": "angry"},
{"中文参数": "聊天", "英文参数": "chat"},
{"中文参数": "愉快", "英文参数": "cheerful"},
{"中文参数": "兴奋", "英文参数": "excited"},
{"中文参数": "友好", "英文参数": "friendly"},
{"中文参数": "充满希望", "英文参数": "hopeful"},
{"中文参数": "悲伤", "英文参数": "sad"},
{"中文参数": "大喊", "英文参数": "shouting"},
{"中文参数": "害怕", "英文参数": "terrified"},
{"中文参数": "不友好", "英文参数": "unfriendly"},
{"中文参数": "耳语", "英文参数": "whispering"}
],
"en-US-GuyNeural": [
{"中文参数": "默认", "英文参数": "general"},
{"中文参数": "生气", "英文参数": "angry"},
{"中文参数": "愉快", "英文参数": "cheerful"},
{"中文参数": "兴奋", "英文参数": "excited"},
{"中文参数": "友好", "英文参数": "friendly"},
{"中文参数": "充满希望", "英文参数": "hopeful"},
{"中文参数": "新闻", "英文参数": "newscast"},
{"中文参数": "悲伤", "英文参数": "sad"},
{"中文参数": "大喊", "英文参数": "shouting"},
{"中文参数": "害怕", "英文参数": "terrified"},
{"中文参数": "不友好", "英文参数": "unfriendly"},
{"中文参数": "耳语", "英文参数": "whispering"}
],
"en-US-JaneNeural": [
{"中文参数": "默认", "英文参数": "general"},
{"中文参数": "生气", "英文参数": "angry"},
{"中文参数": "愉快", "英文参数": "cheerful"},
{"中文参数": "兴奋", "英文参数": "excited"},
{"中文参数": "友好", "英文参数": "friendly"},
{"中文参数": "充满希望", "英文参数": "hopeful"},
{"中文参数": "悲伤", "英文参数": "sad"},
{"中文参数": "大喊", "英文参数": "shouting"},
{"中文参数": "害怕", "英文参数": "terrified"},
{"中文参数": "不友好", "英文参数": "unfriendly"},
{"中文参数": "耳语", "英文参数": "whispering"}
],
"en-US-JasonNeural": [
{"中文参数": "默认", "英文参数": "general"},
{"中文参数": "生气", "英文参数": "angry"},
{"中文参数": "愉快", "英文参数": "cheerful"},
{"中文参数": "兴奋", "英文参数": "excited"},
{"中文参数": "友好", "英文参数": "friendly"},
{"中文参数": "充满希望", "英文参数": "hopeful"},
{"中文参数": "悲伤", "英文参数": "sad"},
{"中文参数": "大喊", "英文参数": "shouting"},
{"中文参数": "害怕", "英文参数": "terrified"},
{"中文参数": "不友好", "英文参数": "unfriendly"},
{"中文参数": "耳语", "英文参数": "whispering"}
],
"en-US-JennyNeural": [
{"中文参数": "默认", "英文参数": "general"},
{"中文参数": "生气", "英文参数": "angry"},
{"中文参数": "助理", "英文参数": "assistant"},
{"中文参数": "聊天", "英文参数": "chat"},
{"中文参数": "愉快", "英文参数": "cheerful"},
{"中文参数": "客服", "英文参数": "customerservice"},
{"中文参数": "兴奋", "英文参数": "excited"},
{"中文参数": "友好", "英文参数": "friendly"},
{"中文参数": "充满希望", "英文参数": "hopeful"},
{"中文参数": "新闻", "英文参数": "newscast"},
{"中文参数": "悲伤", "英文参数": "sad"},
{"中文参数": "大喊", "英文参数": "shouting"},
{"中文参数": "害怕", "英文参数": "terrified"},
{"中文参数": "不友好", "英文参数": "unfriendly"},
{"中文参数": "耳语", "英文参数": "whispering"}
],
"en-US-NancyNeural": [
{"中文参数": "默认", "英文参数": "general"},
{"中文参数": "生气", "英文参数": "angry"},
{"中文参数": "愉快", "英文参数": "cheerful"},
{"中文参数": "兴奋", "英文参数": "excited"},
{"中文参数": "友好", "英文参数": "friendly"},
{"中文参数": "充满希望", "英文参数": "hopeful"},
{"中文参数": "悲伤", "英文参数": "sad"},
{"中文参数": "大喊", "英文参数": "shouting"},
{"中文参数": "害怕", "英文参数": "terrified"},
{"中文参数": "不友好", "英文参数": "unfriendly"},
{"中文参数": "耳语", "英文参数": "whispering"}
],
"en-US-SaraNeural": [
{"中文参数": "默认", "英文参数": "general"},
{"中文参数": "生气", "英文参数": "angry"},
{"中文参数": "愉快", "英文参数": "cheerful"},
{"中文参数": "兴奋", "英文参数": "excited"},
{"中文参数": "友好", "英文参数": "friendly"},
{"中文参数": "充满希望", "英文参数": "hopeful"},
{"中文参数": "悲伤", "英文参数": "sad"},
{"中文参数": "大喊", "英文参数": "shouting"},
{"中文参数": "害怕", "英文参数": "terrified"},
{"中文参数": "不友好", "英文参数": "unfriendly"},
{"中文参数": "耳语", "英文参数": "whispering"}
],
"en-US-TonyNeural": [
{"中文参数": "默认", "英文参数": "general"},
{"中文参数": "生气", "英文参数": "angry"},
{"中文参数": "愉快", "英文参数": "cheerful"},
{"中文参数": "兴奋", "英文参数": "excited"},
{"中文参数": "友好", "英文参数": "friendly"},
{"中文参数": "充满希望", "英文参数": "hopeful"},
{"中文参数": "悲伤", "英文参数": "sad"},
{"中文参数": "大喊", "英文参数": "shouting"},
{"中文参数": "害怕", "英文参数": "terrified"},
{"中文参数": "不友好", "英文参数": "unfriendly"},
{"中文参数": "耳语", "英文参数": "whispering"}
],
"es-MX-JorgeNeural": [
{"中文参数": "默认", "英文参数": "general"},
{"中文参数": "聊天", "英文参数": "chat"},
{"中文参数": "愉快", "英文参数": "cheerful"}
],
"fr-FR-DeniseNeural": [
{"中文参数": "默认", "英文参数": "general"},
{"中文参数": "愉快", "英文参数": "cheerful"},
{"中文参数": "悲伤", "英文参数": "sad"}
],
"fr-FR-HenriNeural": [
{"中文参数": "默认", "英文参数": "general"},
{"中文参数": "愉快", "英文参数": "cheerful"},
{"中文参数": "悲伤", "英文参数": "sad"}
],
"it-IT-IsabellaNeural": [
{"中文参数": "默认", "英文参数": "general"},
{"中文参数": "聊天", "英文参数": "chat"},
{"中文参数": "愉快", "英文参数": "cheerful"}
],
"ja-JP-NanamiNeural": [
{"中文参数": "默认", "英文参数": "general"},
{"中文参数": "聊天", "英文参数": "chat"},
{"中文参数": "愉快", "英文参数": "cheerful"},
{"中文参数": "客服", "英文参数": "customerservice"}
],
"pt-BR-FranciscaNeural": [
{"中文参数": "默认", "英文参数": "general"},
{"中文参数": "冷静", "英文参数": "calm"}
],
"zh-CN-XiaohanNeural": [
{"中文参数": "默认", "英文参数": "general"},
{"中文参数": "温柔", "英文参数": "affectionate"},
{"中文参数": "生气", "英文参数": "angry"},
{"中文参数": "冷静", "英文参数": "calm"},
{"中文参数": "愉快", "英文参数": "cheerful"},
{"中文参数": "不满", "英文参数": "disgruntled"},
{"中文参数": "尴尬", "英文参数": "embarrassed"},
{"中文参数": "害怕", "英文参数": "fearful"},
{"中文参数": "温柔", "英文参数": "gentle"},
{"中文参数": "悲伤", "英文参数": "sad"},
{"中文参数": "严肃", "英文参数": "serious"}
],
"zh-CN-XiaomengNeural": [
{"中文参数": "默认", "英文参数": "general"},
{"中文参数": "聊天", "英文参数": "chat"}
],
"zh-CN-XiaomoNeural": [
{"中文参数": "默认", "英文参数": "general"},
{"中文参数": "温柔", "英文参数": "affectionate"},
{"中文参数": "生气", "英文参数": "angry"},
{"中文参数": "冷静", "英文参数": "calm"},
{"中文参数": "愉快", "英文参数": "cheerful"},
{"中文参数": "沮丧", "英文参数": "depressed"},
{"中文参数": "不满", "英文参数": "disgruntled"},
{"中文参数": "尴尬", "英文参数": "embarrassed"},
{"中文参数": "嫉妒", "英文参数": "envious"},
{"中文参数": "害怕", "英文参数": "fearful"},
{"中文参数": "温柔", "英文参数": "gentle"},
{"中文参数": "悲伤", "英文参数": "sad"},
{"中文参数": "严肃", "英文参数": "serious"}
],
"zh-CN-XiaoruiNeural": [
{"中文参数": "默认", "英文参数": "general"},
{"中文参数": "生气", "英文参数": "angry"},
{"中文参数": "冷静", "英文参数": "calm"},
{"中文参数": "害怕", "英文参数": "fearful"},
{"中文参数": "悲伤", "英文参数": "sad"}
],
"zh-CN-XiaoshuangNeural": [
{"中文参数": "默认", "英文参数": "general"},
{"中文参数": "聊天", "英文参数": "chat"}
],
"zh-CN-XiaoxiaoNeural": [
{"中文参数": "默认", "英文参数": "general"},
{"中文参数": "温柔", "英文参数": "affectionate"},
{"中文参数": "生气", "英文参数": "angry"},
{"中文参数": "助理", "英文参数": "assistant"},
{"中文参数": "冷静", "英文参数": "calm"},
{"中文参数": "聊天", "英文参数": "chat"},
{"中文参数": "聊天随意", "英文参数": "chat-casual"},
{"中文参数": "愉快", "英文参数": "cheerful"},
{"中文参数": "客服", "英文参数": "customerservice"},
{"中文参数": "不满", "英文参数": "disgruntled"},
{"中文参数": "害怕", "英文参数": "fearful"},
{"中文参数": "友好", "英文参数": "friendly"},
{"中文参数": "温柔", "英文参数": "gentle"},
{"中文参数": "抒情", "英文参数": "lyrical"},
{"中文参数": "新闻", "英文参数": "newscast"},
{"中文参数": "诗歌朗诵", "英文参数": "poetry-reading"},
{"中文参数": "悲伤", "英文参数": "sad"},
{"中文参数": "严肃", "英文参数": "serious"},
{"中文参数": "抱歉", "英文参数": "sorry"},
{"中文参数": "耳语", "英文参数": "whisper"}
],
"zh-CN-XiaoyiNeural": [
{"中文参数": "默认", "英文参数": "general"},
{"中文参数": "温柔", "英文参数": "affectionate"},
{"中文参数": "生气", "英文参数": "angry"},
{"中文参数": "愉快", "英文参数": "cheerful"},
{"中文参数": "不满", "英文参数": "disgruntled"},
{"中文参数": "尴尬", "英文参数": "embarrassed"},
{"中文参数": "害怕", "英文参数": "fearful"},
{"中文参数": "温柔", "英文参数": "gentle"},
{"中文参数": "悲伤", "英文参数": "sad"},
{"中文参数": "严肃", "英文参数": "serious"}
],
"zh-CN-XiaozhenNeural": [
{"中文参数": "默认", "英文参数": "general"},
{"中文参数": "生气", "英文参数": "angry"},
{"中文参数": "愉快", "英文参数": "cheerful"},
{"中文参数": "不满", "英文参数": "disgruntled"},
{"中文参数": "害怕", "英文参数": "fearful"},
{"中文参数": "悲伤", "英文参数": "sad"},
{"中文参数": "严肃", "英文参数": "serious"}
],
"zh-CN-YunfengNeural": [
{"中文参数": "默认", "英文参数": "general"},
{"中文参数": "生气", "英文参数": "angry"},
{"中文参数": "愉快", "英文参数": "cheerful"},
{"中文参数": "沮丧", "英文参数": "depressed"},
{"中文参数": "不满", "英文参数": "disgruntled"},
{"中文参数": "害怕", "英文参数": "fearful"},
{"中文参数": "悲伤", "英文参数": "sad"},
{"中文参数": "严肃", "英文参数": "serious"}
],
"zh-CN-YunhaoNeural2": [
{"中文参数": "默认", "英文参数": "general"},
{"中文参数": "广告-欢快", "英文参数": "advertisement-upbeat"}
],
"zh-CN-YunjianNeural": [
{"中文参数": "默认", "英文参数": "general"},
{"中文参数": "生气", "英文参数": "angry"},
{"中文参数": "愉快", "英文参数": "cheerful"},
{"中文参数": "沮丧", "英文参数": "depressed"},
{"中文参数": "不满", "英文参数": "disgruntled"},
{"中文参数": "纪录片叙述", "英文参数": "documentary-narration"},
{"中文参数": "叙述放松", "英文参数": "narration-relaxed"},
{"中文参数": "悲伤", "英文参数": "sad"},
{"中文参数": "严肃", "英文参数": "serious"},
{"中文参数": "体育解说", "英文参数": "sports-commentary"},
{"中文参数": "体育解说-兴奋", "英文参数": "sports-commentary-excited"}
],
"zh-CN-YunxiaNeural": [
{"中文参数": "默认", "英文参数": "general"},
{"中文参数": "生气", "英文参数": "angry"},
{"中文参数": "冷静", "英文参数": "calm"},
{"中文参数": "愉快", "英文参数": "cheerful"},
{"中文参数": "害怕", "英文参数": "fearful"},
{"中文参数": "悲伤", "英文参数": "sad"}
],
"zh-CN-YunxiNeural": [
{"中文参数": "默认", "英文参数": "general"},
{"中文参数": "生气", "英文参数": "angry"},
{"中文参数": "助理", "英文参数": "assistant"},
{"中文参数": "聊天", "英文参数": "chat"},
{"中文参数": "愉快", "英文参数": "cheerful"},
{"中文参数": "沮丧", "英文参数": "depressed"},
{"中文参数": "不满", "英文参数": "disgruntled"},
{"中文参数": "尴尬", "英文参数": "embarrassed"},
{"中文参数": "害怕", "英文参数": "fearful"},
{"中文参数": "叙述放松", "英文参数": "narration-relaxed"},
{"中文参数": "新闻", "英文参数": "newscast"},
{"中文参数": "悲伤", "英文参数": "sad"},
{"中文参数": "严肃", "英文参数": "serious"}
],
"zh-CN-YunyangNeural": [
{"中文参数": "默认", "英文参数": "general"},
{"中文参数": "客服", "英文参数": "customerservice"},
{"中文参数": "专业叙述", "英文参数": "narration-professional"},
{"中文参数": "新闻随意", "英文参数": "newscast-casual"}
],
"zh-CN-YunyeNeural": [
{"中文参数": "默认", "英文参数": "general"},
{"中文参数": "生气", "英文参数": "angry"},
{"中文参数": "冷静", "英文参数": "calm"},
{"中文参数": "愉快", "英文参数": "cheerful"},
{"中文参数": "不满", "英文参数": "disgruntled"},
{"中文参数": "尴尬", "英文参数": "embarrassed"},
{"中文参数": "害怕", "英文参数": "fearful"},
{"中文参数": "悲伤", "英文参数": "sad"},
{"中文参数": "严肃", "英文参数": "serious"}
],
"zh-CN-YunzeNeural": [
{"中文参数": "默认", "英文参数": "general"},
{"中文参数": "生气", "英文参数": "angry"},
{"中文参数": "冷静", "英文参数": "calm"},
{"中文参数": "愉快", "英文参数": "cheerful"},
{"中文参数": "沮丧", "英文参数": "depressed"},
{"中文参数": "不满", "英文参数": "disgruntled"},
{"中文参数": "纪录片叙述", "英文参数": "documentary-narration"},
{"中文参数": "害怕", "英文参数": "fearful"},
{"中文参数": "悲伤", "英文参数": "sad"},
{"中文参数": "严肃", "英文参数": "serious"}
]
}
# 将风格映射到讲话人列表中
def map_styles_to_speakers(list_data, list_style):
for country in list_data:
for speaker in country['讲话人']:
speaker_name = speaker['讲话人英文参数']
if speaker_name in list_style:
speaker['风格列表'] = list_style[speaker_name]
return list_data
# 获取映射后的讲话人列表
mapped_data = map_styles_to_speakers(list_data, list_style)
# 获取讲话人列表的视图
@require_http_methods(["GET"])
def get_speakers(request):
return JsonResponse({"code": 200, "message":"获取成功", "data": mapped_data})
# 合成语音的视图
@csrf_exempt
@require_http_methods(["POST"])
def synthesize_speech(request):
try:
# 从请求体中获取数据
data = json.loads(request.body)
# 要合成的文本内容
text = data['text']
# 选择的讲话人
voice_name = data['voice']
# 选择的讲话风格,默认为 'general'
style = data.get('style', 'general')
# 语速,整数格式,默认值为 0
rate = data.get('rate', 0)
# 合成语音的版本,'neural' 或 'standard',默认为 'neural'
version = data.get('version', 'neural')
# 语言参数,从讲话人英文参数中提取,例如 'en-US', 'zh-CN'
language = voice_name.split('-')[0] + '-' + voice_name.split('-')[1]
# 将语速转换为字符串并添加百分号
rate_str = f"{rate}%"
# 根据版本选择输出格式
if version == 'neural':
output_format = 'audio-16khz-32kbitrate-mono-mp3'
else:
output_format = 'audio-16khz-128kbitrate-mono-mp3'
headers = {
'Ocp-Apim-Subscription-Key': API_KEY,
'Content-Type': 'application/ssml+xml',
'X-Microsoft-OutputFormat': output_format,
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0;'
}
# 构建SSML请求体
ssml = f"""
<speak version='1.0' xmlns:mstts='http://www.w3.org/2001/mstts' xml:lang='{language}'>
<voice xml:lang='{language}' xml:gender='Female' name='{voice_name}'>
<mstts:express-as style='{style}'>
<prosody rate='{rate_str}'>{text}</prosody>
</mstts:express-as>
</voice>
</speak>
"""
print(ENDPOINT)
print(headers)
print(ssml)
# 发送POST请求以合成语音
response = requests.post(ENDPOINT, headers=headers, data=ssml)
if response.status_code == 200:
return HttpResponse(response.content, content_type='audio/mp3')
else:
return JsonResponse({'error': 'Unable to synthesize speech'}, status=response.status_code)
except Exception as e:
return JsonResponse({'error': str(e)})