다음을 통해 공유


빠른 시작: Azure AI Speech CLI 시작

이 문서에서는 Azure AI Speech CLI(SPX라고도 함)를 사용하여 코드를 작성하지 않고도 음성 텍스트 변환, 텍스트 음성 변환 및 음성 번역과 같은 Speech Service에 액세스하는 방법에 대해 알아봅니다. Speech CLI는 프로덕션 환경에 즉시 사용할 수 있으며, .bat 또는 셸 스크립트를 사용하여 Speech Service에서 간단한 워크플로를 자동화하는 데 사용할 수 있습니다.

이 문서에서는 사용자가 명령 프롬프트 창, 터미널 또는 PowerShell에 대한 실무 지식이 있다고 가정합니다.

참고

PowerShell에서 stop-parsing 토큰(--%)은 spx 다음에 와야 합니다. 예를 들어 spx --% config @region을 실행하여 현재 지역 구성 값을 확인합니다.

다운로드 및 설치

Windows에 Speech CLI를 설치하려면 다음 단계를 수행합니다.

  1. Visual Studio용 Microsoft Visual C++ 재배포 가능 패키지를 귀하의 플랫폼에 적합하게 설치하십시오. 처음 설치하는 경우 재시작이 필요할 수 있습니다.

  2. .NET 8을 설치합니다.

  3. 다음 명령을 입력하여 .NET CLI를 통해 Speech CLI를 설치합니다.

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

    음성 CLI를 업데이트하려면 다음 명령을 입력합니다.

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

음성 CLI에 대한 도움말을 보려면 spx 또는 spx help를 입력합니다.

글꼴 제한 사항

Windows에서 Speech CLI는 로컬 컴퓨터의 명령 프롬프트에서 사용할 수 있는 글꼴만 표시할 수 있습니다. Windows 터미널은 Speech CLI에서 대화형으로 생성하는 모든 글꼴을 지원합니다.

파일로 출력하면 메모장과 같은 텍스트 편집기나 Microsoft Edge와 같은 웹 브라우저도 모든 글꼴을 표시할 수 있습니다.

리소스 구성 만들기

시작하려면 API 키 및 지역 식별자(예: eastus, westus)가 필요합니다. Azure Portal에서 Speech용 AI Foundry 리소스를 만듭니다. 자세한 내용은 AI Foundry 리소스 만들기를 참조하세요.

리소스 키와 지역 식별자를 구성하려면 다음 명령을 실행합니다.

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

키와 지역은 이후 Speech CLI 명령에 대해 저장됩니다. 현재 구성을 확인하려면 다음 명령을 실행합니다.

spx config @key
spx config @region

필요에 따라 저장된 값 중 하나를 제거하는 clear 옵션을 포함합니다.

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

기본 사용법

중요한

컨테이너에서 음성 CLI를 사용하는 경우 --host 옵션을 포함하세요. CLI가 인증을 위해 음성 키를 사용하지 않도록 하려면 --key none도 지정해야 합니다. 예를 들어 spx recognize --key none --host wss://localhost:5000/ --file myaudio.wav를 실행하여 음성 텍스트 변환 컨테이너의 오디오 파일에서 음성을 인식합니다.

이 섹션에서는 처음으로 테스트 또는 실험을 수행할 때 도움이 되는 몇 가지 기본 SPX 명령을 보여줍니다. 도구 내 도움말을 보려면 다음 명령을 실행합니다.

spx

키워드를 기준으로 도움말 항목을 검색할 수 있습니다. 예를 들어 Speech CLI 사용 예제 목록을 보려면 다음 명령을 실행합니다.

spx help find --topics "examples"

recognize 명령에 대한 옵션을 보려면 다음 명령을 실행합니다.

spx help recognize

추가 도움말 명령이 콘솔 출력에 나열됩니다. 이러한 명령을 입력하여 하위 명령에 대한 자세한 도움말을 가져올 수 있습니다.

음성 - 텍스트 변환(음성 인식)

문제가 발생하거나 Speech 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.
    

참고

Docker 컨테이너 내에서 Speech CLI를 실행하는 경우 컴퓨터의 마이크를 사용할 수 없습니다. 그러나 로컬에 탑재된 디렉터리에서는 오디오 파일을 읽고 저장할 수 있습니다.

파일에서 음성 인식

오디오 파일에서 음성을 인식하려면 --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

텍스트 음성 변환(음성 합성)

문제가 발생하거나 Speech 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

이 예제에서는 영어로 테스트하는 것으로 가정합니다. 그러나 Speech Service는 음성 합성을 다양한 언어로 지원합니다. 다음 명령을 실행하거나 언어 지원 페이지를 방문하여 전체 음성 목록을 끌어올 수 있습니다.

spx synthesize --voices

검색한 음성 중 하나를 사용하는 명령은 다음과 같습니다.

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

음성을 텍스트로 번역

문제가 발생하거나 Speech 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.')
    

참고

Docker 컨테이너 내에서 Speech CLI를 실행하는 경우 컴퓨터의 마이크를 사용할 수 없습니다. 그러나 로컬에 탑재된 디렉터리에서는 오디오 파일을 읽고 저장할 수 있습니다.

파일에서 음성 번역

오디오 파일에서 음성을 번역하려면 --microphone 대신 --file을 사용하세요. 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

다음 단계