deepgram.clients.speak.v1.rest.options

 1# Copyright 2024 Deepgram SDK contributors. All Rights Reserved.
 2# Use of this source code is governed by a MIT license that can be found in the LICENSE file.
 3# SPDX-License-Identifier: MIT
 4
 5from io import BufferedReader
 6from typing import Union, Optional
 7import logging
 8
 9from dataclasses import dataclass, field
10from dataclasses_json import config as dataclass_config
11
12from .....utils import verboselogs
13from ....common import TextSource, BufferSource, StreamSource, FileSource, BaseResponse
14
15
16@dataclass
17class SpeakRESTOptions(BaseResponse):
18    """
19    Contains all the options for the SpeakOptions.
20
21    Reference:
22    https://developers.deepgram.com/reference/text-to-speech-api
23    """
24
25    model: Optional[str] = field(
26        default="aura-asteria-en",
27        metadata=dataclass_config(exclude=lambda f: f is None),
28    )
29    encoding: Optional[str] = field(
30        default=None, metadata=dataclass_config(exclude=lambda f: f is None)
31    )
32    container: Optional[str] = field(
33        default=None, metadata=dataclass_config(exclude=lambda f: f is None)
34    )
35    sample_rate: Optional[int] = field(
36        default=None, metadata=dataclass_config(exclude=lambda f: f is None)
37    )
38    bit_rate: Optional[int] = field(
39        default=None, metadata=dataclass_config(exclude=lambda f: f is None)
40    )
41
42    def check(self):
43        """
44        Check the SpeakOptions for any missing or invalid values.
45        """
46        logger = verboselogs.VerboseLogger(__name__)
47        logger.addHandler(logging.StreamHandler())
48        prev = logger.level
49        logger.setLevel(verboselogs.ERROR)
50
51        # no op at the moment
52
53        logger.setLevel(prev)
54
55        return True
56
57
58SpeakOptions = SpeakRESTOptions
59
60
61# unqiue
62SpeakSource = Union[FileSource, BufferedReader]
63SpeakRestSource = SpeakSource
64SpeakRESTSource = SpeakSource  # pylint: disable=invalid-name
@dataclass
class SpeakRESTOptions(deepgram.clients.common.v1.shared_response.BaseResponse):
17@dataclass
18class SpeakRESTOptions(BaseResponse):
19    """
20    Contains all the options for the SpeakOptions.
21
22    Reference:
23    https://developers.deepgram.com/reference/text-to-speech-api
24    """
25
26    model: Optional[str] = field(
27        default="aura-asteria-en",
28        metadata=dataclass_config(exclude=lambda f: f is None),
29    )
30    encoding: Optional[str] = field(
31        default=None, metadata=dataclass_config(exclude=lambda f: f is None)
32    )
33    container: Optional[str] = field(
34        default=None, metadata=dataclass_config(exclude=lambda f: f is None)
35    )
36    sample_rate: Optional[int] = field(
37        default=None, metadata=dataclass_config(exclude=lambda f: f is None)
38    )
39    bit_rate: Optional[int] = field(
40        default=None, metadata=dataclass_config(exclude=lambda f: f is None)
41    )
42
43    def check(self):
44        """
45        Check the SpeakOptions for any missing or invalid values.
46        """
47        logger = verboselogs.VerboseLogger(__name__)
48        logger.addHandler(logging.StreamHandler())
49        prev = logger.level
50        logger.setLevel(verboselogs.ERROR)
51
52        # no op at the moment
53
54        logger.setLevel(prev)
55
56        return True

Contains all the options for the SpeakOptions.

Reference: https://developers.deepgram.com/reference/text-to-speech-api

SpeakRESTOptions( model: Optional[str] = 'aura-asteria-en', encoding: Optional[str] = None, container: Optional[str] = None, sample_rate: Optional[int] = None, bit_rate: Optional[int] = None)
model: Optional[str] = 'aura-asteria-en'
encoding: Optional[str] = None
container: Optional[str] = None
sample_rate: Optional[int] = None
bit_rate: Optional[int] = None
def check(self):
43    def check(self):
44        """
45        Check the SpeakOptions for any missing or invalid values.
46        """
47        logger = verboselogs.VerboseLogger(__name__)
48        logger.addHandler(logging.StreamHandler())
49        prev = logger.level
50        logger.setLevel(verboselogs.ERROR)
51
52        # no op at the moment
53
54        logger.setLevel(prev)
55
56        return True

Check the SpeakOptions for any missing or invalid values.

SpeakOptions = <class 'SpeakRESTOptions'>