전문 음성 모델을 엔드포인트로 배포
음성 모델이 성공적으로 만들어지고 학습되면 이를 사용자 지정 신경망 음성 엔드포인트에 배포합니다.
참고 항목
각각 고유한 사용자 지정 신경망 음성이 있는 표준(S0) 음성 리소스를 사용하여 최대 50개의 엔드포인트를 만들 수 있습니다.
사용자 지정 신경망 음성을 사용하려면 음성 모델 이름을 지정하고, HTTP 요청에서 직접 사용자 지정 URI를 사용하고, 동일한 음성 리소스를 사용하여 텍스트 음성 변환 서비스의 인증을 통과해야 합니다.
배포 엔드포인트 추가
사용자 지정 신경망 음성 엔드포인트를 만들려면 다음을 수행합니다.
Speech Studio에 로그인합니다.
Custom Voice> 프로젝트 이름 >모델 배포>모델 배포를 선택합니다.
이 엔드포인트와 연결하려는 음성 모델을 선택합니다.
사용자 지정 엔드포인트에 대한 이름 및 설명을 입력합니다.
시나리오에 맞게 엔드포인트 유형을 선택합니다. 리소스가 지원되는 지역에 있는 경우 엔드포인트 유형에 대한 기본 설정은 고성능입니다. 그렇지 않고 리소스가 지원되지 않는 지역에 있는 경우 사용 가능한 유일한 옵션은 빠른 다시 시작입니다.
배포를 선택하여 엔드포인트를 만듭니다.
엔드포인트가 배포된 후에는 엔드포인트 이름이 링크로 표시됩니다. 엔드포인트 키, 엔드포인트 URL 및 샘플 코드와 같은 엔드포인트 관련 정보를 표시하려면 링크를 선택합니다. 배포 상태가 성공이면 엔드포인트를 사용할 준비가 완료된 것입니다.
애플리케이션 설정
REST API 요청 매개 변수로 사용하는 애플리케이션 설정은 Speech Studio의 모델 배포 탭에서 사용할 수 있습니다.
- 엔드포인트 키는 엔드포인트와 연결된 음성 리소스 키를 보여 줍니다. 이 엔드포인트 키를
Ocp-Apim-Subscription-Key
요청 헤더의 값으로 사용합니다. - 엔드포인트 URL은 서비스 지역을 표시합니다.
voice.speech.microsoft.com
앞에 있는 값을 서비스 지역 요청 매개 변수로 사용합니다. 예를 들어 엔드포인트 URL이https://eastus.voice.speech.microsoft.com/cognitiveservices/v1
인 경우eastus
를 사용합니다. - 엔드포인트 URL은 엔드포인트 ID를 표시합니다.
?deploymentId=
쿼리 매개 변수에 추가된 값을 엔드포인트 ID 요청 매개 변수의 값으로 사용합니다.
사용자 지정 음성 사용
사용자 지정 엔드포인트는 텍스트 음성 변환 요청에 사용되는 표준 엔드포인트와 기능적으로 동일합니다.
한 가지 차이점은 Speech SDK를 통해 Custom Voice을 사용하려면 EndpointId
를 지정해야 한다는 것입니다. 텍스트 음성 변환 빠른 시작으로 시작한 다음 EndpointId
및 SpeechSynthesisVoiceName
으로 코드를 업데이트할 수 있습니다. 자세한 내용은 사용자 지정 엔드포인트 사용을 참조하세요.
SSML(Speech Synthesis Markup Language)을 통해 사용자 지정 음성을 사용하려면 모델 이름을 음성 이름으로 지정합니다. 이 예제에서는 YourCustomVoiceName
음성을 사용합니다.
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
<voice name="YourCustomVoiceName">
This is the text that is spoken.
</voice>
</speak>
제품에서 새 음성 모델로 전환
음성 모델을 최신 엔진 버전으로 업데이트했거나 제품에서 새 음성으로 전환하려는 경우 새 음성 모델을 새 엔드포인트에 다시 배포해야 합니다. 기존 엔드포인트에서 새 음성 모델을 재배포하는 것은 지원되지 않습니다. 배포 후 트래픽을 새로 만들어진 엔드포인트로 전환합니다. 트래픽이 제대로 작동하는지 먼저 테스트 환경의 새 엔드포인트로 트래픽을 전송한 다음 프로덕션 환경의 새 엔드포인트로 전송하는 것이 좋습니다. 전환하는 동안 이전 엔드포인트를 유지해야 합니다. 전환하는 동안 새 엔드포인트에 문제가 있는 경우 이전 엔드포인트로 다시 전환할 수 있습니다. 새 엔드포인트에서 약 24시간(권장 값) 동안 트래픽이 잘 실행되면 이전 엔드포인트를 삭제할 수 있습니다.
참고 항목
음성 이름이 변경되고 SSML(Speech Synthesis Markup Language)을 사용하는 경우 SSML에서 새 음성 이름을 사용해야 합니다.
엔드포인트 일시 중단 및 다시 시작
엔드포인트를 일시 중단하거나 다시 시작하여 지출을 제한하고 사용하지 않는 리소스를 절약할 수 있습니다. 엔드포인트가 일시 중단된 동안에는 요금이 청구되지 않습니다. 엔드포인트를 다시 시작하면 애플리케이션에서 동일한 엔드포인트 URL을 계속 사용하여 음성을 합성할 수 있습니다.
참고 항목
일시 중단 작업은 거의 즉시 완료됩니다. 다시 시작 작업은 새 배포와 거의 같은 시간에 완료됩니다.
이 섹션에서는 Speech Studio 포털에서 사용자 지정 신경망 음성 엔드포인트를 일시 중단하거나 다시 시작하는 방법에 대해 설명합니다.
엔드포인트 일시 중단
엔드포인트를 일시 중단하고 비활성화하려면 Speech Studio의 모델 배포 탭에서 일시 중단을 선택합니다.
표시되는 대화 상자에서 제출을 선택합니다. 엔드포인트가 일시 중단되면 Speech Studio에 엔드포인트가 일시 중단됨이라는 알림이 표시됩니다.
엔드포인트 다시 시작
엔드포인트를 다시 시작하고 활성화하려면 Speech Studio의 모델 배포 탭에서 다시 시작을 선택합니다.
표시되는 대화 상자에서 제출을 선택합니다. 엔드포인트가 성공적으로 다시 활성화되면 상태가 일시 중단됨에서 성공으로 변경됩니다.
다음 단계
음성 모델이 성공적으로 만들어지고 학습되면 이를 사용자 지정 신경망 음성 엔드포인트에 배포합니다.
참고 항목
각각 고유한 사용자 지정 신경망 음성이 있는 표준(S0) 음성 리소스를 사용하여 최대 50개의 엔드포인트를 만들 수 있습니다.
배포 엔드포인트 추가
엔드포인트를 만들려면 Custom Voice API의 Endpoints_Create 작업을 사용합니다. 다음 지침에 따라 요청 본문을 생성합니다.
- 필수
projectId
속성을 설정합니다. 프로젝트 만들기를 참조하세요. - 필수
modelId
속성을 설정합니다. 음성 모델 학습을 참조하세요. - 필수
description
속성을 설정합니다. 설명은 추후 변경될 수 있습니다.
다음 Endpoints_Create 예제와 같이 URI를 사용하여 HTTP PUT 요청을 수행합니다.
YourResourceKey
를 Speech 리소스 키로 바꿉니다.YourResourceRegion
을 음성 리소스 지역으로 바꿉니다.EndpointId
를 원하는 엔드포인트 ID로 바꿉니다. ID는 GUID여야 하며 음성 리소스 내에서 고유해야 합니다. ID는 프로젝트의 URI에 사용되며 나중에 변경할 수 없습니다.
curl -v -X PUT -H "Ocp-Apim-Subscription-Key: YourResourceKey" -H "Content-Type: application/json" -d '{
"description": "Endpoint for Jessica voice",
"projectId": "ProjectId",
"modelId": "JessicaModelId",
} ' "https://YourResourceRegion.api.cognitive.microsoft.com/customvoice/endpoints/EndpointId?api-version=2024-02-01-preview"
응답 본문은 다음 형식으로 표시되어야 합니다.
{
"id": "9f50c644-2121-40e9-9ea7-544e48bfe3cb",
"description": "Endpoint for Jessica voice",
"projectId": "ProjectId",
"modelId": "JessicaModelId",
"properties": {
"kind": "HighPerformance"
},
"status": "NotStarted",
"createdDateTime": "2023-04-01T05:30:00.000Z",
"lastActionDateTime": "2023-04-02T10:15:30.000Z"
}
응답 헤더에는 Operation-Location
속성이 포함되어 있습니다. 이 URI를 사용하여 Endpoints_Create 작업에 대한 세부 정보를 가져옵니다. 응답 헤더의 예는 다음과 같습니다.
Operation-Location: https://eastus.api.cognitive.microsoft.com/customvoice/operations/284b7e37-f42d-4054-8fa9-08523c3de345?api-version=2024-02-01-preview
Operation-Id: 284b7e37-f42d-4054-8fa9-08523c3de345
후속 API 요청에서 엔드포인트 Operation-Location
을 사용하여 엔드포인트를 일시 중지 및 다시 시작하고 엔드포인트를 삭제합니다.
사용자 지정 음성 사용
사용자 지정 신경망 음성을 사용하려면 음성 모델 이름을 지정하고, HTTP 요청에서 직접 사용자 지정 URI를 사용하고, 동일한 음성 리소스를 사용하여 텍스트 음성 변환 서비스의 인증을 통과해야 합니다.
사용자 지정 엔드포인트는 텍스트 음성 변환 요청에 사용되는 표준 엔드포인트와 기능적으로 동일합니다.
한 가지 차이점은 Speech SDK를 통해 Custom Voice을 사용하려면 EndpointId
를 지정해야 한다는 것입니다. 텍스트 음성 변환 빠른 시작으로 시작한 다음 EndpointId
및 SpeechSynthesisVoiceName
으로 코드를 업데이트할 수 있습니다. 자세한 내용은 사용자 지정 엔드포인트 사용을 참조하세요.
SSML(Speech Synthesis Markup Language)을 통해 사용자 지정 음성을 사용하려면 모델 이름을 음성 이름으로 지정합니다. 이 예제에서는 YourCustomVoiceName
음성을 사용합니다.
<speak version="1.0" xmlns="http://www.w3.org/2001/10/synthesis" xml:lang="en-US">
<voice name="YourCustomVoiceName">
This is the text that is spoken.
</voice>
</speak>
엔드포인트 일시 중단
엔드포인트를 일시 중단하거나 다시 시작하여 지출을 제한하고 사용하지 않는 리소스를 절약할 수 있습니다. 엔드포인트가 일시 중단된 동안에는 요금이 청구되지 않습니다. 엔드포인트를 다시 시작하면 애플리케이션에서 동일한 엔드포인트 URL을 계속 사용하여 음성을 합성할 수 있습니다.
엔드포인트를 일시 중지하려면 Custom Voice API의 Endpoints_Suspend 작업을 사용합니다.
다음 Endpoints_Suspend 예에 표시된 것처럼 URI를 사용하여 HTTP POST 요청을 만듭니다.
YourResourceKey
를 Speech 리소스 키로 바꿉니다.YourResourceRegion
을 음성 리소스 지역으로 바꿉니다.YourEndpointId
를 엔드포인트 만들 때 받은 엔드포인트 ID로 바꿉니다.
curl -v -X POST "https://YourResourceRegion.api.cognitive.microsoft.com/customvoice/endpoints/YourEndpointId:suspend?api-version=2024-02-01-preview" -H "Ocp-Apim-Subscription-Key: YourResourceKey" -H "content-type: application/json" -H "content-length: 0"
응답 본문은 다음 형식으로 표시되어야 합니다.
{
"id": "9f50c644-2121-40e9-9ea7-544e48bfe3cb",
"description": "Endpoint for Jessica voice",
"projectId": "ProjectId",
"modelId": "JessicaModelId",
"properties": {
"kind": "HighPerformance"
},
"status": "Disabling",
"createdDateTime": "2023-04-01T05:30:00.000Z",
"lastActionDateTime": "2023-04-02T10:15:30.000Z"
}
엔드포인트 다시 시작
엔드포인트를 다시 시작하려면 사용자 지정 음성 API의 Endpoints_Resume 작업을 사용합니다.
다음 Endpoints_Resume 예에 표시된 것처럼 URI를 사용하여 HTTP POST 요청을 만듭니다.
YourResourceKey
를 Speech 리소스 키로 바꿉니다.YourResourceRegion
을 음성 리소스 지역으로 바꿉니다.YourEndpointId
를 엔드포인트 만들 때 받은 엔드포인트 ID로 바꿉니다.
curl -v -X POST "https://YourResourceRegion.api.cognitive.microsoft.com/customvoice/endpoints/YourEndpointId:resume?api-version=2024-02-01-preview" -H "Ocp-Apim-Subscription-Key: YourResourceKey" -H "content-type: application/json" -H "content-length: 0"
응답 본문은 다음 형식으로 표시되어야 합니다.
{
"id": "9f50c644-2121-40e9-9ea7-544e48bfe3cb",
"description": "Endpoint for Jessica voice",
"projectId": "ProjectId",
"modelId": "JessicaModelId",
"properties": {
"kind": "HighPerformance"
},
"status": "Running",
"createdDateTime": "2023-04-01T05:30:00.000Z",
"lastActionDateTime": "2023-04-02T10:15:30.000Z"
}
엔드포인트 삭제
엔드포인트를 삭제하려면 Custom Voice API의 Endpoints_Delete 작업을 사용합니다.
다음 Endpoints_Delete 예에 표시된 것처럼 URI를 사용하여 HTTP DELETE 요청을 만듭니다.
YourResourceKey
를 Speech 리소스 키로 바꿉니다.YourResourceRegion
을 음성 리소스 지역으로 바꿉니다.YourEndpointId
를 엔드포인트 만들 때 받은 엔드포인트 ID로 바꿉니다.
curl -v -X DELETE "https://YourResourceRegion.api.cognitive.microsoft.com/customvoice/endpoints/YourEndpointId?api-version=2024-02-01-preview" -H "Ocp-Apim-Subscription-Key: YourResourceKey"
상태 코드 204가 포함된 응답 헤더를 받아야 합니다.
제품에서 새 음성 모델로 전환
음성 모델을 최신 엔진 버전으로 업데이트했거나 제품에서 새 음성으로 전환하려는 경우 새 음성 모델을 새 엔드포인트에 다시 배포해야 합니다. 기존 엔드포인트에서 새 음성 모델을 재배포하는 것은 지원되지 않습니다. 배포 후 트래픽을 새로 만들어진 엔드포인트로 전환합니다. 트래픽이 제대로 작동하는지 먼저 테스트 환경의 새 엔드포인트로 트래픽을 전송한 다음 프로덕션 환경의 새 엔드포인트로 전송하는 것이 좋습니다. 전환하는 동안 이전 엔드포인트를 유지해야 합니다. 전환하는 동안 새 엔드포인트에 문제가 있는 경우 이전 엔드포인트로 다시 전환할 수 있습니다. 새 엔드포인트에서 약 24시간(권장 값) 동안 트래픽이 잘 실행되면 이전 엔드포인트를 삭제할 수 있습니다.
참고 항목
음성 이름이 변경되고 SSML(Speech Synthesis Markup Language)을 사용하는 경우 SSML에서 새 음성 이름을 사용해야 합니다.