From 6e7522a50a72b23a27acec5686712f03e5d7e826 Mon Sep 17 00:00:00 2001 From: ahiipsa Date: Wed, 4 Oct 2023 01:33:06 +0400 Subject: [PATCH 1/3] Added a script --- src/google-cloud/gcTextToSpeechClient.ts | 10 +- .../text-to-speech/commandConfigList.ts | 2 +- src/modules/text-to-speech/generateConfigs.ts | 118 + src/modules/text-to-speech/voices-simple.json | 554 ++ src/modules/text-to-speech/voices.json | 5038 +++++++++++++++++ 5 files changed, 5719 insertions(+), 3 deletions(-) create mode 100644 src/modules/text-to-speech/generateConfigs.ts create mode 100644 src/modules/text-to-speech/voices-simple.json create mode 100644 src/modules/text-to-speech/voices.json diff --git a/src/google-cloud/gcTextToSpeechClient.ts b/src/google-cloud/gcTextToSpeechClient.ts index 29014afe..a971df4c 100644 --- a/src/google-cloud/gcTextToSpeechClient.ts +++ b/src/google-cloud/gcTextToSpeechClient.ts @@ -1,12 +1,13 @@ import GcTextToSpeech, { type TextToSpeechClient } from '@google-cloud/text-to-speech' import config from '../config' import type { CredentialBody } from 'google-auth-library/build/src/auth/credentials' +import type { google } from '@google-cloud/text-to-speech/build/protos/protos' export interface TextToSpeechParams { text: string languageCode: string - ssmlGender?: 'MALE' | 'FEMALE' - voiceName?: string + ssmlGender?: google.cloud.texttospeech.v1.SsmlVoiceGender | keyof typeof google.cloud.texttospeech.v1.SsmlVoiceGender | null + voiceName?: string | null } class GcTextToSpeechClient { @@ -35,6 +36,11 @@ class GcTextToSpeechClient { return response.audioContent } + + async listVoices (): Promise { + const response = await this._client.listVoices() + return response[0].voices + } } const credentials = JSON.parse(Buffer.from(config.gc.credentials, 'base64').toString('utf-8')) diff --git a/src/modules/text-to-speech/commandConfigList.ts b/src/modules/text-to-speech/commandConfigList.ts index c694a6b1..5fa085cf 100644 --- a/src/modules/text-to-speech/commandConfigList.ts +++ b/src/modules/text-to-speech/commandConfigList.ts @@ -1,6 +1,6 @@ import type { TextToSpeechParams } from '../../google-cloud/gcTextToSpeechClient' -interface CommandConfigItem { +export interface CommandConfigItem { command: string gcParams: Omit } diff --git a/src/modules/text-to-speech/generateConfigs.ts b/src/modules/text-to-speech/generateConfigs.ts new file mode 100644 index 00000000..632af2f7 --- /dev/null +++ b/src/modules/text-to-speech/generateConfigs.ts @@ -0,0 +1,118 @@ +import * as fs from 'fs' +import * as path from 'path' +import { gcTextToSpeedClient } from '../../google-cloud/gcTextToSpeechClient' +import type { google } from '@google-cloud/text-to-speech/build/protos/protos' +import type { CommandConfigItem } from './commandConfigList' + +async function main (): Promise { + const voices = await gcTextToSpeedClient.listVoices() + + if (!voices) { + console.log('### no voices') + return + } + + const getShortLangCode = (voice: google.cloud.texttospeech.v1.IVoice): string => { + const code = voice.languageCodes?.[0] + + if (!code) { + return '' + } + + return code.split('-')[0] + } + + const getFullLangCode = (voice: google.cloud.texttospeech.v1.IVoice): string => { + const code = voice.languageCodes?.[0] + + if (!code) { + return '' + } + + return code + } + + const configMap: Record> = {} + + console.log('### voices.length', voices.length) + + for (const voice of voices) { + // console.log('### voice', getFullLangCode(voice), getShortLangCode(voice), voice) + + const shortLangCode = getShortLangCode(voice) + const fullLangCode = getFullLangCode(voice) + const commandGender = voice.ssmlGender === 'MALE' ? 'm' : 'f' + + if (!configMap[shortLangCode]) { + configMap[shortLangCode] = {} + } + + const langGroupMap = configMap[shortLangCode] + + if (!langGroupMap) { + continue + } + + const command = `v${shortLangCode}${commandGender}` + + if (!voice.ssmlGender) { + continue + } + + if (!langGroupMap[fullLangCode]) { + langGroupMap[fullLangCode] = [] + } + + const genderGroupSet = langGroupMap[fullLangCode] + + if (!genderGroupSet) { + console.log('### error') + return + } + + genderGroupSet.push({ + command, + gcParams: { + languageCode: fullLangCode, + ssmlGender: voice.ssmlGender, + voiceName: voice.name + } + }) + } + // const jsonContent = JSON.stringify(mapToObject(configMap), null, 4) + const jsonContent = JSON.stringify(configMap, null, 4) + + const filepath = path.join(__dirname, 'voices.json') + + fs.writeFileSync(filepath, jsonContent) + + const result = [] + for (const key in configMap) { + const langMap = configMap[key] + if (Object.values(langMap).length === 1) { + const male = Object.values(langMap)[0].find((item) => item.gcParams.ssmlGender === 'MALE') + const female = Object.values(langMap)[0].find((item) => item.gcParams.ssmlGender === 'FEMALE') + + if (!male) { + console.log('### does not have a male voice', key) + } + + if (!female) { + console.log('### does not have a female voice', key) + } + + result.push(male, female) + continue + } + + console.log('### Please choose manually: ', key, Object.keys(langMap)) + } + + const simpleLangs = JSON.stringify(result.filter(Boolean), null, 4) + + const filepath2 = path.join(__dirname, 'voices-simple.json') + + fs.writeFileSync(filepath2, simpleLangs) +} + +main().then(() => { console.log('### finish') }).catch(console.log) diff --git a/src/modules/text-to-speech/voices-simple.json b/src/modules/text-to-speech/voices-simple.json new file mode 100644 index 00000000..861b95f5 --- /dev/null +++ b/src/modules/text-to-speech/voices-simple.json @@ -0,0 +1,554 @@ +[ + { + "command": "varm", + "gcParams": { + "languageCode": "ar-XA", + "ssmlGender": "MALE", + "voiceName": "ar-XA-Wavenet-B" + } + }, + { + "command": "varf", + "gcParams": { + "languageCode": "ar-XA", + "ssmlGender": "FEMALE", + "voiceName": "ar-XA-Wavenet-A" + } + }, + { + "command": "vbnm", + "gcParams": { + "languageCode": "bn-IN", + "ssmlGender": "MALE", + "voiceName": "bn-IN-Wavenet-B" + } + }, + { + "command": "vbnf", + "gcParams": { + "languageCode": "bn-IN", + "ssmlGender": "FEMALE", + "voiceName": "bn-IN-Wavenet-A" + } + }, + { + "command": "vcsf", + "gcParams": { + "languageCode": "cs-CZ", + "ssmlGender": "FEMALE", + "voiceName": "cs-CZ-Wavenet-A" + } + }, + { + "command": "vdam", + "gcParams": { + "languageCode": "da-DK", + "ssmlGender": "MALE", + "voiceName": "da-DK-Wavenet-C" + } + }, + { + "command": "vdaf", + "gcParams": { + "languageCode": "da-DK", + "ssmlGender": "FEMALE", + "voiceName": "da-DK-Wavenet-D" + } + }, + { + "command": "vdem", + "gcParams": { + "languageCode": "de-DE", + "ssmlGender": "MALE", + "voiceName": "de-DE-Wavenet-B" + } + }, + { + "command": "vdef", + "gcParams": { + "languageCode": "de-DE", + "ssmlGender": "FEMALE", + "voiceName": "de-DE-Wavenet-F" + } + }, + { + "command": "velf", + "gcParams": { + "languageCode": "el-GR", + "ssmlGender": "FEMALE", + "voiceName": "el-GR-Wavenet-A" + } + }, + { + "command": "vfif", + "gcParams": { + "languageCode": "fi-FI", + "ssmlGender": "FEMALE", + "voiceName": "fi-FI-Wavenet-A" + } + }, + { + "command": "vfilm", + "gcParams": { + "languageCode": "fil-PH", + "ssmlGender": "MALE", + "voiceName": "fil-PH-Wavenet-C" + } + }, + { + "command": "vfilf", + "gcParams": { + "languageCode": "fil-PH", + "ssmlGender": "FEMALE", + "voiceName": "fil-PH-Wavenet-A" + } + }, + { + "command": "vgum", + "gcParams": { + "languageCode": "gu-IN", + "ssmlGender": "MALE", + "voiceName": "gu-IN-Wavenet-B" + } + }, + { + "command": "vguf", + "gcParams": { + "languageCode": "gu-IN", + "ssmlGender": "FEMALE", + "voiceName": "gu-IN-Wavenet-A" + } + }, + { + "command": "vhem", + "gcParams": { + "languageCode": "he-IL", + "ssmlGender": "MALE", + "voiceName": "he-IL-Wavenet-D" + } + }, + { + "command": "vhef", + "gcParams": { + "languageCode": "he-IL", + "ssmlGender": "FEMALE", + "voiceName": "he-IL-Wavenet-A" + } + }, + { + "command": "vhim", + "gcParams": { + "languageCode": "hi-IN", + "ssmlGender": "MALE", + "voiceName": "hi-IN-Wavenet-B" + } + }, + { + "command": "vhif", + "gcParams": { + "languageCode": "hi-IN", + "ssmlGender": "FEMALE", + "voiceName": "hi-IN-Wavenet-D" + } + }, + { + "command": "vhuf", + "gcParams": { + "languageCode": "hu-HU", + "ssmlGender": "FEMALE", + "voiceName": "hu-HU-Wavenet-A" + } + }, + { + "command": "vidm", + "gcParams": { + "languageCode": "id-ID", + "ssmlGender": "MALE", + "voiceName": "id-ID-Wavenet-B" + } + }, + { + "command": "vidf", + "gcParams": { + "languageCode": "id-ID", + "ssmlGender": "FEMALE", + "voiceName": "id-ID-Wavenet-D" + } + }, + { + "command": "vitm", + "gcParams": { + "languageCode": "it-IT", + "ssmlGender": "MALE", + "voiceName": "it-IT-Wavenet-C" + } + }, + { + "command": "vitf", + "gcParams": { + "languageCode": "it-IT", + "ssmlGender": "FEMALE", + "voiceName": "it-IT-Wavenet-A" + } + }, + { + "command": "vjam", + "gcParams": { + "languageCode": "ja-JP", + "ssmlGender": "MALE", + "voiceName": "ja-JP-Wavenet-C" + } + }, + { + "command": "vjaf", + "gcParams": { + "languageCode": "ja-JP", + "ssmlGender": "FEMALE", + "voiceName": "ja-JP-Wavenet-B" + } + }, + { + "command": "vknm", + "gcParams": { + "languageCode": "kn-IN", + "ssmlGender": "MALE", + "voiceName": "kn-IN-Wavenet-B" + } + }, + { + "command": "vknf", + "gcParams": { + "languageCode": "kn-IN", + "ssmlGender": "FEMALE", + "voiceName": "kn-IN-Wavenet-A" + } + }, + { + "command": "vkom", + "gcParams": { + "languageCode": "ko-KR", + "ssmlGender": "MALE", + "voiceName": "ko-KR-Wavenet-C" + } + }, + { + "command": "vkof", + "gcParams": { + "languageCode": "ko-KR", + "ssmlGender": "FEMALE", + "voiceName": "ko-KR-Wavenet-A" + } + }, + { + "command": "vmlm", + "gcParams": { + "languageCode": "ml-IN", + "ssmlGender": "MALE", + "voiceName": "ml-IN-Wavenet-B" + } + }, + { + "command": "vmlf", + "gcParams": { + "languageCode": "ml-IN", + "ssmlGender": "FEMALE", + "voiceName": "ml-IN-Wavenet-A" + } + }, + { + "command": "vmrm", + "gcParams": { + "languageCode": "mr-IN", + "ssmlGender": "MALE", + "voiceName": "mr-IN-Wavenet-B" + } + }, + { + "command": "vmrf", + "gcParams": { + "languageCode": "mr-IN", + "ssmlGender": "FEMALE", + "voiceName": "mr-IN-Wavenet-A" + } + }, + { + "command": "vmsm", + "gcParams": { + "languageCode": "ms-MY", + "ssmlGender": "MALE", + "voiceName": "ms-MY-Wavenet-B" + } + }, + { + "command": "vmsf", + "gcParams": { + "languageCode": "ms-MY", + "ssmlGender": "FEMALE", + "voiceName": "ms-MY-Wavenet-A" + } + }, + { + "command": "vnbm", + "gcParams": { + "languageCode": "nb-NO", + "ssmlGender": "MALE", + "voiceName": "nb-NO-Wavenet-B" + } + }, + { + "command": "vnbf", + "gcParams": { + "languageCode": "nb-NO", + "ssmlGender": "FEMALE", + "voiceName": "nb-NO-Wavenet-A" + } + }, + { + "command": "vpam", + "gcParams": { + "languageCode": "pa-IN", + "ssmlGender": "MALE", + "voiceName": "pa-IN-Wavenet-B" + } + }, + { + "command": "vpaf", + "gcParams": { + "languageCode": "pa-IN", + "ssmlGender": "FEMALE", + "voiceName": "pa-IN-Wavenet-A" + } + }, + { + "command": "vplm", + "gcParams": { + "languageCode": "pl-PL", + "ssmlGender": "MALE", + "voiceName": "pl-PL-Wavenet-B" + } + }, + { + "command": "vplf", + "gcParams": { + "languageCode": "pl-PL", + "ssmlGender": "FEMALE", + "voiceName": "pl-PL-Wavenet-A" + } + }, + { + "command": "vrof", + "gcParams": { + "languageCode": "ro-RO", + "ssmlGender": "FEMALE", + "voiceName": "ro-RO-Wavenet-A" + } + }, + { + "command": "vrum", + "gcParams": { + "languageCode": "ru-RU", + "ssmlGender": "MALE", + "voiceName": "ru-RU-Wavenet-B" + } + }, + { + "command": "vruf", + "gcParams": { + "languageCode": "ru-RU", + "ssmlGender": "FEMALE", + "voiceName": "ru-RU-Wavenet-E" + } + }, + { + "command": "vskf", + "gcParams": { + "languageCode": "sk-SK", + "ssmlGender": "FEMALE", + "voiceName": "sk-SK-Wavenet-A" + } + }, + { + "command": "vsvm", + "gcParams": { + "languageCode": "sv-SE", + "ssmlGender": "MALE", + "voiceName": "sv-SE-Wavenet-C" + } + }, + { + "command": "vsvf", + "gcParams": { + "languageCode": "sv-SE", + "ssmlGender": "FEMALE", + "voiceName": "sv-SE-Wavenet-B" + } + }, + { + "command": "vtam", + "gcParams": { + "languageCode": "ta-IN", + "ssmlGender": "MALE", + "voiceName": "ta-IN-Wavenet-B" + } + }, + { + "command": "vtaf", + "gcParams": { + "languageCode": "ta-IN", + "ssmlGender": "FEMALE", + "voiceName": "ta-IN-Wavenet-A" + } + }, + { + "command": "vtrm", + "gcParams": { + "languageCode": "tr-TR", + "ssmlGender": "MALE", + "voiceName": "tr-TR-Wavenet-B" + } + }, + { + "command": "vtrf", + "gcParams": { + "languageCode": "tr-TR", + "ssmlGender": "FEMALE", + "voiceName": "tr-TR-Wavenet-C" + } + }, + { + "command": "vukf", + "gcParams": { + "languageCode": "uk-UA", + "ssmlGender": "FEMALE", + "voiceName": "uk-UA-Wavenet-A" + } + }, + { + "command": "vvim", + "gcParams": { + "languageCode": "vi-VN", + "ssmlGender": "MALE", + "voiceName": "vi-VN-Wavenet-B" + } + }, + { + "command": "vvif", + "gcParams": { + "languageCode": "vi-VN", + "ssmlGender": "FEMALE", + "voiceName": "vi-VN-Wavenet-A" + } + }, + { + "command": "vyuem", + "gcParams": { + "languageCode": "yue-HK", + "ssmlGender": "MALE", + "voiceName": "yue-HK-Standard-B" + } + }, + { + "command": "vyuef", + "gcParams": { + "languageCode": "yue-HK", + "ssmlGender": "FEMALE", + "voiceName": "yue-HK-Standard-A" + } + }, + { + "command": "vtem", + "gcParams": { + "languageCode": "te-IN", + "ssmlGender": "MALE", + "voiceName": "te-IN-Standard-B" + } + }, + { + "command": "vtef", + "gcParams": { + "languageCode": "te-IN", + "ssmlGender": "FEMALE", + "voiceName": "te-IN-Standard-A" + } + }, + { + "command": "veuf", + "gcParams": { + "languageCode": "eu-ES", + "ssmlGender": "FEMALE", + "voiceName": "eu-ES-Standard-A" + } + }, + { + "command": "vsrf", + "gcParams": { + "languageCode": "sr-RS", + "ssmlGender": "FEMALE", + "voiceName": "sr-RS-Standard-A" + } + }, + { + "command": "vlvm", + "gcParams": { + "languageCode": "lv-LV", + "ssmlGender": "MALE", + "voiceName": "lv-LV-Standard-A" + } + }, + { + "command": "visf", + "gcParams": { + "languageCode": "is-IS", + "ssmlGender": "FEMALE", + "voiceName": "is-IS-Standard-A" + } + }, + { + "command": "vcaf", + "gcParams": { + "languageCode": "ca-ES", + "ssmlGender": "FEMALE", + "voiceName": "ca-ES-Standard-A" + } + }, + { + "command": "vglf", + "gcParams": { + "languageCode": "gl-ES", + "ssmlGender": "FEMALE", + "voiceName": "gl-ES-Standard-A" + } + }, + { + "command": "vbgf", + "gcParams": { + "languageCode": "bg-BG", + "ssmlGender": "FEMALE", + "voiceName": "bg-BG-Standard-A" + } + }, + { + "command": "vaff", + "gcParams": { + "languageCode": "af-ZA", + "ssmlGender": "FEMALE", + "voiceName": "af-ZA-Standard-A" + } + }, + { + "command": "vltm", + "gcParams": { + "languageCode": "lt-LT", + "ssmlGender": "MALE", + "voiceName": "lt-LT-Standard-A" + } + }, + { + "command": "vthf", + "gcParams": { + "languageCode": "th-TH", + "ssmlGender": "FEMALE", + "voiceName": "th-TH-Standard-A" + } + } +] \ No newline at end of file diff --git a/src/modules/text-to-speech/voices.json b/src/modules/text-to-speech/voices.json new file mode 100644 index 00000000..0db03854 --- /dev/null +++ b/src/modules/text-to-speech/voices.json @@ -0,0 +1,5038 @@ +{ + "ar": { + "ar-XA": [ + { + "command": "varf", + "gcParams": { + "languageCode": "ar-XA", + "ssmlGender": "FEMALE", + "voiceName": "ar-XA-Wavenet-A" + } + }, + { + "command": "varm", + "gcParams": { + "languageCode": "ar-XA", + "ssmlGender": "MALE", + "voiceName": "ar-XA-Wavenet-B" + } + }, + { + "command": "varm", + "gcParams": { + "languageCode": "ar-XA", + "ssmlGender": "MALE", + "voiceName": "ar-XA-Wavenet-C" + } + }, + { + "command": "varf", + "gcParams": { + "languageCode": "ar-XA", + "ssmlGender": "FEMALE", + "voiceName": "ar-XA-Wavenet-D" + } + }, + { + "command": "varf", + "gcParams": { + "languageCode": "ar-XA", + "ssmlGender": "FEMALE", + "voiceName": "ar-XA-Standard-A" + } + }, + { + "command": "varm", + "gcParams": { + "languageCode": "ar-XA", + "ssmlGender": "MALE", + "voiceName": "ar-XA-Standard-B" + } + }, + { + "command": "varm", + "gcParams": { + "languageCode": "ar-XA", + "ssmlGender": "MALE", + "voiceName": "ar-XA-Standard-C" + } + }, + { + "command": "varf", + "gcParams": { + "languageCode": "ar-XA", + "ssmlGender": "FEMALE", + "voiceName": "ar-XA-Standard-D" + } + }, + { + "command": "varf", + "gcParams": { + "languageCode": "ar-XA", + "ssmlGender": "FEMALE", + "voiceName": "ar-XA-Standard-A" + } + }, + { + "command": "varm", + "gcParams": { + "languageCode": "ar-XA", + "ssmlGender": "MALE", + "voiceName": "ar-XA-Standard-B" + } + }, + { + "command": "varm", + "gcParams": { + "languageCode": "ar-XA", + "ssmlGender": "MALE", + "voiceName": "ar-XA-Standard-C" + } + }, + { + "command": "varf", + "gcParams": { + "languageCode": "ar-XA", + "ssmlGender": "FEMALE", + "voiceName": "ar-XA-Standard-D" + } + } + ] + }, + "bn": { + "bn-IN": [ + { + "command": "vbnf", + "gcParams": { + "languageCode": "bn-IN", + "ssmlGender": "FEMALE", + "voiceName": "bn-IN-Wavenet-A" + } + }, + { + "command": "vbnm", + "gcParams": { + "languageCode": "bn-IN", + "ssmlGender": "MALE", + "voiceName": "bn-IN-Wavenet-B" + } + }, + { + "command": "vbnf", + "gcParams": { + "languageCode": "bn-IN", + "ssmlGender": "FEMALE", + "voiceName": "bn-IN-Standard-A" + } + }, + { + "command": "vbnm", + "gcParams": { + "languageCode": "bn-IN", + "ssmlGender": "MALE", + "voiceName": "bn-IN-Standard-B" + } + }, + { + "command": "vbnf", + "gcParams": { + "languageCode": "bn-IN", + "ssmlGender": "FEMALE", + "voiceName": "bn-IN-Standard-A" + } + }, + { + "command": "vbnm", + "gcParams": { + "languageCode": "bn-IN", + "ssmlGender": "MALE", + "voiceName": "bn-IN-Standard-B" + } + } + ] + }, + "cmn": { + "cmn-CN": [ + { + "command": "vcmnf", + "gcParams": { + "languageCode": "cmn-CN", + "ssmlGender": "FEMALE", + "voiceName": "cmn-CN-Wavenet-A" + } + }, + { + "command": "vcmnm", + "gcParams": { + "languageCode": "cmn-CN", + "ssmlGender": "MALE", + "voiceName": "cmn-CN-Wavenet-B" + } + }, + { + "command": "vcmnm", + "gcParams": { + "languageCode": "cmn-CN", + "ssmlGender": "MALE", + "voiceName": "cmn-CN-Wavenet-C" + } + }, + { + "command": "vcmnf", + "gcParams": { + "languageCode": "cmn-CN", + "ssmlGender": "FEMALE", + "voiceName": "cmn-CN-Wavenet-D" + } + }, + { + "command": "vcmnm", + "gcParams": { + "languageCode": "cmn-CN", + "ssmlGender": "MALE", + "voiceName": "cmn-CN-Standard-C" + } + }, + { + "command": "vcmnm", + "gcParams": { + "languageCode": "cmn-CN", + "ssmlGender": "MALE", + "voiceName": "cmn-CN-Standard-B" + } + }, + { + "command": "vcmnf", + "gcParams": { + "languageCode": "cmn-CN", + "ssmlGender": "FEMALE", + "voiceName": "cmn-CN-Standard-A" + } + }, + { + "command": "vcmnf", + "gcParams": { + "languageCode": "cmn-CN", + "ssmlGender": "FEMALE", + "voiceName": "cmn-CN-Standard-D" + } + }, + { + "command": "vcmnf", + "gcParams": { + "languageCode": "cmn-CN", + "ssmlGender": "SSML_VOICE_GENDER_UNSPECIFIED", + "voiceName": "cmn-CN-Standard-A" + } + }, + { + "command": "vcmnm", + "gcParams": { + "languageCode": "cmn-CN", + "ssmlGender": "MALE", + "voiceName": "cmn-CN-Standard-B" + } + }, + { + "command": "vcmnm", + "gcParams": { + "languageCode": "cmn-CN", + "ssmlGender": "MALE", + "voiceName": "cmn-CN-Standard-C" + } + }, + { + "command": "vcmnf", + "gcParams": { + "languageCode": "cmn-CN", + "ssmlGender": "FEMALE", + "voiceName": "cmn-CN-Standard-D" + } + } + ], + "cmn-TW": [ + { + "command": "vcmnf", + "gcParams": { + "languageCode": "cmn-TW", + "ssmlGender": "FEMALE", + "voiceName": "cmn-TW-Wavenet-A" + } + }, + { + "command": "vcmnm", + "gcParams": { + "languageCode": "cmn-TW", + "ssmlGender": "MALE", + "voiceName": "cmn-TW-Wavenet-B" + } + }, + { + "command": "vcmnm", + "gcParams": { + "languageCode": "cmn-TW", + "ssmlGender": "MALE", + "voiceName": "cmn-TW-Wavenet-C" + } + }, + { + "command": "vcmnf", + "gcParams": { + "languageCode": "cmn-TW", + "ssmlGender": "FEMALE", + "voiceName": "cmn-TW-Standard-A" + } + }, + { + "command": "vcmnm", + "gcParams": { + "languageCode": "cmn-TW", + "ssmlGender": "MALE", + "voiceName": "cmn-TW-Standard-B" + } + }, + { + "command": "vcmnm", + "gcParams": { + "languageCode": "cmn-TW", + "ssmlGender": "MALE", + "voiceName": "cmn-TW-Standard-C" + } + }, + { + "command": "vcmnf", + "gcParams": { + "languageCode": "cmn-TW", + "ssmlGender": "FEMALE", + "voiceName": "cmn-TW-Standard-A" + } + }, + { + "command": "vcmnm", + "gcParams": { + "languageCode": "cmn-TW", + "ssmlGender": "MALE", + "voiceName": "cmn-TW-Standard-B" + } + }, + { + "command": "vcmnm", + "gcParams": { + "languageCode": "cmn-TW", + "ssmlGender": "MALE", + "voiceName": "cmn-TW-Standard-C" + } + } + ] + }, + "cs": { + "cs-CZ": [ + { + "command": "vcsf", + "gcParams": { + "languageCode": "cs-CZ", + "ssmlGender": "FEMALE", + "voiceName": "cs-CZ-Wavenet-A" + } + }, + { + "command": "vcsf", + "gcParams": { + "languageCode": "cs-CZ", + "ssmlGender": "FEMALE", + "voiceName": "cs-CZ-Standard-A" + } + }, + { + "command": "vcsf", + "gcParams": { + "languageCode": "cs-CZ", + "ssmlGender": "FEMALE", + "voiceName": "cs-CZ-Standard-A" + } + } + ] + }, + "da": { + "da-DK": [ + { + "command": "vdam", + "gcParams": { + "languageCode": "da-DK", + "ssmlGender": "MALE", + "voiceName": "da-DK-Wavenet-C" + } + }, + { + "command": "vdaf", + "gcParams": { + "languageCode": "da-DK", + "ssmlGender": "FEMALE", + "voiceName": "da-DK-Wavenet-D" + } + }, + { + "command": "vdaf", + "gcParams": { + "languageCode": "da-DK", + "ssmlGender": "FEMALE", + "voiceName": "da-DK-Wavenet-E" + } + }, + { + "command": "vdaf", + "gcParams": { + "languageCode": "da-DK", + "ssmlGender": "FEMALE", + "voiceName": "da-DK-Wavenet-A" + } + }, + { + "command": "vdam", + "gcParams": { + "languageCode": "da-DK", + "ssmlGender": "MALE", + "voiceName": "da-DK-Standard-C" + } + }, + { + "command": "vdaf", + "gcParams": { + "languageCode": "da-DK", + "ssmlGender": "FEMALE", + "voiceName": "da-DK-Standard-D" + } + }, + { + "command": "vdaf", + "gcParams": { + "languageCode": "da-DK", + "ssmlGender": "FEMALE", + "voiceName": "da-DK-Standard-E" + } + }, + { + "command": "vdaf", + "gcParams": { + "languageCode": "da-DK", + "ssmlGender": "FEMALE", + "voiceName": "da-DK-Standard-A" + } + }, + { + "command": "vdaf", + "gcParams": { + "languageCode": "da-DK", + "ssmlGender": "FEMALE", + "voiceName": "da-DK-Neural2-D" + } + }, + { + "command": "vdaf", + "gcParams": { + "languageCode": "da-DK", + "ssmlGender": "FEMALE", + "voiceName": "da-DK-Standard-A" + } + }, + { + "command": "vdam", + "gcParams": { + "languageCode": "da-DK", + "ssmlGender": "MALE", + "voiceName": "da-DK-Standard-C" + } + }, + { + "command": "vdaf", + "gcParams": { + "languageCode": "da-DK", + "ssmlGender": "FEMALE", + "voiceName": "da-DK-Standard-D" + } + }, + { + "command": "vdaf", + "gcParams": { + "languageCode": "da-DK", + "ssmlGender": "FEMALE", + "voiceName": "da-DK-Standard-E" + } + } + ] + }, + "de": { + "de-DE": [ + { + "command": "vdef", + "gcParams": { + "languageCode": "de-DE", + "ssmlGender": "FEMALE", + "voiceName": "de-DE-Wavenet-F" + } + }, + { + "command": "vdef", + "gcParams": { + "languageCode": "de-DE", + "ssmlGender": "FEMALE", + "voiceName": "de-DE-Wavenet-A" + } + }, + { + "command": "vdem", + "gcParams": { + "languageCode": "de-DE", + "ssmlGender": "MALE", + "voiceName": "de-DE-Wavenet-B" + } + }, + { + "command": "vdef", + "gcParams": { + "languageCode": "de-DE", + "ssmlGender": "FEMALE", + "voiceName": "de-DE-Wavenet-C" + } + }, + { + "command": "vdem", + "gcParams": { + "languageCode": "de-DE", + "ssmlGender": "MALE", + "voiceName": "de-DE-Wavenet-D" + } + }, + { + "command": "vdem", + "gcParams": { + "languageCode": "de-DE", + "ssmlGender": "MALE", + "voiceName": "de-DE-Wavenet-E" + } + }, + { + "command": "vdef", + "gcParams": { + "languageCode": "de-DE", + "ssmlGender": "FEMALE", + "voiceName": "de-DE-Standard-A" + } + }, + { + "command": "vdem", + "gcParams": { + "languageCode": "de-DE", + "ssmlGender": "MALE", + "voiceName": "de-DE-Standard-B" + } + }, + { + "command": "vdef", + "gcParams": { + "languageCode": "de-DE", + "ssmlGender": "FEMALE", + "voiceName": "de-DE-Standard-C" + } + }, + { + "command": "vdem", + "gcParams": { + "languageCode": "de-DE", + "ssmlGender": "MALE", + "voiceName": "de-DE-Standard-D" + } + }, + { + "command": "vdem", + "gcParams": { + "languageCode": "de-DE", + "ssmlGender": "MALE", + "voiceName": "de-DE-Standard-E" + } + }, + { + "command": "vdef", + "gcParams": { + "languageCode": "de-DE", + "ssmlGender": "FEMALE", + "voiceName": "de-DE-Standard-F" + } + }, + { + "command": "vdem", + "gcParams": { + "languageCode": "de-DE", + "ssmlGender": "MALE", + "voiceName": "de-DE-Neural2-B" + } + }, + { + "command": "vdef", + "gcParams": { + "languageCode": "de-DE", + "ssmlGender": "FEMALE", + "voiceName": "de-DE-Neural2-C" + } + }, + { + "command": "vdem", + "gcParams": { + "languageCode": "de-DE", + "ssmlGender": "MALE", + "voiceName": "de-DE-Neural2-D" + } + }, + { + "command": "vdef", + "gcParams": { + "languageCode": "de-DE", + "ssmlGender": "FEMALE", + "voiceName": "de-DE-Neural2-F" + } + }, + { + "command": "vdem", + "gcParams": { + "languageCode": "de-DE", + "ssmlGender": "MALE", + "voiceName": "de-DE-Polyglot-1" + } + }, + { + "command": "vdef", + "gcParams": { + "languageCode": "de-DE", + "ssmlGender": "FEMALE", + "voiceName": "de-DE-Standard-A" + } + }, + { + "command": "vdem", + "gcParams": { + "languageCode": "de-DE", + "ssmlGender": "MALE", + "voiceName": "de-DE-Standard-B" + } + }, + { + "command": "vdef", + "gcParams": { + "languageCode": "de-DE", + "ssmlGender": "FEMALE", + "voiceName": "de-DE-Standard-C" + } + }, + { + "command": "vdem", + "gcParams": { + "languageCode": "de-DE", + "ssmlGender": "MALE", + "voiceName": "de-DE-Standard-D" + } + }, + { + "command": "vdem", + "gcParams": { + "languageCode": "de-DE", + "ssmlGender": "MALE", + "voiceName": "de-DE-Standard-E" + } + }, + { + "command": "vdef", + "gcParams": { + "languageCode": "de-DE", + "ssmlGender": "FEMALE", + "voiceName": "de-DE-Standard-F" + } + } + ] + }, + "el": { + "el-GR": [ + { + "command": "velf", + "gcParams": { + "languageCode": "el-GR", + "ssmlGender": "FEMALE", + "voiceName": "el-GR-Wavenet-A" + } + }, + { + "command": "velf", + "gcParams": { + "languageCode": "el-GR", + "ssmlGender": "FEMALE", + "voiceName": "el-GR-Standard-A" + } + }, + { + "command": "velf", + "gcParams": { + "languageCode": "el-GR", + "ssmlGender": "FEMALE", + "voiceName": "el-GR-Standard-A" + } + } + ] + }, + "en": { + "en-AU": [ + { + "command": "venf", + "gcParams": { + "languageCode": "en-AU", + "ssmlGender": "FEMALE", + "voiceName": "en-AU-News-E" + } + }, + { + "command": "venf", + "gcParams": { + "languageCode": "en-AU", + "ssmlGender": "FEMALE", + "voiceName": "en-AU-News-F" + } + }, + { + "command": "venm", + "gcParams": { + "languageCode": "en-AU", + "ssmlGender": "MALE", + "voiceName": "en-AU-News-G" + } + }, + { + "command": "venf", + "gcParams": { + "languageCode": "en-AU", + "ssmlGender": "FEMALE", + "voiceName": "en-AU-Wavenet-A" + } + }, + { + "command": "venm", + "gcParams": { + "languageCode": "en-AU", + "ssmlGender": "MALE", + "voiceName": "en-AU-Wavenet-B" + } + }, + { + "command": "venf", + "gcParams": { + "languageCode": "en-AU", + "ssmlGender": "FEMALE", + "voiceName": "en-AU-Wavenet-C" + } + }, + { + "command": "venm", + "gcParams": { + "languageCode": "en-AU", + "ssmlGender": "MALE", + "voiceName": "en-AU-Wavenet-D" + } + }, + { + "command": "venf", + "gcParams": { + "languageCode": "en-AU", + "ssmlGender": "FEMALE", + "voiceName": "en-AU-Standard-A" + } + }, + { + "command": "venm", + "gcParams": { + "languageCode": "en-AU", + "ssmlGender": "MALE", + "voiceName": "en-AU-Standard-B" + } + }, + { + "command": "venf", + "gcParams": { + "languageCode": "en-AU", + "ssmlGender": "FEMALE", + "voiceName": "en-AU-Standard-C" + } + }, + { + "command": "venm", + "gcParams": { + "languageCode": "en-AU", + "ssmlGender": "MALE", + "voiceName": "en-AU-Standard-D" + } + }, + { + "command": "venm", + "gcParams": { + "languageCode": "en-AU", + "ssmlGender": "MALE", + "voiceName": "en-AU-Polyglot-1" + } + }, + { + "command": "venf", + "gcParams": { + "languageCode": "en-AU", + "ssmlGender": "FEMALE", + "voiceName": "en-AU-Neural2-A" + } + }, + { + "command": "venm", + "gcParams": { + "languageCode": "en-AU", + "ssmlGender": "MALE", + "voiceName": "en-AU-Neural2-B" + } + }, + { + "command": "venf", + "gcParams": { + "languageCode": "en-AU", + "ssmlGender": "FEMALE", + "voiceName": "en-AU-Neural2-C" + } + }, + { + "command": "venm", + "gcParams": { + "languageCode": "en-AU", + "ssmlGender": "MALE", + "voiceName": "en-AU-Neural2-D" + } + }, + { + "command": "venf", + "gcParams": { + "languageCode": "en-AU", + "ssmlGender": "FEMALE", + "voiceName": "en-AU-Standard-A" + } + }, + { + "command": "venm", + "gcParams": { + "languageCode": "en-AU", + "ssmlGender": "MALE", + "voiceName": "en-AU-Standard-B" + } + }, + { + "command": "venf", + "gcParams": { + "languageCode": "en-AU", + "ssmlGender": "FEMALE", + "voiceName": "en-AU-Standard-C" + } + }, + { + "command": "venm", + "gcParams": { + "languageCode": "en-AU", + "ssmlGender": "MALE", + "voiceName": "en-AU-Standard-D" + } + } + ], + "en-GB": [ + { + "command": "venf", + "gcParams": { + "languageCode": "en-GB", + "ssmlGender": "FEMALE", + "voiceName": "en-GB-News-G" + } + }, + { + "command": "venf", + "gcParams": { + "languageCode": "en-GB", + "ssmlGender": "FEMALE", + "voiceName": "en-GB-News-H" + } + }, + { + "command": "venf", + "gcParams": { + "languageCode": "en-GB", + "ssmlGender": "FEMALE", + "voiceName": "en-GB-News-I" + } + }, + { + "command": "venm", + "gcParams": { + "languageCode": "en-GB", + "ssmlGender": "MALE", + "voiceName": "en-GB-News-J" + } + }, + { + "command": "venm", + "gcParams": { + "languageCode": "en-GB", + "ssmlGender": "MALE", + "voiceName": "en-GB-News-K" + } + }, + { + "command": "venm", + "gcParams": { + "languageCode": "en-GB", + "ssmlGender": "MALE", + "voiceName": "en-GB-News-L" + } + }, + { + "command": "venm", + "gcParams": { + "languageCode": "en-GB", + "ssmlGender": "MALE", + "voiceName": "en-GB-News-M" + } + }, + { + "command": "venf", + "gcParams": { + "languageCode": "en-GB", + "ssmlGender": "FEMALE", + "voiceName": "en-GB-Wavenet-A" + } + }, + { + "command": "venm", + "gcParams": { + "languageCode": "en-GB", + "ssmlGender": "MALE", + "voiceName": "en-GB-Wavenet-B" + } + }, + { + "command": "venf", + "gcParams": { + "languageCode": "en-GB", + "ssmlGender": "FEMALE", + "voiceName": "en-GB-Wavenet-C" + } + }, + { + "command": "venm", + "gcParams": { + "languageCode": "en-GB", + "ssmlGender": "MALE", + "voiceName": "en-GB-Wavenet-D" + } + }, + { + "command": "venf", + "gcParams": { + "languageCode": "en-GB", + "ssmlGender": "FEMALE", + "voiceName": "en-GB-Wavenet-F" + } + }, + { + "command": "venf", + "gcParams": { + "languageCode": "en-GB", + "ssmlGender": "FEMALE", + "voiceName": "en-GB-Standard-A" + } + }, + { + "command": "venm", + "gcParams": { + "languageCode": "en-GB", + "ssmlGender": "MALE", + "voiceName": "en-GB-Standard-B" + } + }, + { + "command": "venf", + "gcParams": { + "languageCode": "en-GB", + "ssmlGender": "FEMALE", + "voiceName": "en-GB-Standard-C" + } + }, + { + "command": "venm", + "gcParams": { + "languageCode": "en-GB", + "ssmlGender": "MALE", + "voiceName": "en-GB-Standard-D" + } + }, + { + "command": "venf", + "gcParams": { + "languageCode": "en-GB", + "ssmlGender": "FEMALE", + "voiceName": "en-GB-Standard-F" + } + }, + { + "command": "venf", + "gcParams": { + "languageCode": "en-GB", + "ssmlGender": "FEMALE", + "voiceName": "en-GB-Neural2-A" + } + }, + { + "command": "venm", + "gcParams": { + "languageCode": "en-GB", + "ssmlGender": "MALE", + "voiceName": "en-GB-Neural2-B" + } + }, + { + "command": "venf", + "gcParams": { + "languageCode": "en-GB", + "ssmlGender": "FEMALE", + "voiceName": "en-GB-Neural2-C" + } + }, + { + "command": "venm", + "gcParams": { + "languageCode": "en-GB", + "ssmlGender": "MALE", + "voiceName": "en-GB-Neural2-D" + } + }, + { + "command": "venf", + "gcParams": { + "languageCode": "en-GB", + "ssmlGender": "FEMALE", + "voiceName": "en-GB-Neural2-F" + } + }, + { + "command": "venf", + "gcParams": { + "languageCode": "en-GB", + "ssmlGender": "FEMALE", + "voiceName": "en-GB-Standard-A" + } + }, + { + "command": "venm", + "gcParams": { + "languageCode": "en-GB", + "ssmlGender": "MALE", + "voiceName": "en-GB-Standard-B" + } + }, + { + "command": "venf", + "gcParams": { + "languageCode": "en-GB", + "ssmlGender": "FEMALE", + "voiceName": "en-GB-Standard-C" + } + }, + { + "command": "venm", + "gcParams": { + "languageCode": "en-GB", + "ssmlGender": "MALE", + "voiceName": "en-GB-Standard-D" + } + }, + { + "command": "venf", + "gcParams": { + "languageCode": "en-GB", + "ssmlGender": "FEMALE", + "voiceName": "en-GB-Standard-F" + } + } + ], + "en-IN": [ + { + "command": "venf", + "gcParams": { + "languageCode": "en-IN", + "ssmlGender": "FEMALE", + "voiceName": "en-IN-Wavenet-D" + } + }, + { + "command": "venf", + "gcParams": { + "languageCode": "en-IN", + "ssmlGender": "FEMALE", + "voiceName": "en-IN-Wavenet-A" + } + }, + { + "command": "venm", + "gcParams": { + "languageCode": "en-IN", + "ssmlGender": "MALE", + "voiceName": "en-IN-Wavenet-B" + } + }, + { + "command": "venm", + "gcParams": { + "languageCode": "en-IN", + "ssmlGender": "MALE", + "voiceName": "en-IN-Wavenet-C" + } + }, + { + "command": "venf", + "gcParams": { + "languageCode": "en-IN", + "ssmlGender": "FEMALE", + "voiceName": "en-IN-Standard-D" + } + }, + { + "command": "venf", + "gcParams": { + "languageCode": "en-IN", + "ssmlGender": "FEMALE", + "voiceName": "en-IN-Standard-A" + } + }, + { + "command": "venm", + "gcParams": { + "languageCode": "en-IN", + "ssmlGender": "MALE", + "voiceName": "en-IN-Standard-B" + } + }, + { + "command": "venm", + "gcParams": { + "languageCode": "en-IN", + "ssmlGender": "MALE", + "voiceName": "en-IN-Standard-C" + } + }, + { + "command": "venf", + "gcParams": { + "languageCode": "en-IN", + "ssmlGender": "FEMALE", + "voiceName": "en-IN-Standard-A" + } + }, + { + "command": "venm", + "gcParams": { + "languageCode": "en-IN", + "ssmlGender": "MALE", + "voiceName": "en-IN-Standard-B" + } + }, + { + "command": "venm", + "gcParams": { + "languageCode": "en-IN", + "ssmlGender": "MALE", + "voiceName": "en-IN-Standard-C" + } + }, + { + "command": "venf", + "gcParams": { + "languageCode": "en-IN", + "ssmlGender": "FEMALE", + "voiceName": "en-IN-Standard-D" + } + } + ], + "en-US": [ + { + "command": "venf", + "gcParams": { + "languageCode": "en-US", + "ssmlGender": "FEMALE", + "voiceName": "en-US-News-K" + } + }, + { + "command": "venf", + "gcParams": { + "languageCode": "en-US", + "ssmlGender": "FEMALE", + "voiceName": "en-US-News-L" + } + }, + { + "command": "venm", + "gcParams": { + "languageCode": "en-US", + "ssmlGender": "MALE", + "voiceName": "en-US-News-M" + } + }, + { + "command": "venm", + "gcParams": { + "languageCode": "en-US", + "ssmlGender": "MALE", + "voiceName": "en-US-News-N" + } + }, + { + "command": "venf", + "gcParams": { + "languageCode": "en-US", + "ssmlGender": "FEMALE", + "voiceName": "en-US-Wavenet-G" + } + }, + { + "command": "venf", + "gcParams": { + "languageCode": "en-US", + "ssmlGender": "FEMALE", + "voiceName": "en-US-Wavenet-H" + } + }, + { + "command": "venm", + "gcParams": { + "languageCode": "en-US", + "ssmlGender": "MALE", + "voiceName": "en-US-Wavenet-I" + } + }, + { + "command": "venm", + "gcParams": { + "languageCode": "en-US", + "ssmlGender": "MALE", + "voiceName": "en-US-Wavenet-J" + } + }, + { + "command": "venm", + "gcParams": { + "languageCode": "en-US", + "ssmlGender": "MALE", + "voiceName": "en-US-Wavenet-A" + } + }, + { + "command": "venm", + "gcParams": { + "languageCode": "en-US", + "ssmlGender": "MALE", + "voiceName": "en-US-Wavenet-B" + } + }, + { + "command": "venf", + "gcParams": { + "languageCode": "en-US", + "ssmlGender": "FEMALE", + "voiceName": "en-US-Wavenet-C" + } + }, + { + "command": "venm", + "gcParams": { + "languageCode": "en-US", + "ssmlGender": "MALE", + "voiceName": "en-US-Wavenet-D" + } + }, + { + "command": "venf", + "gcParams": { + "languageCode": "en-US", + "ssmlGender": "FEMALE", + "voiceName": "en-US-Wavenet-E" + } + }, + { + "command": "venf", + "gcParams": { + "languageCode": "en-US", + "ssmlGender": "FEMALE", + "voiceName": "en-US-Wavenet-F" + } + }, + { + "command": "venm", + "gcParams": { + "languageCode": "en-US", + "ssmlGender": "MALE", + "voiceName": "en-US-Standard-A" + } + }, + { + "command": "venm", + "gcParams": { + "languageCode": "en-US", + "ssmlGender": "MALE", + "voiceName": "en-US-Standard-B" + } + }, + { + "command": "venf", + "gcParams": { + "languageCode": "en-US", + "ssmlGender": "FEMALE", + "voiceName": "en-US-Standard-C" + } + }, + { + "command": "venm", + "gcParams": { + "languageCode": "en-US", + "ssmlGender": "MALE", + "voiceName": "en-US-Standard-D" + } + }, + { + "command": "venf", + "gcParams": { + "languageCode": "en-US", + "ssmlGender": "FEMALE", + "voiceName": "en-US-Standard-E" + } + }, + { + "command": "venf", + "gcParams": { + "languageCode": "en-US", + "ssmlGender": "FEMALE", + "voiceName": "en-US-Standard-F" + } + }, + { + "command": "venf", + "gcParams": { + "languageCode": "en-US", + "ssmlGender": "FEMALE", + "voiceName": "en-US-Standard-G" + } + }, + { + "command": "venf", + "gcParams": { + "languageCode": "en-US", + "ssmlGender": "FEMALE", + "voiceName": "en-US-Standard-H" + } + }, + { + "command": "venm", + "gcParams": { + "languageCode": "en-US", + "ssmlGender": "MALE", + "voiceName": "en-US-Standard-I" + } + }, + { + "command": "venm", + "gcParams": { + "languageCode": "en-US", + "ssmlGender": "MALE", + "voiceName": "en-US-Standard-J" + } + }, + { + "command": "venm", + "gcParams": { + "languageCode": "en-US", + "ssmlGender": "MALE", + "voiceName": "en-US-Studio-M" + } + }, + { + "command": "venf", + "gcParams": { + "languageCode": "en-US", + "ssmlGender": "FEMALE", + "voiceName": "en-US-Studio-O" + } + }, + { + "command": "venm", + "gcParams": { + "languageCode": "en-US", + "ssmlGender": "MALE", + "voiceName": "en-US-Neural2-A" + } + }, + { + "command": "venf", + "gcParams": { + "languageCode": "en-US", + "ssmlGender": "FEMALE", + "voiceName": "en-US-Neural2-C" + } + }, + { + "command": "venm", + "gcParams": { + "languageCode": "en-US", + "ssmlGender": "MALE", + "voiceName": "en-US-Neural2-D" + } + }, + { + "command": "venf", + "gcParams": { + "languageCode": "en-US", + "ssmlGender": "FEMALE", + "voiceName": "en-US-Neural2-E" + } + }, + { + "command": "venf", + "gcParams": { + "languageCode": "en-US", + "ssmlGender": "FEMALE", + "voiceName": "en-US-Neural2-F" + } + }, + { + "command": "venf", + "gcParams": { + "languageCode": "en-US", + "ssmlGender": "FEMALE", + "voiceName": "en-US-Neural2-G" + } + }, + { + "command": "venf", + "gcParams": { + "languageCode": "en-US", + "ssmlGender": "FEMALE", + "voiceName": "en-US-Neural2-H" + } + }, + { + "command": "venm", + "gcParams": { + "languageCode": "en-US", + "ssmlGender": "MALE", + "voiceName": "en-US-Neural2-I" + } + }, + { + "command": "venm", + "gcParams": { + "languageCode": "en-US", + "ssmlGender": "MALE", + "voiceName": "en-US-Neural2-J" + } + }, + { + "command": "venm", + "gcParams": { + "languageCode": "en-US", + "ssmlGender": "MALE", + "voiceName": "en-US-Polyglot-1" + } + }, + { + "command": "venm", + "gcParams": { + "languageCode": "en-US", + "ssmlGender": "MALE", + "voiceName": "en-US-Standard-A" + } + }, + { + "command": "venm", + "gcParams": { + "languageCode": "en-US", + "ssmlGender": "MALE", + "voiceName": "en-US-Standard-B" + } + }, + { + "command": "venf", + "gcParams": { + "languageCode": "en-US", + "ssmlGender": "FEMALE", + "voiceName": "en-US-Standard-C" + } + }, + { + "command": "venm", + "gcParams": { + "languageCode": "en-US", + "ssmlGender": "MALE", + "voiceName": "en-US-Standard-D" + } + }, + { + "command": "venf", + "gcParams": { + "languageCode": "en-US", + "ssmlGender": "FEMALE", + "voiceName": "en-US-Standard-E" + } + }, + { + "command": "venf", + "gcParams": { + "languageCode": "en-US", + "ssmlGender": "FEMALE", + "voiceName": "en-US-Standard-F" + } + }, + { + "command": "venf", + "gcParams": { + "languageCode": "en-US", + "ssmlGender": "FEMALE", + "voiceName": "en-US-Standard-G" + } + }, + { + "command": "venf", + "gcParams": { + "languageCode": "en-US", + "ssmlGender": "FEMALE", + "voiceName": "en-US-Standard-H" + } + }, + { + "command": "venm", + "gcParams": { + "languageCode": "en-US", + "ssmlGender": "MALE", + "voiceName": "en-US-Standard-I" + } + }, + { + "command": "venm", + "gcParams": { + "languageCode": "en-US", + "ssmlGender": "MALE", + "voiceName": "en-US-Standard-J" + } + } + ] + }, + "es": { + "es-ES": [ + { + "command": "vesf", + "gcParams": { + "languageCode": "es-ES", + "ssmlGender": "FEMALE", + "voiceName": "es-ES-Wavenet-C" + } + }, + { + "command": "vesf", + "gcParams": { + "languageCode": "es-ES", + "ssmlGender": "FEMALE", + "voiceName": "es-ES-Wavenet-D" + } + }, + { + "command": "vesm", + "gcParams": { + "languageCode": "es-ES", + "ssmlGender": "MALE", + "voiceName": "es-ES-Wavenet-B" + } + }, + { + "command": "vesf", + "gcParams": { + "languageCode": "es-ES", + "ssmlGender": "FEMALE", + "voiceName": "es-ES-Standard-A" + } + }, + { + "command": "vesf", + "gcParams": { + "languageCode": "es-ES", + "ssmlGender": "FEMALE", + "voiceName": "es-ES-Standard-C" + } + }, + { + "command": "vesf", + "gcParams": { + "languageCode": "es-ES", + "ssmlGender": "FEMALE", + "voiceName": "es-ES-Standard-D" + } + }, + { + "command": "vesm", + "gcParams": { + "languageCode": "es-ES", + "ssmlGender": "MALE", + "voiceName": "es-ES-Standard-B" + } + }, + { + "command": "vesf", + "gcParams": { + "languageCode": "es-ES", + "ssmlGender": "FEMALE", + "voiceName": "es-ES-Neural2-A" + } + }, + { + "command": "vesm", + "gcParams": { + "languageCode": "es-ES", + "ssmlGender": "MALE", + "voiceName": "es-ES-Neural2-B" + } + }, + { + "command": "vesf", + "gcParams": { + "languageCode": "es-ES", + "ssmlGender": "FEMALE", + "voiceName": "es-ES-Neural2-C" + } + }, + { + "command": "vesf", + "gcParams": { + "languageCode": "es-ES", + "ssmlGender": "FEMALE", + "voiceName": "es-ES-Neural2-D" + } + }, + { + "command": "vesf", + "gcParams": { + "languageCode": "es-ES", + "ssmlGender": "FEMALE", + "voiceName": "es-ES-Neural2-E" + } + }, + { + "command": "vesm", + "gcParams": { + "languageCode": "es-ES", + "ssmlGender": "MALE", + "voiceName": "es-ES-Neural2-F" + } + }, + { + "command": "vesm", + "gcParams": { + "languageCode": "es-ES", + "ssmlGender": "MALE", + "voiceName": "es-ES-Polyglot-1" + } + }, + { + "command": "vesf", + "gcParams": { + "languageCode": "es-ES", + "ssmlGender": "FEMALE", + "voiceName": "es-ES-Standard-A" + } + }, + { + "command": "vesm", + "gcParams": { + "languageCode": "es-ES", + "ssmlGender": "MALE", + "voiceName": "es-ES-Standard-B" + } + }, + { + "command": "vesf", + "gcParams": { + "languageCode": "es-ES", + "ssmlGender": "FEMALE", + "voiceName": "es-ES-Standard-D" + } + } + ], + "es-US": [ + { + "command": "vesf", + "gcParams": { + "languageCode": "es-US", + "ssmlGender": "FEMALE", + "voiceName": "es-US-Wavenet-A" + } + }, + { + "command": "vesm", + "gcParams": { + "languageCode": "es-US", + "ssmlGender": "MALE", + "voiceName": "es-US-Wavenet-B" + } + }, + { + "command": "vesm", + "gcParams": { + "languageCode": "es-US", + "ssmlGender": "MALE", + "voiceName": "es-US-Wavenet-C" + } + }, + { + "command": "vesf", + "gcParams": { + "languageCode": "es-US", + "ssmlGender": "FEMALE", + "voiceName": "es-US-News-G" + } + }, + { + "command": "vesf", + "gcParams": { + "languageCode": "es-US", + "ssmlGender": "FEMALE", + "voiceName": "es-US-News-F" + } + }, + { + "command": "vesm", + "gcParams": { + "languageCode": "es-US", + "ssmlGender": "MALE", + "voiceName": "es-US-News-E" + } + }, + { + "command": "vesm", + "gcParams": { + "languageCode": "es-US", + "ssmlGender": "MALE", + "voiceName": "es-US-News-D" + } + }, + { + "command": "vesf", + "gcParams": { + "languageCode": "es-US", + "ssmlGender": "FEMALE", + "voiceName": "es-US-Standard-A" + } + }, + { + "command": "vesm", + "gcParams": { + "languageCode": "es-US", + "ssmlGender": "MALE", + "voiceName": "es-US-Standard-B" + } + }, + { + "command": "vesm", + "gcParams": { + "languageCode": "es-US", + "ssmlGender": "MALE", + "voiceName": "es-US-Standard-C" + } + }, + { + "command": "vesm", + "gcParams": { + "languageCode": "es-US", + "ssmlGender": "MALE", + "voiceName": "es-US-Studio-B" + } + }, + { + "command": "vesf", + "gcParams": { + "languageCode": "es-US", + "ssmlGender": "FEMALE", + "voiceName": "es-US-Neural2-A" + } + }, + { + "command": "vesm", + "gcParams": { + "languageCode": "es-US", + "ssmlGender": "MALE", + "voiceName": "es-US-Neural2-B" + } + }, + { + "command": "vesm", + "gcParams": { + "languageCode": "es-US", + "ssmlGender": "MALE", + "voiceName": "es-US-Neural2-C" + } + }, + { + "command": "vesm", + "gcParams": { + "languageCode": "es-US", + "ssmlGender": "MALE", + "voiceName": "es-US-Polyglot-1" + } + }, + { + "command": "vesf", + "gcParams": { + "languageCode": "es-US", + "ssmlGender": "FEMALE", + "voiceName": "es-US-Standard-A" + } + }, + { + "command": "vesm", + "gcParams": { + "languageCode": "es-US", + "ssmlGender": "MALE", + "voiceName": "es-US-Standard-B" + } + }, + { + "command": "vesm", + "gcParams": { + "languageCode": "es-US", + "ssmlGender": "MALE", + "voiceName": "es-US-Standard-C" + } + } + ] + }, + "fi": { + "fi-FI": [ + { + "command": "vfif", + "gcParams": { + "languageCode": "fi-FI", + "ssmlGender": "FEMALE", + "voiceName": "fi-FI-Wavenet-A" + } + }, + { + "command": "vfif", + "gcParams": { + "languageCode": "fi-FI", + "ssmlGender": "FEMALE", + "voiceName": "fi-FI-Standard-A" + } + }, + { + "command": "vfif", + "gcParams": { + "languageCode": "fi-FI", + "ssmlGender": "FEMALE", + "voiceName": "fi-FI-Standard-A" + } + } + ] + }, + "fil": { + "fil-PH": [ + { + "command": "vfilf", + "gcParams": { + "languageCode": "fil-PH", + "ssmlGender": "FEMALE", + "voiceName": "fil-PH-Wavenet-A" + } + }, + { + "command": "vfilf", + "gcParams": { + "languageCode": "fil-PH", + "ssmlGender": "FEMALE", + "voiceName": "fil-PH-Wavenet-B" + } + }, + { + "command": "vfilm", + "gcParams": { + "languageCode": "fil-PH", + "ssmlGender": "MALE", + "voiceName": "fil-PH-Wavenet-C" + } + }, + { + "command": "vfilm", + "gcParams": { + "languageCode": "fil-PH", + "ssmlGender": "MALE", + "voiceName": "fil-PH-Wavenet-D" + } + }, + { + "command": "vfilf", + "gcParams": { + "languageCode": "fil-PH", + "ssmlGender": "FEMALE", + "voiceName": "fil-PH-Standard-A" + } + }, + { + "command": "vfilf", + "gcParams": { + "languageCode": "fil-PH", + "ssmlGender": "FEMALE", + "voiceName": "fil-PH-Standard-B" + } + }, + { + "command": "vfilm", + "gcParams": { + "languageCode": "fil-PH", + "ssmlGender": "MALE", + "voiceName": "fil-PH-Standard-C" + } + }, + { + "command": "vfilm", + "gcParams": { + "languageCode": "fil-PH", + "ssmlGender": "MALE", + "voiceName": "fil-PH-Standard-D" + } + }, + { + "command": "vfilm", + "gcParams": { + "languageCode": "fil-PH", + "ssmlGender": "MALE", + "voiceName": "fil-ph-Neural2-D" + } + }, + { + "command": "vfilf", + "gcParams": { + "languageCode": "fil-PH", + "ssmlGender": "FEMALE", + "voiceName": "fil-ph-Neural2-A" + } + }, + { + "command": "vfilf", + "gcParams": { + "languageCode": "fil-PH", + "ssmlGender": "FEMALE", + "voiceName": "fil-PH-Standard-A" + } + }, + { + "command": "vfilf", + "gcParams": { + "languageCode": "fil-PH", + "ssmlGender": "FEMALE", + "voiceName": "fil-PH-Standard-B" + } + }, + { + "command": "vfilm", + "gcParams": { + "languageCode": "fil-PH", + "ssmlGender": "MALE", + "voiceName": "fil-PH-Standard-C" + } + }, + { + "command": "vfilm", + "gcParams": { + "languageCode": "fil-PH", + "ssmlGender": "MALE", + "voiceName": "fil-PH-Standard-D" + } + } + ] + }, + "fr": { + "fr-CA": [ + { + "command": "vfrf", + "gcParams": { + "languageCode": "fr-CA", + "ssmlGender": "FEMALE", + "voiceName": "fr-CA-Wavenet-A" + } + }, + { + "command": "vfrm", + "gcParams": { + "languageCode": "fr-CA", + "ssmlGender": "MALE", + "voiceName": "fr-CA-Wavenet-B" + } + }, + { + "command": "vfrf", + "gcParams": { + "languageCode": "fr-CA", + "ssmlGender": "FEMALE", + "voiceName": "fr-CA-Wavenet-C" + } + }, + { + "command": "vfrm", + "gcParams": { + "languageCode": "fr-CA", + "ssmlGender": "MALE", + "voiceName": "fr-CA-Wavenet-D" + } + }, + { + "command": "vfrf", + "gcParams": { + "languageCode": "fr-CA", + "ssmlGender": "FEMALE", + "voiceName": "fr-CA-Standard-A" + } + }, + { + "command": "vfrm", + "gcParams": { + "languageCode": "fr-CA", + "ssmlGender": "MALE", + "voiceName": "fr-CA-Standard-B" + } + }, + { + "command": "vfrf", + "gcParams": { + "languageCode": "fr-CA", + "ssmlGender": "FEMALE", + "voiceName": "fr-CA-Standard-C" + } + }, + { + "command": "vfrm", + "gcParams": { + "languageCode": "fr-CA", + "ssmlGender": "MALE", + "voiceName": "fr-CA-Standard-D" + } + }, + { + "command": "vfrf", + "gcParams": { + "languageCode": "fr-CA", + "ssmlGender": "FEMALE", + "voiceName": "fr-CA-Neural2-A" + } + }, + { + "command": "vfrm", + "gcParams": { + "languageCode": "fr-CA", + "ssmlGender": "MALE", + "voiceName": "fr-CA-Neural2-B" + } + }, + { + "command": "vfrf", + "gcParams": { + "languageCode": "fr-CA", + "ssmlGender": "FEMALE", + "voiceName": "fr-CA-Neural2-C" + } + }, + { + "command": "vfrm", + "gcParams": { + "languageCode": "fr-CA", + "ssmlGender": "MALE", + "voiceName": "fr-CA-Neural2-D" + } + }, + { + "command": "vfrf", + "gcParams": { + "languageCode": "fr-CA", + "ssmlGender": "FEMALE", + "voiceName": "fr-CA-Standard-A" + } + }, + { + "command": "vfrm", + "gcParams": { + "languageCode": "fr-CA", + "ssmlGender": "MALE", + "voiceName": "fr-CA-Standard-B" + } + }, + { + "command": "vfrf", + "gcParams": { + "languageCode": "fr-CA", + "ssmlGender": "FEMALE", + "voiceName": "fr-CA-Standard-C" + } + }, + { + "command": "vfrm", + "gcParams": { + "languageCode": "fr-CA", + "ssmlGender": "MALE", + "voiceName": "fr-CA-Standard-D" + } + } + ], + "fr-FR": [ + { + "command": "vfrf", + "gcParams": { + "languageCode": "fr-FR", + "ssmlGender": "FEMALE", + "voiceName": "fr-FR-Wavenet-E" + } + }, + { + "command": "vfrf", + "gcParams": { + "languageCode": "fr-FR", + "ssmlGender": "FEMALE", + "voiceName": "fr-FR-Wavenet-A" + } + }, + { + "command": "vfrm", + "gcParams": { + "languageCode": "fr-FR", + "ssmlGender": "MALE", + "voiceName": "fr-FR-Wavenet-B" + } + }, + { + "command": "vfrf", + "gcParams": { + "languageCode": "fr-FR", + "ssmlGender": "FEMALE", + "voiceName": "fr-FR-Wavenet-C" + } + }, + { + "command": "vfrm", + "gcParams": { + "languageCode": "fr-FR", + "ssmlGender": "MALE", + "voiceName": "fr-FR-Wavenet-D" + } + }, + { + "command": "vfrf", + "gcParams": { + "languageCode": "fr-FR", + "ssmlGender": "FEMALE", + "voiceName": "fr-FR-Standard-A" + } + }, + { + "command": "vfrm", + "gcParams": { + "languageCode": "fr-FR", + "ssmlGender": "MALE", + "voiceName": "fr-FR-Standard-B" + } + }, + { + "command": "vfrf", + "gcParams": { + "languageCode": "fr-FR", + "ssmlGender": "FEMALE", + "voiceName": "fr-FR-Standard-C" + } + }, + { + "command": "vfrm", + "gcParams": { + "languageCode": "fr-FR", + "ssmlGender": "MALE", + "voiceName": "fr-FR-Standard-D" + } + }, + { + "command": "vfrf", + "gcParams": { + "languageCode": "fr-FR", + "ssmlGender": "FEMALE", + "voiceName": "fr-FR-Standard-E" + } + }, + { + "command": "vfrf", + "gcParams": { + "languageCode": "fr-FR", + "ssmlGender": "FEMALE", + "voiceName": "fr-FR-Neural2-A" + } + }, + { + "command": "vfrm", + "gcParams": { + "languageCode": "fr-FR", + "ssmlGender": "MALE", + "voiceName": "fr-FR-Neural2-B" + } + }, + { + "command": "vfrf", + "gcParams": { + "languageCode": "fr-FR", + "ssmlGender": "FEMALE", + "voiceName": "fr-FR-Neural2-C" + } + }, + { + "command": "vfrm", + "gcParams": { + "languageCode": "fr-FR", + "ssmlGender": "MALE", + "voiceName": "fr-FR-Neural2-D" + } + }, + { + "command": "vfrf", + "gcParams": { + "languageCode": "fr-FR", + "ssmlGender": "FEMALE", + "voiceName": "fr-FR-Neural2-E" + } + }, + { + "command": "vfrm", + "gcParams": { + "languageCode": "fr-FR", + "ssmlGender": "MALE", + "voiceName": "fr-FR-Polyglot-1" + } + }, + { + "command": "vfrf", + "gcParams": { + "languageCode": "fr-FR", + "ssmlGender": "FEMALE", + "voiceName": "fr-FR-Standard-A" + } + }, + { + "command": "vfrm", + "gcParams": { + "languageCode": "fr-FR", + "ssmlGender": "MALE", + "voiceName": "fr-FR-Standard-B" + } + }, + { + "command": "vfrf", + "gcParams": { + "languageCode": "fr-FR", + "ssmlGender": "FEMALE", + "voiceName": "fr-FR-Standard-C" + } + }, + { + "command": "vfrm", + "gcParams": { + "languageCode": "fr-FR", + "ssmlGender": "MALE", + "voiceName": "fr-FR-Standard-D" + } + }, + { + "command": "vfrf", + "gcParams": { + "languageCode": "fr-FR", + "ssmlGender": "FEMALE", + "voiceName": "fr-FR-Standard-E" + } + } + ] + }, + "gu": { + "gu-IN": [ + { + "command": "vguf", + "gcParams": { + "languageCode": "gu-IN", + "ssmlGender": "FEMALE", + "voiceName": "gu-IN-Wavenet-A" + } + }, + { + "command": "vgum", + "gcParams": { + "languageCode": "gu-IN", + "ssmlGender": "MALE", + "voiceName": "gu-IN-Wavenet-B" + } + }, + { + "command": "vguf", + "gcParams": { + "languageCode": "gu-IN", + "ssmlGender": "FEMALE", + "voiceName": "gu-IN-Standard-A" + } + }, + { + "command": "vgum", + "gcParams": { + "languageCode": "gu-IN", + "ssmlGender": "MALE", + "voiceName": "gu-IN-Standard-B" + } + }, + { + "command": "vguf", + "gcParams": { + "languageCode": "gu-IN", + "ssmlGender": "FEMALE", + "voiceName": "gu-IN-Standard-A" + } + }, + { + "command": "vgum", + "gcParams": { + "languageCode": "gu-IN", + "ssmlGender": "MALE", + "voiceName": "gu-IN-Standard-B" + } + } + ] + }, + "he": { + "he-IL": [ + { + "command": "vhem", + "gcParams": { + "languageCode": "he-IL", + "ssmlGender": "MALE", + "voiceName": "he-IL-Wavenet-D" + } + }, + { + "command": "vhef", + "gcParams": { + "languageCode": "he-IL", + "ssmlGender": "FEMALE", + "voiceName": "he-IL-Wavenet-A" + } + }, + { + "command": "vhem", + "gcParams": { + "languageCode": "he-IL", + "ssmlGender": "MALE", + "voiceName": "he-IL-Wavenet-B" + } + }, + { + "command": "vhef", + "gcParams": { + "languageCode": "he-IL", + "ssmlGender": "FEMALE", + "voiceName": "he-IL-Wavenet-C" + } + }, + { + "command": "vhem", + "gcParams": { + "languageCode": "he-IL", + "ssmlGender": "MALE", + "voiceName": "he-IL-Standard-D" + } + }, + { + "command": "vhef", + "gcParams": { + "languageCode": "he-IL", + "ssmlGender": "FEMALE", + "voiceName": "he-IL-Standard-A" + } + }, + { + "command": "vhem", + "gcParams": { + "languageCode": "he-IL", + "ssmlGender": "MALE", + "voiceName": "he-IL-Standard-B" + } + }, + { + "command": "vhef", + "gcParams": { + "languageCode": "he-IL", + "ssmlGender": "FEMALE", + "voiceName": "he-IL-Standard-C" + } + }, + { + "command": "vhef", + "gcParams": { + "languageCode": "he-IL", + "ssmlGender": "FEMALE", + "voiceName": "he-IL-Standard-A" + } + }, + { + "command": "vhem", + "gcParams": { + "languageCode": "he-IL", + "ssmlGender": "MALE", + "voiceName": "he-IL-Standard-B" + } + }, + { + "command": "vhef", + "gcParams": { + "languageCode": "he-IL", + "ssmlGender": "FEMALE", + "voiceName": "he-IL-Standard-C" + } + }, + { + "command": "vhem", + "gcParams": { + "languageCode": "he-IL", + "ssmlGender": "MALE", + "voiceName": "he-IL-Standard-D" + } + } + ] + }, + "hi": { + "hi-IN": [ + { + "command": "vhif", + "gcParams": { + "languageCode": "hi-IN", + "ssmlGender": "FEMALE", + "voiceName": "hi-IN-Wavenet-D" + } + }, + { + "command": "vhif", + "gcParams": { + "languageCode": "hi-IN", + "ssmlGender": "FEMALE", + "voiceName": "hi-IN-Wavenet-A" + } + }, + { + "command": "vhim", + "gcParams": { + "languageCode": "hi-IN", + "ssmlGender": "MALE", + "voiceName": "hi-IN-Wavenet-B" + } + }, + { + "command": "vhim", + "gcParams": { + "languageCode": "hi-IN", + "ssmlGender": "MALE", + "voiceName": "hi-IN-Wavenet-C" + } + }, + { + "command": "vhif", + "gcParams": { + "languageCode": "hi-IN", + "ssmlGender": "FEMALE", + "voiceName": "hi-IN-Standard-D" + } + }, + { + "command": "vhif", + "gcParams": { + "languageCode": "hi-IN", + "ssmlGender": "FEMALE", + "voiceName": "hi-IN-Standard-A" + } + }, + { + "command": "vhim", + "gcParams": { + "languageCode": "hi-IN", + "ssmlGender": "MALE", + "voiceName": "hi-IN-Standard-B" + } + }, + { + "command": "vhim", + "gcParams": { + "languageCode": "hi-IN", + "ssmlGender": "MALE", + "voiceName": "hi-IN-Standard-C" + } + }, + { + "command": "vhif", + "gcParams": { + "languageCode": "hi-IN", + "ssmlGender": "FEMALE", + "voiceName": "hi-IN-Neural2-A" + } + }, + { + "command": "vhim", + "gcParams": { + "languageCode": "hi-IN", + "ssmlGender": "MALE", + "voiceName": "hi-IN-Neural2-B" + } + }, + { + "command": "vhim", + "gcParams": { + "languageCode": "hi-IN", + "ssmlGender": "MALE", + "voiceName": "hi-IN-Neural2-C" + } + }, + { + "command": "vhif", + "gcParams": { + "languageCode": "hi-IN", + "ssmlGender": "FEMALE", + "voiceName": "hi-IN-Neural2-D" + } + }, + { + "command": "vhif", + "gcParams": { + "languageCode": "hi-IN", + "ssmlGender": "FEMALE", + "voiceName": "hi-IN-Standard-A" + } + }, + { + "command": "vhim", + "gcParams": { + "languageCode": "hi-IN", + "ssmlGender": "MALE", + "voiceName": "hi-IN-Standard-B" + } + }, + { + "command": "vhim", + "gcParams": { + "languageCode": "hi-IN", + "ssmlGender": "MALE", + "voiceName": "hi-IN-Standard-C" + } + }, + { + "command": "vhif", + "gcParams": { + "languageCode": "hi-IN", + "ssmlGender": "FEMALE", + "voiceName": "hi-IN-Standard-D" + } + } + ] + }, + "hu": { + "hu-HU": [ + { + "command": "vhuf", + "gcParams": { + "languageCode": "hu-HU", + "ssmlGender": "FEMALE", + "voiceName": "hu-HU-Wavenet-A" + } + }, + { + "command": "vhuf", + "gcParams": { + "languageCode": "hu-HU", + "ssmlGender": "FEMALE", + "voiceName": "hu-HU-Standard-A" + } + }, + { + "command": "vhuf", + "gcParams": { + "languageCode": "hu-HU", + "ssmlGender": "FEMALE", + "voiceName": "hu-HU-Standard-A" + } + } + ] + }, + "id": { + "id-ID": [ + { + "command": "vidf", + "gcParams": { + "languageCode": "id-ID", + "ssmlGender": "FEMALE", + "voiceName": "id-ID-Wavenet-D" + } + }, + { + "command": "vidf", + "gcParams": { + "languageCode": "id-ID", + "ssmlGender": "FEMALE", + "voiceName": "id-ID-Wavenet-A" + } + }, + { + "command": "vidm", + "gcParams": { + "languageCode": "id-ID", + "ssmlGender": "MALE", + "voiceName": "id-ID-Wavenet-B" + } + }, + { + "command": "vidm", + "gcParams": { + "languageCode": "id-ID", + "ssmlGender": "MALE", + "voiceName": "id-ID-Wavenet-C" + } + }, + { + "command": "vidf", + "gcParams": { + "languageCode": "id-ID", + "ssmlGender": "FEMALE", + "voiceName": "id-ID-Standard-A" + } + }, + { + "command": "vidm", + "gcParams": { + "languageCode": "id-ID", + "ssmlGender": "MALE", + "voiceName": "id-ID-Standard-B" + } + }, + { + "command": "vidm", + "gcParams": { + "languageCode": "id-ID", + "ssmlGender": "MALE", + "voiceName": "id-ID-Standard-C" + } + }, + { + "command": "vidf", + "gcParams": { + "languageCode": "id-ID", + "ssmlGender": "FEMALE", + "voiceName": "id-ID-Standard-D" + } + }, + { + "command": "vidf", + "gcParams": { + "languageCode": "id-ID", + "ssmlGender": "FEMALE", + "voiceName": "id-ID-Standard-A" + } + }, + { + "command": "vidm", + "gcParams": { + "languageCode": "id-ID", + "ssmlGender": "MALE", + "voiceName": "id-ID-Standard-B" + } + }, + { + "command": "vidm", + "gcParams": { + "languageCode": "id-ID", + "ssmlGender": "MALE", + "voiceName": "id-ID-Standard-C" + } + }, + { + "command": "vidf", + "gcParams": { + "languageCode": "id-ID", + "ssmlGender": "FEMALE", + "voiceName": "id-ID-Standard-D" + } + } + ] + }, + "it": { + "it-IT": [ + { + "command": "vitf", + "gcParams": { + "languageCode": "it-IT", + "ssmlGender": "FEMALE", + "voiceName": "it-IT-Wavenet-A" + } + }, + { + "command": "vitf", + "gcParams": { + "languageCode": "it-IT", + "ssmlGender": "FEMALE", + "voiceName": "it-IT-Wavenet-B" + } + }, + { + "command": "vitm", + "gcParams": { + "languageCode": "it-IT", + "ssmlGender": "MALE", + "voiceName": "it-IT-Wavenet-C" + } + }, + { + "command": "vitm", + "gcParams": { + "languageCode": "it-IT", + "ssmlGender": "MALE", + "voiceName": "it-IT-Wavenet-D" + } + }, + { + "command": "vitf", + "gcParams": { + "languageCode": "it-IT", + "ssmlGender": "FEMALE", + "voiceName": "it-IT-Standard-B" + } + }, + { + "command": "vitm", + "gcParams": { + "languageCode": "it-IT", + "ssmlGender": "MALE", + "voiceName": "it-IT-Standard-C" + } + }, + { + "command": "vitm", + "gcParams": { + "languageCode": "it-IT", + "ssmlGender": "MALE", + "voiceName": "it-IT-Standard-D" + } + }, + { + "command": "vitf", + "gcParams": { + "languageCode": "it-IT", + "ssmlGender": "FEMALE", + "voiceName": "it-IT-Standard-A" + } + }, + { + "command": "vitf", + "gcParams": { + "languageCode": "it-IT", + "ssmlGender": "FEMALE", + "voiceName": "it-IT-Neural2-A" + } + }, + { + "command": "vitm", + "gcParams": { + "languageCode": "it-IT", + "ssmlGender": "MALE", + "voiceName": "it-IT-Neural2-C" + } + }, + { + "command": "vitf", + "gcParams": { + "languageCode": "it-IT", + "ssmlGender": "FEMALE", + "voiceName": "it-IT-Standard-A" + } + }, + { + "command": "vitf", + "gcParams": { + "languageCode": "it-IT", + "ssmlGender": "FEMALE", + "voiceName": "it-IT-Standard-B" + } + }, + { + "command": "vitm", + "gcParams": { + "languageCode": "it-IT", + "ssmlGender": "MALE", + "voiceName": "it-IT-Standard-C" + } + }, + { + "command": "vitm", + "gcParams": { + "languageCode": "it-IT", + "ssmlGender": "MALE", + "voiceName": "it-IT-Standard-D" + } + } + ] + }, + "ja": { + "ja-JP": [ + { + "command": "vjaf", + "gcParams": { + "languageCode": "ja-JP", + "ssmlGender": "FEMALE", + "voiceName": "ja-JP-Wavenet-B" + } + }, + { + "command": "vjam", + "gcParams": { + "languageCode": "ja-JP", + "ssmlGender": "MALE", + "voiceName": "ja-JP-Wavenet-C" + } + }, + { + "command": "vjam", + "gcParams": { + "languageCode": "ja-JP", + "ssmlGender": "MALE", + "voiceName": "ja-JP-Wavenet-D" + } + }, + { + "command": "vjaf", + "gcParams": { + "languageCode": "ja-JP", + "ssmlGender": "FEMALE", + "voiceName": "ja-JP-Wavenet-A" + } + }, + { + "command": "vjaf", + "gcParams": { + "languageCode": "ja-JP", + "ssmlGender": "FEMALE", + "voiceName": "ja-JP-Standard-A" + } + }, + { + "command": "vjaf", + "gcParams": { + "languageCode": "ja-JP", + "ssmlGender": "FEMALE", + "voiceName": "ja-JP-Standard-B" + } + }, + { + "command": "vjam", + "gcParams": { + "languageCode": "ja-JP", + "ssmlGender": "MALE", + "voiceName": "ja-JP-Standard-C" + } + }, + { + "command": "vjam", + "gcParams": { + "languageCode": "ja-JP", + "ssmlGender": "MALE", + "voiceName": "ja-JP-Standard-D" + } + }, + { + "command": "vjaf", + "gcParams": { + "languageCode": "ja-JP", + "ssmlGender": "FEMALE", + "voiceName": "ja-JP-Neural2-B" + } + }, + { + "command": "vjam", + "gcParams": { + "languageCode": "ja-JP", + "ssmlGender": "MALE", + "voiceName": "ja-JP-Neural2-C" + } + }, + { + "command": "vjam", + "gcParams": { + "languageCode": "ja-JP", + "ssmlGender": "MALE", + "voiceName": "ja-JP-Neural2-D" + } + }, + { + "command": "vjaf", + "gcParams": { + "languageCode": "ja-JP", + "ssmlGender": "FEMALE", + "voiceName": "ja-JP-Standard-A" + } + }, + { + "command": "vjaf", + "gcParams": { + "languageCode": "ja-JP", + "ssmlGender": "FEMALE", + "voiceName": "ja-JP-Standard-B" + } + }, + { + "command": "vjam", + "gcParams": { + "languageCode": "ja-JP", + "ssmlGender": "MALE", + "voiceName": "ja-JP-Standard-C" + } + }, + { + "command": "vjam", + "gcParams": { + "languageCode": "ja-JP", + "ssmlGender": "MALE", + "voiceName": "ja-JP-Standard-D" + } + } + ] + }, + "kn": { + "kn-IN": [ + { + "command": "vknf", + "gcParams": { + "languageCode": "kn-IN", + "ssmlGender": "FEMALE", + "voiceName": "kn-IN-Wavenet-A" + } + }, + { + "command": "vknm", + "gcParams": { + "languageCode": "kn-IN", + "ssmlGender": "MALE", + "voiceName": "kn-IN-Wavenet-B" + } + }, + { + "command": "vknf", + "gcParams": { + "languageCode": "kn-IN", + "ssmlGender": "FEMALE", + "voiceName": "kn-IN-Standard-A" + } + }, + { + "command": "vknm", + "gcParams": { + "languageCode": "kn-IN", + "ssmlGender": "MALE", + "voiceName": "kn-IN-Standard-B" + } + }, + { + "command": "vknf", + "gcParams": { + "languageCode": "kn-IN", + "ssmlGender": "FEMALE", + "voiceName": "kn-IN-Standard-A" + } + }, + { + "command": "vknm", + "gcParams": { + "languageCode": "kn-IN", + "ssmlGender": "MALE", + "voiceName": "kn-IN-Standard-B" + } + } + ] + }, + "ko": { + "ko-KR": [ + { + "command": "vkof", + "gcParams": { + "languageCode": "ko-KR", + "ssmlGender": "FEMALE", + "voiceName": "ko-KR-Wavenet-A" + } + }, + { + "command": "vkof", + "gcParams": { + "languageCode": "ko-KR", + "ssmlGender": "FEMALE", + "voiceName": "ko-KR-Wavenet-B" + } + }, + { + "command": "vkom", + "gcParams": { + "languageCode": "ko-KR", + "ssmlGender": "MALE", + "voiceName": "ko-KR-Wavenet-C" + } + }, + { + "command": "vkom", + "gcParams": { + "languageCode": "ko-KR", + "ssmlGender": "MALE", + "voiceName": "ko-KR-Wavenet-D" + } + }, + { + "command": "vkof", + "gcParams": { + "languageCode": "ko-KR", + "ssmlGender": "FEMALE", + "voiceName": "ko-KR-Standard-A" + } + }, + { + "command": "vkof", + "gcParams": { + "languageCode": "ko-KR", + "ssmlGender": "FEMALE", + "voiceName": "ko-KR-Standard-B" + } + }, + { + "command": "vkom", + "gcParams": { + "languageCode": "ko-KR", + "ssmlGender": "MALE", + "voiceName": "ko-KR-Standard-C" + } + }, + { + "command": "vkom", + "gcParams": { + "languageCode": "ko-KR", + "ssmlGender": "MALE", + "voiceName": "ko-KR-Standard-D" + } + }, + { + "command": "vkof", + "gcParams": { + "languageCode": "ko-KR", + "ssmlGender": "FEMALE", + "voiceName": "ko-KR-Neural2-A" + } + }, + { + "command": "vkof", + "gcParams": { + "languageCode": "ko-KR", + "ssmlGender": "FEMALE", + "voiceName": "ko-KR-Neural2-B" + } + }, + { + "command": "vkom", + "gcParams": { + "languageCode": "ko-KR", + "ssmlGender": "MALE", + "voiceName": "ko-KR-Neural2-C" + } + }, + { + "command": "vkof", + "gcParams": { + "languageCode": "ko-KR", + "ssmlGender": "FEMALE", + "voiceName": "ko-KR-Standard-A" + } + }, + { + "command": "vkof", + "gcParams": { + "languageCode": "ko-KR", + "ssmlGender": "FEMALE", + "voiceName": "ko-KR-Standard-B" + } + }, + { + "command": "vkom", + "gcParams": { + "languageCode": "ko-KR", + "ssmlGender": "MALE", + "voiceName": "ko-KR-Standard-C" + } + }, + { + "command": "vkom", + "gcParams": { + "languageCode": "ko-KR", + "ssmlGender": "MALE", + "voiceName": "ko-KR-Standard-D" + } + } + ] + }, + "ml": { + "ml-IN": [ + { + "command": "vmlf", + "gcParams": { + "languageCode": "ml-IN", + "ssmlGender": "FEMALE", + "voiceName": "ml-IN-Wavenet-A" + } + }, + { + "command": "vmlm", + "gcParams": { + "languageCode": "ml-IN", + "ssmlGender": "MALE", + "voiceName": "ml-IN-Wavenet-B" + } + }, + { + "command": "vmlf", + "gcParams": { + "languageCode": "ml-IN", + "ssmlGender": "FEMALE", + "voiceName": "ml-IN-Wavenet-C" + } + }, + { + "command": "vmlm", + "gcParams": { + "languageCode": "ml-IN", + "ssmlGender": "MALE", + "voiceName": "ml-IN-Wavenet-D" + } + }, + { + "command": "vmlf", + "gcParams": { + "languageCode": "ml-IN", + "ssmlGender": "FEMALE", + "voiceName": "ml-IN-Standard-A" + } + }, + { + "command": "vmlm", + "gcParams": { + "languageCode": "ml-IN", + "ssmlGender": "MALE", + "voiceName": "ml-IN-Standard-B" + } + }, + { + "command": "vmlf", + "gcParams": { + "languageCode": "ml-IN", + "ssmlGender": "FEMALE", + "voiceName": "ml-IN-Standard-A" + } + }, + { + "command": "vmlm", + "gcParams": { + "languageCode": "ml-IN", + "ssmlGender": "MALE", + "voiceName": "ml-IN-Standard-B" + } + } + ] + }, + "mr": { + "mr-IN": [ + { + "command": "vmrf", + "gcParams": { + "languageCode": "mr-IN", + "ssmlGender": "FEMALE", + "voiceName": "mr-IN-Wavenet-A" + } + }, + { + "command": "vmrm", + "gcParams": { + "languageCode": "mr-IN", + "ssmlGender": "MALE", + "voiceName": "mr-IN-Wavenet-B" + } + }, + { + "command": "vmrf", + "gcParams": { + "languageCode": "mr-IN", + "ssmlGender": "FEMALE", + "voiceName": "mr-IN-Wavenet-C" + } + }, + { + "command": "vmrf", + "gcParams": { + "languageCode": "mr-IN", + "ssmlGender": "FEMALE", + "voiceName": "mr-IN-Standard-A" + } + }, + { + "command": "vmrm", + "gcParams": { + "languageCode": "mr-IN", + "ssmlGender": "MALE", + "voiceName": "mr-IN-Standard-B" + } + }, + { + "command": "vmrf", + "gcParams": { + "languageCode": "mr-IN", + "ssmlGender": "FEMALE", + "voiceName": "mr-IN-Standard-C" + } + }, + { + "command": "vmrf", + "gcParams": { + "languageCode": "mr-IN", + "ssmlGender": "FEMALE", + "voiceName": "mr-IN-Standard-A" + } + }, + { + "command": "vmrm", + "gcParams": { + "languageCode": "mr-IN", + "ssmlGender": "MALE", + "voiceName": "mr-IN-Standard-B" + } + }, + { + "command": "vmrf", + "gcParams": { + "languageCode": "mr-IN", + "ssmlGender": "FEMALE", + "voiceName": "mr-IN-Standard-C" + } + } + ] + }, + "ms": { + "ms-MY": [ + { + "command": "vmsf", + "gcParams": { + "languageCode": "ms-MY", + "ssmlGender": "FEMALE", + "voiceName": "ms-MY-Wavenet-A" + } + }, + { + "command": "vmsm", + "gcParams": { + "languageCode": "ms-MY", + "ssmlGender": "MALE", + "voiceName": "ms-MY-Wavenet-B" + } + }, + { + "command": "vmsf", + "gcParams": { + "languageCode": "ms-MY", + "ssmlGender": "FEMALE", + "voiceName": "ms-MY-Wavenet-C" + } + }, + { + "command": "vmsm", + "gcParams": { + "languageCode": "ms-MY", + "ssmlGender": "MALE", + "voiceName": "ms-MY-Wavenet-D" + } + }, + { + "command": "vmsf", + "gcParams": { + "languageCode": "ms-MY", + "ssmlGender": "FEMALE", + "voiceName": "ms-MY-Standard-A" + } + }, + { + "command": "vmsm", + "gcParams": { + "languageCode": "ms-MY", + "ssmlGender": "MALE", + "voiceName": "ms-MY-Standard-B" + } + }, + { + "command": "vmsf", + "gcParams": { + "languageCode": "ms-MY", + "ssmlGender": "FEMALE", + "voiceName": "ms-MY-Standard-C" + } + }, + { + "command": "vmsm", + "gcParams": { + "languageCode": "ms-MY", + "ssmlGender": "MALE", + "voiceName": "ms-MY-Standard-D" + } + }, + { + "command": "vmsf", + "gcParams": { + "languageCode": "ms-MY", + "ssmlGender": "FEMALE", + "voiceName": "ms-MY-Standard-A" + } + }, + { + "command": "vmsm", + "gcParams": { + "languageCode": "ms-MY", + "ssmlGender": "MALE", + "voiceName": "ms-MY-Standard-B" + } + }, + { + "command": "vmsf", + "gcParams": { + "languageCode": "ms-MY", + "ssmlGender": "FEMALE", + "voiceName": "ms-MY-Standard-C" + } + }, + { + "command": "vmsm", + "gcParams": { + "languageCode": "ms-MY", + "ssmlGender": "MALE", + "voiceName": "ms-MY-Standard-D" + } + } + ] + }, + "nb": { + "nb-NO": [ + { + "command": "vnbf", + "gcParams": { + "languageCode": "nb-NO", + "ssmlGender": "FEMALE", + "voiceName": "nb-NO-Wavenet-A" + } + }, + { + "command": "vnbm", + "gcParams": { + "languageCode": "nb-NO", + "ssmlGender": "MALE", + "voiceName": "nb-NO-Wavenet-B" + } + }, + { + "command": "vnbf", + "gcParams": { + "languageCode": "nb-NO", + "ssmlGender": "FEMALE", + "voiceName": "nb-NO-Wavenet-C" + } + }, + { + "command": "vnbm", + "gcParams": { + "languageCode": "nb-NO", + "ssmlGender": "MALE", + "voiceName": "nb-NO-Wavenet-D" + } + }, + { + "command": "vnbf", + "gcParams": { + "languageCode": "nb-NO", + "ssmlGender": "FEMALE", + "voiceName": "nb-NO-Wavenet-E" + } + }, + { + "command": "vnbf", + "gcParams": { + "languageCode": "nb-NO", + "ssmlGender": "FEMALE", + "voiceName": "nb-NO-Standard-A" + } + }, + { + "command": "vnbm", + "gcParams": { + "languageCode": "nb-NO", + "ssmlGender": "MALE", + "voiceName": "nb-NO-Standard-B" + } + }, + { + "command": "vnbf", + "gcParams": { + "languageCode": "nb-NO", + "ssmlGender": "FEMALE", + "voiceName": "nb-NO-Standard-E" + } + }, + { + "command": "vnbf", + "gcParams": { + "languageCode": "nb-NO", + "ssmlGender": "FEMALE", + "voiceName": "nb-NO-Standard-C" + } + }, + { + "command": "vnbm", + "gcParams": { + "languageCode": "nb-NO", + "ssmlGender": "MALE", + "voiceName": "nb-NO-Standard-D" + } + }, + { + "command": "vnbf", + "gcParams": { + "languageCode": "nb-NO", + "ssmlGender": "FEMALE", + "voiceName": "nb-NO-Standard-A" + } + }, + { + "command": "vnbm", + "gcParams": { + "languageCode": "nb-NO", + "ssmlGender": "MALE", + "voiceName": "nb-NO-Standard-B" + } + }, + { + "command": "vnbf", + "gcParams": { + "languageCode": "nb-NO", + "ssmlGender": "FEMALE", + "voiceName": "nb-NO-Standard-C" + } + }, + { + "command": "vnbm", + "gcParams": { + "languageCode": "nb-NO", + "ssmlGender": "MALE", + "voiceName": "nb-NO-Standard-D" + } + }, + { + "command": "vnbf", + "gcParams": { + "languageCode": "nb-NO", + "ssmlGender": "FEMALE", + "voiceName": "nb-NO-Standard-E" + } + } + ] + }, + "nl": { + "nl-BE": [ + { + "command": "vnlf", + "gcParams": { + "languageCode": "nl-BE", + "ssmlGender": "FEMALE", + "voiceName": "nl-BE-Wavenet-A" + } + }, + { + "command": "vnlm", + "gcParams": { + "languageCode": "nl-BE", + "ssmlGender": "MALE", + "voiceName": "nl-BE-Wavenet-B" + } + }, + { + "command": "vnlf", + "gcParams": { + "languageCode": "nl-BE", + "ssmlGender": "FEMALE", + "voiceName": "nl-BE-Standard-A" + } + }, + { + "command": "vnlm", + "gcParams": { + "languageCode": "nl-BE", + "ssmlGender": "MALE", + "voiceName": "nl-BE-Standard-B" + } + }, + { + "command": "vnlf", + "gcParams": { + "languageCode": "nl-BE", + "ssmlGender": "FEMALE", + "voiceName": "nl-BE-Standard-A" + } + }, + { + "command": "vnlm", + "gcParams": { + "languageCode": "nl-BE", + "ssmlGender": "MALE", + "voiceName": "nl-BE-Standard-B" + } + } + ], + "nl-NL": [ + { + "command": "vnlm", + "gcParams": { + "languageCode": "nl-NL", + "ssmlGender": "MALE", + "voiceName": "nl-NL-Wavenet-B" + } + }, + { + "command": "vnlm", + "gcParams": { + "languageCode": "nl-NL", + "ssmlGender": "MALE", + "voiceName": "nl-NL-Wavenet-C" + } + }, + { + "command": "vnlf", + "gcParams": { + "languageCode": "nl-NL", + "ssmlGender": "FEMALE", + "voiceName": "nl-NL-Wavenet-D" + } + }, + { + "command": "vnlf", + "gcParams": { + "languageCode": "nl-NL", + "ssmlGender": "FEMALE", + "voiceName": "nl-NL-Wavenet-A" + } + }, + { + "command": "vnlf", + "gcParams": { + "languageCode": "nl-NL", + "ssmlGender": "FEMALE", + "voiceName": "nl-NL-Wavenet-E" + } + }, + { + "command": "vnlm", + "gcParams": { + "languageCode": "nl-NL", + "ssmlGender": "MALE", + "voiceName": "nl-NL-Standard-B" + } + }, + { + "command": "vnlm", + "gcParams": { + "languageCode": "nl-NL", + "ssmlGender": "MALE", + "voiceName": "nl-NL-Standard-C" + } + }, + { + "command": "vnlf", + "gcParams": { + "languageCode": "nl-NL", + "ssmlGender": "FEMALE", + "voiceName": "nl-NL-Standard-D" + } + }, + { + "command": "vnlf", + "gcParams": { + "languageCode": "nl-NL", + "ssmlGender": "FEMALE", + "voiceName": "nl-NL-Standard-A" + } + }, + { + "command": "vnlf", + "gcParams": { + "languageCode": "nl-NL", + "ssmlGender": "FEMALE", + "voiceName": "nl-NL-Standard-E" + } + }, + { + "command": "vnlf", + "gcParams": { + "languageCode": "nl-NL", + "ssmlGender": "FEMALE", + "voiceName": "nl-NL-Standard-A" + } + }, + { + "command": "vnlm", + "gcParams": { + "languageCode": "nl-NL", + "ssmlGender": "MALE", + "voiceName": "nl-NL-Standard-B" + } + }, + { + "command": "vnlm", + "gcParams": { + "languageCode": "nl-NL", + "ssmlGender": "MALE", + "voiceName": "nl-NL-Standard-C" + } + }, + { + "command": "vnlf", + "gcParams": { + "languageCode": "nl-NL", + "ssmlGender": "FEMALE", + "voiceName": "nl-NL-Standard-D" + } + }, + { + "command": "vnlf", + "gcParams": { + "languageCode": "nl-NL", + "ssmlGender": "FEMALE", + "voiceName": "nl-NL-Standard-E" + } + } + ] + }, + "pa": { + "pa-IN": [ + { + "command": "vpaf", + "gcParams": { + "languageCode": "pa-IN", + "ssmlGender": "FEMALE", + "voiceName": "pa-IN-Wavenet-A" + } + }, + { + "command": "vpam", + "gcParams": { + "languageCode": "pa-IN", + "ssmlGender": "MALE", + "voiceName": "pa-IN-Wavenet-B" + } + }, + { + "command": "vpaf", + "gcParams": { + "languageCode": "pa-IN", + "ssmlGender": "FEMALE", + "voiceName": "pa-IN-Wavenet-C" + } + }, + { + "command": "vpam", + "gcParams": { + "languageCode": "pa-IN", + "ssmlGender": "MALE", + "voiceName": "pa-IN-Wavenet-D" + } + }, + { + "command": "vpaf", + "gcParams": { + "languageCode": "pa-IN", + "ssmlGender": "FEMALE", + "voiceName": "pa-IN-Standard-A" + } + }, + { + "command": "vpam", + "gcParams": { + "languageCode": "pa-IN", + "ssmlGender": "MALE", + "voiceName": "pa-IN-Standard-B" + } + }, + { + "command": "vpaf", + "gcParams": { + "languageCode": "pa-IN", + "ssmlGender": "FEMALE", + "voiceName": "pa-IN-Standard-C" + } + }, + { + "command": "vpam", + "gcParams": { + "languageCode": "pa-IN", + "ssmlGender": "MALE", + "voiceName": "pa-IN-Standard-D" + } + }, + { + "command": "vpaf", + "gcParams": { + "languageCode": "pa-IN", + "ssmlGender": "FEMALE", + "voiceName": "pa-IN-Standard-A" + } + }, + { + "command": "vpam", + "gcParams": { + "languageCode": "pa-IN", + "ssmlGender": "MALE", + "voiceName": "pa-IN-Standard-B" + } + }, + { + "command": "vpaf", + "gcParams": { + "languageCode": "pa-IN", + "ssmlGender": "FEMALE", + "voiceName": "pa-IN-Standard-C" + } + }, + { + "command": "vpam", + "gcParams": { + "languageCode": "pa-IN", + "ssmlGender": "MALE", + "voiceName": "pa-IN-Standard-D" + } + } + ] + }, + "pl": { + "pl-PL": [ + { + "command": "vplf", + "gcParams": { + "languageCode": "pl-PL", + "ssmlGender": "FEMALE", + "voiceName": "pl-PL-Wavenet-A" + } + }, + { + "command": "vplm", + "gcParams": { + "languageCode": "pl-PL", + "ssmlGender": "MALE", + "voiceName": "pl-PL-Wavenet-B" + } + }, + { + "command": "vplm", + "gcParams": { + "languageCode": "pl-PL", + "ssmlGender": "MALE", + "voiceName": "pl-PL-Wavenet-C" + } + }, + { + "command": "vplf", + "gcParams": { + "languageCode": "pl-PL", + "ssmlGender": "FEMALE", + "voiceName": "pl-PL-Wavenet-E" + } + }, + { + "command": "vplf", + "gcParams": { + "languageCode": "pl-PL", + "ssmlGender": "FEMALE", + "voiceName": "pl-PL-Wavenet-D" + } + }, + { + "command": "vplf", + "gcParams": { + "languageCode": "pl-PL", + "ssmlGender": "FEMALE", + "voiceName": "pl-PL-Standard-A" + } + }, + { + "command": "vplm", + "gcParams": { + "languageCode": "pl-PL", + "ssmlGender": "MALE", + "voiceName": "pl-PL-Standard-B" + } + }, + { + "command": "vplm", + "gcParams": { + "languageCode": "pl-PL", + "ssmlGender": "MALE", + "voiceName": "pl-PL-Standard-C" + } + }, + { + "command": "vplf", + "gcParams": { + "languageCode": "pl-PL", + "ssmlGender": "FEMALE", + "voiceName": "pl-PL-Standard-E" + } + }, + { + "command": "vplf", + "gcParams": { + "languageCode": "pl-PL", + "ssmlGender": "FEMALE", + "voiceName": "pl-PL-Standard-D" + } + }, + { + "command": "vplf", + "gcParams": { + "languageCode": "pl-PL", + "ssmlGender": "FEMALE", + "voiceName": "pl-PL-Standard-A" + } + }, + { + "command": "vplm", + "gcParams": { + "languageCode": "pl-PL", + "ssmlGender": "MALE", + "voiceName": "pl-PL-Standard-B" + } + }, + { + "command": "vplm", + "gcParams": { + "languageCode": "pl-PL", + "ssmlGender": "MALE", + "voiceName": "pl-PL-Standard-C" + } + }, + { + "command": "vplf", + "gcParams": { + "languageCode": "pl-PL", + "ssmlGender": "FEMALE", + "voiceName": "pl-PL-Standard-D" + } + }, + { + "command": "vplf", + "gcParams": { + "languageCode": "pl-PL", + "ssmlGender": "FEMALE", + "voiceName": "pl-PL-Standard-E" + } + } + ] + }, + "pt": { + "pt-BR": [ + { + "command": "vptf", + "gcParams": { + "languageCode": "pt-BR", + "ssmlGender": "FEMALE", + "voiceName": "pt-BR-Wavenet-A" + } + }, + { + "command": "vptm", + "gcParams": { + "languageCode": "pt-BR", + "ssmlGender": "MALE", + "voiceName": "pt-BR-Wavenet-B" + } + }, + { + "command": "vptf", + "gcParams": { + "languageCode": "pt-BR", + "ssmlGender": "FEMALE", + "voiceName": "pt-BR-Wavenet-C" + } + }, + { + "command": "vptf", + "gcParams": { + "languageCode": "pt-BR", + "ssmlGender": "FEMALE", + "voiceName": "pt-BR-Standard-A" + } + }, + { + "command": "vptm", + "gcParams": { + "languageCode": "pt-BR", + "ssmlGender": "MALE", + "voiceName": "pt-BR-Standard-B" + } + }, + { + "command": "vptf", + "gcParams": { + "languageCode": "pt-BR", + "ssmlGender": "FEMALE", + "voiceName": "pt-BR-Standard-C" + } + }, + { + "command": "vptf", + "gcParams": { + "languageCode": "pt-BR", + "ssmlGender": "FEMALE", + "voiceName": "pt-BR-Neural2-A" + } + }, + { + "command": "vptm", + "gcParams": { + "languageCode": "pt-BR", + "ssmlGender": "MALE", + "voiceName": "pt-BR-Neural2-B" + } + }, + { + "command": "vptf", + "gcParams": { + "languageCode": "pt-BR", + "ssmlGender": "FEMALE", + "voiceName": "pt-BR-Neural2-C" + } + }, + { + "command": "vptf", + "gcParams": { + "languageCode": "pt-BR", + "ssmlGender": "FEMALE", + "voiceName": "pt-BR-Standard-A" + } + }, + { + "command": "vptm", + "gcParams": { + "languageCode": "pt-BR", + "ssmlGender": "MALE", + "voiceName": "pt-BR-Standard-B" + } + }, + { + "command": "vptf", + "gcParams": { + "languageCode": "pt-BR", + "ssmlGender": "FEMALE", + "voiceName": "pt-BR-Standard-C" + } + } + ], + "pt-PT": [ + { + "command": "vptf", + "gcParams": { + "languageCode": "pt-PT", + "ssmlGender": "FEMALE", + "voiceName": "pt-PT-Wavenet-A" + } + }, + { + "command": "vptm", + "gcParams": { + "languageCode": "pt-PT", + "ssmlGender": "MALE", + "voiceName": "pt-PT-Wavenet-B" + } + }, + { + "command": "vptm", + "gcParams": { + "languageCode": "pt-PT", + "ssmlGender": "MALE", + "voiceName": "pt-PT-Wavenet-C" + } + }, + { + "command": "vptf", + "gcParams": { + "languageCode": "pt-PT", + "ssmlGender": "FEMALE", + "voiceName": "pt-PT-Wavenet-D" + } + }, + { + "command": "vptf", + "gcParams": { + "languageCode": "pt-PT", + "ssmlGender": "FEMALE", + "voiceName": "pt-PT-Standard-A" + } + }, + { + "command": "vptm", + "gcParams": { + "languageCode": "pt-PT", + "ssmlGender": "MALE", + "voiceName": "pt-PT-Standard-B" + } + }, + { + "command": "vptm", + "gcParams": { + "languageCode": "pt-PT", + "ssmlGender": "MALE", + "voiceName": "pt-PT-Standard-C" + } + }, + { + "command": "vptf", + "gcParams": { + "languageCode": "pt-PT", + "ssmlGender": "FEMALE", + "voiceName": "pt-PT-Standard-D" + } + }, + { + "command": "vptf", + "gcParams": { + "languageCode": "pt-PT", + "ssmlGender": "FEMALE", + "voiceName": "pt-PT-Standard-A" + } + }, + { + "command": "vptm", + "gcParams": { + "languageCode": "pt-PT", + "ssmlGender": "MALE", + "voiceName": "pt-PT-Standard-B" + } + }, + { + "command": "vptm", + "gcParams": { + "languageCode": "pt-PT", + "ssmlGender": "MALE", + "voiceName": "pt-PT-Standard-C" + } + }, + { + "command": "vptf", + "gcParams": { + "languageCode": "pt-PT", + "ssmlGender": "FEMALE", + "voiceName": "pt-PT-Standard-D" + } + } + ] + }, + "ro": { + "ro-RO": [ + { + "command": "vrof", + "gcParams": { + "languageCode": "ro-RO", + "ssmlGender": "FEMALE", + "voiceName": "ro-RO-Wavenet-A" + } + }, + { + "command": "vrof", + "gcParams": { + "languageCode": "ro-RO", + "ssmlGender": "FEMALE", + "voiceName": "ro-RO-Standard-A" + } + }, + { + "command": "vrof", + "gcParams": { + "languageCode": "ro-RO", + "ssmlGender": "FEMALE", + "voiceName": "ro-RO-Standard-A" + } + } + ] + }, + "ru": { + "ru-RU": [ + { + "command": "vruf", + "gcParams": { + "languageCode": "ru-RU", + "ssmlGender": "FEMALE", + "voiceName": "ru-RU-Wavenet-E" + } + }, + { + "command": "vruf", + "gcParams": { + "languageCode": "ru-RU", + "ssmlGender": "FEMALE", + "voiceName": "ru-RU-Wavenet-A" + } + }, + { + "command": "vrum", + "gcParams": { + "languageCode": "ru-RU", + "ssmlGender": "MALE", + "voiceName": "ru-RU-Wavenet-B" + } + }, + { + "command": "vruf", + "gcParams": { + "languageCode": "ru-RU", + "ssmlGender": "FEMALE", + "voiceName": "ru-RU-Wavenet-C" + } + }, + { + "command": "vrum", + "gcParams": { + "languageCode": "ru-RU", + "ssmlGender": "MALE", + "voiceName": "ru-RU-Wavenet-D" + } + }, + { + "command": "vruf", + "gcParams": { + "languageCode": "ru-RU", + "ssmlGender": "FEMALE", + "voiceName": "ru-RU-Standard-E" + } + }, + { + "command": "vruf", + "gcParams": { + "languageCode": "ru-RU", + "ssmlGender": "FEMALE", + "voiceName": "ru-RU-Standard-A" + } + }, + { + "command": "vrum", + "gcParams": { + "languageCode": "ru-RU", + "ssmlGender": "MALE", + "voiceName": "ru-RU-Standard-B" + } + }, + { + "command": "vruf", + "gcParams": { + "languageCode": "ru-RU", + "ssmlGender": "FEMALE", + "voiceName": "ru-RU-Standard-C" + } + }, + { + "command": "vrum", + "gcParams": { + "languageCode": "ru-RU", + "ssmlGender": "MALE", + "voiceName": "ru-RU-Standard-D" + } + }, + { + "command": "vruf", + "gcParams": { + "languageCode": "ru-RU", + "ssmlGender": "FEMALE", + "voiceName": "ru-RU-Standard-A" + } + }, + { + "command": "vrum", + "gcParams": { + "languageCode": "ru-RU", + "ssmlGender": "MALE", + "voiceName": "ru-RU-Standard-B" + } + }, + { + "command": "vruf", + "gcParams": { + "languageCode": "ru-RU", + "ssmlGender": "FEMALE", + "voiceName": "ru-RU-Standard-C" + } + }, + { + "command": "vrum", + "gcParams": { + "languageCode": "ru-RU", + "ssmlGender": "MALE", + "voiceName": "ru-RU-Standard-D" + } + }, + { + "command": "vruf", + "gcParams": { + "languageCode": "ru-RU", + "ssmlGender": "FEMALE", + "voiceName": "ru-RU-Standard-E" + } + } + ] + }, + "sk": { + "sk-SK": [ + { + "command": "vskf", + "gcParams": { + "languageCode": "sk-SK", + "ssmlGender": "FEMALE", + "voiceName": "sk-SK-Wavenet-A" + } + }, + { + "command": "vskf", + "gcParams": { + "languageCode": "sk-SK", + "ssmlGender": "FEMALE", + "voiceName": "sk-SK-Standard-A" + } + }, + { + "command": "vskf", + "gcParams": { + "languageCode": "sk-SK", + "ssmlGender": "FEMALE", + "voiceName": "sk-SK-Standard-A" + } + } + ] + }, + "sv": { + "sv-SE": [ + { + "command": "vsvf", + "gcParams": { + "languageCode": "sv-SE", + "ssmlGender": "FEMALE", + "voiceName": "sv-SE-Wavenet-B" + } + }, + { + "command": "vsvf", + "gcParams": { + "languageCode": "sv-SE", + "ssmlGender": "FEMALE", + "voiceName": "sv-SE-Wavenet-D" + } + }, + { + "command": "vsvm", + "gcParams": { + "languageCode": "sv-SE", + "ssmlGender": "MALE", + "voiceName": "sv-SE-Wavenet-C" + } + }, + { + "command": "vsvm", + "gcParams": { + "languageCode": "sv-SE", + "ssmlGender": "MALE", + "voiceName": "sv-SE-Wavenet-E" + } + }, + { + "command": "vsvf", + "gcParams": { + "languageCode": "sv-SE", + "ssmlGender": "FEMALE", + "voiceName": "sv-SE-Wavenet-A" + } + }, + { + "command": "vsvf", + "gcParams": { + "languageCode": "sv-SE", + "ssmlGender": "FEMALE", + "voiceName": "sv-SE-Standard-B" + } + }, + { + "command": "vsvf", + "gcParams": { + "languageCode": "sv-SE", + "ssmlGender": "FEMALE", + "voiceName": "sv-SE-Standard-C" + } + }, + { + "command": "vsvm", + "gcParams": { + "languageCode": "sv-SE", + "ssmlGender": "MALE", + "voiceName": "sv-SE-Standard-D" + } + }, + { + "command": "vsvm", + "gcParams": { + "languageCode": "sv-SE", + "ssmlGender": "MALE", + "voiceName": "sv-SE-Standard-E" + } + }, + { + "command": "vsvf", + "gcParams": { + "languageCode": "sv-SE", + "ssmlGender": "FEMALE", + "voiceName": "sv-SE-Standard-A" + } + }, + { + "command": "vsvf", + "gcParams": { + "languageCode": "sv-SE", + "ssmlGender": "FEMALE", + "voiceName": "sv-SE-Standard-A" + } + }, + { + "command": "vsvf", + "gcParams": { + "languageCode": "sv-SE", + "ssmlGender": "FEMALE", + "voiceName": "sv-SE-Standard-B" + } + }, + { + "command": "vsvf", + "gcParams": { + "languageCode": "sv-SE", + "ssmlGender": "FEMALE", + "voiceName": "sv-SE-Standard-C" + } + }, + { + "command": "vsvm", + "gcParams": { + "languageCode": "sv-SE", + "ssmlGender": "MALE", + "voiceName": "sv-SE-Standard-D" + } + }, + { + "command": "vsvm", + "gcParams": { + "languageCode": "sv-SE", + "ssmlGender": "MALE", + "voiceName": "sv-SE-Standard-E" + } + } + ] + }, + "ta": { + "ta-IN": [ + { + "command": "vtaf", + "gcParams": { + "languageCode": "ta-IN", + "ssmlGender": "FEMALE", + "voiceName": "ta-IN-Wavenet-A" + } + }, + { + "command": "vtam", + "gcParams": { + "languageCode": "ta-IN", + "ssmlGender": "MALE", + "voiceName": "ta-IN-Wavenet-B" + } + }, + { + "command": "vtaf", + "gcParams": { + "languageCode": "ta-IN", + "ssmlGender": "FEMALE", + "voiceName": "ta-IN-Wavenet-C" + } + }, + { + "command": "vtam", + "gcParams": { + "languageCode": "ta-IN", + "ssmlGender": "MALE", + "voiceName": "ta-IN-Wavenet-D" + } + }, + { + "command": "vtaf", + "gcParams": { + "languageCode": "ta-IN", + "ssmlGender": "FEMALE", + "voiceName": "ta-IN-Standard-C" + } + }, + { + "command": "vtam", + "gcParams": { + "languageCode": "ta-IN", + "ssmlGender": "MALE", + "voiceName": "ta-IN-Standard-D" + } + }, + { + "command": "vtaf", + "gcParams": { + "languageCode": "ta-IN", + "ssmlGender": "FEMALE", + "voiceName": "ta-IN-Standard-A" + } + }, + { + "command": "vtam", + "gcParams": { + "languageCode": "ta-IN", + "ssmlGender": "MALE", + "voiceName": "ta-IN-Standard-B" + } + }, + { + "command": "vtaf", + "gcParams": { + "languageCode": "ta-IN", + "ssmlGender": "FEMALE", + "voiceName": "ta-IN-Standard-C" + } + }, + { + "command": "vtam", + "gcParams": { + "languageCode": "ta-IN", + "ssmlGender": "MALE", + "voiceName": "ta-IN-Standard-D" + } + }, + { + "command": "vtaf", + "gcParams": { + "languageCode": "ta-IN", + "ssmlGender": "FEMALE", + "voiceName": "ta-IN-Standard-A" + } + }, + { + "command": "vtam", + "gcParams": { + "languageCode": "ta-IN", + "ssmlGender": "MALE", + "voiceName": "ta-IN-Standard-B" + } + } + ] + }, + "tr": { + "tr-TR": [ + { + "command": "vtrm", + "gcParams": { + "languageCode": "tr-TR", + "ssmlGender": "MALE", + "voiceName": "tr-TR-Wavenet-B" + } + }, + { + "command": "vtrf", + "gcParams": { + "languageCode": "tr-TR", + "ssmlGender": "FEMALE", + "voiceName": "tr-TR-Wavenet-C" + } + }, + { + "command": "vtrf", + "gcParams": { + "languageCode": "tr-TR", + "ssmlGender": "FEMALE", + "voiceName": "tr-TR-Wavenet-D" + } + }, + { + "command": "vtrm", + "gcParams": { + "languageCode": "tr-TR", + "ssmlGender": "MALE", + "voiceName": "tr-TR-Wavenet-E" + } + }, + { + "command": "vtrf", + "gcParams": { + "languageCode": "tr-TR", + "ssmlGender": "FEMALE", + "voiceName": "tr-TR-Wavenet-A" + } + }, + { + "command": "vtrm", + "gcParams": { + "languageCode": "tr-TR", + "ssmlGender": "MALE", + "voiceName": "tr-TR-Standard-B" + } + }, + { + "command": "vtrf", + "gcParams": { + "languageCode": "tr-TR", + "ssmlGender": "FEMALE", + "voiceName": "tr-TR-Standard-C" + } + }, + { + "command": "vtrf", + "gcParams": { + "languageCode": "tr-TR", + "ssmlGender": "FEMALE", + "voiceName": "tr-TR-Standard-D" + } + }, + { + "command": "vtrf", + "gcParams": { + "languageCode": "tr-TR", + "ssmlGender": "FEMALE", + "voiceName": "tr-TR-Standard-A" + } + }, + { + "command": "vtrm", + "gcParams": { + "languageCode": "tr-TR", + "ssmlGender": "MALE", + "voiceName": "tr-TR-Standard-E" + } + }, + { + "command": "vtrf", + "gcParams": { + "languageCode": "tr-TR", + "ssmlGender": "FEMALE", + "voiceName": "tr-TR-Standard-A" + } + }, + { + "command": "vtrm", + "gcParams": { + "languageCode": "tr-TR", + "ssmlGender": "MALE", + "voiceName": "tr-TR-Standard-B" + } + }, + { + "command": "vtrf", + "gcParams": { + "languageCode": "tr-TR", + "ssmlGender": "FEMALE", + "voiceName": "tr-TR-Standard-C" + } + }, + { + "command": "vtrf", + "gcParams": { + "languageCode": "tr-TR", + "ssmlGender": "FEMALE", + "voiceName": "tr-TR-Standard-D" + } + }, + { + "command": "vtrm", + "gcParams": { + "languageCode": "tr-TR", + "ssmlGender": "MALE", + "voiceName": "tr-TR-Standard-E" + } + } + ] + }, + "uk": { + "uk-UA": [ + { + "command": "vukf", + "gcParams": { + "languageCode": "uk-UA", + "ssmlGender": "FEMALE", + "voiceName": "uk-UA-Wavenet-A" + } + }, + { + "command": "vukf", + "gcParams": { + "languageCode": "uk-UA", + "ssmlGender": "FEMALE", + "voiceName": "uk-UA-Standard-A" + } + }, + { + "command": "vukf", + "gcParams": { + "languageCode": "uk-UA", + "ssmlGender": "FEMALE", + "voiceName": "uk-UA-Standard-A" + } + } + ] + }, + "vi": { + "vi-VN": [ + { + "command": "vvif", + "gcParams": { + "languageCode": "vi-VN", + "ssmlGender": "FEMALE", + "voiceName": "vi-VN-Wavenet-A" + } + }, + { + "command": "vvim", + "gcParams": { + "languageCode": "vi-VN", + "ssmlGender": "MALE", + "voiceName": "vi-VN-Wavenet-B" + } + }, + { + "command": "vvif", + "gcParams": { + "languageCode": "vi-VN", + "ssmlGender": "FEMALE", + "voiceName": "vi-VN-Wavenet-C" + } + }, + { + "command": "vvim", + "gcParams": { + "languageCode": "vi-VN", + "ssmlGender": "MALE", + "voiceName": "vi-VN-Wavenet-D" + } + }, + { + "command": "vvif", + "gcParams": { + "languageCode": "vi-VN", + "ssmlGender": "FEMALE", + "voiceName": "vi-VN-Standard-A" + } + }, + { + "command": "vvim", + "gcParams": { + "languageCode": "vi-VN", + "ssmlGender": "MALE", + "voiceName": "vi-VN-Standard-B" + } + }, + { + "command": "vvif", + "gcParams": { + "languageCode": "vi-VN", + "ssmlGender": "FEMALE", + "voiceName": "vi-VN-Standard-C" + } + }, + { + "command": "vvim", + "gcParams": { + "languageCode": "vi-VN", + "ssmlGender": "MALE", + "voiceName": "vi-VN-Standard-D" + } + }, + { + "command": "vvif", + "gcParams": { + "languageCode": "vi-VN", + "ssmlGender": "FEMALE", + "voiceName": "vi-VN-Neural2-A" + } + }, + { + "command": "vvim", + "gcParams": { + "languageCode": "vi-VN", + "ssmlGender": "MALE", + "voiceName": "vi-VN-Neural2-D" + } + }, + { + "command": "vvif", + "gcParams": { + "languageCode": "vi-VN", + "ssmlGender": "FEMALE", + "voiceName": "vi-VN-Standard-A" + } + }, + { + "command": "vvim", + "gcParams": { + "languageCode": "vi-VN", + "ssmlGender": "MALE", + "voiceName": "vi-VN-Standard-B" + } + }, + { + "command": "vvif", + "gcParams": { + "languageCode": "vi-VN", + "ssmlGender": "FEMALE", + "voiceName": "vi-VN-Standard-C" + } + }, + { + "command": "vvim", + "gcParams": { + "languageCode": "vi-VN", + "ssmlGender": "MALE", + "voiceName": "vi-VN-Standard-D" + } + } + ] + }, + "yue": { + "yue-HK": [ + { + "command": "vyuef", + "gcParams": { + "languageCode": "yue-HK", + "ssmlGender": "FEMALE", + "voiceName": "yue-HK-Standard-A" + } + }, + { + "command": "vyuem", + "gcParams": { + "languageCode": "yue-HK", + "ssmlGender": "MALE", + "voiceName": "yue-HK-Standard-B" + } + }, + { + "command": "vyuef", + "gcParams": { + "languageCode": "yue-HK", + "ssmlGender": "FEMALE", + "voiceName": "yue-HK-Standard-C" + } + }, + { + "command": "vyuem", + "gcParams": { + "languageCode": "yue-HK", + "ssmlGender": "MALE", + "voiceName": "yue-HK-Standard-D" + } + }, + { + "command": "vyuef", + "gcParams": { + "languageCode": "yue-HK", + "ssmlGender": "FEMALE", + "voiceName": "yue-HK-Standard-A" + } + }, + { + "command": "vyuem", + "gcParams": { + "languageCode": "yue-HK", + "ssmlGender": "MALE", + "voiceName": "yue-HK-Standard-B" + } + }, + { + "command": "vyuef", + "gcParams": { + "languageCode": "yue-HK", + "ssmlGender": "FEMALE", + "voiceName": "yue-HK-Standard-C" + } + }, + { + "command": "vyuem", + "gcParams": { + "languageCode": "yue-HK", + "ssmlGender": "MALE", + "voiceName": "yue-HK-Standard-D" + } + } + ] + }, + "te": { + "te-IN": [ + { + "command": "vtef", + "gcParams": { + "languageCode": "te-IN", + "ssmlGender": "FEMALE", + "voiceName": "te-IN-Standard-A" + } + }, + { + "command": "vtem", + "gcParams": { + "languageCode": "te-IN", + "ssmlGender": "MALE", + "voiceName": "te-IN-Standard-B" + } + }, + { + "command": "vtef", + "gcParams": { + "languageCode": "te-IN", + "ssmlGender": "FEMALE", + "voiceName": "te-IN-Standard-A" + } + }, + { + "command": "vtem", + "gcParams": { + "languageCode": "te-IN", + "ssmlGender": "MALE", + "voiceName": "te-IN-Standard-B" + } + } + ] + }, + "eu": { + "eu-ES": [ + { + "command": "veuf", + "gcParams": { + "languageCode": "eu-ES", + "ssmlGender": "FEMALE", + "voiceName": "eu-ES-Standard-A" + } + }, + { + "command": "veuf", + "gcParams": { + "languageCode": "eu-ES", + "ssmlGender": "FEMALE", + "voiceName": "eu-ES-Standard-A" + } + } + ] + }, + "sr": { + "sr-RS": [ + { + "command": "vsrf", + "gcParams": { + "languageCode": "sr-RS", + "ssmlGender": "FEMALE", + "voiceName": "sr-RS-Standard-A" + } + }, + { + "command": "vsrf", + "gcParams": { + "languageCode": "sr-RS", + "ssmlGender": "FEMALE", + "voiceName": "sr-RS-Standard-A" + } + } + ] + }, + "lv": { + "lv-LV": [ + { + "command": "vlvm", + "gcParams": { + "languageCode": "lv-LV", + "ssmlGender": "MALE", + "voiceName": "lv-LV-Standard-A" + } + }, + { + "command": "vlvm", + "gcParams": { + "languageCode": "lv-LV", + "ssmlGender": "MALE", + "voiceName": "lv-LV-Standard-A" + } + } + ] + }, + "is": { + "is-IS": [ + { + "command": "visf", + "gcParams": { + "languageCode": "is-IS", + "ssmlGender": "FEMALE", + "voiceName": "is-IS-Standard-A" + } + }, + { + "command": "visf", + "gcParams": { + "languageCode": "is-IS", + "ssmlGender": "FEMALE", + "voiceName": "is-IS-Standard-A" + } + } + ] + }, + "ca": { + "ca-ES": [ + { + "command": "vcaf", + "gcParams": { + "languageCode": "ca-ES", + "ssmlGender": "FEMALE", + "voiceName": "ca-ES-Standard-A" + } + }, + { + "command": "vcaf", + "gcParams": { + "languageCode": "ca-ES", + "ssmlGender": "FEMALE", + "voiceName": "ca-ES-Standard-A" + } + } + ] + }, + "gl": { + "gl-ES": [ + { + "command": "vglf", + "gcParams": { + "languageCode": "gl-ES", + "ssmlGender": "FEMALE", + "voiceName": "gl-ES-Standard-A" + } + }, + { + "command": "vglf", + "gcParams": { + "languageCode": "gl-ES", + "ssmlGender": "SSML_VOICE_GENDER_UNSPECIFIED", + "voiceName": "gl-ES-Standard-A" + } + } + ] + }, + "bg": { + "bg-BG": [ + { + "command": "vbgf", + "gcParams": { + "languageCode": "bg-BG", + "ssmlGender": "FEMALE", + "voiceName": "bg-BG-Standard-A" + } + }, + { + "command": "vbgf", + "gcParams": { + "languageCode": "bg-BG", + "ssmlGender": "FEMALE", + "voiceName": "bg-BG-Standard-A" + } + } + ] + }, + "af": { + "af-ZA": [ + { + "command": "vaff", + "gcParams": { + "languageCode": "af-ZA", + "ssmlGender": "FEMALE", + "voiceName": "af-ZA-Standard-A" + } + }, + { + "command": "vaff", + "gcParams": { + "languageCode": "af-ZA", + "ssmlGender": "FEMALE", + "voiceName": "af-ZA-Standard-A" + } + } + ] + }, + "lt": { + "lt-LT": [ + { + "command": "vltm", + "gcParams": { + "languageCode": "lt-LT", + "ssmlGender": "MALE", + "voiceName": "lt-LT-Standard-A" + } + }, + { + "command": "vltm", + "gcParams": { + "languageCode": "lt-LT", + "ssmlGender": "MALE", + "voiceName": "lt-LT-Standard-A" + } + } + ] + }, + "th": { + "th-TH": [ + { + "command": "vthf", + "gcParams": { + "languageCode": "th-TH", + "ssmlGender": "FEMALE", + "voiceName": "th-TH-Standard-A" + } + }, + { + "command": "vthf", + "gcParams": { + "languageCode": "th-TH", + "ssmlGender": "FEMALE", + "voiceName": "th-TH-Neural2-C" + } + }, + { + "command": "vthf", + "gcParams": { + "languageCode": "th-TH", + "ssmlGender": "FEMALE", + "voiceName": "th-TH-Standard-A" + } + } + ] + } +} \ No newline at end of file From 181d71c079ac5ecdeecc68e424859bf9adc5cb86 Mon Sep 17 00:00:00 2001 From: ahiipsa Date: Wed, 4 Oct 2023 15:42:56 +0400 Subject: [PATCH 2/3] Update config and scripts --- .../text-to-speech/commandConfigList.ts | 592 ++++++++++++++++-- src/modules/text-to-speech/generateConfigs.ts | 14 +- src/modules/text-to-speech/voices-simple.json | 344 +++++----- src/modules/text-to-speech/voices.json | 192 +++--- 4 files changed, 832 insertions(+), 310 deletions(-) diff --git a/src/modules/text-to-speech/commandConfigList.ts b/src/modules/text-to-speech/commandConfigList.ts index 5fa085cf..e5a53b98 100644 --- a/src/modules/text-to-speech/commandConfigList.ts +++ b/src/modules/text-to-speech/commandConfigList.ts @@ -51,111 +51,621 @@ export const commandConfigList: CommandConfigItem[] = [ voiceName: 'yue-HK-Standard-A' } }, - // German + // Spanish { - command: 'vdem', + command: 'vesm', gcParams: { - languageCode: 'de-DE', - voiceName: 'de-DE-Neural2-B' + languageCode: 'es-ES', + voiceName: 'es-ES-Neural2-B' + } + }, + { + command: 'vesf', + gcParams: { + languageCode: 'es-ES', + voiceName: 'es-ES-Neural2-A' + } + }, + // Portuguese + { + command: 'vptm', + gcParams: { + languageCode: 'pt-PT', + voiceName: 'pt-PT-Wavenet-C' + } + }, + { + command: 'vptf', + gcParams: { + languageCode: 'pt-PT', + voiceName: 'pt-PT-Wavenet-A' + } + }, + { + command: 'vnlm', + gcParams: { + languageCode: 'nl-NL', + ssmlGender: 'MALE', + voiceName: 'nl-NL-Wavenet-C' + } + }, + { + command: 'vnlf', + gcParams: { + languageCode: 'nl-NL', + ssmlGender: 'FEMALE', + voiceName: 'nl-NL-Wavenet-D' + } + }, + { + command: 'vfrm', + gcParams: { + languageCode: 'fr-FR', + ssmlGender: 'MALE', + voiceName: 'fr-FR-Wavenet-D' + } + }, + { + command: 'vfrf', + gcParams: { + languageCode: 'fr-FR', + ssmlGender: 'FEMALE', + voiceName: 'fr-FR-Wavenet-C' + } + }, + { + command: 'vaff', + gcParams: { + languageCode: 'af-ZA', + ssmlGender: 'FEMALE', + voiceName: 'af-ZA-Standard-A' + } + }, + { + command: 'varf', + gcParams: { + languageCode: 'ar-XA', + ssmlGender: 'FEMALE', + voiceName: 'ar-XA-Wavenet-A' + } + }, + { + command: 'varm', + gcParams: { + languageCode: 'ar-XA', + ssmlGender: 'MALE', + voiceName: 'ar-XA-Wavenet-B' + } + }, + { + command: 'vbgf', + gcParams: { + languageCode: 'bg-BG', + ssmlGender: 'FEMALE', + voiceName: 'bg-BG-Standard-A' + } + }, + { + command: 'vbnf', + gcParams: { + languageCode: 'bn-IN', + ssmlGender: 'FEMALE', + voiceName: 'bn-IN-Wavenet-A' + } + }, + { + command: 'vbnm', + gcParams: { + languageCode: 'bn-IN', + ssmlGender: 'MALE', + voiceName: 'bn-IN-Wavenet-B' + } + }, + { + command: 'vcaf', + gcParams: { + languageCode: 'ca-ES', + ssmlGender: 'FEMALE', + voiceName: 'ca-ES-Standard-A' + } + }, + { + command: 'vcsf', + gcParams: { + languageCode: 'cs-CZ', + ssmlGender: 'FEMALE', + voiceName: 'cs-CZ-Wavenet-A' + } + }, + { + command: 'vdaf', + gcParams: { + languageCode: 'da-DK', + ssmlGender: 'FEMALE', + voiceName: 'da-DK-Wavenet-D' + } + }, + { + command: 'vdam', + gcParams: { + languageCode: 'da-DK', + ssmlGender: 'MALE', + voiceName: 'da-DK-Wavenet-C' } }, { command: 'vdef', gcParams: { languageCode: 'de-DE', - voiceName: 'de-DE-Neural2-C' + ssmlGender: 'FEMALE', + voiceName: 'de-DE-Wavenet-F' } }, - // Spanish { - command: 'vesm', + command: 'vdem', gcParams: { - languageCode: 'es-ES', - voiceName: 'es-ES-Neural2-B' + languageCode: 'de-DE', + ssmlGender: 'MALE', + voiceName: 'de-DE-Wavenet-B' } }, { - command: 'vesf', + command: 'velf', gcParams: { - languageCode: 'es-ES', - voiceName: 'es-ES-Neural2-A' + languageCode: 'el-GR', + ssmlGender: 'FEMALE', + voiceName: 'el-GR-Wavenet-A' } }, - // Russian { - command: 'vrum', + command: 'veuf', gcParams: { - languageCode: 'ru-RU', - voiceName: 'ru-RU-Wavenet-B' + languageCode: 'eu-ES', + ssmlGender: 'FEMALE', + voiceName: 'eu-ES-Standard-A' } }, { - command: 'vruf', + command: 'vfif', gcParams: { - languageCode: 'ru-RU', - voiceName: 'ru-RU-Wavenet-A' + languageCode: 'fi-FI', + ssmlGender: 'FEMALE', + voiceName: 'fi-FI-Wavenet-A' + } + }, + { + command: 'vfilf', + gcParams: { + languageCode: 'fil-PH', + ssmlGender: 'FEMALE', + voiceName: 'fil-PH-Wavenet-A' + } + }, + { + command: 'vfilm', + gcParams: { + languageCode: 'fil-PH', + ssmlGender: 'MALE', + voiceName: 'fil-PH-Wavenet-C' + } + }, + { + command: 'vglf', + gcParams: { + languageCode: 'gl-ES', + ssmlGender: 'FEMALE', + voiceName: 'gl-ES-Standard-A' + } + }, + { + command: 'vguf', + gcParams: { + languageCode: 'gu-IN', + ssmlGender: 'FEMALE', + voiceName: 'gu-IN-Wavenet-A' + } + }, + { + command: 'vgum', + gcParams: { + languageCode: 'gu-IN', + ssmlGender: 'MALE', + voiceName: 'gu-IN-Wavenet-B' + } + }, + { + command: 'vhef', + gcParams: { + languageCode: 'he-IL', + ssmlGender: 'FEMALE', + voiceName: 'he-IL-Wavenet-A' + } + }, + { + command: 'vhem', + gcParams: { + languageCode: 'he-IL', + ssmlGender: 'MALE', + voiceName: 'he-IL-Wavenet-D' + } + }, + { + command: 'vhif', + gcParams: { + languageCode: 'hi-IN', + ssmlGender: 'FEMALE', + voiceName: 'hi-IN-Wavenet-D' + } + }, + { + command: 'vhim', + gcParams: { + languageCode: 'hi-IN', + ssmlGender: 'MALE', + voiceName: 'hi-IN-Wavenet-B' + } + }, + { + command: 'vhuf', + gcParams: { + languageCode: 'hu-HU', + ssmlGender: 'FEMALE', + voiceName: 'hu-HU-Wavenet-A' + } + }, + { + command: 'vidf', + gcParams: { + languageCode: 'id-ID', + ssmlGender: 'FEMALE', + voiceName: 'id-ID-Wavenet-D' } }, - // Indonesian { command: 'vidm', gcParams: { languageCode: 'id-ID', + ssmlGender: 'MALE', voiceName: 'id-ID-Wavenet-B' } }, { - command: 'vidf', + command: 'visf', gcParams: { - languageCode: 'id-ID', - voiceName: 'id-ID-Wavenet-A' + languageCode: 'is-IS', + ssmlGender: 'FEMALE', + voiceName: 'is-IS-Standard-A' } }, - // Korean { - command: 'vkom', + command: 'vitf', gcParams: { - languageCode: 'ko-KR', - voiceName: 'ko-KR-Wavenet-C' + languageCode: 'it-IT', + ssmlGender: 'FEMALE', + voiceName: 'it-IT-Wavenet-A' } }, { - command: 'vkof', + command: 'vitm', gcParams: { - languageCode: 'ko-KR', - voiceName: 'ko-KR-Wavenet-A' + languageCode: 'it-IT', + ssmlGender: 'MALE', + voiceName: 'it-IT-Wavenet-C' + } + }, + { + command: 'vjaf', + gcParams: { + languageCode: 'ja-JP', + ssmlGender: 'FEMALE', + voiceName: 'ja-JP-Wavenet-B' } }, - // Japanese { command: 'vjam', gcParams: { languageCode: 'ja-JP', + ssmlGender: 'MALE', voiceName: 'ja-JP-Wavenet-C' } }, { - command: 'vjaf', + command: 'vknf', gcParams: { - languageCode: 'ja-JP', - voiceName: 'ja-JP-Wavenet-B' + languageCode: 'kn-IN', + ssmlGender: 'FEMALE', + voiceName: 'kn-IN-Wavenet-A' } }, - // Portuguese { - command: 'vptm', + command: 'vknm', gcParams: { - languageCode: 'pt-PT', - voiceName: 'pt-PT-Wavenet-C' + languageCode: 'kn-IN', + ssmlGender: 'MALE', + voiceName: 'kn-IN-Wavenet-B' } }, { - command: 'vptf', + command: 'vkof', gcParams: { - languageCode: 'pt-PT', - voiceName: 'pt-PT-Wavenet-A' + languageCode: 'ko-KR', + ssmlGender: 'FEMALE', + voiceName: 'ko-KR-Wavenet-A' + } + }, + { + command: 'vkom', + gcParams: { + languageCode: 'ko-KR', + ssmlGender: 'MALE', + voiceName: 'ko-KR-Wavenet-C' + } + }, + { + command: 'vltm', + gcParams: { + languageCode: 'lt-LT', + ssmlGender: 'MALE', + voiceName: 'lt-LT-Standard-A' + } + }, + { + command: 'vlvm', + gcParams: { + languageCode: 'lv-LV', + ssmlGender: 'MALE', + voiceName: 'lv-LV-Standard-A' + } + }, + { + command: 'vmlf', + gcParams: { + languageCode: 'ml-IN', + ssmlGender: 'FEMALE', + voiceName: 'ml-IN-Wavenet-A' + } + }, + { + command: 'vmlm', + gcParams: { + languageCode: 'ml-IN', + ssmlGender: 'MALE', + voiceName: 'ml-IN-Wavenet-B' + } + }, + { + command: 'vmrf', + gcParams: { + languageCode: 'mr-IN', + ssmlGender: 'FEMALE', + voiceName: 'mr-IN-Wavenet-A' + } + }, + { + command: 'vmrm', + gcParams: { + languageCode: 'mr-IN', + ssmlGender: 'MALE', + voiceName: 'mr-IN-Wavenet-B' + } + }, + { + command: 'vmsf', + gcParams: { + languageCode: 'ms-MY', + ssmlGender: 'FEMALE', + voiceName: 'ms-MY-Wavenet-A' + } + }, + { + command: 'vmsm', + gcParams: { + languageCode: 'ms-MY', + ssmlGender: 'MALE', + voiceName: 'ms-MY-Wavenet-B' + } + }, + { + command: 'vnbf', + gcParams: { + languageCode: 'nb-NO', + ssmlGender: 'FEMALE', + voiceName: 'nb-NO-Wavenet-A' + } + }, + { + command: 'vnbm', + gcParams: { + languageCode: 'nb-NO', + ssmlGender: 'MALE', + voiceName: 'nb-NO-Wavenet-B' + } + }, + { + command: 'vpaf', + gcParams: { + languageCode: 'pa-IN', + ssmlGender: 'FEMALE', + voiceName: 'pa-IN-Wavenet-A' + } + }, + { + command: 'vpam', + gcParams: { + languageCode: 'pa-IN', + ssmlGender: 'MALE', + voiceName: 'pa-IN-Wavenet-B' + } + }, + { + command: 'vplf', + gcParams: { + languageCode: 'pl-PL', + ssmlGender: 'FEMALE', + voiceName: 'pl-PL-Wavenet-A' + } + }, + { + command: 'vplm', + gcParams: { + languageCode: 'pl-PL', + ssmlGender: 'MALE', + voiceName: 'pl-PL-Wavenet-B' + } + }, + { + command: 'vrof', + gcParams: { + languageCode: 'ro-RO', + ssmlGender: 'FEMALE', + voiceName: 'ro-RO-Wavenet-A' + } + }, + { + command: 'vruf', + gcParams: { + languageCode: 'ru-RU', + ssmlGender: 'FEMALE', + voiceName: 'ru-RU-Wavenet-E' + } + }, + { + command: 'vrum', + gcParams: { + languageCode: 'ru-RU', + ssmlGender: 'MALE', + voiceName: 'ru-RU-Wavenet-B' + } + }, + { + command: 'vskf', + gcParams: { + languageCode: 'sk-SK', + ssmlGender: 'FEMALE', + voiceName: 'sk-SK-Wavenet-A' + } + }, + { + command: 'vsrf', + gcParams: { + languageCode: 'sr-RS', + ssmlGender: 'FEMALE', + voiceName: 'sr-RS-Standard-A' + } + }, + { + command: 'vsvf', + gcParams: { + languageCode: 'sv-SE', + ssmlGender: 'FEMALE', + voiceName: 'sv-SE-Wavenet-B' + } + }, + { + command: 'vsvm', + gcParams: { + languageCode: 'sv-SE', + ssmlGender: 'MALE', + voiceName: 'sv-SE-Wavenet-C' + } + }, + { + command: 'vtaf', + gcParams: { + languageCode: 'ta-IN', + ssmlGender: 'FEMALE', + voiceName: 'ta-IN-Wavenet-A' + } + }, + { + command: 'vtam', + gcParams: { + languageCode: 'ta-IN', + ssmlGender: 'MALE', + voiceName: 'ta-IN-Wavenet-B' + } + }, + { + command: 'vtef', + gcParams: { + languageCode: 'te-IN', + ssmlGender: 'FEMALE', + voiceName: 'te-IN-Standard-A' + } + }, + { + command: 'vtem', + gcParams: { + languageCode: 'te-IN', + ssmlGender: 'MALE', + voiceName: 'te-IN-Standard-B' + } + }, + { + command: 'vthf', + gcParams: { + languageCode: 'th-TH', + ssmlGender: 'FEMALE', + voiceName: 'th-TH-Standard-A' + } + }, + { + command: 'vtrf', + gcParams: { + languageCode: 'tr-TR', + ssmlGender: 'FEMALE', + voiceName: 'tr-TR-Wavenet-C' + } + }, + { + command: 'vtrm', + gcParams: { + languageCode: 'tr-TR', + ssmlGender: 'MALE', + voiceName: 'tr-TR-Wavenet-B' + } + }, + { + command: 'vukf', + gcParams: { + languageCode: 'uk-UA', + ssmlGender: 'FEMALE', + voiceName: 'uk-UA-Wavenet-A' + } + }, + { + command: 'vvif', + gcParams: { + languageCode: 'vi-VN', + ssmlGender: 'FEMALE', + voiceName: 'vi-VN-Wavenet-A' + } + }, + { + command: 'vvim', + gcParams: { + languageCode: 'vi-VN', + ssmlGender: 'MALE', + voiceName: 'vi-VN-Wavenet-B' + } + }, + { + command: 'vyuef', + gcParams: { + languageCode: 'yue-HK', + ssmlGender: 'FEMALE', + voiceName: 'yue-HK-Standard-A' + } + }, + { + command: 'vyuem', + gcParams: { + languageCode: 'yue-HK', + ssmlGender: 'MALE', + voiceName: 'yue-HK-Standard-B' } } + ] export function getCommandList (): string[] { return commandConfigList.map(item => item.command) } diff --git a/src/modules/text-to-speech/generateConfigs.ts b/src/modules/text-to-speech/generateConfigs.ts index 632af2f7..54d8bbb4 100644 --- a/src/modules/text-to-speech/generateConfigs.ts +++ b/src/modules/text-to-speech/generateConfigs.ts @@ -108,7 +108,19 @@ async function main (): Promise { console.log('### Please choose manually: ', key, Object.keys(langMap)) } - const simpleLangs = JSON.stringify(result.filter(Boolean), null, 4) + const simpleLangs = JSON.stringify(result.filter(Boolean).sort((a, b) => { + if (!a || !b) { + return 0 + } + + if (a.command < b.command) { + return -1 + } + if (a.command > b.command) { + return 1 + } + return 0 + }), null, 4) const filepath2 = path.join(__dirname, 'voices-simple.json') diff --git a/src/modules/text-to-speech/voices-simple.json b/src/modules/text-to-speech/voices-simple.json index 861b95f5..14e46027 100644 --- a/src/modules/text-to-speech/voices-simple.json +++ b/src/modules/text-to-speech/voices-simple.json @@ -1,4 +1,20 @@ [ + { + "command": "vaff", + "gcParams": { + "languageCode": "af-ZA", + "ssmlGender": "FEMALE", + "voiceName": "af-ZA-Standard-A" + } + }, + { + "command": "varf", + "gcParams": { + "languageCode": "ar-XA", + "ssmlGender": "FEMALE", + "voiceName": "ar-XA-Wavenet-A" + } + }, { "command": "varm", "gcParams": { @@ -8,11 +24,19 @@ } }, { - "command": "varf", + "command": "vbgf", "gcParams": { - "languageCode": "ar-XA", + "languageCode": "bg-BG", "ssmlGender": "FEMALE", - "voiceName": "ar-XA-Wavenet-A" + "voiceName": "bg-BG-Standard-A" + } + }, + { + "command": "vbnf", + "gcParams": { + "languageCode": "bn-IN", + "ssmlGender": "FEMALE", + "voiceName": "bn-IN-Wavenet-A" } }, { @@ -24,11 +48,11 @@ } }, { - "command": "vbnf", + "command": "vcaf", "gcParams": { - "languageCode": "bn-IN", + "languageCode": "ca-ES", "ssmlGender": "FEMALE", - "voiceName": "bn-IN-Wavenet-A" + "voiceName": "ca-ES-Standard-A" } }, { @@ -39,6 +63,14 @@ "voiceName": "cs-CZ-Wavenet-A" } }, + { + "command": "vdaf", + "gcParams": { + "languageCode": "da-DK", + "ssmlGender": "FEMALE", + "voiceName": "da-DK-Wavenet-D" + } + }, { "command": "vdam", "gcParams": { @@ -48,11 +80,11 @@ } }, { - "command": "vdaf", + "command": "vdef", "gcParams": { - "languageCode": "da-DK", + "languageCode": "de-DE", "ssmlGender": "FEMALE", - "voiceName": "da-DK-Wavenet-D" + "voiceName": "de-DE-Wavenet-F" } }, { @@ -64,19 +96,19 @@ } }, { - "command": "vdef", + "command": "velf", "gcParams": { - "languageCode": "de-DE", + "languageCode": "el-GR", "ssmlGender": "FEMALE", - "voiceName": "de-DE-Wavenet-F" + "voiceName": "el-GR-Wavenet-A" } }, { - "command": "velf", + "command": "veuf", "gcParams": { - "languageCode": "el-GR", + "languageCode": "eu-ES", "ssmlGender": "FEMALE", - "voiceName": "el-GR-Wavenet-A" + "voiceName": "eu-ES-Standard-A" } }, { @@ -87,6 +119,14 @@ "voiceName": "fi-FI-Wavenet-A" } }, + { + "command": "vfilf", + "gcParams": { + "languageCode": "fil-PH", + "ssmlGender": "FEMALE", + "voiceName": "fil-PH-Wavenet-A" + } + }, { "command": "vfilm", "gcParams": { @@ -96,11 +136,19 @@ } }, { - "command": "vfilf", + "command": "vglf", "gcParams": { - "languageCode": "fil-PH", + "languageCode": "gl-ES", "ssmlGender": "FEMALE", - "voiceName": "fil-PH-Wavenet-A" + "voiceName": "gl-ES-Standard-A" + } + }, + { + "command": "vguf", + "gcParams": { + "languageCode": "gu-IN", + "ssmlGender": "FEMALE", + "voiceName": "gu-IN-Wavenet-A" } }, { @@ -112,11 +160,11 @@ } }, { - "command": "vguf", + "command": "vhef", "gcParams": { - "languageCode": "gu-IN", + "languageCode": "he-IL", "ssmlGender": "FEMALE", - "voiceName": "gu-IN-Wavenet-A" + "voiceName": "he-IL-Wavenet-A" } }, { @@ -128,11 +176,11 @@ } }, { - "command": "vhef", + "command": "vhif", "gcParams": { - "languageCode": "he-IL", + "languageCode": "hi-IN", "ssmlGender": "FEMALE", - "voiceName": "he-IL-Wavenet-A" + "voiceName": "hi-IN-Wavenet-D" } }, { @@ -144,19 +192,19 @@ } }, { - "command": "vhif", + "command": "vhuf", "gcParams": { - "languageCode": "hi-IN", + "languageCode": "hu-HU", "ssmlGender": "FEMALE", - "voiceName": "hi-IN-Wavenet-D" + "voiceName": "hu-HU-Wavenet-A" } }, { - "command": "vhuf", + "command": "vidf", "gcParams": { - "languageCode": "hu-HU", + "languageCode": "id-ID", "ssmlGender": "FEMALE", - "voiceName": "hu-HU-Wavenet-A" + "voiceName": "id-ID-Wavenet-D" } }, { @@ -168,11 +216,19 @@ } }, { - "command": "vidf", + "command": "visf", "gcParams": { - "languageCode": "id-ID", + "languageCode": "is-IS", "ssmlGender": "FEMALE", - "voiceName": "id-ID-Wavenet-D" + "voiceName": "is-IS-Standard-A" + } + }, + { + "command": "vitf", + "gcParams": { + "languageCode": "it-IT", + "ssmlGender": "FEMALE", + "voiceName": "it-IT-Wavenet-A" } }, { @@ -184,11 +240,11 @@ } }, { - "command": "vitf", + "command": "vjaf", "gcParams": { - "languageCode": "it-IT", + "languageCode": "ja-JP", "ssmlGender": "FEMALE", - "voiceName": "it-IT-Wavenet-A" + "voiceName": "ja-JP-Wavenet-B" } }, { @@ -200,11 +256,11 @@ } }, { - "command": "vjaf", + "command": "vknf", "gcParams": { - "languageCode": "ja-JP", + "languageCode": "kn-IN", "ssmlGender": "FEMALE", - "voiceName": "ja-JP-Wavenet-B" + "voiceName": "kn-IN-Wavenet-A" } }, { @@ -216,11 +272,11 @@ } }, { - "command": "vknf", + "command": "vkof", "gcParams": { - "languageCode": "kn-IN", + "languageCode": "ko-KR", "ssmlGender": "FEMALE", - "voiceName": "kn-IN-Wavenet-A" + "voiceName": "ko-KR-Wavenet-A" } }, { @@ -232,19 +288,19 @@ } }, { - "command": "vkof", + "command": "vltm", "gcParams": { - "languageCode": "ko-KR", - "ssmlGender": "FEMALE", - "voiceName": "ko-KR-Wavenet-A" + "languageCode": "lt-LT", + "ssmlGender": "MALE", + "voiceName": "lt-LT-Standard-A" } }, { - "command": "vmlm", + "command": "vlvm", "gcParams": { - "languageCode": "ml-IN", + "languageCode": "lv-LV", "ssmlGender": "MALE", - "voiceName": "ml-IN-Wavenet-B" + "voiceName": "lv-LV-Standard-A" } }, { @@ -256,11 +312,11 @@ } }, { - "command": "vmrm", + "command": "vmlm", "gcParams": { - "languageCode": "mr-IN", + "languageCode": "ml-IN", "ssmlGender": "MALE", - "voiceName": "mr-IN-Wavenet-B" + "voiceName": "ml-IN-Wavenet-B" } }, { @@ -272,11 +328,11 @@ } }, { - "command": "vmsm", + "command": "vmrm", "gcParams": { - "languageCode": "ms-MY", + "languageCode": "mr-IN", "ssmlGender": "MALE", - "voiceName": "ms-MY-Wavenet-B" + "voiceName": "mr-IN-Wavenet-B" } }, { @@ -288,11 +344,11 @@ } }, { - "command": "vnbm", + "command": "vmsm", "gcParams": { - "languageCode": "nb-NO", + "languageCode": "ms-MY", "ssmlGender": "MALE", - "voiceName": "nb-NO-Wavenet-B" + "voiceName": "ms-MY-Wavenet-B" } }, { @@ -304,11 +360,11 @@ } }, { - "command": "vpam", + "command": "vnbm", "gcParams": { - "languageCode": "pa-IN", + "languageCode": "nb-NO", "ssmlGender": "MALE", - "voiceName": "pa-IN-Wavenet-B" + "voiceName": "nb-NO-Wavenet-B" } }, { @@ -320,11 +376,11 @@ } }, { - "command": "vplm", + "command": "vpam", "gcParams": { - "languageCode": "pl-PL", + "languageCode": "pa-IN", "ssmlGender": "MALE", - "voiceName": "pl-PL-Wavenet-B" + "voiceName": "pa-IN-Wavenet-B" } }, { @@ -335,6 +391,14 @@ "voiceName": "pl-PL-Wavenet-A" } }, + { + "command": "vplm", + "gcParams": { + "languageCode": "pl-PL", + "ssmlGender": "MALE", + "voiceName": "pl-PL-Wavenet-B" + } + }, { "command": "vrof", "gcParams": { @@ -344,19 +408,19 @@ } }, { - "command": "vrum", + "command": "vruf", "gcParams": { "languageCode": "ru-RU", - "ssmlGender": "MALE", - "voiceName": "ru-RU-Wavenet-B" + "ssmlGender": "FEMALE", + "voiceName": "ru-RU-Wavenet-E" } }, { - "command": "vruf", + "command": "vrum", "gcParams": { "languageCode": "ru-RU", - "ssmlGender": "FEMALE", - "voiceName": "ru-RU-Wavenet-E" + "ssmlGender": "MALE", + "voiceName": "ru-RU-Wavenet-B" } }, { @@ -368,11 +432,11 @@ } }, { - "command": "vsvm", + "command": "vsrf", "gcParams": { - "languageCode": "sv-SE", - "ssmlGender": "MALE", - "voiceName": "sv-SE-Wavenet-C" + "languageCode": "sr-RS", + "ssmlGender": "FEMALE", + "voiceName": "sr-RS-Standard-A" } }, { @@ -384,11 +448,11 @@ } }, { - "command": "vtam", + "command": "vsvm", "gcParams": { - "languageCode": "ta-IN", + "languageCode": "sv-SE", "ssmlGender": "MALE", - "voiceName": "ta-IN-Wavenet-B" + "voiceName": "sv-SE-Wavenet-C" } }, { @@ -400,59 +464,19 @@ } }, { - "command": "vtrm", - "gcParams": { - "languageCode": "tr-TR", - "ssmlGender": "MALE", - "voiceName": "tr-TR-Wavenet-B" - } - }, - { - "command": "vtrf", - "gcParams": { - "languageCode": "tr-TR", - "ssmlGender": "FEMALE", - "voiceName": "tr-TR-Wavenet-C" - } - }, - { - "command": "vukf", - "gcParams": { - "languageCode": "uk-UA", - "ssmlGender": "FEMALE", - "voiceName": "uk-UA-Wavenet-A" - } - }, - { - "command": "vvim", - "gcParams": { - "languageCode": "vi-VN", - "ssmlGender": "MALE", - "voiceName": "vi-VN-Wavenet-B" - } - }, - { - "command": "vvif", - "gcParams": { - "languageCode": "vi-VN", - "ssmlGender": "FEMALE", - "voiceName": "vi-VN-Wavenet-A" - } - }, - { - "command": "vyuem", + "command": "vtam", "gcParams": { - "languageCode": "yue-HK", + "languageCode": "ta-IN", "ssmlGender": "MALE", - "voiceName": "yue-HK-Standard-B" + "voiceName": "ta-IN-Wavenet-B" } }, { - "command": "vyuef", + "command": "vtef", "gcParams": { - "languageCode": "yue-HK", + "languageCode": "te-IN", "ssmlGender": "FEMALE", - "voiceName": "yue-HK-Standard-A" + "voiceName": "te-IN-Standard-A" } }, { @@ -464,91 +488,67 @@ } }, { - "command": "vtef", - "gcParams": { - "languageCode": "te-IN", - "ssmlGender": "FEMALE", - "voiceName": "te-IN-Standard-A" - } - }, - { - "command": "veuf", + "command": "vthf", "gcParams": { - "languageCode": "eu-ES", + "languageCode": "th-TH", "ssmlGender": "FEMALE", - "voiceName": "eu-ES-Standard-A" + "voiceName": "th-TH-Standard-A" } }, { - "command": "vsrf", + "command": "vtrf", "gcParams": { - "languageCode": "sr-RS", + "languageCode": "tr-TR", "ssmlGender": "FEMALE", - "voiceName": "sr-RS-Standard-A" + "voiceName": "tr-TR-Wavenet-C" } }, { - "command": "vlvm", + "command": "vtrm", "gcParams": { - "languageCode": "lv-LV", + "languageCode": "tr-TR", "ssmlGender": "MALE", - "voiceName": "lv-LV-Standard-A" - } - }, - { - "command": "visf", - "gcParams": { - "languageCode": "is-IS", - "ssmlGender": "FEMALE", - "voiceName": "is-IS-Standard-A" + "voiceName": "tr-TR-Wavenet-B" } }, { - "command": "vcaf", + "command": "vukf", "gcParams": { - "languageCode": "ca-ES", + "languageCode": "uk-UA", "ssmlGender": "FEMALE", - "voiceName": "ca-ES-Standard-A" + "voiceName": "uk-UA-Wavenet-A" } }, { - "command": "vglf", + "command": "vvif", "gcParams": { - "languageCode": "gl-ES", + "languageCode": "vi-VN", "ssmlGender": "FEMALE", - "voiceName": "gl-ES-Standard-A" + "voiceName": "vi-VN-Wavenet-A" } }, { - "command": "vbgf", + "command": "vvim", "gcParams": { - "languageCode": "bg-BG", - "ssmlGender": "FEMALE", - "voiceName": "bg-BG-Standard-A" + "languageCode": "vi-VN", + "ssmlGender": "MALE", + "voiceName": "vi-VN-Wavenet-B" } }, { - "command": "vaff", + "command": "vyuef", "gcParams": { - "languageCode": "af-ZA", + "languageCode": "yue-HK", "ssmlGender": "FEMALE", - "voiceName": "af-ZA-Standard-A" + "voiceName": "yue-HK-Standard-A" } }, { - "command": "vltm", + "command": "vyuem", "gcParams": { - "languageCode": "lt-LT", + "languageCode": "yue-HK", "ssmlGender": "MALE", - "voiceName": "lt-LT-Standard-A" - } - }, - { - "command": "vthf", - "gcParams": { - "languageCode": "th-TH", - "ssmlGender": "FEMALE", - "voiceName": "th-TH-Standard-A" + "voiceName": "yue-HK-Standard-B" } } ] \ No newline at end of file diff --git a/src/modules/text-to-speech/voices.json b/src/modules/text-to-speech/voices.json index 0db03854..991ef359 100644 --- a/src/modules/text-to-speech/voices.json +++ b/src/modules/text-to-speech/voices.json @@ -4827,210 +4827,210 @@ } ] }, - "eu": { - "eu-ES": [ + "bg": { + "bg-BG": [ { - "command": "veuf", + "command": "vbgf", "gcParams": { - "languageCode": "eu-ES", + "languageCode": "bg-BG", "ssmlGender": "FEMALE", - "voiceName": "eu-ES-Standard-A" + "voiceName": "bg-BG-Standard-A" } }, { - "command": "veuf", + "command": "vbgf", "gcParams": { - "languageCode": "eu-ES", + "languageCode": "bg-BG", "ssmlGender": "FEMALE", - "voiceName": "eu-ES-Standard-A" + "voiceName": "bg-BG-Standard-A" } } ] }, - "sr": { - "sr-RS": [ + "gl": { + "gl-ES": [ { - "command": "vsrf", + "command": "vglf", "gcParams": { - "languageCode": "sr-RS", + "languageCode": "gl-ES", "ssmlGender": "FEMALE", - "voiceName": "sr-RS-Standard-A" + "voiceName": "gl-ES-Standard-A" } }, { - "command": "vsrf", + "command": "vglf", "gcParams": { - "languageCode": "sr-RS", - "ssmlGender": "FEMALE", - "voiceName": "sr-RS-Standard-A" + "languageCode": "gl-ES", + "ssmlGender": "SSML_VOICE_GENDER_UNSPECIFIED", + "voiceName": "gl-ES-Standard-A" } } ] }, - "lv": { - "lv-LV": [ + "af": { + "af-ZA": [ { - "command": "vlvm", + "command": "vaff", "gcParams": { - "languageCode": "lv-LV", - "ssmlGender": "MALE", - "voiceName": "lv-LV-Standard-A" + "languageCode": "af-ZA", + "ssmlGender": "FEMALE", + "voiceName": "af-ZA-Standard-A" } }, { - "command": "vlvm", + "command": "vaff", "gcParams": { - "languageCode": "lv-LV", - "ssmlGender": "MALE", - "voiceName": "lv-LV-Standard-A" + "languageCode": "af-ZA", + "ssmlGender": "FEMALE", + "voiceName": "af-ZA-Standard-A" } } ] }, - "is": { - "is-IS": [ + "lt": { + "lt-LT": [ { - "command": "visf", + "command": "vltm", "gcParams": { - "languageCode": "is-IS", - "ssmlGender": "FEMALE", - "voiceName": "is-IS-Standard-A" + "languageCode": "lt-LT", + "ssmlGender": "MALE", + "voiceName": "lt-LT-Standard-A" } }, { - "command": "visf", + "command": "vltm", "gcParams": { - "languageCode": "is-IS", - "ssmlGender": "FEMALE", - "voiceName": "is-IS-Standard-A" + "languageCode": "lt-LT", + "ssmlGender": "MALE", + "voiceName": "lt-LT-Standard-A" } } ] }, - "ca": { - "ca-ES": [ + "eu": { + "eu-ES": [ { - "command": "vcaf", + "command": "veuf", "gcParams": { - "languageCode": "ca-ES", + "languageCode": "eu-ES", "ssmlGender": "FEMALE", - "voiceName": "ca-ES-Standard-A" + "voiceName": "eu-ES-Standard-A" } }, { - "command": "vcaf", + "command": "veuf", "gcParams": { - "languageCode": "ca-ES", + "languageCode": "eu-ES", "ssmlGender": "FEMALE", - "voiceName": "ca-ES-Standard-A" + "voiceName": "eu-ES-Standard-A" } } ] }, - "gl": { - "gl-ES": [ + "is": { + "is-IS": [ { - "command": "vglf", + "command": "visf", "gcParams": { - "languageCode": "gl-ES", + "languageCode": "is-IS", "ssmlGender": "FEMALE", - "voiceName": "gl-ES-Standard-A" + "voiceName": "is-IS-Standard-A" } }, { - "command": "vglf", + "command": "visf", "gcParams": { - "languageCode": "gl-ES", - "ssmlGender": "SSML_VOICE_GENDER_UNSPECIFIED", - "voiceName": "gl-ES-Standard-A" + "languageCode": "is-IS", + "ssmlGender": "FEMALE", + "voiceName": "is-IS-Standard-A" } } ] }, - "bg": { - "bg-BG": [ + "th": { + "th-TH": [ { - "command": "vbgf", + "command": "vthf", "gcParams": { - "languageCode": "bg-BG", + "languageCode": "th-TH", "ssmlGender": "FEMALE", - "voiceName": "bg-BG-Standard-A" + "voiceName": "th-TH-Standard-A" } }, { - "command": "vbgf", - "gcParams": { - "languageCode": "bg-BG", - "ssmlGender": "FEMALE", - "voiceName": "bg-BG-Standard-A" - } - } - ] - }, - "af": { - "af-ZA": [ - { - "command": "vaff", + "command": "vthf", "gcParams": { - "languageCode": "af-ZA", + "languageCode": "th-TH", "ssmlGender": "FEMALE", - "voiceName": "af-ZA-Standard-A" + "voiceName": "th-TH-Neural2-C" } }, { - "command": "vaff", + "command": "vthf", "gcParams": { - "languageCode": "af-ZA", + "languageCode": "th-TH", "ssmlGender": "FEMALE", - "voiceName": "af-ZA-Standard-A" + "voiceName": "th-TH-Standard-A" } } ] }, - "lt": { - "lt-LT": [ + "lv": { + "lv-LV": [ { - "command": "vltm", + "command": "vlvm", "gcParams": { - "languageCode": "lt-LT", + "languageCode": "lv-LV", "ssmlGender": "MALE", - "voiceName": "lt-LT-Standard-A" + "voiceName": "lv-LV-Standard-A" } }, { - "command": "vltm", + "command": "vlvm", "gcParams": { - "languageCode": "lt-LT", + "languageCode": "lv-LV", "ssmlGender": "MALE", - "voiceName": "lt-LT-Standard-A" + "voiceName": "lv-LV-Standard-A" } } ] }, - "th": { - "th-TH": [ + "ca": { + "ca-ES": [ { - "command": "vthf", + "command": "vcaf", "gcParams": { - "languageCode": "th-TH", + "languageCode": "ca-ES", "ssmlGender": "FEMALE", - "voiceName": "th-TH-Standard-A" + "voiceName": "ca-ES-Standard-A" } }, { - "command": "vthf", + "command": "vcaf", "gcParams": { - "languageCode": "th-TH", + "languageCode": "ca-ES", "ssmlGender": "FEMALE", - "voiceName": "th-TH-Neural2-C" + "voiceName": "ca-ES-Standard-A" + } + } + ] + }, + "sr": { + "sr-RS": [ + { + "command": "vsrf", + "gcParams": { + "languageCode": "sr-RS", + "ssmlGender": "FEMALE", + "voiceName": "sr-RS-Standard-A" } }, { - "command": "vthf", + "command": "vsrf", "gcParams": { - "languageCode": "th-TH", + "languageCode": "sr-RS", "ssmlGender": "FEMALE", - "voiceName": "th-TH-Standard-A" + "voiceName": "sr-RS-Standard-A" } } ] From 188856cbd195ae0306b0153bd468d82a8f5b362d Mon Sep 17 00:00:00 2001 From: ahiipsa Date: Wed, 4 Oct 2023 23:36:13 +0400 Subject: [PATCH 3/3] Added elevenlabs commands /v11f - female /v11m - male --- src/config.ts | 3 +- src/elevenlabs/elevenlabsClient.ts | 47 ++++++++++++++++++++++--- src/elevenlabs/sandbox.ts | 19 +++++++++++ src/elevenlabs/test.ts | 0 src/modules/text-to-speech/index.ts | 53 +++++++++++++++++++++++++---- 5 files changed, 111 insertions(+), 11 deletions(-) create mode 100644 src/elevenlabs/sandbox.ts delete mode 100644 src/elevenlabs/test.ts diff --git a/src/config.ts b/src/config.ts index fd32fa03..aa8c0bfc 100644 --- a/src/config.ts +++ b/src/config.ts @@ -162,5 +162,6 @@ export default { index: process.env.ES_INDEX }, deepL: { apikey: process.env.DEEPL_API_KEY ?? '' }, - gc: { credentials: process.env.GC_CREDENTIALS ?? '' } + gc: { credentials: process.env.GC_CREDENTIALS ?? '' }, + elevenlabs: { apiKey: process.env.ELEVENLABS_API_KEY ?? '' } } diff --git a/src/elevenlabs/elevenlabsClient.ts b/src/elevenlabs/elevenlabsClient.ts index 30518adb..9d396cfd 100644 --- a/src/elevenlabs/elevenlabsClient.ts +++ b/src/elevenlabs/elevenlabsClient.ts @@ -1,5 +1,37 @@ import axios, { type AxiosInstance } from 'axios' +interface Voice { + 'voice_id': string + 'name': string + 'samples': null + 'category': 'premade' + 'fine_tuning': { + 'language': null + 'is_allowed_to_fine_tune': boolean + 'fine_tuning_requested': boolean + 'finetuning_state': 'not_started' + 'verification_attempts': null + 'verification_failures': [] + 'verification_attempts_count': 0 + 'slice_ids': null + 'manual_verification': null + 'manual_verification_requested': false + } + 'labels': { + 'accent': 'american' | string + 'description': 'strong' | string + 'age': 'young' | string + 'gender': 'female' | string + 'use case': 'narration' | string + } + 'description': null + 'preview_url': string + 'available_for_tiers': [] + 'settings': null + 'sharing': null + 'high_quality_base_model_ids': [] +} + export class ElevenlabsClient { private readonly _token: string private readonly _httpClient: AxiosInstance @@ -17,13 +49,20 @@ export class ElevenlabsClient { } public async textToSpeech ({ text, voiceId }: { text: string, voiceId: string }): Promise { - return await this._httpClient.post(`/v1/text-to-speech/${voiceId}`, { - text: 'string', - model_id: 'eleven_monolingual_v1', + const response = await this._httpClient.post(`/v1/text-to-speech/${voiceId}`, { + text, + model_id: 'eleven_multilingual_v2', voice_settings: { stability: 0.5, similarity_boost: 0.5 } - }) + }, { responseType: 'arraybuffer' }) + + return Buffer.from(response.data, 'binary') + } + + public async voiceList (): Promise { + const response = await this._httpClient.get<{ voices: Voice[] }>('/v1/voices') + return response.data.voices } } diff --git a/src/elevenlabs/sandbox.ts b/src/elevenlabs/sandbox.ts new file mode 100644 index 00000000..1b2bafa0 --- /dev/null +++ b/src/elevenlabs/sandbox.ts @@ -0,0 +1,19 @@ +import { ElevenlabsClient } from './elevenlabsClient' +import config from '../config' + +function labelsToString (labels: Record): string { + return Object.entries(labels).reduce((acc, item) => { + return acc + item.join(': ') + '; ' + }, '') +} + +async function main (): Promise { + const client = new ElevenlabsClient(config.elevenlabs.apiKey) + const voiceList = await client.voiceList() + + for (const voice of voiceList) { + console.log(voice.voice_id, voice.name, '\t', labelsToString(voice.labels)) + } +} + +main().then(() => { console.log('### finish') }).catch(console.log) diff --git a/src/elevenlabs/test.ts b/src/elevenlabs/test.ts deleted file mode 100644 index e69de29b..00000000 diff --git a/src/modules/text-to-speech/index.ts b/src/modules/text-to-speech/index.ts index cb35b2f0..67d4f1b0 100644 --- a/src/modules/text-to-speech/index.ts +++ b/src/modules/text-to-speech/index.ts @@ -5,15 +5,13 @@ import type { BotPayments } from '../payment' import type { OnMessageContext, PayableBot } from '../types' import { gcTextToSpeedClient, type TextToSpeechParams } from '../../google-cloud/gcTextToSpeechClient' import { getCommandList, getConfigByCommand } from './commandConfigList' +import { ElevenlabsClient } from '../../elevenlabs/elevenlabsClient' +import config from '../../config' enum SupportedCommands { VOICE = 'voice', - VOICEHK = 'voicehk', - VOICEHKF = 'voicehkf', - VOICERU = 'voiceru', - VOICECN = 'voicecn', - VOICEES = 'voicees' - + V11M = 'v11m', + V11F = 'v11f', } export class TextToSpeechBot implements PayableBot { @@ -56,6 +54,20 @@ export class TextToSpeechBot implements PayableBot { return } + if (ctx.hasCommand(SupportedCommands.V11M)) { + const text = this.getTextFromMessage(ctx) + // Liam accent: american; age: young; gender: male; use case: narration; description : neutral; + await this.onTextToSpeech11Labs(ctx, { text, voiceId: 'TX3LPaxmHKxFdv7VOQHJ' }) + return + } + + if (ctx.hasCommand(SupportedCommands.V11F)) { + const text = this.getTextFromMessage(ctx) + // Rachel accent: american; description: calm; age: young; gender: female; use case: narration; + await this.onTextToSpeech11Labs(ctx, { text, voiceId: '21m00Tcm4TlvDq8ikWAM' }) + return + } + // if (ctx.hasCommand(SupportedCommands.VOICEHK)) { // const text = this.getTextFromMessage(ctx) // await this.onTextToSpeech(ctx, { text, ssmlGender: 'MALE', languageCode: 'yue-Hant-HK' }) @@ -146,4 +158,33 @@ export class TextToSpeechBot implements PayableBot { await ctx.api.deleteMessage(ctx.chat.id, progressMessage.message_id) await ctx.replyWithVoice(inputFile) } + + public async onTextToSpeech11Labs (ctx: OnMessageContext, params: { text: string, voiceId: string }): Promise { + const { text, voiceId } = params + + if (!params.text) { + await ctx.reply('/voice command should contain text.') + return + } + + if (!ctx.chat?.id) { + throw new Error('Internal error') + } + + const progressMessage = await ctx.reply('Generating...') + + const elevenlabsClient = new ElevenlabsClient(config.elevenlabs.apiKey) + + const voiceResult = await elevenlabsClient.textToSpeech({ text, voiceId }) + + if (!voiceResult) { + await ctx.api.editMessageText(ctx.chat.id, progressMessage.message_id, 'An error occurred during the process of generating the message.') + return + } + + const inputFile = new InputFile(voiceResult) + + await ctx.api.deleteMessage(ctx.chat.id, progressMessage.message_id) + await ctx.replyWithVoice(inputFile) + } }