將您的專業語音模型部署為端點
成功建立並定型語音模型之後,您可以將其部署至自訂神經語音端點。
注意
您可以使用標準 (S0) 語音資源建立最多 50 個端點,每個端點都有本身的自訂神經語音。
若要使用您的自訂神經語音,您必須指定語音模型名稱、直接在 HTTP 要求中使用自訂 URI,並使用相同的語音資源來通過文字轉換語音服務的驗證。
新增部署端點
若要建立自訂神經語音端點:
登入 Speech Studio。
選取 [自訂語音] > 您的專案名稱 > [部署模型] > [部署模型]。
選取要與此端點建立關聯的自訂語音模型。
輸入自訂端點的 [名稱] 和 [描述]。
根據您的實際情況,選取 [端點類型]。 如果您的資源位於支援的區域中,則端點類型的預設設定為 [高效能]。 如果資源位於不支持的區域,唯一可用的選項是 [快速恢復]。
選取 [部署] 以建立您的端點。
部署端點之後,端點名稱會顯示為連結。 選取連結以顯示您端點的特定資訊,例如:端點金鑰、端點 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 會顯示您的端點識別碼。 使用附加至
?deploymentId=
查詢參數的值作為端點識別碼要求參數的值。
使用您的自訂語音
自訂端點的功能與用於文字轉換語音要求的標準端點完全相同。
其中一個差異在於必須指定 EndpointId
,才能透過語音 SDK 使用自訂語音。 您可以從文字轉換語音快速入門開始,然後使用 EndpointId
和 SpeechSynthesisVoiceName
更新程式碼。 如需詳細資訊,請參閱使用自訂端點。
若要透過語音合成標記語言使用自訂語音 (SSML),請將模型名稱指定為語音名稱。 此範例使用 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),請務必在 SSML 中使用新的語音名稱。
暫止和繼續端點
您可以暫止或繼續端點,限制支出並節省未使用的資源。 當端點暫止時,將不會向您付收費。 當您繼續端點時,可以在應用程式中繼續使用相同的端點 URL 來合成語音。
注意
暫止作業即將立即完成。 繼續作業會在與新部署相同的時間完成。
本節說明如何在 Speech Studio 入口網站中暫止或繼續自訂神經語音端點。
暫止端點
若要暫止和停用端點,請從 Speech Studio 中的 [部署模型] 索引標籤中選取 [暫止]。
在出現的對話方塊中,選取 [提交]。 端點暫止之後,Speech Studio 會顯示已成功暫停的端點通知。
繼續端點
若要繼續並啟動端點,請從 Speech Studio 中的 [部署模型] 索引標籤中選取 [繼續]。
在出現的對話方塊中,選取 [提交]。 成功重新啟動端點之後,狀態會從 [已暫止] 變更為 [已成功]。
下一步
成功建立並定型語音模型之後,您可以將其部署至自訂神經語音端點。
注意
您可以使用標準 (S0) 語音資源建立最多 50 個端點,每個端點都有本身的自訂神經語音。
新增部署端點
若要建立端點,請使用自訂語音 API 的 Endpoints_Create 作業。 根據下列指示來建構要求本文:
使用 URI 提出 HTTP PUT 要求,如下列 Endpoints_Create 範例所示。
- 以您的語音資源金鑰取代
YourResourceKey
。 - 將
YourResourceRegion
取代為您的語音資源區域。 - 以您選擇的端點識別碼取代
EndpointId
。 識別碼必須是 GUID,而且在您的語音資源內必須是唯一的。 識別碼將用於專案的 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,並使用相同的語音資源來通過文字轉換語音服務的驗證。
自訂端點的功能與用於文字轉換語音要求的標準端點完全相同。
其中一個差異在於必須指定 EndpointId
,才能透過語音 SDK 使用自訂語音。 您可以從文字轉換語音快速入門開始,然後使用 EndpointId
和 SpeechSynthesisVoiceName
更新程式碼。 如需詳細資訊,請參閱使用自訂端點。
若要透過語音合成標記語言使用自訂語音 (SSML),請將模型名稱指定為語音名稱。 此範例使用 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 來合成語音。
若要暫停端點,請使用自訂語音 API 的 Endpoints_Suspend 作業。
使用 URI 提出 HTTP POST 要求,如下列 Endpoints_Suspend 範例所示。
- 以您的語音資源金鑰取代
YourResourceKey
。 - 將
YourResourceRegion
取代為您的語音資源區域。 - 將
YourEndpointId
替換為您建立端點時收到的端點識別碼。
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 作業。
使用 URI 提出 HTTP POST 要求,如下列 Endpoints_Resume 範例所示。
- 以您的語音資源金鑰取代
YourResourceKey
。 - 將
YourResourceRegion
取代為您的語音資源區域。 - 將
YourEndpointId
替換為您建立端點時收到的端點識別碼。
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"
}
刪除端點
若要刪除端點,請使用自訂語音 API 的 Endpoints_Delete 作業。
使用 URI 提出 HTTP DELETE 要求,如下列 Endpoints_Delete 範例所示。
- 以您的語音資源金鑰取代
YourResourceKey
。 - 將
YourResourceRegion
取代為您的語音資源區域。 - 將
YourEndpointId
替換為您建立端點時收到的端點識別碼。
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),請務必在 SSML 中使用新的語音名稱。