llama-index

Форк
0
48 строк · 1.2 Кб
1
"""ElevenLabs TTS."""
2

3
from typing import Any, Optional
4

5
from llama_index.legacy.tts.base import BaseTTS
6

7

8
class ElevenLabsTTS(BaseTTS):
9
    """ElevenLabs TTS.
10

11
    Args:
12
        api_key (Optional[str]): API key for ElevenLabs TTS.
13

14
    """
15

16
    def __init__(self, api_key: Optional[str] = None) -> None:
17
        super().__init__()
18

19
        self.api_key = api_key
20

21
    def generate_audio(self, text: str, voice: Optional[str] = None) -> Any:
22
        """Generate audio.
23

24
        NOTE: return type is Any, but it should be any object that can be fed
25
        as `data` into IPython.display.Audio(). This includes numpy array, list,
26
        unicode, str or bytes
27

28
        Args:
29
            text (str): text to be turned into audio.
30
            voice (Optional[str]): voice in which audio is generated.
31
        """
32
        import_err_msg = "`elevenlabs` package not found, \
33
            please run `pip install elevenlabs`"
34

35
        try:
36
            import elevenlabs
37
        except ImportError:
38
            raise ImportError(import_err_msg)
39

40
        if self.api_key:
41
            elevenlabs.set_api_key(self.api_key)
42

43
        if voice:
44
            audio = elevenlabs.generate(text, voice=voice)
45
        else:
46
            audio = elevenlabs.generate(text)
47

48
        return audio
49

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.