Docker를 사용한 음성 텍스트 변환 컨테이너

음성 텍스트 변환 컨테이너는 실시간 음성 또는 배치 오디오 녹음을 중간 결과로 기록합니다. 이 문서에서는 음성 텍스트 변환 컨테이너를 다운로드, 설치 및 실행하는 방법을 알아봅니다.

필수 조건, 컨테이너 실행 여부 확인, 동일한 호스트에서 여러 컨테이너 실행, 연결 해제된 컨테이너 실행에 대한 자세한 내용은 Docker를 사용하여 음성 컨테이너 설치 및 실행을 참조하세요.

컨테이너 이미지

지원되는 모든 버전 및 로캘에 대한 음성 텍스트 변환 컨테이너 이미지는 Microsoft Container Registry(MCR) 신디케이트에서 찾을 수 있습니다. azure-cognitive-services/speechservices/ 리포지토리 내에 있으며 이름은 speech-to-text입니다.

A screenshot of the search connectors and triggers dialog.

전체 컨테이너 이미지 이름은 mcr.microsoft.com/azure-cognitive-services/speechservices/speech-to-text입니다. 최신 버전을 얻으려면 특정 버전을 추가하거나 :latest를 추가하세요.

버전 Path
가장 늦은 날짜 mcr.microsoft.com/azure-cognitive-services/speechservices/speech-to-text:latest

latest 태그는 en-US 로캘에 대한 최신 이미지를 가져옵니다.
4.6.0 mcr.microsoft.com/azure-cognitive-services/speechservices/speech-to-text:4.6.0-amd64-mr-in

latest를 제외한 모든 태그는 다음과 같은 형식이며 대/소문자를 구분합니다.

<major>.<minor>.<patch>-<platform>-<locale>-<prerelease>

편의를 위해 태그는 JSON 형식으로도 제공됩니다. 본문에는 컨테이너 경로와 태그 목록이 포함됩니다. 태그는 버전별로 정렬되지 않지만 이 조각에 표시된 것처럼 "latest"은 항상 목록 끝에 포함됩니다.

{
  "name": "azure-cognitive-services/speechservices/speech-to-text",
  "tags": [
    "2.10.0-amd64-ar-ae",
    "2.10.0-amd64-ar-bh",
    "2.10.0-amd64-ar-eg",
    "2.10.0-amd64-ar-iq",
    "2.10.0-amd64-ar-jo",
    <--redacted for brevity-->
    "latest"
  ]
}

docker pull로 컨테이너 이미지 가져오기

필수 하드웨어를 포함한 필수 조건이 필요합니다. 각 음성 컨테이너에 대한 권장 리소스 할당도 참조하세요.

docker pull 명령을 사용하여 Microsoft Container Registry에서 컨테이너 이미지를 다운로드합니다.

docker pull mcr.microsoft.com/azure-cognitive-services/speechservices/speech-to-text:latest

Important

latest 태그는 en-US 로캘에 대한 최신 이미지를 가져옵니다. 추가 버전 및 로캘은 음성 텍스트 변환 컨테이너 이미지를 참조하세요.

docker run을 사용하여 컨테이너 실행

docker run 명령을 사용하여 컨테이너를 실행합니다.

다음 표에는 다양한 docker run 매개 변수와 해당하는 설명이 나와 있습니다.

매개 변수 설명
{ENDPOINT_URI} 이 엔드포인트는 측정 및 청구에 필요합니다. 자세한 내용은 청구 인수를 참조하세요.
{API_KEY} API 키가 필요합니다. 자세한 내용은 청구 인수를 참조하세요.

음성 텍스트 변환 컨테이너를 실행할 때 음성 텍스트 변환 컨테이너 요구 사항 및 권장 사항에 따라 포트, 메모리 및 CPU를 구성합니다.

다음은 자리 표시자 값이 포함된 docker run 명령의 예입니다. ENDPOINT_URIAPI_KEY 값을 지정해야 합니다.

docker run --rm -it -p 5000:5000 --memory 8g --cpus 4 \
mcr.microsoft.com/azure-cognitive-services/speechservices/speech-to-text \
Eula=accept \
Billing={ENDPOINT_URI} \
ApiKey={API_KEY}

이 명령은 다음을 수행합니다.

  • 컨테이너 이미지에서 speech-to-text 컨테이너를 실행합니다.
  • 4개 CPU 코어 및 8GB 메모리를 할당합니다.
  • TCP 포트 5000을 노출하고 컨테이너의 의사-TTY를 할당합니다.
  • 종료 후 자동으로 컨테이너를 제거합니다. 컨테이너 이미지는 호스트 컴퓨터에서 계속 사용할 수 있습니다.

음성 컨테이너가 있는 docker run에 대한 자세한 내용은 Docker를 사용하여 음성 컨테이너 설치 및 실행을 참조하세요.

컨테이너 사용

음성 컨테이너는 음성 SDK 및 음성 CLI를 통해 액세스되는 websocket 기반 쿼리 엔드포인트 API를 제공합니다. 기본적으로 음성 SDK 및 음성 CLI는 공개 음성 서비스를 사용합니다. 컨테이너를 사용하려면 초기화 메서드를 변경해야 합니다.

Important

컨테이너와 함께 음성 서비스를 사용하는 경우 호스트 인증을 사용해야 합니다. 키와 지역을 구성하면 요청이 공개 음성 서비스로 이동됩니다. 음성 서비스의 결과가 예상과 다를 수 있습니다. 연결이 끊긴 컨테이너의 요청은 실패합니다.

이 Azure 클라우드 초기화 구성을 사용하는 대신 다음을 수행하세요.

var config = SpeechConfig.FromSubscription(...);

컨테이너 호스트와 함께 이 구성을 사용하세요.

var config = SpeechConfig.FromHost(
    new Uri("ws://localhost:5000"));

이 Azure 클라우드 초기화 구성을 사용하는 대신 다음을 수행하세요.

auto speechConfig = SpeechConfig::FromSubscription(...);

컨테이너 호스트와 함께 이 구성을 사용하세요.

auto speechConfig = SpeechConfig::FromHost("ws://localhost:5000");

이 Azure 클라우드 초기화 구성을 사용하는 대신 다음을 수행하세요.

speechConfig, err := speech.NewSpeechConfigFromSubscription(...)

컨테이너 호스트와 함께 이 구성을 사용하세요.

speechConfig, err := speech.NewSpeechConfigFromHost("ws://localhost:5000")

이 Azure 클라우드 초기화 구성을 사용하는 대신 다음을 수행하세요.

SpeechConfig speechConfig = SpeechConfig.fromSubscription(...);

컨테이너 호스트와 함께 이 구성을 사용하세요.

SpeechConfig speechConfig = SpeechConfig.fromHost("ws://localhost:5000");

이 Azure 클라우드 초기화 구성을 사용하는 대신 다음을 수행하세요.

const speechConfig = sdk.SpeechConfig.fromSubscription(...);

컨테이너 호스트와 함께 이 구성을 사용하세요.

const speechConfig = sdk.SpeechConfig.fromHost("ws://localhost:5000");

이 Azure 클라우드 초기화 구성을 사용하는 대신 다음을 수행하세요.

SPXSpeechConfiguration *speechConfig = [[SPXSpeechConfiguration alloc] initWithSubscription:...];

컨테이너 호스트와 함께 이 구성을 사용하세요.

SPXSpeechConfiguration *speechConfig = [[SPXSpeechConfiguration alloc] initWithHost:"ws://localhost:5000"];

이 Azure 클라우드 초기화 구성을 사용하는 대신 다음을 수행하세요.

let speechConfig = SPXSpeechConfiguration(subscription: "", region: "");

컨테이너 호스트와 함께 이 구성을 사용하세요.

let speechConfig = SPXSpeechConfiguration(host: "ws://localhost:5000");

이 Azure 클라우드 초기화 구성을 사용하는 대신 다음을 수행하세요.

speech_config = speechsdk.SpeechConfig(
    subscription=speech_key, region=service_region)

컨테이너 엔드포인트와 함께 이 구성을 사용하세요.

speech_config = speechsdk.SpeechConfig(
    host="ws://localhost:5000")

컨테이너에서 음성 CLI를 사용하는 경우 --host ws://localhost:5000/ 옵션을 포함하세요. CLI가 인증을 위해 음성 키를 사용하지 않도록 하려면 --key none도 지정해야 합니다. 음성 CLI를 구성하는 방법에 대한 자세한 내용은 Azure AI 음성 CLI 시작하기를 참조하세요.

키와 지역 대신 호스트 인증을 사용하여 음성 텍스트 변환 빠른 시작을 사용해 보세요.

다음 단계