找出用於批次謄寫的音訊檔案
批次謄寫是用來謄寫儲存體中的大量音訊。 批次謄寫可以從 Azure 內部或外部存取音訊檔案。
當來源音訊檔案儲存在 Azure 外部時,可以透過公用 URI (例如「https://crbn.us/hello.wav";) 存取這些檔案。 檔案應可直接存取;不支援需要驗證或叫用互動式指令碼才能存取檔案的 URI。
可以透過下列兩種方法之一來存取在 Azure Blob 儲存體中儲存的音訊檔案:
您可以在建立謄寫時指定一或多個音訊檔案。 建議您為每個要求提供多個檔案,或指向具有要謄寫之音訊檔案的Azure Blob 儲存體容器。 批次轉譯服務可以處理大量的已提交轉譯。 服務會同時轉譯檔案,這會減少周轉時間。
支援的音訊格式和轉碼器
批次轉譯 API (和 快速轉錄 API) 支援多種不同的格式和轉碼器,例如:
- WAV
- MP3
- OPUS/OGG
- FLAC
- WMA
- AAC
- WAV 容器中的 ALAW
- WAV 容器中的 MULAW
- AMR
- WebM
- M4A
- SPEEX
注意
批次轉譯服務整合 GStreamer,而且可能會接受更多格式和編解碼器,而不會傳回錯誤。 我們建議使用 WAV (PCM 編碼) 和 FLAC 等無損失格式,以確保最佳的轉錄品質。
Azure Blob 儲存體上傳
當音訊檔案位於 Azure Blob 儲存體帳戶時,您可以要求個別音訊檔案或整個 Azure Blob 儲存體容器的謄寫。 您也可以將謄寫結果寫入 Blob 容器。
注意
如需 Blob 和容器限制,請參閱批次謄寫配額和限制。
請遵循下列步驟來建立儲存體帳戶,並將 wav 檔案從本地目錄上傳至新的容器。
- 前往 Azure 入口網站並登入 Azure 帳戶。
- 在 Azure 入口網站中建立儲存體帳戶資源。 使用與語音資源相同的訂用帳戶和資源群組。
- 選取儲存體帳戶。
- 在左窗格中的 [資料儲存體] 群組中,選取 [容器]。
- 選取 [+ 容器]。
- 輸入新容器的名稱,然後選取 [建立]。
- 選取新的容器。
- 選取上傳。
- 選擇要上傳的檔案,然後選取 [上傳]。
受信任的 Azure 服務安全性機制
本節說明如何使用受信任的 Azure 服務安全性機制,設定及限制對 Azure 儲存體帳戶中批次謄寫來源音訊檔案的存取。
注意
透過受信任的 Azure 服務安全性機制,您必須使用 Azure Blob 儲存體來儲存音訊檔案。 不支援使用 Azure 檔案儲存體。
如果您執行本節中的所有動作,儲存體帳戶會是如下設定:
- 禁止存取所有外部網路流量。
- 禁止使用儲存體帳戶金鑰存取儲存體帳戶。
- 禁止使用共用存取簽章 (SAS) 存取儲存體帳戶 Blob 儲存體。
- 允許使用資源系統指派的受控識別,存取選取的語音資源。
因此,儲存體帳戶實際上會完全遭到「鎖定」,無法在任何情節中使用,除了謄寫在套用新設定時已存在的音訊檔案之外。 視音訊資料的安全性而定,您應該將此設定視為一種模式,並根據需求加以自訂。
例如,您可以允許來自所選公用 IP 位址和 Azure 虛擬網路的流量。 您也可以使用私人端點來設定儲存體帳戶的存取權 (也請參閱本教學課程)、使用儲存體帳戶金鑰重新啟用存取、允許存取其他 Azure 受信任的服務等等。
注意
不需要使用語音的私人端點,就能保護儲存體帳戶。 您可以使用私人端點進行批次謄寫 API 要求,同時從安全儲存體帳戶,或以其他方式個別存取來源音訊檔案。
透過遵循下列步驟,您將嚴格限制對儲存體帳戶的存取。 然後,您將為語音資源受控識別指派存取儲存體帳戶的最低必要權限。
為語音資源啟用系統指派的受控識別
請遵循下列步驟,為您用於批次轉譯的語音資源啟用系統指派的受控識別。
前往 Azure 入口網站並登入 Azure 帳戶。
選取語音資源。
在左窗格的 [資源管理] 群組中,選取 [身分識別]。
在 [系統指派] 索引標籤上,針對狀態選取 [開啟]。
重要
使用者指派的受控識別不符合批次謄寫儲存體帳戶情節的需求。 務必啟用系統指派的受控識別。
選取儲存
現在,可以為語音資源的受控識別授與儲存體帳戶的存取權。
限制對儲存體帳戶的存取權
請遵循下列步驟來限制對儲存體帳戶的存取權。
重要
在鎖定儲存體帳戶的存取權之前,先上傳 Blob 容器中的音訊檔案。
- 前往 Azure 入口網站並登入 Azure 帳戶。
- 選取儲存體帳戶。
- 在左窗格的 [設定] 群組中,選取 [設定]。
- 針對 [允許 Blob 公用存取] 選取 [已停用]。
- 將 [允許儲存體帳戶金鑰存取] 選取 [已停用]
- 選取 [儲存]。
如需詳細資訊,請參閱防止匿名公用讀取存取容器和 Blob,以及防止 Azure 儲存體帳戶的共用金鑰授權。
設定 Azure 儲存體防火牆
對儲存體帳戶有限制的存取權,您必須授與特定受控識別的存取權。 請遵循下列步驟來新增語音資源的存取權。
前往 Azure 入口網站並登入 Azure 帳戶。
選取儲存體帳戶。
在左窗格中的 [安全性 + 網路] 群組中,選取 [網路]。
在 [防火牆和虛擬網路] 索引標籤中,選取 [從選取的虛擬網路和 IP 位址啟用]。
取消全選核取方塊。
請確定已選取 [Microsoft 網路路由]。
在 [資源執行個體] 區段下,選取 [Microsoft.CognitiveServices/accounts] 作為資源類型,然後選取語音資源作為執行個體名稱。
選取 [儲存]。
注意
網路變更最多可能需要 5 分鐘的時間才能傳播。
雖然現在允許網路存取,但語音資源尚無法存取儲存體帳戶中的資料。 您必須為語音資源受控識別指派特定的存取角色。
指派資源存取角色
請遵循下列步驟,將儲存體 Blob 資料讀取器角色指派給語音資源的受控識別。
重要
您必須指派儲存體帳戶的擁有者角色或更高的範圍 (例如訂用帳戶),才能在後續步驟中執行作業。 這是因為只有擁有者角色可以將角色指派給其他人。 請參閱此處的詳細資料。
前往 Azure 入口網站並登入 Azure 帳戶。
選取儲存體帳戶。
在左窗格上選取 [存取控制 (IAM)] 功能表。
在 [授與此資源的存取權] 圖格中,選取 [新增角色指派]。
選取 [角色] 底下的 [儲存體 Blob 資料讀取器],然後選取 [下一步]。
在 [成員] > [存取權指派對象為] 下方,選取 [受控識別]。
指派語音資源的受控識別,然後選取 [檢閱 + 指派]。
確認設定之後,選取 [檢閱 + 指派]
現在語音資源受控識別可以存取儲存體帳戶,並可存取音訊檔案以進行批次謄寫。
透過系統指派的受控識別,您會在建立批次轉譯要求時,使用一般儲存體帳戶 URL (沒有 SAS 或其他新增項目)。 例如:
{
"contentContainerUrl": "https://<storage_account_name>.blob.core.windows.net/<container_name>"
}
否則,您可以在容器中指定個別檔案。 例如:
{
"contentUrls": [
"https://<storage_account_name>.blob.core.windows.net/<container_name>/<file_name_1>",
"https://<storage_account_name>.blob.core.windows.net/<container_name>/<file_name_2>"
]
}
批次謄寫的 SAS URL
共用存取簽章 (SAS) 是能授與對 Azure 儲存體容器之有限存取權的 URI。 當您想要授與特定時間範圍的批次謄寫檔案存取權,而不需共用儲存體帳戶金鑰時,請使用此簽章。
提示
如果具有批次謄寫來源檔案的容器只能由語音資源存取,請改用受信任的 Azure 服務安全性機制。
請遵循下列步驟來產生可用於批次謄寫的 SAS URL。
完成 Azure Blob 儲存體上傳中的步驟,以建立儲存體帳戶,並將音訊檔案上傳至新的容器。
選取新的容器。
在左窗格的 [設定] 群組中,選取 [共用存取權杖]。
選取 [+ 容器]。
在 [權限] 選取 [讀取] 和 [列出]。
輸入 SAS URI 的開始和到期時間,或保留預設值。
選取 [產生 SAS 權杖和 URL]。
當您建立批次轉譯要求時,將會使用 SAS URL。 例如:
{
"contentContainerUrl": "https://<storage_account_name>.blob.core.windows.net/<container_name>?SAS_TOKEN"
}
否則,您可以在容器中指定個別檔案。 您必須針對每個檔案產生並使用具有讀取 (r) 權限的不同 SAS URL。 例如:
{
"contentUrls": [
"https://<storage_account_name>.blob.core.windows.net/<container_name>/<file_name_1>?SAS_TOKEN_1",
"https://<storage_account_name>.blob.core.windows.net/<container_name>/<file_name_2>?SAS_TOKEN_2"
]
}