使用語音轉換文字的標題

在本指南中,您將瞭解如何使用語音轉換文字建立 標題。 標題是將電視廣播、網路廣播、電影、視訊、實況活動或其他製作內容的音訊內容轉換成文字的程式,然後在螢幕、監視器或其他視覺顯示系統上顯示文字。

概念包括如何同步處理 標題 與輸入音訊、套用粗話篩選、取得部分結果、套用自定義專案,以及識別多語種案例的口語語言。 本指南涵蓋語音 標題,但不包含喇叭標識碼或音效,例如鈴鐺響。

以下是一些常見的 標題 案例:

  • 在線課程和教學影片
  • 體育賽事
  • 語音和視訊通話

以下是使用 標題 時要考慮的層面:

  • 讓您的觀眾知道自動化服務會產生 標題。
  • 以大而顯眼的字型水準在螢幕上水準 標題。
  • 請考慮是否要使用部分結果、何時開始顯示 標題,以及一次顯示多少個單字。
  • 瞭解 標題 通訊協定,例如SMPTE-TT
  • 請考慮輸出格式,例如SRT(SubRip Text) 和 WebVTT (Web 影片文字播放軌)。 這些可以載入大部分的視訊播放程式,例如 VLC,自動將 標題 新增至您的視訊。

提示

請嘗試Speech Studio並選擇範例影片剪輯,以查看即時或離線處理 標題 結果。

請嘗試使用 Azure AI Video Indexer,其會示範如何為您上傳的影片取得字幕。

輔助字幕可以伴隨即時或預先錄製的語音。 無論顯示即時或錄製的字幕,您都可以使用語音 SDK語音 CLI來辨識語音並取得轉譯。 您也可以針對預先錄製的影片使用 Batch 轉譯 API

標題輸出格式

語音服務支持輸出格式,例如 SRT (SubRip Text) 和 WebVTT (Web 視訊文字播放軌)。 這些可以載入大部分的視訊播放程式,例如 VLC,自動將 標題 新增至您的視訊。

提示

語音服務提供 粗話篩選 選項。 您可以指定要遮罩、移除或顯示粗話。

SRT (SubRip Text) 時間範圍輸出格式為 hh:mm:ss,fff

1
00:00:00,180 --> 00:00:03,230
Welcome to applied Mathematics course 201.

WebVTT (Web 影片文字追蹤) 時間範圍輸出格式為 hh:mm:ss.fff

WEBVTT

00:00:00.180 --> 00:00:03.230
Welcome to applied Mathematics course 201.
{
  "ResultId": "8e89437b4b9349088a933f8db4ccc263",
  "Duration": "00:00:03.0500000"
}

將音訊輸入語音服務

如需即時字幕,請使用麥克風或音訊輸入資料流,而不是檔案輸入。 如需如何從麥克風辨識語音的範例,請參閱 語音轉換文字快速入門如何辨識語音 檔。 如需串流的詳細資訊,請參閱 如何使用音訊輸入數據流

若要 標題 預先記錄,請將檔案輸入傳送至語音服務。 如需詳細資訊,請參閱 如何使用壓縮的輸入音訊

標題和語音同步處理

您想要將 標題 與音訊播放軌同步處理,無論是即時還是預先錄製。

語音服務會傳回已辨識語音的位移和持續時間。

  • 位移:要辨識的音訊數據流位移,以持續時間表示。 位移是以刻度來測量,從 0 (零) 刻度開始,與SDK處理的第一個音訊位元組相關聯。 例如,位移會在您開始辨識時開始,因為這是 SDK 開始處理音訊數據流時。 一個刻度代表一百奈秒或一秒一千萬分之一。
  • 持續時間:正在辨識之語句的持續時間。 刻度中的持續時間不包含尾端或前置無聲。

如需詳細資訊,請參閱 取得語音辨識結果

取得部分結果

請考慮何時開始顯示 標題,以及一次要顯示的字數。 當語句仍在辨識時,語音辨識結果可能會變更。 每個 Recognizing 事件都會傳回部分結果。 處理每個字時,語音服務會重新評估新內容中的語句,並再次傳回最佳結果。 新的結果不保證與上一個結果相同。 語句的完整和最終轉譯會與 事件一起 Recognized 傳回。

注意

部分結果的標點符號無法使用。

若要 標題 預先錄製的語音,或無論延遲不在何處,您都可以等待每個語句的完整轉譯,再顯示任何單字。 假設語句中每個單字的最終位移和持續時間,您知道何時使用配樂以步調顯示後續單字。

即時字幕要根據延遲與正確性有所取捨。 您可以儘快顯示每個 Recognizing 事件的文字。 不過,如果可以接受一些延遲,您可以藉由顯示事件的文字Recognized來改善 標題 的正確性。 還有一些中間地帶,被稱為“穩定的部分結果”。

您可以要求語音服務傳回較精確的事件較少 Recognizing 。 這可藉由將 SpeechServiceResponse_StablePartialResultThreshold 屬性設定為 和2147483647之間的0值來完成。 您設定的值是語音服務傳回 Recognizing 事件之前必須辨識單字的次數。 例如,如果您將 SpeechServiceResponse_StablePartialResultThreshold 屬性值設定為 5,語音服務會在傳回部分結果給您使用事件之前,至少確認辨識一個字組 Recognizing 五次。

speechConfig.SetProperty(PropertyId.SpeechServiceResponse_StablePartialResultThreshold, 5);
speechConfig->SetProperty(PropertyId::SpeechServiceResponse_StablePartialResultThreshold, 5);
speechConfig.SetProperty(common.SpeechServiceResponseStablePartialResultThreshold, 5)
speechConfig.setProperty(PropertyId.SpeechServiceResponse_StablePartialResultThreshold, 5);
speechConfig.setProperty(sdk.PropertyId.SpeechServiceResponse_StablePartialResultThreshold, 5);
[self.speechConfig setPropertyTo:5 byId:SPXSpeechServiceResponseStablePartialResultThreshold];
self.speechConfig!.setPropertyTo(5, by: SPXPropertyId.speechServiceResponseStablePartialResultThreshold)
speech_config.set_property(property_id = speechsdk.PropertyId.SpeechServiceResponse_StablePartialResultThreshold, value = 5)
spx recognize --file caption.this.mp4 --format any --property SpeechServiceResponse_StablePartialResultThreshold=5 --output vtt file - --output srt file -

要求更穩定的部分結果可減少「閃爍」或變更文字,但當您等候更高的信賴度結果時,可能會增加延遲。

穩定部分臨界值範例

在下列辨識序列中,未設定穩定的部分臨界值,「數學」會辨識為單字,但最終文字為「數學」。 在另一點上,「課程 2」被辨識,但最終文本是「課程201」。。

RECOGNIZING: Text=welcome to
RECOGNIZING: Text=welcome to applied math
RECOGNIZING: Text=welcome to applied mathematics
RECOGNIZING: Text=welcome to applied mathematics course 2
RECOGNIZING: Text=welcome to applied mathematics course 201
RECOGNIZED: Text=Welcome to applied Mathematics course 201.

在上一個範例中,轉譯是加總的,而且不會撤銷任何文字。 但在其他時候,您可能會發現部分結果不正確。 不論是哪一種情況,在顯示時,不穩定的部分結果都可以視為「閃爍」。

在此範例中,如果穩定的部分結果閾值設定為 5,則不會改變或回溯任何字組。

RECOGNIZING: Text=welcome to
RECOGNIZING: Text=welcome to applied
RECOGNIZING: Text=welcome to applied mathematics
RECOGNIZED: Text=Welcome to applied Mathematics course 201.

語言識別

如果音訊中的語言可能會變更,請使用連續 語言識別。 相較於支援的語言清單 ,語言識別是用來識別音訊中說話的語言。 您最多提供10個候選語言,其中至少一個在音訊中預期。 語音服務會傳回音訊中最有可能的語言。

改善精確度的自定義專案

片語清單是您在開始語音辨識之前提供的單字或片語清單。 將片語新增至片語清單會增加其重要性,因此更容易辨識。

片語範例包括:

  • 名稱
  • 地理位置
  • 同音異義字
  • 產業或組織特有的單字或縮略字

在某些情況下 ,定型自定義模型 可能是改善精確度的最佳選項。 例如,如果您要 標題 正交講座,您可能想要使用對應的領域數據來定型自定義模型。

下一步