找出用於批次轉譯的音訊檔案
批次轉譯可用來轉譯儲存體中的大量音訊。 批次轉譯可以從 Azure 內部或外部存取音訊檔案。
當來源音訊檔案儲存在 Azure 外部時,可以透過公用 URI (存取,例如 「 https://crbn.us/hello.wav" ;) 。 檔案應可直接存取;不支援需要驗證或叫用互動式腳本才能存取檔案的 URI。
儲存在 Azure Blob 儲存體中的音訊檔案可以透過下列兩種方法之一來存取:
您可以在建立轉譯時指定一或多個音訊檔案。 我們建議您為每個要求提供多個檔案,或指向具有要轉譯音訊檔案的 Azure Blob 儲存體容器。 批次轉譯服務可以處理大量的已提交轉譯。 服務會同時轉譯檔案,這會減少周轉時間。
支援的音訊格式
批次轉譯 API 支援下列格式:
格式 | 轉碼器 | 每個樣本的位元數 | 採樣速率 |
---|---|---|---|
WAV | PCM | 16 位元 | 8 kHz 或 16 kHz (單聲道或立體聲) |
MP3 | PCM | 16 位元 | 8 kHz 或 16 kHz (單聲道或立體聲) |
OGG | OPUS | 16 位元 | 8 kHz 或 16 kHz (單聲道或立體聲) |
針對立體聲音訊串流,在轉譯期間會分割左聲道和右聲道。 系統會為每個輸入音訊檔案建立 JSON 結果檔。 若要建立已排序的最終文字記錄,請使用每個語句所產生的時間戳記。
Azure Blob 儲存體上傳
當音訊檔案位於Azure Blob 儲存體帳戶時,您可以要求個別音訊檔案或整個Azure Blob 儲存體容器的轉譯。 您也可以 將轉譯結果寫入 Blob 容器。
注意
如需 Blob 和容器限制,請參閱 批次轉譯配額和限制。
請遵循下列步驟來建立儲存體帳戶,並將 wav 檔案從本機目錄上傳至新的容器。
- 前往 Azure 入口網站並登入 Azure 帳戶。
- Azure 入口網站中建立儲存體帳戶資源。 使用與語音資源相同的訂用帳戶和資源群組。
- 選取儲存體帳戶。
- 在左窗格中的 [ 資料儲存體 ] 群組中,選取 [ 容器]。
- 選取 [+ 容器]。
- 輸入新容器的名稱,然後選取 [ 建立]。
- 選取新的容器。
- 選取 [上傳] 。
- 選擇要上傳的檔案,然後選取 [ 上傳]。
受信任的 Azure 服務安全性機制
本節說明如何使用 受信任的 Azure 服務安全性機制,設定及限制對 Azure 儲存體帳戶中批次轉譯來源音訊檔案的存取。
注意
透過受信任的 Azure 服務安全性機制,您必須使用 Azure Blob 儲存體 來儲存音訊檔案。 不支援使用Azure 檔案儲存體。
如果您在本節中執行所有動作,您的儲存體帳戶將會在下列設定中:
因此,您的儲存體帳戶實際上會完全「鎖定」,而且除了轉譯套用新組態時已經存在的音訊檔案之外,也無法在任何案例中使用。 您應該將此組態視為模型,視音訊資料的安全性而定,並根據您的需求加以自訂。
例如,您可以允許來自所選公用 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"
}
否則,您可以在容器中指定個別檔案。 您必須針對每個檔案產生並使用不同的 SAS URL 與讀取 (r) 許可權。 例如:
{
"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"
]
}