# Russian TTS inference
# Установка
Вы можете установить пакет с помощью pip:
```
pip install RUTTS
```
Также вы можете установить используя Git:
```
pip install -e git+https://github.com/Tera2Space/RUTTS#egg=RUTTS
```
# Ошибки
1)Если на Windows у вас **ошибка при установке**,нужно просто **скачать Visual Studio [здесь](https://visualstudio.microsoft.com/ru/thank-you-downloading-visual-studio/?sku=Community&channel=Release&version=VS2022&source=VSLandingPage&cid=2030&passive=false)** и при установке выбрать галочку около **Разработка классических приложений на С++**
2)Если **после установки не работает** что-то, **убедитесь что модуль скачан последней версии**(удалить и скачать) и **так же что названия моделей есть на** https://huggingface.co/TeraTTS
3)Если ничего не помогло **обратитесь за помощью в https://t.me/teraspace_chat**
# Использование
```python
from RUTTS import TTS
# Создание модели TTS с указанным именем
# Примечание: Вы можете найти все модели по адресу https://huggingface.co/TeraTTS, включая модель GLADOS
tts = TTS("TeraTTS/natasha-g2p-vits", add_time_to_end=0.8) # Вы можете настроить 'add_time_to_end' для продолжительности аудио
text = "Привет, мир!"
# Опционально: Предобработка текста (улучшает качество)
from ruaccent import RUAccent
accentizer = RUAccent(workdir="./model")
# Загрузка моделей акцентуации и словарей
# Доступны две модели: 'medium' (рекомендуется) и 'small'.
# Переменная 'dict_load_startup' управляет загрузкой словаря при запуске (больше памяти) или загрузкой его по мере необходимости во время выполнения (экономия памяти, но медленнее).
# Переменная disable_accent_dict отключает использование словаря (все ударения расставляет нейросеть). Данная функция экономит ОЗУ, по скорости работы сопоставима со всем словарём в ОЗУ.
accentizer.load(omograph_model_size='big_poetry', use_dictionary=True)
# Обработка текста с учетом ударений и буквы ё
text = accentizer.process_all(text)
print(f"Текст с ударениями и ё: {text}")
# Синтез речи
# 'length_scale' можно использовать для замедления аудио для лучшего звучания (по умолчанию 1.2, указано здесь для примера)
audio = tts(text, lenght_scale=1.2) # Создать аудио. Можно добавить ударения, используя '+'
tts.play_audio(audio) # Воспроизвести созданное аудио
tts.save_wav(audio, "./test.wav") # Сохранить аудио в файл
# Создать аудио и сразу его воспроизвести
tts(text, play=True, lenght_scale=1.2)
```# Russian TTS inference
# Установка
Вы можете установить пакет с помощью pip:
```
pip install RUTTS
```
Также вы можете установить используя Git:
```
pip install -e git+https://github.com/Tera2Space/RUTTS#egg=RUTTS
```
# Ошибки
1)Если на Windows у вас **ошибка при установке**,нужно просто **скачать Visual Studio [здесь](https://visualstudio.microsoft.com/ru/thank-you-downloading-visual-studio/?sku=Community&channel=Release&version=VS2022&source=VSLandingPage&cid=2030&passive=false)** и при установке выбрать галочку около **Разработка классических приложений на С++**
2)Если **после установки не работает** что-то, **убедитесь что модуль скачан последней версии**(удалить и скачать) и **так же что названия моделей есть на** https://huggingface.co/TeraTTS
3)Если ничего не помогло **обратитесь за помощью в https://t.me/teraspace_chat**
# Использование
```python
from RUTTS import TTS
# Создание модели TTS с указанным именем
# Примечание: Вы можете найти все модели по адресу https://huggingface.co/TeraTTS, включая модель GLADOS
tts = TTS("TeraTTS/natasha-g2p-vits", add_time_to_end=0.8) # Вы можете настроить 'add_time_to_end' для продолжительности аудио
text = "Привет, мир!"
# Опционально: Предобработка текста (улучшает качество)
from ruaccent import RUAccent
accentizer = RUAccent(workdir="./model")
# Загрузка моделей акцентуации и словарей
# Доступны две модели: 'medium' (рекомендуется) и 'small'.
# Переменная 'dict_load_startup' управляет загрузкой словаря при запуске (больше памяти) или загрузкой его по мере необходимости во время выполнения (экономия памяти, но медленнее).
# Переменная disable_accent_dict отключает использование словаря (все ударения расставляет нейросеть). Данная функция экономит ОЗУ, по скорости работы сопоставима со всем словарём в ОЗУ.
accentizer.load(omograph_model_size='big_poetry', use_dictionary=True)
# Обработка текста с учетом ударений и буквы ё
text = accentizer.process_all(text)
print(f"Текст с ударениями и ё: {text}")
# Синтез речи
# 'length_scale' можно использовать для замедления аудио для лучшего звучания (по умолчанию 1.2, указано здесь для примера)
audio = tts(text, lenght_scale=1.2) # Создать аудио. Можно добавить ударения, используя '+'
tts.play_audio(audio) # Воспроизвести созданное аудио
tts.save_wav(audio, "./test.wav") # Сохранить аудио в файл
# Создать аудио и сразу его воспроизвести
tts(text, play=True, lenght_scale=1.2)
```
Raw data
{
"_id": null,
"home_page": "https://github.com/Tera2Space/RUTTS",
"name": "RUTTS",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "tts",
"author": "Tera Space",
"author_email": "tera2space@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/86/9b/644ba5c7c8a47cfa39f438bc0c438398058fb2de8ef64830ae21e08445c2/RUTTS-0.1.13.tar.gz",
"platform": null,
"description": "# Russian TTS inference\n# \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430\n\u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043f\u0430\u043a\u0435\u0442 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e pip:\n```\npip install RUTTS\n```\n\u0422\u0430\u043a\u0436\u0435 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f Git:\n```\npip install -e git+https://github.com/Tera2Space/RUTTS#egg=RUTTS\n```\n# \u041e\u0448\u0438\u0431\u043a\u0438\n1)\u0415\u0441\u043b\u0438 \u043d\u0430 Windows \u0443 \u0432\u0430\u0441 **\u043e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435**,\u043d\u0443\u0436\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e **\u0441\u043a\u0430\u0447\u0430\u0442\u044c Visual Studio [\u0437\u0434\u0435\u0441\u044c](https://visualstudio.microsoft.com/ru/thank-you-downloading-visual-studio/?sku=Community&channel=Release&version=VS2022&source=VSLandingPage&cid=2030&passive=false)** \u0438 \u043f\u0440\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u0433\u0430\u043b\u043e\u0447\u043a\u0443 \u043e\u043a\u043e\u043b\u043e **\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043d\u0430 \u0421++**\n\n2)\u0415\u0441\u043b\u0438 **\u043f\u043e\u0441\u043b\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442** \u0447\u0442\u043e-\u0442\u043e, **\u0443\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044c \u0447\u0442\u043e \u043c\u043e\u0434\u0443\u043b\u044c \u0441\u043a\u0430\u0447\u0430\u043d \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0439 \u0432\u0435\u0440\u0441\u0438\u0438**(\u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0438 \u0441\u043a\u0430\u0447\u0430\u0442\u044c) \u0438 **\u0442\u0430\u043a \u0436\u0435 \u0447\u0442\u043e \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u0435\u0441\u0442\u044c \u043d\u0430** https://huggingface.co/TeraTTS\n\n3)\u0415\u0441\u043b\u0438 \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u043f\u043e\u043c\u043e\u0433\u043b\u043e **\u043e\u0431\u0440\u0430\u0442\u0438\u0442\u0435\u0441\u044c \u0437\u0430 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0432 https://t.me/teraspace_chat**\n# \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\n\n```python \nfrom RUTTS import TTS\n\n# \u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043c\u043e\u0434\u0435\u043b\u0438 TTS \u0441 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u043c \u0438\u043c\u0435\u043d\u0435\u043c\n# \u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435: \u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043d\u0430\u0439\u0442\u0438 \u0432\u0441\u0435 \u043c\u043e\u0434\u0435\u043b\u0438 \u043f\u043e \u0430\u0434\u0440\u0435\u0441\u0443 https://huggingface.co/TeraTTS, \u0432\u043a\u043b\u044e\u0447\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c GLADOS\ntts = TTS(\"TeraTTS/natasha-g2p-vits\", add_time_to_end=0.8) # \u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c 'add_time_to_end' \u0434\u043b\u044f \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0430\u0443\u0434\u0438\u043e\n\ntext = \"\u041f\u0440\u0438\u0432\u0435\u0442, \u043c\u0438\u0440!\"\n# \u041e\u043f\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e: \u041f\u0440\u0435\u0434\u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0442\u0435\u043a\u0441\u0442\u0430 (\u0443\u043b\u0443\u0447\u0448\u0430\u0435\u0442 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e)\nfrom ruaccent import RUAccent\naccentizer = RUAccent(workdir=\"./model\")\n\n# \u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u0430\u043a\u0446\u0435\u043d\u0442\u0443\u0430\u0446\u0438\u0438 \u0438 \u0441\u043b\u043e\u0432\u0430\u0440\u0435\u0439\n# \u0414\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0434\u0432\u0435 \u043c\u043e\u0434\u0435\u043b\u0438: 'medium' (\u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f) \u0438 'small'.\n# \u041f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f 'dict_load_startup' \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u043e\u0439 \u0441\u043b\u043e\u0432\u0430\u0440\u044f \u043f\u0440\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0435 (\u0431\u043e\u043b\u044c\u0448\u0435 \u043f\u0430\u043c\u044f\u0442\u0438) \u0438\u043b\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u043e\u0439 \u0435\u0433\u043e \u043f\u043e \u043c\u0435\u0440\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f (\u044d\u043a\u043e\u043d\u043e\u043c\u0438\u044f \u043f\u0430\u043c\u044f\u0442\u0438, \u043d\u043e \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u0435\u0435).\n# \u041f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f disable_accent_dict \u043e\u0442\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u043b\u043e\u0432\u0430\u0440\u044f (\u0432\u0441\u0435 \u0443\u0434\u0430\u0440\u0435\u043d\u0438\u044f \u0440\u0430\u0441\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u044c). \u0414\u0430\u043d\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0442 \u041e\u0417\u0423, \u043f\u043e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u0440\u0430\u0431\u043e\u0442\u044b \u0441\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u0438\u043c\u0430 \u0441\u043e \u0432\u0441\u0435\u043c \u0441\u043b\u043e\u0432\u0430\u0440\u0451\u043c \u0432 \u041e\u0417\u0423.\naccentizer.load(omograph_model_size='big_poetry', use_dictionary=True)\n\n# \u041e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0442\u0435\u043a\u0441\u0442\u0430 \u0441 \u0443\u0447\u0435\u0442\u043e\u043c \u0443\u0434\u0430\u0440\u0435\u043d\u0438\u0439 \u0438 \u0431\u0443\u043a\u0432\u044b \u0451\ntext = accentizer.process_all(text)\nprint(f\"\u0422\u0435\u043a\u0441\u0442 \u0441 \u0443\u0434\u0430\u0440\u0435\u043d\u0438\u044f\u043c\u0438 \u0438 \u0451: {text}\")\n\n# \u0421\u0438\u043d\u0442\u0435\u0437 \u0440\u0435\u0447\u0438\n# 'length_scale' \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u0437\u0430\u043c\u0435\u0434\u043b\u0435\u043d\u0438\u044f \u0430\u0443\u0434\u0438\u043e \u0434\u043b\u044f \u043b\u0443\u0447\u0448\u0435\u0433\u043e \u0437\u0432\u0443\u0447\u0430\u043d\u0438\u044f (\u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e 1.2, \u0443\u043a\u0430\u0437\u0430\u043d\u043e \u0437\u0434\u0435\u0441\u044c \u0434\u043b\u044f \u043f\u0440\u0438\u043c\u0435\u0440\u0430)\naudio = tts(text, lenght_scale=1.2) # \u0421\u043e\u0437\u0434\u0430\u0442\u044c \u0430\u0443\u0434\u0438\u043e. \u041c\u043e\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0443\u0434\u0430\u0440\u0435\u043d\u0438\u044f, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f '+'\ntts.play_audio(audio) # \u0412\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0441\u0442\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u043e\u0435 \u0430\u0443\u0434\u0438\u043e\ntts.save_wav(audio, \"./test.wav\") # \u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0430\u0443\u0434\u0438\u043e \u0432 \u0444\u0430\u0439\u043b\n\n# \u0421\u043e\u0437\u0434\u0430\u0442\u044c \u0430\u0443\u0434\u0438\u043e \u0438 \u0441\u0440\u0430\u0437\u0443 \u0435\u0433\u043e \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0441\u0442\u0438\ntts(text, play=True, lenght_scale=1.2)\n\n```# Russian TTS inference\n# \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430\n\u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043f\u0430\u043a\u0435\u0442 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e pip:\n```\npip install RUTTS\n```\n\u0422\u0430\u043a\u0436\u0435 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f Git:\n```\npip install -e git+https://github.com/Tera2Space/RUTTS#egg=RUTTS\n```\n# \u041e\u0448\u0438\u0431\u043a\u0438\n1)\u0415\u0441\u043b\u0438 \u043d\u0430 Windows \u0443 \u0432\u0430\u0441 **\u043e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435**,\u043d\u0443\u0436\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e **\u0441\u043a\u0430\u0447\u0430\u0442\u044c Visual Studio [\u0437\u0434\u0435\u0441\u044c](https://visualstudio.microsoft.com/ru/thank-you-downloading-visual-studio/?sku=Community&channel=Release&version=VS2022&source=VSLandingPage&cid=2030&passive=false)** \u0438 \u043f\u0440\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u0433\u0430\u043b\u043e\u0447\u043a\u0443 \u043e\u043a\u043e\u043b\u043e **\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043d\u0430 \u0421++**\n\n2)\u0415\u0441\u043b\u0438 **\u043f\u043e\u0441\u043b\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442** \u0447\u0442\u043e-\u0442\u043e, **\u0443\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044c \u0447\u0442\u043e \u043c\u043e\u0434\u0443\u043b\u044c \u0441\u043a\u0430\u0447\u0430\u043d \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0439 \u0432\u0435\u0440\u0441\u0438\u0438**(\u0443\u0434\u0430\u043b\u0438\u0442\u044c \u0438 \u0441\u043a\u0430\u0447\u0430\u0442\u044c) \u0438 **\u0442\u0430\u043a \u0436\u0435 \u0447\u0442\u043e \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u0435\u0441\u0442\u044c \u043d\u0430** https://huggingface.co/TeraTTS\n\n3)\u0415\u0441\u043b\u0438 \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u043f\u043e\u043c\u043e\u0433\u043b\u043e **\u043e\u0431\u0440\u0430\u0442\u0438\u0442\u0435\u0441\u044c \u0437\u0430 \u043f\u043e\u043c\u043e\u0449\u044c\u044e \u0432 https://t.me/teraspace_chat**\n# \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\n\n```python \nfrom RUTTS import TTS\n\n# \u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043c\u043e\u0434\u0435\u043b\u0438 TTS \u0441 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u043c \u0438\u043c\u0435\u043d\u0435\u043c\n# \u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435: \u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043d\u0430\u0439\u0442\u0438 \u0432\u0441\u0435 \u043c\u043e\u0434\u0435\u043b\u0438 \u043f\u043e \u0430\u0434\u0440\u0435\u0441\u0443 https://huggingface.co/TeraTTS, \u0432\u043a\u043b\u044e\u0447\u0430\u044f \u043c\u043e\u0434\u0435\u043b\u044c GLADOS\ntts = TTS(\"TeraTTS/natasha-g2p-vits\", add_time_to_end=0.8) # \u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c 'add_time_to_end' \u0434\u043b\u044f \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0430\u0443\u0434\u0438\u043e\n\ntext = \"\u041f\u0440\u0438\u0432\u0435\u0442, \u043c\u0438\u0440!\"\n# \u041e\u043f\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e: \u041f\u0440\u0435\u0434\u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0442\u0435\u043a\u0441\u0442\u0430 (\u0443\u043b\u0443\u0447\u0448\u0430\u0435\u0442 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e)\nfrom ruaccent import RUAccent\naccentizer = RUAccent(workdir=\"./model\")\n\n# \u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u043c\u043e\u0434\u0435\u043b\u0435\u0439 \u0430\u043a\u0446\u0435\u043d\u0442\u0443\u0430\u0446\u0438\u0438 \u0438 \u0441\u043b\u043e\u0432\u0430\u0440\u0435\u0439\n# \u0414\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0434\u0432\u0435 \u043c\u043e\u0434\u0435\u043b\u0438: 'medium' (\u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u0442\u0441\u044f) \u0438 'small'.\n# \u041f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f 'dict_load_startup' \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u043e\u0439 \u0441\u043b\u043e\u0432\u0430\u0440\u044f \u043f\u0440\u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0435 (\u0431\u043e\u043b\u044c\u0448\u0435 \u043f\u0430\u043c\u044f\u0442\u0438) \u0438\u043b\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u043e\u0439 \u0435\u0433\u043e \u043f\u043e \u043c\u0435\u0440\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f (\u044d\u043a\u043e\u043d\u043e\u043c\u0438\u044f \u043f\u0430\u043c\u044f\u0442\u0438, \u043d\u043e \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u0435\u0435).\n# \u041f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f disable_accent_dict \u043e\u0442\u043a\u043b\u044e\u0447\u0430\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0441\u043b\u043e\u0432\u0430\u0440\u044f (\u0432\u0441\u0435 \u0443\u0434\u0430\u0440\u0435\u043d\u0438\u044f \u0440\u0430\u0441\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043d\u0435\u0439\u0440\u043e\u0441\u0435\u0442\u044c). \u0414\u0430\u043d\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0442 \u041e\u0417\u0423, \u043f\u043e \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u0440\u0430\u0431\u043e\u0442\u044b \u0441\u043e\u043f\u043e\u0441\u0442\u0430\u0432\u0438\u043c\u0430 \u0441\u043e \u0432\u0441\u0435\u043c \u0441\u043b\u043e\u0432\u0430\u0440\u0451\u043c \u0432 \u041e\u0417\u0423.\naccentizer.load(omograph_model_size='big_poetry', use_dictionary=True)\n\n# \u041e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0442\u0435\u043a\u0441\u0442\u0430 \u0441 \u0443\u0447\u0435\u0442\u043e\u043c \u0443\u0434\u0430\u0440\u0435\u043d\u0438\u0439 \u0438 \u0431\u0443\u043a\u0432\u044b \u0451\ntext = accentizer.process_all(text)\nprint(f\"\u0422\u0435\u043a\u0441\u0442 \u0441 \u0443\u0434\u0430\u0440\u0435\u043d\u0438\u044f\u043c\u0438 \u0438 \u0451: {text}\")\n\n# \u0421\u0438\u043d\u0442\u0435\u0437 \u0440\u0435\u0447\u0438\n# 'length_scale' \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u0437\u0430\u043c\u0435\u0434\u043b\u0435\u043d\u0438\u044f \u0430\u0443\u0434\u0438\u043e \u0434\u043b\u044f \u043b\u0443\u0447\u0448\u0435\u0433\u043e \u0437\u0432\u0443\u0447\u0430\u043d\u0438\u044f (\u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e 1.2, \u0443\u043a\u0430\u0437\u0430\u043d\u043e \u0437\u0434\u0435\u0441\u044c \u0434\u043b\u044f \u043f\u0440\u0438\u043c\u0435\u0440\u0430)\naudio = tts(text, lenght_scale=1.2) # \u0421\u043e\u0437\u0434\u0430\u0442\u044c \u0430\u0443\u0434\u0438\u043e. \u041c\u043e\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0443\u0434\u0430\u0440\u0435\u043d\u0438\u044f, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f '+'\ntts.play_audio(audio) # \u0412\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0441\u0442\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u043d\u043e\u0435 \u0430\u0443\u0434\u0438\u043e\ntts.save_wav(audio, \"./test.wav\") # \u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0430\u0443\u0434\u0438\u043e \u0432 \u0444\u0430\u0439\u043b\n\n# \u0421\u043e\u0437\u0434\u0430\u0442\u044c \u0430\u0443\u0434\u0438\u043e \u0438 \u0441\u0440\u0430\u0437\u0443 \u0435\u0433\u043e \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0441\u0442\u0438\ntts(text, play=True, lenght_scale=1.2)\n\n```\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "russian text to speech",
"version": "0.1.13",
"project_urls": {
"Homepage": "https://github.com/Tera2Space/RUTTS"
},
"split_keywords": [
"tts"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "7977c66e17829221c945cf26bb8dc840061b422f431d219e92477e86ce7ae5cd",
"md5": "4ac3ad5d46906b99dccc47695ae469b1",
"sha256": "59386393dd0f9bda5ee5e335f36f96561d6f44dbba2353a71a525a61c76f1aa3"
},
"downloads": -1,
"filename": "RUTTS-0.1.13-py3-none-any.whl",
"has_sig": false,
"md5_digest": "4ac3ad5d46906b99dccc47695ae469b1",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 8162,
"upload_time": "2023-10-06T00:23:59",
"upload_time_iso_8601": "2023-10-06T00:23:59.065032Z",
"url": "https://files.pythonhosted.org/packages/79/77/c66e17829221c945cf26bb8dc840061b422f431d219e92477e86ce7ae5cd/RUTTS-0.1.13-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "869b644ba5c7c8a47cfa39f438bc0c438398058fb2de8ef64830ae21e08445c2",
"md5": "ce44040f7372e6e1464f9fa59386086d",
"sha256": "2b347ce4013e94eb7d63b91a84ee80ac838cb1e12a12de5fdc5b5b05bf37f25a"
},
"downloads": -1,
"filename": "RUTTS-0.1.13.tar.gz",
"has_sig": false,
"md5_digest": "ce44040f7372e6e1464f9fa59386086d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 8899,
"upload_time": "2023-10-06T00:24:00",
"upload_time_iso_8601": "2023-10-06T00:24:00.876475Z",
"url": "https://files.pythonhosted.org/packages/86/9b/644ba5c7c8a47cfa39f438bc0c438398058fb2de8ef64830ae21e08445c2/RUTTS-0.1.13.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-10-06 00:24:00",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Tera2Space",
"github_project": "RUTTS",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "rutts"
}