Текстовый текст в контейнеры речи с помощью Docker
Нейронный текст в контейнер речи преобразует текст в естественно-звуковую речь с помощью технологии глубокой нейронной сети, что позволяет более естественно синтезировать речь. Из этой статьи вы узнаете, как скачать, установить и запустить контейнер преобразования текста в речь.
Дополнительные сведения о предварительных требованиях, проверке запуска контейнера, выполнении нескольких контейнеров на одном узле и выполнении отключенных контейнеров см. в разделе "Установка и запуск контейнеров службы "Речь" с помощью Docker.
Образы контейнеров
Нейронный текст для образа контейнера речи для всех поддерживаемых версий и языковых стандартов можно найти в синдикате Реестра контейнеров Майкрософт (MCR). Он находится в репозитории azure-cognitive-services/speechservices/
и называется neural-text-to-speech
.
Полное имя образа контейнера — mcr.microsoft.com/azure-cognitive-services/speechservices/neural-text-to-speech
. Добавьте определенную версию или добавьте :latest
ее, чтобы получить последнюю версию.
Версия | Путь |
---|---|
Latest | mcr.microsoft.com/azure-cognitive-services/speechservices/neural-text-to-speech:latest Тег latest извлекает языковой стандарт en-US и голосовые данные en-us-arianeural . |
3.5.0 | mcr.microsoft.com/azure-cognitive-services/speechservices/neural-text-to-speech:3.5.0-amd64-en-us-arianeural |
Все теги, кроме latest
, имеют следующий формат и учитывают регистр:
<major>.<minor>.<patch>-<platform>-<voice>-<preview>
Теги также доступны в формате JSON для удобства. Текст содержит путь к контейнеру и список тегов. Теги не отсортированы по версии, но "latest"
всегда включаются в конец списка, как показано в этом фрагменте кода:
{
"name": "azure-cognitive-services/speechservices/neural-text-to-speech",
"tags": [
<--redacted for brevity-->
"3.5.0-amd64-uk-ua-ostapneural",
"3.5.0-amd64-zh-cn-xiaochenneural-preview",
"3.5.0-amd64-zh-cn-xiaohanneural",
"3.5.0-amd64-zh-cn-xiaomoneural",
"3.5.0-amd64-zh-cn-xiaoqiuneural-preview",
"3.5.0-amd64-zh-cn-xiaoruineural",
"3.5.0-amd64-zh-cn-xiaoshuangneural-preview",
"3.5.0-amd64-zh-cn-xiaoxiaoneural",
"3.5.0-amd64-zh-cn-xiaoyanneural-preview",
"3.5.0-amd64-zh-cn-xiaoyouneural",
"3.5.0-amd64-zh-cn-yunxineural",
"3.5.0-amd64-zh-cn-yunyangneural",
"3.5.0-amd64-zh-cn-yunyeneural",
"latest"
]
}
Внимание
Мы отставили от стандартных голосов синтеза речи и стандартного текста в контейнер речи 31 августа 2021 года. Вместо этого следует использовать нейронные голоса с контейнером нейронного текста в речь версии 3.0 и выше.
Начиная с 29 февраля 2024 г. текст для речи и нейронного текста в контейнер речи версии 2.19 и более ранних версий не поддерживается. Дополнительные сведения об обновлении приложения см. в статье Переход со стандартного голоса на предварительно подготовленный нейронный голос.
Получение образа контейнера с помощью команды docker pull
Необходимые компоненты , включая необходимое оборудование. Также см. рекомендуемое выделение ресурсов для каждого контейнера службы "Речь".
Воспользуйтесь командой docker pull, чтобы скачать образ контейнера из реестра контейнеров Microsoft:
docker pull mcr.microsoft.com/azure-cognitive-services/speechservices/neural-text-to-speech:latest
Внимание
Тег latest
извлекает языковой стандарт en-US
и голосовые данные en-us-arianeural
. Дополнительные языковые параметры и голоса см . в виде текста для изображений контейнеров речи.
Запуск контейнера с помощью запуска Docker
Воспользуйтесь командой docker run для запуска контейнера.
В следующей таблице представлены различные параметры docker run
и соответствующие им описания.
Параметр | Описание |
---|---|
{ENDPOINT_URI} |
Для оценки и выставления счетов требуется конечная точка. Дополнительные сведения см . в разделе аргументов выставления счетов. |
{API_KEY} |
Ключ API не требуется. Дополнительные сведения см . в разделе аргументов выставления счетов. |
При запуске текста в контейнер речи настройте порт, память и ЦП в соответствии с текстом для требований и рекомендаций к контейнеру речи.
Ниже приведен пример docker run
команды со значениями заполнителей. Необходимо указать ENDPOINT_URI
значения и API_KEY
значения:
docker run --rm -it -p 5000:5000 --memory 12g --cpus 6 \
mcr.microsoft.com/azure-cognitive-services/speechservices/neural-text-to-speech \
Eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}
Команда:
- Выполняет нейронный текст для контейнера речи из образа контейнера.
- выделяет 6 ядер ЦП и 12 Гб памяти.
- предоставляет TCP-порт 5000 и выделяет псевдотелетайп для контейнера;
- автоматически удаляет контейнер после завершения его работы. Образ контейнера остается доступным на главном компьютере.
Дополнительные сведения о контейнерах службы "Речь" см. в docker run
разделе "Установка и запуск контейнеров службы "Речь" с помощью Docker.
Использование контейнера
Контейнеры службы "Речь" предоставляют API конечных точек запросов на основе websocket, к которым обращается пакет SDK службы "Речь" и CLI службы "Речь". По умолчанию пакет SDK службы "Речь" и cli службы "Речь" используют общедоступную службу "Речь". Чтобы использовать контейнер, вам необходимо изменить метод инициализации.
Внимание
При использовании службы "Речь" с контейнерами обязательно используйте проверку подлинности узла. Если вы настроите ключ и регион, запросы будут отправляться в общедоступную службу "Речь". Результаты службы "Речь" могут не быть ожидаемыми. Запросы от отключенных контейнеров завершаются ошибкой.
Вместо использования этой конфигурации инициализации в облаке Azure:
var config = SpeechConfig.FromSubscription(...);
Используйте эту конфигурацию с узлом контейнера:
var config = SpeechConfig.FromHost(
new Uri("http://localhost:5000"));
Вместо использования этой конфигурации инициализации в облаке Azure:
auto speechConfig = SpeechConfig::FromSubscription(...);
Используйте эту конфигурацию с узлом контейнера:
auto speechConfig = SpeechConfig::FromHost("http://localhost:5000");
Вместо использования этой конфигурации инициализации в облаке Azure:
speechConfig, err := speech.NewSpeechConfigFromSubscription(...)
Используйте эту конфигурацию с узлом контейнера:
speechConfig, err := speech.NewSpeechConfigFromHost("http://localhost:5000")
Вместо использования этой конфигурации инициализации в облаке Azure:
SpeechConfig speechConfig = SpeechConfig.fromSubscription(...);
Используйте эту конфигурацию с узлом контейнера:
SpeechConfig speechConfig = SpeechConfig.fromHost("http://localhost:5000");
Вместо использования этой конфигурации инициализации в облаке Azure:
const speechConfig = sdk.SpeechConfig.fromSubscription(...);
Используйте эту конфигурацию с узлом контейнера:
const speechConfig = sdk.SpeechConfig.fromHost("http://localhost:5000");
Вместо использования этой конфигурации инициализации в облаке Azure:
SPXSpeechConfiguration *speechConfig = [[SPXSpeechConfiguration alloc] initWithSubscription:...];
Используйте эту конфигурацию с узлом контейнера:
SPXSpeechConfiguration *speechConfig = [[SPXSpeechConfiguration alloc] initWithHost:"http://localhost:5000"];
Вместо использования этой конфигурации инициализации в облаке Azure:
let speechConfig = SPXSpeechConfiguration(subscription: "", region: "");
Используйте эту конфигурацию с узлом контейнера:
let speechConfig = SPXSpeechConfiguration(host: "http://localhost:5000");
Вместо использования этой конфигурации инициализации в облаке Azure:
speech_config = speechsdk.SpeechConfig(
subscription=speech_key, region=service_region)
Используйте эту конфигурацию с конечной точкой контейнера:
speech_config = speechsdk.SpeechConfig(
host="http://localhost:5000")
При использовании интерфейса командной строки службы "Речь" в контейнере включите --host http://localhost:5000/
этот параметр. Необходимо также указать --key none
, чтобы интерфейс командной строки не использовал ключ службы "Речь" для проверки подлинности. Сведения о настройке интерфейса командной строки службы "Речь" см. в статье "Начало работы с azure AI Speech CLI".
Попробуйте использовать краткое руководство по использованию проверки подлинности узла, а не ключа и региона.
Элемент голосовой связи SSML
При создании нейронного текста для речи HTTP POST сообщение SSML требует voice
элемента с атрибутом name
. Языковой стандарт голоса должен соответствовать языковому стандарту модели контейнера. Поддержка тегов SSML согласована для каждого текста для речи как в облаке Azure, так и в среде контейнера.
Например, модель, скачаемая с помощью тега latest
(по умолчанию — en-US), будет иметь голосовое имя en-US-AriaNeural
.
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
<voice name="en-US-AriaNeural">
This is the text that is spoken.
</voice>
</speak>
Следующие шаги
- Общие сведения о контейнерах службы "Речь"
- Ознакомьтесь со статьей о конфигурации контейнеров.
- Использование дополнительных контейнеров ИИ Azure