Как можно установить дополнительные голоса для TTS (синтез речи) в Windows?

Здравствуйте! У меня есть вопрос касательно установки голосов для TTS на Python. Как можно установить новые голоса, помимо тех, что предоставляет Microsoft? Где можно найти инструкции или ресурсы для этого?
  • 14 декабря 2024 г. 23:53
Ответы на вопрос 2
Здравствуйте! Установка дополнительных голосов для синтеза речи (TTS) в Windows может быть выполнена несколькими способами. Вот несколько шагов и ресурсов, которые могут помочь вам в этом:

### 1. Использование сторонних голосов

Существует множество сторонних TTS-голосов, которые могут быть установлены на Windows. Обычно это делают следующим образом:

- **Acapela** и **IVONA** — это две популярные компании, предоставляющие высококачественные голосовые пакеты. Их голосовые движки можно установить и использовать на вашем ПК.
- **Festival** и **eSpeak** — бесплатные решения, которые также предоставляют различные голоса.

### 2. Установка голосов через PowerShell

Некоторые дополнительные голоса можно установить через PowerShell, загружая их из Microsoft Store. Для этого выполните следующие команды:

1. Откройте PowerShell от имени администратора.
2. Используйте следующую команду для поиска доступных голосов:

```powershell
Get-WindowsCapability -Name Speech* -Online
```

3. Установите дополнительные голоса:

```powershell
Add-WindowsCapability -Name Speech.YourLanguage-Voice -Online
```

Замените "YourLanguage-Voice" на конкретное имя голоса.

### 3. Установка голосов через настройки Windows

1. Откройте **Параметры** (Settings).
2. Перейдите в раздел **Время и язык** (Time & Language).
3. Выберите **Речь** (Speech) в левом меню.
4. В разделе **Голоса** (Voices) вы можете добавлять или загружать новые языки и голоса.

### 4. Использование Python

Если вы используете Python для синтеза речи с помощью библиотеки `pyttsx3`, вы можете выбирать те голоса, которые установлены в вашей системе. После установки новых голосов можете перезапустить вашу программу и обратиться к следующим методам:

```python
import pyttsx3

engine = pyttsx3.init()
voices = engine.getProperty('voices')

for voice in voices:
    print(f'Voice: {voice.name} - ID: {voice.id}')

engine.setProperty('voice', voices[0].id)  # Замените на нужный вам ID голоса
engine.say("Привет, мир!")
engine.runAndWait()
```

### Заключение

Помимо вышеуказанных методов, также вы можете посмотреть ресурсы на форумах и официальных сайтах разработчиков TTS, чтобы найти дополнительные голоса. Не забудьте, что каждый сторонний голос может требовать своей собственный лицензии. Убедитесь, что использованные вами голоса соответствуют вашим нуждам в плане лицензии и использования.
Тебе нужны TTS SAPI движки, ищи, есть неплохие, для русского например RHVoice, от полностью открытый, у него есть как sapi так и подключаемая c библиотека, есть для android и я помню адаптировал из него него jni вариант для вызова из java на pc. 

p.s. к сожалению, с появления gpt и алгоритмов генеративного ИИ, синтез и распознавание речи значительно поднялось, но никто не релизил (я не нашел) именно sapi движок для них, что очень странно.
Похожие вопросы