From 79b9ec4077e3d453bdc0e2a2443a735bc3251ffc Mon Sep 17 00:00:00 2001 From: NikhilKalloli <1ms22cs091@msrit.edu> Date: Thu, 31 Oct 2024 10:13:10 +0530 Subject: [PATCH 1/2] Add Russian docs --- docs/ru/api.md | 171 ++++++++++++++++++++++++++++++++++ docs/ru/contributing.md | 21 +++++ docs/ru/faq.md | 13 +++ docs/ru/index.md | 20 ++++ docs/ru/installation.md | 199 ++++++++++++++++++++++++++++++++++++++++ docs/ru/usage.md | 145 +++++++++++++++++++++++++++++ mkdocs.yml | 11 ++- 7 files changed, 579 insertions(+), 1 deletion(-) create mode 100644 docs/ru/api.md create mode 100644 docs/ru/contributing.md create mode 100644 docs/ru/faq.md create mode 100644 docs/ru/index.md create mode 100644 docs/ru/installation.md create mode 100644 docs/ru/usage.md diff --git a/docs/ru/api.md b/docs/ru/api.md new file mode 100644 index 0000000..ce31d77 --- /dev/null +++ b/docs/ru/api.md @@ -0,0 +1,171 @@ +## Конфигурация + +### Параметры инициализации для `TextToAudioStream` + +Когда вы инициализируете класс `TextToAudioStream`, у вас есть различные параметры для настройки его поведения. Вот доступные параметры: + +#### `engine` (BaseEngine) +- **Тип**: BaseEngine +- **Обязательный**: Да +- **Описание**: Основной движок, отвечающий за синтез текста в аудио. Вы должны предоставить экземпляр `BaseEngine` или его подкласса для включения синтеза аудио. + +#### `on_text_stream_start` (callable) +- **Тип**: Вызываемая функция +- **Обязательная**: Нет +- **Описание**: Эта необязательная функция обратного вызова вызывается, когда начинается поток текста. Используйте его для любой настройки или ведения журнала, которые вам могут понадобиться. + +#### `on_text_stream_stop` (callable) +- **Тип**: Вызываемая функция +- **Обязательна**: Нет Эта необязательная функция обратного вызова активируется, когда поток текста заканчивается. Вы можете использовать это для задач очистки или ведения журнала. + +#### `on_audio_stream_start` (callable) +- **Тип**: Вызываемая функция +- **Обязательная**: Нет +- **Описание**: Эта необязательная функция обратного вызова вызывается, когда начинается аудиопоток. Полезно для обновления пользовательского интерфейса или ведения журналов событий. + +#### `on_audio_stream_stop` (callable) +- **Тип**: Вызываемая функция +- **Обязательно**: Нет +- **Описание**: Эта необязательная функция обратного вызова вызывается, когда аудиопоток останавливается. Идеально подходит для очистки ресурсов или задач постобработки. + +#### `on_character` (callable) +- **Тип**: Вызов функции Нет +- **Описание**: Эта необязательная функция обратного вызова вызывается, когда обрабатывается один символ. + +#### `output_device_index` (int) +- **Тип**: Целое число +- **Обязательно**: Нет +- **По умолчанию**: Нет +- **Описание**: Указывает индекс устройства вывода, которое следует использовать. Ничего не использует устройство по умолчанию. + +#### `tokenizer` (string) +- **Тип**: Строка +- **Обязательно**: Нет +- **По умолчанию**: nltk +- **Описание**: Токенизатор для разбиения на предложения (currently "nltk" and "stanza" are supported). + +#### `language` (string) +- **Тип**: Строка +- **Обязательный**: Нет +- **По умолчанию**: en +- **Описание**: Язык, который использовать для разбиения предложений. + +#### `muted` (bool) +- **Тип**: Bool +- **Обязательный**: Нет +- **По умолчанию**: False +- **Описание**: Глобальный параметр отключения звука. Если True, поток pyAudio не будет открыт. Отключает воспроизведение аудио через локальные динамики (в случае, если вы хотите синтезировать в файл или обрабатывать аудиофрагменты) и переопределяет настройку отключения звука в параметрах воспроизведения. + +#### `level` (int) +- **Тип**: Целое число +- **Обязательный**: Нет +- **По умолчанию**: `logging.WARNING` +- **Описание**: Устанавливает уровень логирования для внутреннего логгера. Это может быть любое целое число из встроенного модуля `logging` Python. + +#### Пример использования: + +```python +engine = YourEngine() # Замените на ваш движок +stream = TextToAudioStream( + engine=engine, + on_text_stream_start=my_text_start_func, + on_text_stream_stop=my_text_stop_func, + on_audio_stream_start=my_audio_start_func, + on_audio_stream_stop=my_audio_stop_func, + level=logging.INFO +) +``` + +### Методы + +#### `play` и `play_async` + +Эти методы отвечают за выполнение синтеза текста в аудио и воспроизведение аудиопотока. Разница в том, что `play` является блокирующей функцией, в то время как `play_async` выполняется в отдельном потоке, позволяя другим операциям продолжаться. + +##### Параметры: + +###### `fast_sentence_fragment` (bool) +- **По умолчанию**: `True` +- **Описание**: Когда установлено значение `True`, метод будет приоритизировать скорость, генерируя и воспроизводя фрагменты предложений быстрее. Это полезно для приложений, где важна задержка. + +###### `fast_sentence_fragment_allsentences` (bool) +- **По умолчанию**: `False` +- **Описание**: Когда установлено значение `True`, применяется быстрая обработка фрагментов предложений ко всем предложениям, а не только к первому. + +###### `fast_sentence_fragment_allsentences_multiple` (bool) +- **По умолчанию**: `Ложь` +- **Описание**: Когда установлено на `True`, позволяет выдавать несколько фрагментов предложений вместо одного. + +###### `buffer_threshold_seconds` (float) +- **По умолчанию**: `0.0` +- **Описание**: Указывает время в секундах для порога буферизации, что влияет на плавность и непрерывность воспроизведения аудио. + + - **Как это работает**: Перед синтезом нового предложения система проверяет, осталось ли в буфере больше аудиоматериала, чем время, указанное в `buffer_threshold_seconds`. Если да, он извлекает другое предложение из генератора текста, предполагая, что сможет получить и синтезировать это новое предложение в пределах временного окна, предоставленного оставшимся аудио в буфере. Этот процесс позволяет движку синтеза речи иметь больше контекста для лучшего синтеза, улучшая пользовательский опыт. + + Большее значение гарантирует наличие большего объема предварительно буферизованного аудио, что снижает вероятность тишины или пауз во время воспроизведения. Если вы испытываете перерывы или паузы, рассмотрите возможность увеличения этого значения. + +###### `minimum_sentence_length` (int) +- **По умолчанию**: `10` +- **Описание**: Устанавливает минимальную длину строки в символах, чтобы считать её предложением для синтеза. Это влияет на то, как обрабатываются и воспроизводятся текстовые фрагменты. + +###### `minimum_first_fragment_length` (int) +- **По умолчанию**: `10` +- **Описание**: Минимальное количество символов, необходимое для первого фрагмента предложения перед завершением. + +###### `log_synthesized_text` (bool) +- **По умолчанию**: `False` +- **Описание**: Когда включено, записывает текстовые фрагменты по мере их синтезации в аудио. Полезно для аудита и отладки. + +###### `reset_generated_text` (bool) +- **По умолчанию**: `True` +- **Описание**: Если верно, сбросьте сгенерированный текст перед обработкой. + +###### `output_wavfile` (str) +- **По умолчанию**: `None` +- **Описание**: Если установлено, сохранить аудио в указанный WAV файл. + +###### `on_sentence_synthesized` (вызываемая функция) +- **По умолчанию**: `None` +- **Описание**: Функция обратного вызова, которая вызывается после синтеза одного фрагмента предложения. + +###### `before_sentence_synthesized` (вызываемая функция) +- **По умолчанию**: `None` +- **Описание**: Функция обратного вызова, которая вызывается перед синтезом отдельного фрагмента предложения. + +###### `on_audio_chunk` (вызываемая функция) +- **По умолчанию**: `None` +- **Описание**: Функция обратного вызова, которая вызывается, когда готов один аудиофрагмент. + +###### `tokenizer` (str) +- **По умолчанию**: `"nltk"` +- **Описание**: Токенизатор для разбиения на предложения. В настоящее время поддерживает "nltk" и "stanza". + +###### `tokenize_sentences` (вызываемый объект) +- **По умолчанию**: `None` +- **Описание**: Пользовательская функция, которая разбивает предложения на токены из входного текста. Вы можете предоставить свой собственный легковесный токенизатор, если вас не устраивают nltk и stanza. Он должен принимать текст в виде строки и возвращать разделённые предложения в виде списка строк. + +###### `language` (str) +- **По умолчанию**: `"en"` +- **Описание**: Язык, используемый для разделения предложений. + +###### `context_size` (int) +- **По умолчанию**: `12` +- **Описание**: Количество символов, используемых для установления контекста при определении границ предложений. Более широкий контекст улучшает точность определения границ предложений. + +###### `context_size_look_overhead` (int) +- **По умолчанию**: `12` +- **Описание**: Дополнительный размер контекста для просмотра вперед при определении границ предложений. + +###### `muted` (bool) +- **По умолчанию**: `False` +- **Описание**: Если True, отключает воспроизведение аудио через локальные динамики. Полезно, когда вы хотите синтезировать в файл или обрабатывать аудиофрагменты без их воспроизведения. + +###### `sentence_fragment_delimiters` (str) +- **По умолчанию**: `".?!;:,\n…)]}。-"` +- **Описание**: Строка символов, которые считаются разделителями предложений. + +###### `force_first_fragment_after_words` (int) +- **По умолчанию**: `15` +- **Описание**: Количество слов, после которых первый фрагмент предложения должен быть выдан. + + diff --git a/docs/ru/contributing.md b/docs/ru/contributing.md new file mode 100644 index 0000000..c19e100 --- /dev/null +++ b/docs/ru/contributing.md @@ -0,0 +1,21 @@ +# Вклад в RealtimeTTS + +Мы приветствуем вклад в RealtimeTTS! Вот несколько способов, как вы можете внести свой вклад: + +1. **Сообщение об ошибках**: Если вы нашли ошибку, пожалуйста, откройте проблему в нашем [репозитории на GitHub](https://github.com/KoljaB/RealtimeTTS/issues). + +2. **Предложение улучшений**: Есть идеи для новых функций или улучшений? Мы будем рады их услышать! Откройте задачу, чтобы предложить улучшения. + +3. **Внесение изменений в код**: Хотите добавить новую функцию или исправить ошибку? Отлично! Пожалуйста, выполните следующие шаги: + - Сделайте форк репозитория +- Создайте новую ветку для вашей функции +- Внесите ваши изменения + - Отправьте pull request с четким описанием ваших изменений + +4. **Документация**: Помогите нам улучшить нашу документацию, исправив опечатки, добавив примеры или прояснив неясные разделы. + +5. **Добавление новых движков**: Если вы хотите добавить поддержку нового TTS-движка, пожалуйста, сначала откройте задачу, чтобы обсудить реализацию. + + +Спасибо за помощь в улучшении RealtimeTTS! + diff --git a/docs/ru/faq.md b/docs/ru/faq.md new file mode 100644 index 0000000..b33b6f8 --- /dev/null +++ b/docs/ru/faq.md @@ -0,0 +1,13 @@ +# Часто задаваемые вопросы + +Для ответов на часто задаваемые вопросы о RealtimeTTS, пожалуйста, обратитесь к нашей [странице FAQ на GitHub](https://github.com/KoljaB/RealtimeTTS/blob/master/FAQ.md). + +Эта страница охватывает различные темы, включая: + +- Использование различных TTS-движков +- Обработка многоязычного текста +- Оптимизация производительности +- Устранение распространенных проблем + +Для получения более подробной информации, пожалуйста, посетите указанную выше ссылку. + diff --git a/docs/ru/index.md b/docs/ru/index.md new file mode 100644 index 0000000..99ada90 --- /dev/null +++ b/docs/ru/index.md @@ -0,0 +1,20 @@ +# RealtimeTTS + +[EN](../en/index.md) | [FR](../fr/index.md) | [ES](../es/index.md) | [DE](../de/index.md) | [IT](../it/index.md) | [ZH](../zh/index.md) | [JA](../ja/index.md) | [HI](../hi/index.md) | [KO](../ko/index.md) + +*Легкая в использовании библиотека синтеза речи с низкой задержкой для приложений в реальном времени* + +## О проекте + +RealtimeTTS — это современная библиотека синтеза речи (TTS), разработанная для приложений в реальном времени. Она выделяется своей способностью быстро преобразовывать текстовые потоки в высококачественный аудиовыход с минимальной задержкой. + +## Ключевые особенности + +- **Низкая задержка**: почти мгновенное преобразование текста в речь, совместимо с выводами LLM +- **Высококачественный звук**: генерирует четкую и естественно звучащую речь +- **Поддержка нескольких TTS-движков**: поддерживает OpenAI TTS, Elevenlabs, Azure Speech Services, Coqui TTS, gTTS и системный TTS +- **Многоязычный** +- **Надежный и устойчивый**: обеспечивает непрерывную работу благодаря механизму резервирования, переключается на альтернативные движки в случае сбоев, гарантируя стабильную производительность и надежность + +Для инструкций по установке, примеров использования и справки по API, пожалуйста, перейдите к документации, используя боковую панель. + diff --git a/docs/ru/installation.md b/docs/ru/installation.md new file mode 100644 index 0000000..049f1b1 --- /dev/null +++ b/docs/ru/installation.md @@ -0,0 +1,199 @@ +> **Примечание:** Базовая установка с помощью `pip install realtimetts` больше не рекомендуется, вместо этого используйте `pip install realtimetts[all]`. + +Библиотека RealtimeTTS предоставляет варианты установки различных зависимостей в зависимости от вашего случая использования. Вот различные способы установки RealtimeTTS в зависимости от ваших потребностей: + +### Полная установка + +Чтобы установить RealtimeTTS с поддержкой всех TTS-движков: + +``` +pip install -U realtimetts[all] +``` + +### Пользовательская установка + +RealtimeTTS позволяет выполнять индивидуальную установку с минимальным количеством библиотек. Вот доступные варианты: +- **все**: Полная установка со всеми поддерживаемыми движками. +- **система**: Включает возможности TTS, специфичные для системы (e.g., pyttsx3). +- **azure**: Добавляет поддержку Azure Cognitive Services Speech. +- **elevenlabs**: Включает интеграцию с API ElevenLabs. +- **openai**: Для голосовых сервисов OpenAI. +- **gtts**: Поддержка Google Text-to-Speech. +- **coqui**: Устанавливает движок Coqui TTS. +- **minimal**: Устанавливает только базовые требования без движка (only needed if you want to develop an own engine) + + +Скажем, вы хотите установить RealtimeTTS только для локального использования нейронного Coqui TTS, тогда вам следует использовать: + +``` +pip install realtimetts[coqui] +``` + +Например, если вы хотите установить RealtimeTTS только с поддержкой Azure Cognitive Services Speech, ElevenLabs и OpenAI: + +``` +pip install realtimetts[azure,elevenlabs,openai] +``` + +### Установка в виртуальной среде + +Для тех, кто хочет выполнить полную установку в виртуальной среде, выполните следующие шаги: + +``` +python -m venv env_realtimetts +env_realtimetts\Scripts\activate.bat +python.exe -m pip install --upgrade pip +pip install -U realtimetts[all] +``` + +Больше информации о [установке CUDA](#cuda-installation). + +## Требования к движкам + +Разные движки, поддерживаемые RealtimeTTS, имеют уникальные требования. Убедитесь, что вы выполняете эти требования в зависимости от выбранного вами движка. + +### SystemEngine +`SystemEngine` работает сразу после установки с встроенными возможностями TTS вашей системы. Дополнительная настройка не требуется. + +### GTTSEngine +`GTTSEngine` работает из коробки, используя API синтеза речи Google Translate. Дополнительная настройка не требуется. + +### OpenAIEngine +Чтобы использовать `OpenAIEngine`: +- установите переменную окружения OPENAI_API_KEY +- установите ffmpeg (см. пункт 3 [установки CUDA](#cuda-installation)) + +### AzureEngine +Чтобы использовать `AzureEngine`, вам потребуется: +- Ключ API Microsoft Azure Text-to-Speech (предоставляется через параметр конструктора AzureEngine "speech_key" или в переменной окружения AZURE_SPEECH_KEY) +- Регион службы Microsoft Azure. + +Убедитесь, что у вас есть эти учетные данные и они правильно настроены при инициализации `AzureEngine`. + +### ElevenlabsEngine +Для `ElevenlabsEngine` вам нужно: +- Ключ API Elevenlabs (предоставляется через параметр конструктора ElevenlabsEngine "api_key" или в переменной окружения ELEVENLABS_API_KEY) +- `mpv` установлен на вашей системе (essential for streaming mpeg audio, Elevenlabs only delivers mpeg). + + 🔹 **Установка `mpv`:** + - **macOS**: + ``` + brew install mpv + ``` + + - **Linux и Windows**: Посетите [mpv.io](https://mpv.io/) для получения инструкций по установке. + +### CoquiEngine + +Предоставляет высококачественный, локальный, нейронный TTS с клонированием голоса. + +Сначала загружает нейронную модель TTS. В большинстве случаев это будет достаточно быстро для синтеза в реальном времени с использованием GPU. Нужен около 4-5 ГБ видеопамяти. + +- чтобы клонировать голос, укажите имя файла WAV, содержащего исходный голос, в качестве параметра "voice" в конструкторе CoquiEngine +- клонирование голоса работает лучше всего с монофоническим WAV-файлом 22050 Гц 16 бит, содержащим короткий (~5-30 сек) образец + +На большинстве систем потребуется поддержка GPU, чтобы работать достаточно быстро для реального времени, иначе вы будете испытывать заикания. + +### Установка CUDA + +Эти шаги рекомендуются тем, кто требует **лучшей производительности** и имеет совместимую видеокарту NVIDIA. + +> **Примечание**: *чтобы проверить, поддерживает ли ваш графический процессор NVIDIA CUDA, посетите [официальный список графических процессоров CUDA](https://developer.nvidia.com/cuda-gpus).* + +Чтобы использовать torch с поддержкой через CUDA, пожалуйста, выполните следующие шаги: + +> **Примечание**: *новые установки pytorch [возможно](https://stackoverflow.com/a/77069523) (неподтверждено) больше не требуют установки Toolkit (и, возможно, cuDNN).* + +1. **Установите NVIDIA CUDA Toolkit**: + Например, чтобы установить Toolkit 12.X, пожалуйста + - Посетите [NVIDIA CUDA Downloads](https://developer.nvidia.com/cuda-downloads). + - Выберите вашу операционную систему, архитектуру системы и версию ОС. + - Скачайте и установите программное обеспечение. + + или для установки Toolkit 11.8, пожалуйста + - Посетите [архив NVIDIA CUDA Toolkit](https://developer.nvidia.com/cuda-11-8-0-download-archive). + - Выберите вашу операционную систему, архитектуру системы и версию ОС. + - Скачайте и установите программное обеспечение. + +2. **Установите NVIDIA cuDNN**: + + Например, чтобы установить cuDNN 8.7.0 для CUDA 11.x, пожалуйста, + - Посетите [архив NVIDIA cuDNN](https://developer.nvidia.com/rdp/cudnn-archive). + - Нажмите на "Скачать cuDNN v8.7.0 (28 ноября 2022 года), для CUDA 11.x". + - Скачайте и установите программное обеспечение. + +3. **Установите ffmpeg**: + + Вы можете скачать установщик для вашей ОС с [веб-сайта ffmpeg](https://ffmpeg.org/download.html). + + Или используйте менеджер пакетов: + + - **На Ubuntu или Debian**: + ``` + sudo apt update && sudo apt install ffmpeg + ``` + + - **На Arch Linux**: + ``` + sudo pacman -S ffmpeg + ``` + + - **На MacOS с использованием Homebrew** ([https://brew.sh/](https://brew.sh/)): + ``` + brew install ffmpeg + ``` + + - **На Windows с использованием Chocolatey** ([https://chocolatey.org/](https://chocolatey.org/)): + ``` + choco install ffmpeg + ``` + + - **На Windows с использованием Scoop** ([https://scoop.sh/](https://scoop.sh/)): + ``` + scoop install ffmpeg + ``` + +4. **Установите PyTorch с поддержкой CUDA**: + + Чтобы обновить вашу установку PyTorch для включения поддержки GPU с CUDA, следуйте этим инструкциям в зависимости от вашей конкретной версии CUDA. Это полезно, если вы хотите улучшить производительность RealtimeSTT с помощью возможностей CUDA. + + - **Для CUDA 11.8:** + + Чтобы обновить PyTorch и Torchaudio для поддержки CUDA 11.8, используйте следующие команды: + + ``` + pip install torch==2.3.1+cu118 torchaudio==2.3.1 --index-url https://download.pytorch.org/whl/cu118 +``` + ``` + + - **Для CUDA 12.X:** + + + Чтобы обновить PyTorch и Torchaudio для поддержки CUDA 12.X, выполните следующее: + + ``` + pip install torch==2.3.1+cu121 torchaudio==2.3.1 --index-url https://download.pytorch.org/whl/cu121 +``` + ``` + + Замените `2.3.1` на версию PyTorch, которая соответствует вашей системе и требованиям. + +5. **Исправление для решения проблем совместимости**: + Если вы столкнетесь с проблемами совместимости библиотек, попробуйте установить эти библиотеки на фиксированные версии: + + ``` + + pip install networkx==2.8.8 + + pip install typing_extensions==4.8.0 + + pip install fsspec==2023.6.0 + + pip install imageio==2.31.6 + + pip install networkx==2.8.8 + + pip install numpy==1.24.3 + + pip install requests==2.31.0 + ``` \ No newline at end of file diff --git a/docs/ru/usage.md b/docs/ru/usage.md new file mode 100644 index 0000000..b9e17b1 --- /dev/null +++ b/docs/ru/usage.md @@ -0,0 +1,145 @@ +# Использование + +## Быстрый старт + +Вот базовый пример использования: + +```python +from RealtimeTTS import TextToAudioStream, SystemEngine, AzureEngine, ElevenlabsEngine + +engine = SystemEngine() # replace with your TTS engine +stream = TextToAudioStream(engine) +stream.feed("Hello world! How are you today?") +stream.play_async() +``` + +## Ввод текста + +Вы можете подавать отдельные строки: + +```python +stream.feed("Hello, this is a sentence.") +``` + +Или вы можете использовать генераторы и итераторы символов для потоковой передачи в реальном времени: + +```python +def write(prompt: str): + for chunk in openai.ChatCompletion.create( + model="gpt-3.5-turbo", + messages=[{"role": "user", "content" : prompt}], + stream=True + ): + if (text_chunk := chunk["choices"][0]["delta"].get("content")) is not None: + yield text_chunk + +text_stream = write("A three-sentence relaxing speech.") + +stream.feed(text_stream) +``` + +```python +char_iterator = iter("Streaming this character by character.") +stream.feed(char_iterator) +``` + +## Воспроизведение + +Асинхронно: + +```python +stream.play_async() +while stream.is_playing(): + time.sleep(0.1) +``` + +Синхронно: + +```python +stream.play() +``` + +## Тестирование библиотеки + +Подкаталог тестов содержит набор скриптов, которые помогут вам оценить и понять возможности библиотеки RealtimeTTS. + +Обратите внимание, что большинство тестов все еще зависят от «старого» API OpenAI (<1.0.0). Использование нового API OpenAI демонстрируется в openai_1.0_test.py. + +- **simple_test.py** + - **Описание**: Демонстрация простейшего использования библиотеки в стиле "hello world". + +- **complex_test.py** + - **Описание**: Комплексная демонстрация, показывающая большинство функций, предоставляемых библиотекой. + +- **coqui_test.py** + - **Описание**: Тест локального движка TTS coqui. + +- **translator.py** + - **Зависимости**: Запустите `pip install openai realtimestt`. + - **Описание**: Переводы в реальном времени на шесть разных языков. + +- **openai_voice_interface.py** + - **Зависимости**: Запустите `pip install openai realtimestt`. + - **Описание**: Слово пробуждения активировано, и голосовой интерфейс пользователя для API OpenAI. + +- **advanced_talk.py** + - **Зависимости**: Запустите `pip install openai keyboard realtimestt`. + - **Описание**: Выберите движок TTS и голос перед началом разговора с ИИ. + +- **minimalistic_talkbot.py** + - **Зависимости**: Запустите `pip install openai realtimestt`. + - **Описание**: Простой разговорный бот на 20 строк кода. + +- **simple_llm_test.py** + - **Зависимости**: Запустите `pip install openai`. + - **Описание**: Простая демонстрация того, как интегрировать библиотеку с крупными языковыми моделями (LLMs). + +- **test_callbacks.py** + - **Зависимости**: Запустите `pip install openai`. + - **Описание**: Демонстрирует обратные вызовы и позволяет проверить время задержки в реальной среде приложения. + +## Пауза, Возобновить и Остановить + +Приостановите аудиопоток: + +```python +stream.pause() +``` + +Возобновите приостановленный поток: + +```python +stream.resume() +``` + +Немедленно остановите поток: + +```python +stream.stop() +``` + +## Объяснение требований + +- **Версия Python**: + - **Требуется**: Python >= 3.9, < 3.13 + - **Причина**: Библиотека зависит от библиотеки "TTS" на GitHub от coqui, которая требует версии Python в этом диапазоне. + +- **PyAudio**: для создания выходного аудиопотока + +- **stream2sentence**: для разбивки входящего текстового потока на предложения + +- **pyttsx3**: Системный движок преобразования текста в речь + +- **pydub**: для преобразования форматов аудиофрагментов + +- **azure-cognitiveservices-speech**: Движок преобразования текста в речь Azure + +- **elevenlabs**: Движок преобразования текста в речь Elevenlabs + +- **coqui-TTS**: Библиотека XTTS от Coqui для высококачественного локального нейронного TTS + + Приветствую [Исследовательский институт Idiap](https://github.com/idiap) за поддержку [форка coqui tts](https://github.com/idiap/coqui-ai-TTS). + +- **openai**: для взаимодействия с API TTS от OpenAI + +- **gtts**: Преобразование текста в речь от Google Translate \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml index 08bec51..16c95f4 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -41,6 +41,9 @@ plugins: - locale: pt name: Português build: true + - locale: ru + name: Русский + build: true nav: - Home: @@ -54,6 +57,7 @@ nav: - हिंदी: hi/index.md - 한국어: ko/index.md - Português: pt/index.md + - Русский: ru/index.md - Installation: - English: en/installation.md - Français: fr/installation.md @@ -65,6 +69,7 @@ nav: - हिंदी: hi/installation.md - 한국어: ko/installation.md - Português: pt/installation.md + - Русский: ru/installation.md - Usage: - English: en/usage.md - Français: fr/usage.md @@ -76,6 +81,7 @@ nav: - हिंदी: hi/usage.md - 한국어: ko/usage.md - Português: pt/usage.md + - Русский: ru/usage.md - API Reference: - English: en/api.md - Français: fr/api.md @@ -87,6 +93,7 @@ nav: - हिंदी: hi/api.md - 한국어: ko/api.md - Português: pt/api.md + - Русский: ru/api.md - Contributing: - English: en/contributing.md - Français: fr/contributing.md @@ -98,6 +105,7 @@ nav: - हिंदी: hi/contributing.md - 한국어: ko/contributing.md - Português: pt/contributing.md + - Русский: ru/contributing.md - FAQ: - English: en/faq.md - Français: fr/faq.md @@ -108,4 +116,5 @@ nav: - 日本語: ja/faq.md - हिंदी: hi/faq.md - 한국어: ko/faq.md - - Português: pt/faq.md + - Português: pt/faq.md + - Русский: ru/faq.md From e0518777099b08dc54b71d0e5de8f6d2b717e8a4 Mon Sep 17 00:00:00 2001 From: Adarsh-Saurabh Date: Fri, 1 Nov 2024 03:20:57 +0530 Subject: [PATCH 2/2] Adding Links for Russian language in all other language Docs --- docs/ar/index.md | 2 +- docs/de/index.md | 2 +- docs/en/index.md | 2 +- docs/es/index.md | 2 +- docs/fr/index.md | 2 +- docs/hi/index.md | 2 +- docs/it/index.md | 2 +- docs/ja/index.md | 2 +- docs/ko/index.md | 2 +- docs/pt/index.md | 2 +- docs/ru/index.md | 2 +- 11 files changed, 11 insertions(+), 11 deletions(-) diff --git a/docs/ar/index.md b/docs/ar/index.md index be1c9f1..c85fa09 100644 --- a/docs/ar/index.md +++ b/docs/ar/index.md @@ -1,6 +1,6 @@ # RealtimeTTS -[EN](../en/index.md) | [FR](../fr/index.md) | [ES](../es/index.md) | [DE](../de/index.md) | [IT](../it/index.md) | [ZH](../zh/index.md) | [JA](../ja/index.md) +[EN](../en/index.md) | [FR](../fr/index.md) | [ES](../es/index.md) | [DE](../de/index.md) | [IT](../it/index.md) | [ZH](../zh/index.md) | [JA](../ja/index.md) | [HI](../hi/index.md) | [KO](../ko/index.md) | [RU](../ru/index.md) *مكتبة تحويل النص إلى كلام سهلة الاستخدام ومنخفضة الكمون للتطبيقات في الوقت الحقيقي* diff --git a/docs/de/index.md b/docs/de/index.md index 1306daa..6a50c12 100644 --- a/docs/de/index.md +++ b/docs/de/index.md @@ -1,6 +1,6 @@ # RealtimeTTS -[EN](../en/index.md) | [FR](../fr/index.md) | [ES](../es/index.md) | [DE](../de/index.md) | [IT](../it/index.md) | [ZH](../zh/index.md) | [JA](../ja/index.md) | [HI](../hi/index.md) | [KO](../ko/index.md) +[EN](../en/index.md) | [FR](../fr/index.md) | [ES](../es/index.md) | [DE](../de/index.md) | [IT](../it/index.md) | [ZH](../zh/index.md) | [JA](../ja/index.md) | [HI](../hi/index.md) | [KO](../ko/index.md) | [RU](../ru/index.md) * Einfach zu verwendende Text-to-Speech-Bibliothek mit geringer Latenz für Echtzeitanwendungen* diff --git a/docs/en/index.md b/docs/en/index.md index b2235b7..08c5a0e 100644 --- a/docs/en/index.md +++ b/docs/en/index.md @@ -1,6 +1,6 @@ # RealtimeTTS -[EN](../en/index.md) | [FR](../fr/index.md) | [ES](../es/index.md) | [DE](../de/index.md) | [IT](../it/index.md) | [ZH](../zh/index.md) | [JA](../ja/index.md) | [HI](../hi/index.md) | [KO](../ko/index.md) +[EN](../en/index.md) | [FR](../fr/index.md) | [ES](../es/index.md) | [DE](../de/index.md) | [IT](../it/index.md) | [ZH](../zh/index.md) | [JA](../ja/index.md) | [HI](../hi/index.md) | [KO](../ko/index.md) | [RU](../ru/index.md) *Easy to use, low-latency text-to-speech library for realtime applications* diff --git a/docs/es/index.md b/docs/es/index.md index 8a399fb..c183993 100644 --- a/docs/es/index.md +++ b/docs/es/index.md @@ -1,6 +1,6 @@ # RealtimeTTS -[EN](../en/index.md) | [FR](../fr/index.md) | [ES](../es/index.md) | [DE](../de/index.md) | [IT](../it/index.md) | [ZH](../zh/index.md) | [JA](../ja/index.md) | [HI](../hi/index.md) | [KO](../ko/index.md) +[EN](../en/index.md) | [FR](../fr/index.md) | [ES](../es/index.md) | [DE](../de/index.md) | [IT](../it/index.md) | [ZH](../zh/index.md) | [JA](../ja/index.md) | [HI](../hi/index.md) | [KO](../ko/index.md) | [RU](../ru/index.md) *Biblioteca de conversión de texto en voz fácil de usar y de baja latencia para aplicaciones en tiempo real. diff --git a/docs/fr/index.md b/docs/fr/index.md index 42b93ae..4c824e5 100644 --- a/docs/fr/index.md +++ b/docs/fr/index.md @@ -1,6 +1,6 @@ # RealtimeTTS -[EN](../en/index.md) | [FR](../fr/index.md) | [ES](../es/index.md) | [DE](../de/index.md) | [IT](../it/index.md) | [ZH](../zh/index.md) | [JA](../ja/index.md) | [HI](../hi/index.md) | [KO](../ko/index.md) +[EN](../en/index.md) | [FR](../fr/index.md) | [ES](../es/index.md) | [DE](../de/index.md) | [IT](../it/index.md) | [ZH](../zh/index.md) | [JA](../ja/index.md) | [HI](../hi/index.md) | [KO](../ko/index.md) | [RU](../ru/index.md) *Bibliothèque de synthèse vocale à faible latence et facile à utiliser pour les applications en temps réel* diff --git a/docs/hi/index.md b/docs/hi/index.md index 71fb9cc..76be9c6 100644 --- a/docs/hi/index.md +++ b/docs/hi/index.md @@ -1,6 +1,6 @@ # RealtimeTTS -[EN](../en/index.md) | [FR](../fr/index.md) | [ES](../es/index.md) | [DE](../de/index.md) | [IT](../it/index.md) | [ZH](../zh/index.md) | [JA](../ja/index.md) | [HI](../hi/index.md) | [KO](../ko/index.md) +[EN](../en/index.md) | [FR](../fr/index.md) | [ES](../es/index.md) | [DE](../de/index.md) | [IT](../it/index.md) | [ZH](../zh/index.md) | [JA](../ja/index.md) | [HI](../hi/index.md) | [KO](../ko/index.md) | [RU](../ru/index.md) *रीयल-टाइम अनुप्रयोगों के लिए उपयोग में आसान, कम-विलंबता वाला टेक्स्ट-टू-स्पीच लाइब्रेरी* diff --git a/docs/it/index.md b/docs/it/index.md index 5d39d69..6344e8b 100644 --- a/docs/it/index.md +++ b/docs/it/index.md @@ -1,6 +1,6 @@ #RealtimeTTS -[EN](../en/index.md) | [FR](../fr/index.md) | [ES](../es/index.md) | [DE](../de/index.md) | [IT](../it/index.md) | [ZH](../zh/index.md) | [JA](../ja/index.md) | [HI](../hi/index.md) | [KO](../ko/index.md) +[EN](../en/index.md) | [FR](../fr/index.md) | [ES](../es/index.md) | [DE](../de/index.md) | [IT](../it/index.md) | [ZH](../zh/index.md) | [JA](../ja/index.md) | [HI](../hi/index.md) | [KO](../ko/index.md) | [RU](../ru/index.md) *Libreria text-to-speech facile da usare e a bassa latenza per applicazioni in tempo reale* diff --git a/docs/ja/index.md b/docs/ja/index.md index fbfddd1..d749e6f 100644 --- a/docs/ja/index.md +++ b/docs/ja/index.md @@ -1,6 +1,6 @@ # リアルタイムTTS -[EN](../en/index.md) | [FR](../fr/index.md) | [ES](../es/index.md) | [DE](../de/index.md) | [IT](../it/index.md) | [ZH](../zh/index.md) | [JA](../ja/index.md) | [HI](../hi/index.md) | [KO](../ko/index.md) +[EN](../en/index.md) | [FR](../fr/index.md) | [ES](../es/index.md) | [DE](../de/index.md) | [IT](../it/index.md) | [ZH](../zh/index.md) | [JA](../ja/index.md) | [HI](../hi/index.md) | [KO](../ko/index.md) | [RU](../ru/index.md) *リアルタイムアプリケーション向けの使いやすく、低遅延のテキスト読み上げライブラリ* diff --git a/docs/ko/index.md b/docs/ko/index.md index 7c07c87..c33bdf4 100644 --- a/docs/ko/index.md +++ b/docs/ko/index.md @@ -1,6 +1,6 @@ # 실시간TTS -[EN](../en/index.md) | [FR](../fr/index.md) | [ES](../es/index.md) | [DE](../de/index.md) | [IT](../it/index.md) | [ZH](../zh/index.md) | [JA](../ja/index.md) | [HI](../hi/index.md) | [KO](../ko/index.md) +[EN](../en/index.md) | [FR](../fr/index.md) | [ES](../es/index.md) | [DE](../de/index.md) | [IT](../it/index.md) | [ZH](../zh/index.md) | [JA](../ja/index.md) | [HI](../hi/index.md) | [KO](../ko/index.md) | [RU](../ru/index.md) *실시간 애플리케이션을 위한 사용하기 쉽고 저지연 텍스트 음성 변환 라이브러리* diff --git a/docs/pt/index.md b/docs/pt/index.md index c6952b9..730501a 100644 --- a/docs/pt/index.md +++ b/docs/pt/index.md @@ -1,6 +1,6 @@ # RealtimeTTS -[PT](../pt/index.md) | [FR](../fr/index.md) | [ES](../es/index.md) | [DE](../de/index.md) | [IT](../it/index.md) | [ZH](../zh/index.md) | [JA](../ja/index.md) | [HI](../hi/index.md) | [KO](../ko/index.md) +[PT](../pt/index.md) | [FR](../fr/index.md) | [ES](../es/index.md) | [DE](../de/index.md) | [IT](../it/index.md) | [ZH](../zh/index.md) | [JA](../ja/index.md) | [HI](../hi/index.md) | [KO](../ko/index.md) | [RU](../ru/index.md) *Biblioteca de texto para fala fácil de usar e de baixa latência para aplicações em tempo real* diff --git a/docs/ru/index.md b/docs/ru/index.md index 99ada90..d41b1b5 100644 --- a/docs/ru/index.md +++ b/docs/ru/index.md @@ -1,6 +1,6 @@ # RealtimeTTS -[EN](../en/index.md) | [FR](../fr/index.md) | [ES](../es/index.md) | [DE](../de/index.md) | [IT](../it/index.md) | [ZH](../zh/index.md) | [JA](../ja/index.md) | [HI](../hi/index.md) | [KO](../ko/index.md) +[EN](../en/index.md) | [FR](../fr/index.md) | [ES](../es/index.md) | [DE](../de/index.md) | [IT](../it/index.md) | [ZH](../zh/index.md) | [JA](../ja/index.md) | [HI](../hi/index.md) | [KO](../ko/index.md) | [RU](../ru/index.md) *Легкая в использовании библиотека синтеза речи с низкой задержкой для приложений в реальном времени*