Краткое руководство: Быстрый старт с речью Azure в средствах Foundry CLI

В этой статье вы узнаете, как использовать Azure Speech CLI (также называемый SPX) для доступа к службам распознавания речи, таким как речь, текст в речь и перевод речи, без необходимости писать код. Интерфейс командной строки службы "Речь" готов к использованию в рабочей среде и может применяться для автоматизации простых рабочих процессов в службе "Речь" с помощью .bat или скриптов оболочки.

Предполагается, что у вас есть опыт работы с окном командной строки, терминалом или PowerShell.

Примечание.

В PowerShell токен для отмены синтаксического анализа (--%) должен стоять после spx. Например, выполните команду spx --% config @region, чтобы просмотреть текущее значение конфигурации региона.

Загрузка и установка

Чтобы установить CLI "Speech" в Windows, выполните следующие шаги:

  1. Установите пакет Microsoft Visual C++ Redistributable для Visual Studio для вашей платформы. При первой установке может потребоваться перезагрузка.

  2. Установите .NET 8.

  3. Установите CLI службы "Речь" с использованием интерфейса командной строки .NET. Для этого введите следующую команду:

    dotnet tool install --global Microsoft.CognitiveServices.Speech.CLI
    

    Чтобы обновить CLI службы "Речь", введите следующую команду:

    dotnet tool update --global Microsoft.CognitiveServices.Speech.CLI
    

Введите spx или spx help, чтобы получить справочную информацию по речевой службе CLI.

Ограничения для шрифтов

В Windows в интерфейсе командной строки службы "Речь" могут отображаться только шрифты, доступные для командной строки на локальном компьютере. Терминал Windows поддерживает все шрифты, создаваемые интерфейсом командной строки службы "Речь" в интерактивном режиме.

При выводе результатов в файл текстовый редактор, например Блокнот, или веб-браузер, например Microsoft Edge, будут также отображать все шрифты.

Создание конфигурации ресурсов

Чтобы приступить к работе, вам нужен ключ API и идентификатор региона (например, eastus, westus). Создайте ресурс Foundry для службы "Речь" на портале Azure. Дополнительные сведения см. в разделе "Создание ресурса Foundry".

Чтобы настроить ключ ресурса и идентификатор региона, выполните следующие команды:

spx config @key --set SPEECH-KEY
spx config @region --set SPEECH-REGION

Ключ и регион сохраняются для использования в будущих командах CLI для речевых технологий. Чтобы просмотреть текущую конфигурацию, выполните следующие команды:

spx config @key
spx config @region

При необходимости укажите параметр clear, чтобы удалить любое сохраненное значение:

spx config @key --clear
spx config @region --clear

Базовое использование

Внимание

При использовании интерфейса командной строки службы "Речь" в контейнере включите параметр --host. Необходимо также указать --key none, чтобы интерфейс командной строки не пытался использовать ключ 'Speech' для аутентификации. Например, выполните запуск spx recognize --key none --host wss://localhost:5000/ --file myaudio.wav для распознавания речи из звукового файла в текстовом контейнере.

В этом разделе описано несколько основных команд SPX, которые зачастую удобно использовать для первого тестирования и экспериментов. Выполните следующую команду, чтобы просмотреть справку в самом инструменте.

spx

Вы также можете выполнить поиск по ключевому слову в разделах справки. Например, чтобы просмотреть примеры использования интерфейса командной строки службы "Речь", выполните следующую команду:

spx help find --topics "examples"

Чтобы просмотреть параметры recognize команды, выполните следующую команду:

spx help recognize

В выходных данных консоли перечислены команды, связанные с помощью. Вы можете ввести эти команды, чтобы получить подробную справку по подкомандам.

Преобразование речи в текст (распознавание речи)

Совет

Если вы застряли или хотите узнать больше о вариантах распознавания речи с помощью CLI, выполните spx help recognize.

Распознавание речи с микрофона

  1. Выполните следующую команду, чтобы начать распознавание речи с микрофона:

    spx recognize --microphone --source en-US
    
  2. Начните говорить в микрофон, и вы увидите текстовую расшифровку ваших слов, отображающуюся в реальном времени. CLI системы "Речь" останавливается после паузы, 30 секунд или при нажатии клавиш Ctrl+C.

    Connection CONNECTED...
    RECOGNIZED: I'm excited to try speech to text.
    

Примечание.

При запуске CLI службы "Речь" в контейнере Docker нельзя использовать микрофон компьютера. Но можно выполнять чтение и сохранение звуковых файлов в локальном подключенном каталоге.

Распознайте речь из файла

Чтобы распознать речь из аудиофайла, используйте --file вместо --microphone. Для сжатых звуковых файлов, таких как MP4, установите GStreamer и используйте --format. Дополнительные сведения см. в разделе Как использовать сжатые входные аудиофайлы.

spx recognize --file YourAudioFile.wav
spx recognize --file YourAudioFile.mp4 --format any

Списки фраз

Чтобы повысить точность распознавания конкретных слов или речевых фрагментов, используйте список фраз. Вы включаете список фраз в строку или текстовый файл вместе с командой recognize :

spx recognize --microphone --phrases "Contoso;Jessie;Rehaan;"
spx recognize --microphone --phrases @phrases.txt

Поддержка языков

Чтобы изменить язык распознавания речи, замените en-US на другой поддерживаемый язык. Например, используется es-ES для испанского языка (Испания). Если язык не указан, значение en-USпо умолчанию .

spx recognize --microphone --source es-ES

Непрерывное распознавание

Для непрерывного распознавания звука дольше 30 секунд добавьте --continuous:

spx recognize --microphone --source es-ES --continuous

Преобразование текста в речь (синтез речи)

Совет

Если вы застряли или хотите узнать больше о вариантах распознавания речи с помощью CLI, выполните spx help synthesize.

Следующая команда использует текст как входные данные и выводит синтезированную речь на текущее активное устройство вывода (например, динамики компьютера).

spx synthesize --text "Testing synthesis using the Speech CLI" --speakers

Вы также можете сохранить синтезированные выходные данные в файл. В этом примере мы создадим файл my-sample.wav в каталоге, где будет выполняться команда.

spx synthesize --text "Enjoy using the Speech CLI." --audio output my-sample.wav

Предполагается, что тестирование выполняется на английском языке. Однако служба "Речь" поддерживает синтез речи на нескольких языках. Полный список голосовых моделей можно вывести, выполнив следующую команду или посетив страницу о поддержке языков.

spx synthesize --voices

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

spx synthesize --text "Bienvenue chez moi." --voice fr-FR-AlainNeural --speakers

Преобразование речи в текст

Совет

Если вы застряли или хотите узнать больше о параметрах перевода CLI для работы с речью, выполните команду spx help translate.

Перевод речи с микрофона

  1. Выполните следующую команду, чтобы начать перевод речи с микрофона:

    spx translate --source en-US --target it --microphone
    
  2. Поговорите с микрофоном, и вы увидите транскрибирование переведенной речи в режиме реального времени. CLI системы "Речь" останавливается после паузы, 30 секунд или при нажатии клавиш Ctrl+C.

    Connection CONNECTED...
    TRANSLATING into 'it': Sono (from 'I'm')
    TRANSLATING into 'it': Sono entusiasta (from 'I'm excited to')
    TRANSLATING into 'it': Sono entusiasta di provare la parola (from 'I'm excited to try speech')
    TRANSLATED into 'it': Sono entusiasta di provare la traduzione vocale. (from 'I'm excited to try speech translation.')
    

Примечание.

При запуске CLI службы "Речь" в контейнере Docker нельзя использовать микрофон компьютера. Но можно выполнять чтение и сохранение звуковых файлов в локальном подключенном каталоге.

Перевод речи из файла

Чтобы перевести речь из звукового файла, используйте --file вместо --microphoneнего. Для сжатых звуковых файлов, таких как MP4, установите GStreamer и используйте --format. Дополнительные сведения см. в разделе Как использовать сжатые входные аудиофайлы.

spx translate --source en-US --target it --file YourAudioFile.wav
spx translate --source en-US --target it --file YourAudioFile.mp4 --format any

Списки фраз

Чтобы повысить точность распознавания конкретных слов или речевых фрагментов, используйте список фраз. Вы включаете список фраз в строку или текстовый файл вместе с командой translate :

spx translate --source en-US --target it --microphone --phrases "Contoso;Jessie;Rehaan;"
spx translate --source en-US --target it --microphone --phrases @phrases.txt

Поддержка языков

Чтобы изменить язык распознавания речи, замените en-US на другой поддерживаемый язык. Укажите полную локаль с техническим разделителем - тире (-). Например, es-ES для испанского (Испания). Если язык не указан, по умолчанию используется en-US.

spx translate --microphone --source es-ES

Чтобы изменить целевой язык перевода, замените it на другой поддерживаемый язык. За редкими исключениями, вы указываете только код языка, который предшествует разделителю языкового стандарта (-). Например, для испанского языка (Испания) используйте es, а не es-ES. Если язык не указан, по умолчанию используется en.

spx translate --microphone --target es

Несколько целевых языков

При переводе на несколько языков разделяйте коды языков точкой с запятой (;).

spx translate --microphone --source en-US --target 'ru-RU;fr-FR;es-ES'

Сохранение выходных данных перевода

Если вы хотите сохранить выходные данные перевода, используйте флаг --output. В этом примере вы также читаете из файла.

spx translate --file /some/file/path/input.wav --source en-US --target ru-RU --output file /some/file/path/russian_translation.txt

Непрерывный перевод

Для непрерывного перевода звука дольше 30 секунд добавьте --continuous:

spx translate --source en-US --target it --microphone --continuous

Следующие шаги