153 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			Python
		
	
	
			
		
		
	
	
			153 lines
		
	
	
		
			4.1 KiB
		
	
	
	
		
			Python
		
	
	
"""Constants for the Amazon Polly text to speech service."""
 | 
						|
from __future__ import annotations
 | 
						|
 | 
						|
from typing import Final
 | 
						|
 | 
						|
CONF_REGION: Final = "region_name"
 | 
						|
CONF_ACCESS_KEY_ID: Final = "aws_access_key_id"
 | 
						|
CONF_SECRET_ACCESS_KEY: Final = "aws_secret_access_key"
 | 
						|
 | 
						|
DEFAULT_REGION: Final = "us-east-1"
 | 
						|
SUPPORTED_REGIONS: Final[list[str]] = [
 | 
						|
    "us-east-1",
 | 
						|
    "us-east-2",
 | 
						|
    "us-west-1",
 | 
						|
    "us-west-2",
 | 
						|
    "ca-central-1",
 | 
						|
    "eu-west-1",
 | 
						|
    "eu-central-1",
 | 
						|
    "eu-west-2",
 | 
						|
    "eu-west-3",
 | 
						|
    "ap-southeast-1",
 | 
						|
    "ap-southeast-2",
 | 
						|
    "ap-northeast-2",
 | 
						|
    "ap-northeast-1",
 | 
						|
    "ap-south-1",
 | 
						|
    "sa-east-1",
 | 
						|
]
 | 
						|
 | 
						|
CONF_ENGINE: Final = "engine"
 | 
						|
CONF_VOICE: Final = "voice"
 | 
						|
CONF_OUTPUT_FORMAT: Final = "output_format"
 | 
						|
CONF_SAMPLE_RATE: Final = "sample_rate"
 | 
						|
CONF_TEXT_TYPE: Final = "text_type"
 | 
						|
 | 
						|
SUPPORTED_VOICES: Final[list[str]] = [
 | 
						|
    "Aditi",  # Hindi
 | 
						|
    "Amy",  # English (British)
 | 
						|
    "Aria",  # English (New Zealand), Neural
 | 
						|
    "Arlet",  # Catalan, Neural
 | 
						|
    "Arthur",  # English, Neural
 | 
						|
    "Astrid",  # Swedish
 | 
						|
    "Ayanda",  # English (South African), Neural
 | 
						|
    "Bianca",  # Italian
 | 
						|
    "Brian",  # English (British)
 | 
						|
    "Camila",  # Portuguese, Brazilian
 | 
						|
    "Carla",  # Italian
 | 
						|
    "Carmen",  # Romanian
 | 
						|
    "Celine",  # French
 | 
						|
    "Chantal",  # French Canadian
 | 
						|
    "Conchita",  # Spanish (European)
 | 
						|
    "Cristiano",  # Portuguese (European)
 | 
						|
    "Daniel",  # German, Neural
 | 
						|
    "Dora",  # Icelandic
 | 
						|
    "Elin",  # Swedish, Neural
 | 
						|
    "Emma",  # English
 | 
						|
    "Enrique",  # Spanish (European)
 | 
						|
    "Ewa",  # Polish
 | 
						|
    "Filiz",  # Turkish
 | 
						|
    "Gabrielle",  # French (Canadian)
 | 
						|
    "Geraint",  # English Welsh
 | 
						|
    "Giorgio",  # Italian
 | 
						|
    "Gwyneth",  # Welsh
 | 
						|
    "Hala",  # Arabic (Gulf), Neural
 | 
						|
    "Hannah",  # German (Austrian), Neural
 | 
						|
    "Hans",  # German
 | 
						|
    "Hiujin",  # Chinese (Cantonese), Neural
 | 
						|
    "Ida",  # Norwegian, Neural
 | 
						|
    "Ines",  # Portuguese, European
 | 
						|
    "Ivy",  # English
 | 
						|
    "Jacek",  # Polish
 | 
						|
    "Jan",  # Polish
 | 
						|
    "Joanna",  # English
 | 
						|
    "Joey",  # English
 | 
						|
    "Justin",  # English
 | 
						|
    "Kajal",  # English (Indian)/Hindi (Bilingual ), Neural
 | 
						|
    "Karl",  # Icelandic
 | 
						|
    "Kendra",  # English
 | 
						|
    "Kevin",  # English, Neural
 | 
						|
    "Kimberly",  # English
 | 
						|
    "Laura",  # Dutch, Neural
 | 
						|
    "Lea",  # French
 | 
						|
    "Liam",  # Canadian French, Neural
 | 
						|
    "Liv",  # Norwegian
 | 
						|
    "Lotte",  # Dutch
 | 
						|
    "Lucia",  # Spanish European
 | 
						|
    "Lupe",  # Spanish US
 | 
						|
    "Mads",  # Danish
 | 
						|
    "Maja",  # Polish
 | 
						|
    "Marlene",  # German
 | 
						|
    "Mathieu",  # French
 | 
						|
    "Matthew",  # English
 | 
						|
    "Maxim",  # Russian
 | 
						|
    "Mia",  # Spanish Mexican
 | 
						|
    "Miguel",  # Spanish US
 | 
						|
    "Mizuki",  # Japanese
 | 
						|
    "Naja",  # Danish
 | 
						|
    "Nicole",  # English Australian
 | 
						|
    "Ola",  # Polish, Neural
 | 
						|
    "Olivia",  # Female, Australian, Neural
 | 
						|
    "Penelope",  # Spanish US
 | 
						|
    "Pedro",  # Spanish US, Neural
 | 
						|
    "Raveena",  # English, Indian
 | 
						|
    "Ricardo",  # Portuguese (Brazilian)
 | 
						|
    "Ruben",  # Dutch
 | 
						|
    "Russell",  # English (Australian)
 | 
						|
    "Ruth",  # English, Neural
 | 
						|
    "Salli",  # English
 | 
						|
    "Seoyeon",  # Korean
 | 
						|
    "Stephen",  # English, Neural
 | 
						|
    "Suvi",  # Finnish
 | 
						|
    "Takumi",  # Japanese
 | 
						|
    "Tatyana",  # Russian
 | 
						|
    "Vicki",  # German
 | 
						|
    "Vitoria",  # Portuguese, Brazilian
 | 
						|
    "Zeina",  # Arabic
 | 
						|
    "Zhiyu",  # Chinese
 | 
						|
]
 | 
						|
 | 
						|
SUPPORTED_OUTPUT_FORMATS: Final[list[str]] = ["mp3", "ogg_vorbis", "pcm"]
 | 
						|
 | 
						|
SUPPORTED_ENGINES: Final[list[str]] = ["neural", "standard"]
 | 
						|
 | 
						|
SUPPORTED_SAMPLE_RATES: Final[list[str]] = ["8000", "16000", "22050", "24000"]
 | 
						|
 | 
						|
SUPPORTED_SAMPLE_RATES_MAP: Final[dict[str, list[str]]] = {
 | 
						|
    "mp3": ["8000", "16000", "22050", "24000"],
 | 
						|
    "ogg_vorbis": ["8000", "16000", "22050"],
 | 
						|
    "pcm": ["8000", "16000"],
 | 
						|
}
 | 
						|
 | 
						|
SUPPORTED_TEXT_TYPES: Final[list[str]] = ["text", "ssml"]
 | 
						|
 | 
						|
CONTENT_TYPE_EXTENSIONS: Final[dict[str, str]] = {
 | 
						|
    "audio/mpeg": "mp3",
 | 
						|
    "audio/ogg": "ogg",
 | 
						|
    "audio/pcm": "pcm",
 | 
						|
}
 | 
						|
 | 
						|
DEFAULT_ENGINE: Final = "standard"
 | 
						|
DEFAULT_VOICE: Final = "Joanna"
 | 
						|
DEFAULT_OUTPUT_FORMAT: Final = "mp3"
 | 
						|
DEFAULT_TEXT_TYPE: Final = "text"
 | 
						|
 | 
						|
DEFAULT_SAMPLE_RATES: Final[dict[str, str]] = {
 | 
						|
    "mp3": "22050",
 | 
						|
    "ogg_vorbis": "22050",
 | 
						|
    "pcm": "16000",
 | 
						|
}
 | 
						|
 | 
						|
AWS_CONF_CONNECT_TIMEOUT: Final = 10
 | 
						|
AWS_CONF_READ_TIMEOUT: Final = 5
 | 
						|
AWS_CONF_MAX_POOL_CONNECTIONS: Final = 1
 |