deepgram.clients.speak.v1.websocket.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 BaseResponse
14
15
16@dataclass
17class SpeakWSOptions(BaseResponse):
18    """
19    Contains all the options for the SpeakOptions.
20
21    Reference:
22    https://developers.deepgram.com/reference/transform-text-to-speech-websocket
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 __getitem__(self, key):
43        _dict = self.to_dict()
44        return _dict[key]
45
46    def __setitem__(self, key, val):
47        self.__dict__[key] = val
48
49    def __str__(self) -> str:
50        return self.to_json(indent=4)
51
52    def check(self):
53        """
54        Check the SpeakOptions for any missing or invalid values.
55        """
56        logger = verboselogs.VerboseLogger(__name__)
57        logger.addHandler(logging.StreamHandler())
58        prev = logger.level
59        logger.setLevel(verboselogs.ERROR)
60
61        # no op at the moment
62
63        logger.setLevel(prev)
64
65        return True
@dataclass
class SpeakWSOptions(deepgram.clients.common.v1.shared_response.BaseResponse):
17@dataclass
18class SpeakWSOptions(BaseResponse):
19    """
20    Contains all the options for the SpeakOptions.
21
22    Reference:
23    https://developers.deepgram.com/reference/transform-text-to-speech-websocket
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 __getitem__(self, key):
44        _dict = self.to_dict()
45        return _dict[key]
46
47    def __setitem__(self, key, val):
48        self.__dict__[key] = val
49
50    def __str__(self) -> str:
51        return self.to_json(indent=4)
52
53    def check(self):
54        """
55        Check the SpeakOptions for any missing or invalid values.
56        """
57        logger = verboselogs.VerboseLogger(__name__)
58        logger.addHandler(logging.StreamHandler())
59        prev = logger.level
60        logger.setLevel(verboselogs.ERROR)
61
62        # no op at the moment
63
64        logger.setLevel(prev)
65
66        return True

Contains all the options for the SpeakOptions.

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

SpeakWSOptions( model: Optional[str] = 'aura-asteria-en', encoding: Optional[str] = None, sample_rate: Optional[int] = None, bit_rate: Optional[int] = None)
model: Optional[str] = 'aura-asteria-en'
encoding: Optional[str] = None
sample_rate: Optional[int] = None
bit_rate: Optional[int] = None
def check(self):
53    def check(self):
54        """
55        Check the SpeakOptions for any missing or invalid values.
56        """
57        logger = verboselogs.VerboseLogger(__name__)
58        logger.addHandler(logging.StreamHandler())
59        prev = logger.level
60        logger.setLevel(verboselogs.ERROR)
61
62        # no op at the moment
63
64        logger.setLevel(prev)
65
66        return True

Check the SpeakOptions for any missing or invalid values.