快速入門:使用語音轉換文字建立 標題
參考文件 | 套件 (NuGet) | GitHub 上的其他範例
在本快速入門中,您會執行控制台應用程式,以使用語音轉換文字建立 標題。
提示
嘗試 Speech Studio,並選擇範例影片剪輯以查看即時或離線處理的字幕結果。
必要條件
設定環境
語音 SDK 可作為 NuGet 套件使用,並實作 .NET Standard 2.0。 您稍後會在本指南中安裝語音 SDK,但請先檢查 SDK 安裝指南 以取得任何更多需求。
您也必須安裝 GStreamer 以進行壓縮的輸入音訊。
設定環境變數
您的應用程式必須經過驗證,才能存取 Azure AI 服務資源。 針對生產環境,請使用安全的方式來儲存和存取您的認證。 例如,取得 語音資源的金鑰 之後,請將它寫入執行應用程式的本機計算機上新的環境變數。
提示
請勿將金鑰直接包含在您的程式代碼中,且絕不會公開發佈。 如需更多驗證選項,請參閱 Azure AI 服務安全性,例如 Azure 金鑰保存庫。
若要設定語音資源密鑰的環境變數,請開啟控制台視窗,並遵循作業系統和開發環境的指示。
- 若要設定
SPEECH_KEY
環境變數,請將your-key取代為資源的其中一個密鑰。 - 若要設定
SPEECH_REGION
環境變數,請將您的區域取代為您資源的其中一個區域。
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
注意
如果您只需要存取目前控制台中的環境變數,您可以使用 來設定環境變數 set
,而不是 setx
。
新增環境變數之後,您可能需要重新啟動任何需要讀取環境變數的程式,包括主控台視窗。 例如,如果您使用 Visual Studio 作為編輯器,請在執行範例之前重新啟動 Visual Studio。
從語音建立 標題
請遵循下列步驟來建置並執行 標題 快速入門程式代碼範例。
- 從 GitHub 複製 scenarios/csharp/dotnetcore/標題/範例檔案。 如果您已安裝 Git,請開啟命令提示字元並執行
git clone
命令以下載語音 SDK 範例存放庫。git clone https://github.com/Azure-Samples/cognitive-services-speech-sdk.git
- 開啟命令提示字元並變更至項目目錄。
cd <your-local-path>/scenarios/csharp/dotnetcore/captioning/captioning/
- 使用 .NET CLI 建置專案。
dotnet build
- 使用您慣用的命令行自變數執行應用程式。 請參閱 可用選項的使用方式和自變數 。 以下是範例:
dotnet run --input caption.this.mp4 --format any --output caption.output.txt --srt --realTime --threshold 5 --delay 0 --profanity mask --phrases "Contoso;Jessie;Rehaan"
重要
請確定和
--output
所--input
指定的路徑有效。 否則您必須變更路徑。請確定您已如上所述設定
SPEECH_KEY
和SPEECH_REGION
環境變數。 否則,請使用--key
和--region
自變數。
檢查結果
當您在上述範例中使用 realTime
選項時,輸出中會包含來自 Recognizing
事件的部分結果。 在此範例中,只有最終 Recognized
事件包含逗號。 逗號不是和 Recognized
事件之間的Recognizing
唯一差異。 如需詳細資訊,請參閱 取得部分結果。
1
00:00:00,170 --> 00:00:00,380
The
2
00:00:00,380 --> 00:00:01,770
The rainbow
3
00:00:01,770 --> 00:00:02,560
The rainbow has seven
4
00:00:02,560 --> 00:00:03,820
The rainbow has seven colors
5
00:00:03,820 --> 00:00:05,050
The rainbow has seven colors red
6
00:00:05,050 --> 00:00:05,850
The rainbow has seven colors red
orange
7
00:00:05,850 --> 00:00:06,440
The rainbow has seven colors red
orange yellow
8
00:00:06,440 --> 00:00:06,730
The rainbow has seven colors red
orange yellow green
9
00:00:06,730 --> 00:00:07,160
orange, yellow, green, blue,
indigo and Violet.
當您使用 --offline
選項時,結果會從最終 Recognized
事件穩定。 部分結果不會包含在輸出中:
1
00:00:00,170 --> 00:00:05,540
The rainbow has seven colors, red,
orange, yellow, green, blue,
2
00:00:05,540 --> 00:00:07,160
indigo and Violet.
SRT (SubRip Text) 時間範圍輸出格式為 hh:mm:ss,fff
。 如需詳細資訊,請參閱 標題輸出格式。
使用方式和自變數
使用方式:captioning --input <input file>
連線 ion 選項包括:
--key
:您的語音資源密鑰。 覆寫SPEECH_KEY環境變數。 您必須設定環境變數 (建議) 或使用--key
選項。--region REGION
:您的語音資源區域。 覆寫SPEECH_REGION環境變數。 您必須設定環境變數 (建議) 或使用--region
選項。 範例:westus
、northeurope
輸入選項包括:
--input FILE
:從檔案輸入音訊。 默認輸入是麥克風。--format FORMAT
:使用壓縮的音訊格式。 只適用於--file
。 有效值為alaw
、、any
、、mulaw
flac
mp3
、 和ogg_opus
。 預設值是any
。 若要使用wav
檔案,請勿指定格式。 這個選項不適用於 JavaScript 標題 範例。 如需 MP4 等壓縮音訊檔案,請安裝 GStreamer,並參閱 如何使用壓縮的輸入音訊。
語言選項包括:
--language LANG
:使用其中一個對應的 支援地區設定來指定語言。 這會在將 標題 分成幾行時使用。 預設值為en-US
。
辨識選項包括:
--offline
:輸出離線結果。 覆寫--realTime
。 默認輸出模式為離線。--realTime
:輸出實時結果。
實時輸出包含 Recognizing
事件結果。 默認離線輸出只會是 Recognized
事件結果。 這些一律會寫入主控台,永遠不會寫入輸出檔案。 選項 --quiet
會覆寫這個。 如需詳細資訊,請參閱取得語音辨識結果。
精確度選項包括:
--phrases PHRASE1;PHRASE2
:您可以指定要辨識的片語清單,例如Contoso;Jessie;Rehaan
。 如需詳細資訊,請參閱 使用片語清單改善辨識。
輸出選項包括:
--help
:顯示此說明並停止--output FILE
:輸出 標題 至指定的file
。 需要此旗標。--srt
:SRT (SubRip Text) 格式的輸出 標題。 默認格式為 WebVTT (Web 影片文字曲目)。 如需 SRT 和 WebVTT 標題 檔案格式的詳細資訊,請參閱標題輸出格式。--maxLineLength LENGTH
:將 標題 的每行字元數上限設定為 LENGTH。 最小值為 20。 默認值為37 (中文為30)。--lines LINES
:將 標題 行數設定為LINES。 最小值為 1。 預設為 2。--delay MILLISECONDS
:延遲顯示每個 標題 的毫秒數,以仿真實時體驗。 此選項僅適用於您使用realTime
旗標時。 最小值為 0.0。 預設值為 1000。--remainTime MILLISECONDS
:如果 標題 未由另一個取代,標題 應該保留在螢幕上的毫秒數。 最小值為 0.0。 預設值為 1000。--quiet
:隱藏主控台輸出,但錯誤除外。--profanity OPTION
:有效值:原始、移除、遮罩。 如需詳細資訊,請參閱 粗話篩選 概念。--threshold NUMBER
:設定穩定的部分結果閾值。 預設值是3
。 此選項僅適用於您使用realTime
旗標時。 如需詳細資訊,請參閱 取得部分結果 概念。
清除資源
您可以使用 Azure 入口網站 或 Azure 命令行介面 (CLI) 來移除您所建立的語音資源。
參考文件 | 套件 (NuGet) | GitHub 上的其他範例
在本快速入門中,您會執行控制台應用程式,以使用語音轉換文字建立 標題。
提示
嘗試 Speech Studio,並選擇範例影片剪輯以查看即時或離線處理的字幕結果。
必要條件
設定環境
語音 SDK 可作為 NuGet 套件使用,並實作 .NET Standard 2.0。 您稍後會在本指南中安裝語音 SDK,但請先檢查 SDK 安裝指南 以取得任何更多需求
您也必須安裝 GStreamer 以進行壓縮的輸入音訊。
設定環境變數
您的應用程式必須經過驗證,才能存取 Azure AI 服務資源。 針對生產環境,請使用安全的方式來儲存和存取您的認證。 例如,取得 語音資源的金鑰 之後,請將它寫入執行應用程式的本機計算機上新的環境變數。
提示
請勿將金鑰直接包含在您的程式代碼中,且絕不會公開發佈。 如需更多驗證選項,請參閱 Azure AI 服務安全性,例如 Azure 金鑰保存庫。
若要設定語音資源密鑰的環境變數,請開啟控制台視窗,並遵循作業系統和開發環境的指示。
- 若要設定
SPEECH_KEY
環境變數,請將your-key取代為資源的其中一個密鑰。 - 若要設定
SPEECH_REGION
環境變數,請將您的區域取代為您資源的其中一個區域。
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
注意
如果您只需要存取目前控制台中的環境變數,您可以使用 來設定環境變數 set
,而不是 setx
。
新增環境變數之後,您可能需要重新啟動任何需要讀取環境變數的程式,包括主控台視窗。 例如,如果您使用 Visual Studio 作為編輯器,請在執行範例之前重新啟動 Visual Studio。
從語音建立 標題
請遵循下列步驟,在 Windows 上使用 Visual Studio Community 2022 建置和執行 標題 快速入門程式代碼範例。
將案例/cpp/windows/標題/範例檔案從 GitHub 下載或複製到本機目錄。
在
captioning.sln
Visual Studio Community 2022 中開啟方案檔。使用 NuGet 套件管理員在您的專案中安裝語音 SDK。
Install-Package Microsoft.CognitiveServices.Speech
開啟 [項目>屬性>一般]。 將 [組態] 設定為
All configurations
。 將 C++ 語言標準設定為ISO C++17 Standard (/std:c++17)
。開啟 [建置>組態管理員]。
- 在 64 位 Windows 安裝上,將 [使用中方案平臺] 設定為
x64
。 - 在 32 位 Windows 安裝上,將 [使用中方案平臺] 設定為
x86
。
- 在 64 位 Windows 安裝上,將 [使用中方案平臺] 設定為
開啟 [項目>屬性>偵錯]。 在 Command Arguments 中輸入您慣用的命令行自變數。 請參閱 可用選項的使用方式和自變數 。 以下是範例:
--input caption.this.mp4 --format any --output caption.output.txt --srt --realTime --threshold 5 --delay 0 --profanity mask --phrases "Contoso;Jessie;Rehaan"
重要
請確定和
--output
所--input
指定的路徑有效。 否則您必須變更路徑。請確定您已如上所述設定
SPEECH_KEY
和SPEECH_REGION
環境變數。 否則,請使用--key
和--region
自變數。建置並執行 主控台應用程式。
檢查結果
當您在上述範例中使用 realTime
選項時,輸出中會包含來自 Recognizing
事件的部分結果。 在此範例中,只有最終 Recognized
事件包含逗號。 逗號不是和 Recognized
事件之間的Recognizing
唯一差異。 如需詳細資訊,請參閱 取得部分結果。
1
00:00:00,170 --> 00:00:00,380
The
2
00:00:00,380 --> 00:00:01,770
The rainbow
3
00:00:01,770 --> 00:00:02,560
The rainbow has seven
4
00:00:02,560 --> 00:00:03,820
The rainbow has seven colors
5
00:00:03,820 --> 00:00:05,050
The rainbow has seven colors red
6
00:00:05,050 --> 00:00:05,850
The rainbow has seven colors red
orange
7
00:00:05,850 --> 00:00:06,440
The rainbow has seven colors red
orange yellow
8
00:00:06,440 --> 00:00:06,730
The rainbow has seven colors red
orange yellow green
9
00:00:06,730 --> 00:00:07,160
orange, yellow, green, blue,
indigo and Violet.
當您使用 --offline
選項時,結果會從最終 Recognized
事件穩定。 部分結果不會包含在輸出中:
1
00:00:00,170 --> 00:00:05,540
The rainbow has seven colors, red,
orange, yellow, green, blue,
2
00:00:05,540 --> 00:00:07,160
indigo and Violet.
SRT (SubRip Text) 時間範圍輸出格式為 hh:mm:ss,fff
。 如需詳細資訊,請參閱 標題輸出格式。
使用方式和自變數
使用方式:captioning --input <input file>
連線 ion 選項包括:
--key
:您的語音資源密鑰。 覆寫SPEECH_KEY環境變數。 您必須設定環境變數 (建議) 或使用--key
選項。--region REGION
:您的語音資源區域。 覆寫SPEECH_REGION環境變數。 您必須設定環境變數 (建議) 或使用--region
選項。 範例:westus
、northeurope
輸入選項包括:
--input FILE
:從檔案輸入音訊。 默認輸入是麥克風。--format FORMAT
:使用壓縮的音訊格式。 只適用於--file
。 有效值為alaw
、、any
、、mulaw
flac
mp3
、 和ogg_opus
。 預設值是any
。 若要使用wav
檔案,請勿指定格式。 這個選項不適用於 JavaScript 標題 ing 範例。 如需 MP4 等壓縮音訊檔案,請安裝 GStreamer,並參閱 如何使用壓縮的輸入音訊。
語言選項包括:
--language LANG
:使用其中一個對應的 支援地區設定來指定語言。 這會在將 標題 分成幾行時使用。 預設值為en-US
。
辨識選項包括:
--offline
:輸出離線結果。 覆寫--realTime
。 默認輸出模式為離線。--realTime
:輸出實時結果。
實時輸出包含 Recognizing
事件結果。 默認離線輸出只會是 Recognized
事件結果。 這些一律會寫入主控台,永遠不會寫入輸出檔案。 選項 --quiet
會覆寫這個。 如需詳細資訊,請參閱取得語音辨識結果。
精確度選項包括:
--phrases PHRASE1;PHRASE2
:您可以指定要辨識的片語清單,例如Contoso;Jessie;Rehaan
。 如需詳細資訊,請參閱 使用片語清單改善辨識。
輸出選項包括:
--help
:顯示此說明並停止--output FILE
:輸出 標題 至指定的file
。 需要此旗標。--srt
:SRT (SubRip Text) 格式的輸出 標題。 默認格式為 WebVTT (Web 影片文字曲目)。 如需 SRT 和 WebVTT 標題 檔案格式的詳細資訊,請參閱標題輸出格式。--maxLineLength LENGTH
:將 標題 的每行字元數上限設定為 LENGTH。 最小值為 20。 默認值為37 (中文為30)。--lines LINES
:將 標題 行數設定為LINES。 最小值為 1。 預設為 2。--delay MILLISECONDS
:延遲顯示每個 標題 的毫秒數,以仿真實時體驗。 此選項僅適用於您使用realTime
旗標時。 最小值為 0.0。 預設值為 1000。--remainTime MILLISECONDS
:如果 標題 未由另一個毫秒取代,標題 應該保留在畫面上。 最小值為 0.0。 預設值為 1000。--quiet
:隱藏主控台輸出,但錯誤除外。--profanity OPTION
:有效值:原始、移除、遮罩。 如需詳細資訊,請參閱 粗話篩選 概念。--threshold NUMBER
:設定穩定的部分結果閾值。 預設值是3
。 此選項僅適用於您使用realTime
旗標時。 如需詳細資訊,請參閱 取得部分結果 概念。
清除資源
您可以使用 Azure 入口網站 或 Azure 命令行介面 (CLI) 來移除您所建立的語音資源。
參考文件 | 套件 (Go) | GitHub 上的其他範例
在本快速入門中,您會執行控制台應用程式,以使用語音轉換文字建立 標題。
提示
嘗試 Speech Studio,並選擇範例影片剪輯以查看即時或離線處理的字幕結果。
必要條件
設定環境
檢查是否有任何 平臺特定的安裝步驟。
您也必須安裝 GStreamer 以進行壓縮的輸入音訊。
從語音建立 標題
請遵循下列步驟來建置並執行 標題 快速入門程式代碼範例。
將案例/go/標題/範例檔案從 GitHub 下載或複製到本機目錄。
在與
captioning.go
相同的目錄中開啟命令提示字元。執行下列命令,以建立
go.mod
連結至 GitHub 上裝載之語音 SDK 元件的檔案:go mod init captioning go get github.com/Microsoft/cognitive-services-speech-sdk-go
建置 GO 模組。
go build
使用您慣用的命令行自變數執行應用程式。 請參閱 可用選項的使用方式和自變數 。 以下是範例:
go run captioning --key YourSubscriptionKey --region YourServiceRegion --input caption.this.mp4 --format any --output caption.output.txt --srt --recognizing --threshold 5 --profanity mask --phrases "Contoso;Jessie;Rehaan"
取代為您的語音資源金鑰,並將 取代
YourServiceRegion
YourSubscriptionKey
為您的語音資源區域,例如westus
或northeurope
。 請確定和--output
所--input
指定的路徑有效。 否則您必須變更路徑。重要
完成時,請記得從程式碼中移除金鑰,且不要公開張貼金鑰。 在生產環境中,請使用安全的方式來儲存和存取您的認證,例如 Azure Key Vault。 如需詳細資訊,請參閱 Azure AI 服務安全性一文。
檢查結果
具有完整 標題 的輸出檔案會caption.output.txt
寫入 。 中繼結果會顯示在控制台中:
00:00:00,180 --> 00:00:01,600
Welcome to
00:00:00,180 --> 00:00:01,820
Welcome to applied
00:00:00,180 --> 00:00:02,420
Welcome to applied mathematics
00:00:00,180 --> 00:00:02,930
Welcome to applied mathematics course
00:00:00,180 --> 00:00:03,100
Welcome to applied Mathematics course 2
00:00:00,180 --> 00:00:03,230
Welcome to applied Mathematics course 201.
SRT (SubRip Text) 時間範圍輸出格式為 hh:mm:ss,fff
。 如需詳細資訊,請參閱 標題輸出格式。
使用方式和自變數
使用方式:go run captioning.go helper.go --key <key> --region <region> --input <input file>
連線 ion 選項包括:
--key
:您的語音資源密鑰。--region REGION
:您的語音資源區域。 範例:westus
、northeurope
輸入選項包括:
--input FILE
:從檔案輸入音訊。 默認輸入是麥克風。--format FORMAT
:使用壓縮的音訊格式。 只適用於--file
。 有效值為alaw
、、any
、、mulaw
flac
mp3
、 和ogg_opus
。 預設值是any
。 若要使用wav
檔案,請勿指定格式。 這個選項不適用於 JavaScript 標題 ing 範例。 如需 MP4 等壓縮音訊檔案,請安裝 GStreamer,並參閱 如何使用壓縮的輸入音訊。
語言選項包括:
--languages LANG1,LANG2
:啟用指定語言的語言識別。 例如:en-US,ja-JP
。 此選項僅適用於 C++、C# 和 Python 標題 範例。 如需詳細資訊,請參閱 語言識別。
辨識選項包括:
--recognizing
:輸出Recognizing
事件結果。 默認輸出Recognized
只是事件結果。 這些一律會寫入主控台,永遠不會寫入輸出檔案。 選項--quiet
會覆寫這個。 如需詳細資訊,請參閱取得語音辨識結果。
精確度選項包括:
--phrases PHRASE1;PHRASE2
:您可以指定要辨識的片語清單,例如Contoso;Jessie;Rehaan
。 如需詳細資訊,請參閱 使用片語清單改善辨識。
輸出選項包括:
--help
:顯示此說明並停止--output FILE
:將 標題 輸出至指定的file
。 需要此旗標。--srt
:SRT (SubRip Text) 格式的輸出 標題。 默認格式為 WebVTT (Web 影片文字曲目)。 如需 SRT 和 WebVTT 標題 檔案格式的詳細資訊,請參閱標題輸出格式。--quiet
:隱藏主控台輸出,但錯誤除外。--profanity OPTION
:有效值:原始、移除、遮罩。 如需詳細資訊,請參閱 粗話篩選 概念。--threshold NUMBER
:設定穩定的部分結果閾值。 預設值是3
。 如需詳細資訊,請參閱 取得部分結果 概念。
清除資源
您可以使用 Azure 入口網站 或 Azure 命令行介面 (CLI) 來移除您所建立的語音資源。
在本快速入門中,您會執行控制台應用程式,以使用語音轉換文字建立 標題。
提示
嘗試 Speech Studio,並選擇範例影片剪輯以查看即時或離線處理的字幕結果。
必要條件
設定環境
您必須先安裝語音 SDK,才能執行任何動作。 本快速入門中的範例會與 Microsoft Build of OpenJDK 17 搭配 運作
- 安裝 Apache Maven。 然後執行
mvn -v
以確認安裝成功。 - 在專案的根目錄中建立新的
pom.xml
檔案,並將下列內容複製到其中:<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.microsoft.cognitiveservices.speech.samples</groupId> <artifactId>quickstart-eclipse</artifactId> <version>1.0.0-SNAPSHOT</version> <build> <sourceDirectory>src</sourceDirectory> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.7.0</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> </plugins> </build> <dependencies> <dependency> <groupId>com.microsoft.cognitiveservices.speech</groupId> <artifactId>client-sdk</artifactId> <version>1.37.0</version> </dependency> </dependencies> </project>
- 安裝語音 SDK 和相依性。
mvn clean dependency:copy-dependencies
- 您也必須安裝 GStreamer 以進行壓縮的輸入音訊。
設定環境變數
您的應用程式必須經過驗證,才能存取 Azure AI 服務資源。 針對生產環境,請使用安全的方式來儲存和存取您的認證。 例如,取得 語音資源的金鑰 之後,請將它寫入執行應用程式的本機計算機上新的環境變數。
提示
請勿將金鑰直接包含在您的程式代碼中,且絕不會公開發佈。 如需更多驗證選項,請參閱 Azure AI 服務安全性,例如 Azure 金鑰保存庫。
若要設定語音資源密鑰的環境變數,請開啟控制台視窗,並遵循作業系統和開發環境的指示。
- 若要設定
SPEECH_KEY
環境變數,請將your-key取代為資源的其中一個密鑰。 - 若要設定
SPEECH_REGION
環境變數,請將您的區域取代為您資源的其中一個區域。
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
注意
如果您只需要存取目前控制台中的環境變數,您可以使用 來設定環境變數 set
,而不是 setx
。
新增環境變數之後,您可能需要重新啟動任何需要讀取環境變數的程式,包括主控台視窗。 例如,如果您使用 Visual Studio 作為編輯器,請在執行範例之前重新啟動 Visual Studio。
從語音建立 標題
請遵循下列步驟來建置並執行 標題 快速入門程式代碼範例。
- 將 scenarios/java/jre/標題 ing/ 範例檔案從 GitHub 複製到您的項目目錄。
pom.xml
您在環境設定中建立的檔案也必須在此目錄中。 - 開啟命令提示字元,然後執行此命令來編譯項目檔。
javac Captioning.java -cp ".;target\dependency\*" -encoding UTF-8
- 使用您慣用的命令行自變數執行應用程式。 請參閱 可用選項的使用方式和自變數 。 以下是範例:
java -cp ".;target\dependency\*" Captioning --input caption.this.mp4 --format any --output caption.output.txt --srt --realTime --threshold 5 --delay 0 --profanity mask --phrases "Contoso;Jessie;Rehaan"
重要
請確定和
--output
所--input
指定的路徑有效。 否則您必須變更路徑。請確定您已如上所述設定
SPEECH_KEY
和SPEECH_REGION
環境變數。 否則,請使用--key
和--region
自變數。
檢查結果
當您在上述範例中使用 realTime
選項時,輸出中會包含來自 Recognizing
事件的部分結果。 在此範例中,只有最終 Recognized
事件包含逗號。 逗號不是和 Recognized
事件之間的Recognizing
唯一差異。 如需詳細資訊,請參閱 取得部分結果。
1
00:00:00,170 --> 00:00:00,380
The
2
00:00:00,380 --> 00:00:01,770
The rainbow
3
00:00:01,770 --> 00:00:02,560
The rainbow has seven
4
00:00:02,560 --> 00:00:03,820
The rainbow has seven colors
5
00:00:03,820 --> 00:00:05,050
The rainbow has seven colors red
6
00:00:05,050 --> 00:00:05,850
The rainbow has seven colors red
orange
7
00:00:05,850 --> 00:00:06,440
The rainbow has seven colors red
orange yellow
8
00:00:06,440 --> 00:00:06,730
The rainbow has seven colors red
orange yellow green
9
00:00:06,730 --> 00:00:07,160
orange, yellow, green, blue,
indigo and Violet.
當您使用 --offline
選項時,結果會從最終 Recognized
事件穩定。 部分結果不會包含在輸出中:
1
00:00:00,170 --> 00:00:05,540
The rainbow has seven colors, red,
orange, yellow, green, blue,
2
00:00:05,540 --> 00:00:07,160
indigo and Violet.
SRT (SubRip Text) 時間範圍輸出格式為 hh:mm:ss,fff
。 如需詳細資訊,請參閱 標題輸出格式。
使用方式和自變數
使用方式:java -cp ".;target\dependency\*" Captioning --input <input file>
連線 ion 選項包括:
--key
:您的語音資源密鑰。 覆寫SPEECH_KEY環境變數。 您必須設定環境變數 (建議) 或使用--key
選項。--region REGION
:您的語音資源區域。 覆寫SPEECH_REGION環境變數。 您必須設定環境變數 (建議) 或使用--region
選項。 範例:westus
、northeurope
輸入選項包括:
--input FILE
:從檔案輸入音訊。 默認輸入是麥克風。--format FORMAT
:使用壓縮的音訊格式。 只適用於--file
。 有效值為alaw
、、any
、、mulaw
flac
mp3
、 和ogg_opus
。 預設值是any
。 若要使用wav
檔案,請勿指定格式。 這個選項不適用於 JavaScript 標題 範例。 如需 MP4 等壓縮音訊檔案,請安裝 GStreamer,並參閱 如何使用壓縮的輸入音訊。
語言選項包括:
--language LANG
:使用其中一個對應的 支援地區設定來指定語言。 這會在將 標題 分成幾行時使用。 預設值為en-US
。
辨識選項包括:
--offline
:輸出離線結果。 覆寫--realTime
。 默認輸出模式為離線。--realTime
:輸出實時結果。
實時輸出包含 Recognizing
事件結果。 默認離線輸出只會是 Recognized
事件結果。 這些一律會寫入主控台,永遠不會寫入輸出檔案。 選項 --quiet
會覆寫這個。 如需詳細資訊,請參閱取得語音辨識結果。
精確度選項包括:
--phrases PHRASE1;PHRASE2
:您可以指定要辨識的片語清單,例如Contoso;Jessie;Rehaan
。 如需詳細資訊,請參閱 使用片語清單改善辨識。
輸出選項包括:
--help
:顯示此說明並停止--output FILE
:輸出 標題 至指定的file
。 需要此旗標。--srt
:SRT (SubRip Text) 格式的輸出 標題。 默認格式為 WebVTT (Web 影片文字曲目)。 如需 SRT 和 WebVTT 標題 檔案格式的詳細資訊,請參閱標題輸出格式。--maxLineLength LENGTH
:將 標題 的每行字元數上限設定為 LENGTH。 最小值為 20。 默認值為37 (中文為30)。--lines LINES
:將 標題 行數設定為LINES。 最小值為 1。 預設為 2。--delay MILLISECONDS
:延遲顯示每個 標題 的毫秒數,以仿真實時體驗。 此選項僅適用於您使用realTime
旗標時。 最小值為 0.0。 預設值為 1000。--remainTime MILLISECONDS
:如果 標題 未由另一個取代,標題 應該保留在螢幕上的毫秒數。 最小值為 0.0。 預設值為 1000。--quiet
:隱藏主控台輸出,但錯誤除外。--profanity OPTION
:有效值:原始、移除、遮罩。 如需詳細資訊,請參閱 粗話篩選 概念。--threshold NUMBER
:設定穩定的部分結果閾值。 預設值是3
。 此選項僅適用於您使用realTime
旗標時。 如需詳細資訊,請參閱 取得部分結果 概念。
清除資源
您可以使用 Azure 入口網站 或 Azure 命令行介面 (CLI) 來移除您所建立的語音資源。
參考文件 | 套件 (npm) | GitHub 上的其他範例 | 程式庫原始程式碼
在本快速入門中,您會執行控制台應用程式,以建立具有語音轉換文字的 標題。
提示
嘗試 Speech Studio,並選擇範例影片剪輯以查看即時或離線處理的字幕結果。
必要條件
設定環境
您必須先安裝適用於 JavaScript 的語音 SDK,才能執行任何動作。 如果您只要安裝套件名稱,請執行 npm install microsoft-cognitiveservices-speech-sdk
。 如需引導式安裝指示,請參閱 SDK 安裝指南。
從語音建立 標題
請遵循下列步驟來建置並執行 標題 快速入門程式代碼範例。
將案例/javascript/node/標題/範例檔案從 GitHub 複製到您的項目目錄。
在與
Captioning.js
相同的目錄中開啟命令提示字元。安裝適用於 JavaScript 的語音 SDK:
npm install microsoft-cognitiveservices-speech-sdk
使用您慣用的命令行自變數執行應用程式。 請參閱 可用選項的使用方式和自變數 。 以下是範例:
node captioning.js --key YourSubscriptionKey --region YourServiceRegion --input caption.this.wav --output caption.output.txt --srt --recognizing --threshold 5 --profanity mask --phrases "Contoso;Jessie;Rehaan"
取代為您的語音資源金鑰,並將 取代
YourServiceRegion
YourSubscriptionKey
為您的語音資源區域,例如westus
或northeurope
。 請確定和--output
所--input
指定的路徑有效。 否則您必須變更路徑。注意
適用於 JavaScript 的語音 SDK 不支援壓縮的輸入音訊。 您必須使用 WAV 檔案,如範例所示。
重要
完成時,請記得從程式碼中移除金鑰,且不要公開張貼金鑰。 在生產環境中,請使用安全的方式來儲存和存取您的認證,例如 Azure Key Vault。 如需詳細資訊,請參閱 Azure AI 服務安全性一文。
檢查結果
具有完整 標題 的輸出檔會caption.output.txt
寫入 。 中繼結果會顯示在控制台中:
00:00:00,180 --> 00:00:01,600
Welcome to
00:00:00,180 --> 00:00:01,820
Welcome to applied
00:00:00,180 --> 00:00:02,420
Welcome to applied mathematics
00:00:00,180 --> 00:00:02,930
Welcome to applied mathematics course
00:00:00,180 --> 00:00:03,100
Welcome to applied Mathematics course 2
00:00:00,180 --> 00:00:03,230
Welcome to applied Mathematics course 201.
SRT (SubRip Text) 時間範圍輸出格式為 hh:mm:ss,fff
。 如需詳細資訊,請參閱 標題輸出格式。
使用方式和自變數
使用方式:node captioning.js --key <key> --region <region> --input <input file>
連線 ion 選項包括:
--key
:您的語音資源密鑰。--region REGION
:您的語音資源區域。 範例:westus
、northeurope
輸入選項包括:
--input FILE
:從檔案輸入音訊。 默認輸入是麥克風。--format FORMAT
:使用壓縮的音訊格式。 只適用於--file
。 有效值為alaw
、、any
、、mulaw
flac
mp3
、 和ogg_opus
。 預設值是any
。 若要使用wav
檔案,請勿指定格式。 這個選項不適用於 JavaScript 標題 範例。 如需 MP4 等壓縮音訊檔案,請安裝 GStreamer,並參閱 如何使用壓縮的輸入音訊。
語言選項包括:
--languages LANG1,LANG2
:啟用指定語言的語言識別。 例如:en-US,ja-JP
。 此選項僅適用於 C++、C# 和 Python 標題 範例。 如需詳細資訊,請參閱 語言識別。
辨識選項包括:
--recognizing
:輸出Recognizing
事件結果。 默認輸出Recognized
只是事件結果。 這些一律會寫入主控台,永遠不會寫入輸出檔案。 選項--quiet
會覆寫這個。 如需詳細資訊,請參閱取得語音辨識結果。
精確度選項包括:
--phrases PHRASE1;PHRASE2
:您可以指定要辨識的片語清單,例如Contoso;Jessie;Rehaan
。 如需詳細資訊,請參閱 使用片語清單改善辨識。
輸出選項包括:
--help
:顯示此說明並停止--output FILE
:輸出 標題 至指定的file
。 需要此旗標。--srt
:SRT (SubRip Text) 格式的輸出 標題。 默認格式為 WebVTT (Web 影片文字曲目)。 如需 SRT 和 WebVTT 標題 檔案格式的詳細資訊,請參閱標題輸出格式。--quiet
:隱藏主控台輸出,但錯誤除外。--profanity OPTION
:有效值:原始、移除、遮罩。 如需詳細資訊,請參閱 粗話篩選 概念。--threshold NUMBER
:設定穩定的部分結果閾值。 預設值是3
。 如需詳細資訊,請參閱 取得部分結果 概念。
清除資源
您可以使用 Azure 入口網站 或 Azure 命令行介面 (CLI) 來移除您所建立的語音資源。
參考文件 | 套件 (下載) | GitHub 上的其他範例
適用於 Objective-C 的語音 SDK 支援取得語音辨識結果以進行 標題,但我們尚未在此包含指南。 請選取另一種程式設計語言來開始使用並了解概念,或參閱本文開頭連結的 Objective-C 參考和範例。
參考文件 | 套件 (下載) | GitHub 上的其他範例
適用於 Swift 的語音 SDK 支援取得語音辨識結果以進行 標題,但我們尚未在此包含指南。 請選取另一種程式設計語言來開始使用並了解概念,或參閱本文開頭連結的 Swift 參考和範例。
參考文件 | 套件 (PyPi) | GitHub 上的其他範例
在本快速入門中,您會執行控制台應用程式,以建立具有語音轉換文字的 標題。
提示
嘗試 Speech Studio,並選擇範例影片剪輯以查看即時或離線處理的字幕結果。
必要條件
設定環境
適用於 Python 的語音 SDK 可作為 Python 套件索引 (PyPI) 模組。 適用於 Python 的語音 SDK 與 Windows、Linux 和 macOS 相容。
- 您必須為平臺安裝適用於Visual Studio 2015、2017、2019和2022的 Microsoft C++ 可轉散發套件。 第一次安裝此套件可能需要重新啟動。
- 在 Linux 上,您必須使用 x64 目標架構。
- 從 3.10 或更新版本安裝 Python 版本。 請先檢查 SDK 安裝指南 以取得任何更多需求
- 您也必須安裝 GStreamer 以進行壓縮的輸入音訊。
設定環境變數
您的應用程式必須經過驗證,才能存取 Azure AI 服務資源。 針對生產環境,請使用安全的方式來儲存和存取您的認證。 例如,取得 語音資源的金鑰 之後,請將它寫入執行應用程式的本機計算機上新的環境變數。
提示
請勿將金鑰直接包含在您的程式代碼中,且絕不會公開發佈。 如需更多驗證選項,請參閱 Azure AI 服務安全性,例如 Azure 金鑰保存庫。
若要設定語音資源密鑰的環境變數,請開啟控制台視窗,並遵循作業系統和開發環境的指示。
- 若要設定
SPEECH_KEY
環境變數,請將your-key取代為資源的其中一個密鑰。 - 若要設定
SPEECH_REGION
環境變數,請將您的區域取代為您資源的其中一個區域。
setx SPEECH_KEY your-key
setx SPEECH_REGION your-region
注意
如果您只需要存取目前控制台中的環境變數,您可以使用 來設定環境變數 set
,而不是 setx
。
新增環境變數之後,您可能需要重新啟動任何需要讀取環境變數的程式,包括主控台視窗。 例如,如果您使用 Visual Studio 作為編輯器,請在執行範例之前重新啟動 Visual Studio。
從語音建立 標題
請遵循下列步驟來建置並執行 標題 快速入門程式代碼範例。
- 將案例/python/console/標題/範例檔案從 GitHub 下載或複製到本機目錄。
- 在與
captioning.py
相同的目錄中開啟命令提示字元。 - 執行此指令以安裝語音 SDK:
pip install azure-cognitiveservices-speech
- 使用您慣用的命令行自變數執行應用程式。 請參閱 可用選項的使用方式和自變數 。 以下是範例:
python captioning.py --input caption.this.mp4 --format any --output caption.output.txt --srt --realTime --threshold 5 --delay 0 --profanity mask --phrases "Contoso;Jessie;Rehaan"
重要
請確定和
--output
所--input
指定的路徑有效。 否則您必須變更路徑。請確定您已如上所述設定
SPEECH_KEY
和SPEECH_REGION
環境變數。 否則,請使用--key
和--region
自變數。
檢查結果
當您在上述範例中使用 realTime
選項時,輸出中會包含來自 Recognizing
事件的部分結果。 在此範例中,只有最終 Recognized
事件包含逗號。 逗號不是和 Recognized
事件之間的Recognizing
唯一差異。 如需詳細資訊,請參閱 取得部分結果。
1
00:00:00,170 --> 00:00:00,380
The
2
00:00:00,380 --> 00:00:01,770
The rainbow
3
00:00:01,770 --> 00:00:02,560
The rainbow has seven
4
00:00:02,560 --> 00:00:03,820
The rainbow has seven colors
5
00:00:03,820 --> 00:00:05,050
The rainbow has seven colors red
6
00:00:05,050 --> 00:00:05,850
The rainbow has seven colors red
orange
7
00:00:05,850 --> 00:00:06,440
The rainbow has seven colors red
orange yellow
8
00:00:06,440 --> 00:00:06,730
The rainbow has seven colors red
orange yellow green
9
00:00:06,730 --> 00:00:07,160
orange, yellow, green, blue,
indigo and Violet.
當您使用 --offline
選項時,結果會從最終 Recognized
事件穩定。 部分結果不會包含在輸出中:
1
00:00:00,170 --> 00:00:05,540
The rainbow has seven colors, red,
orange, yellow, green, blue,
2
00:00:05,540 --> 00:00:07,160
indigo and Violet.
SRT (SubRip Text) 時間範圍輸出格式為 hh:mm:ss,fff
。 如需詳細資訊,請參閱 標題輸出格式。
使用方式和自變數
使用方式:python captioning.py --input <input file>
連線 ion 選項包括:
--key
:您的語音資源密鑰。 覆寫SPEECH_KEY環境變數。 您必須設定環境變數 (建議) 或使用--key
選項。--region REGION
:您的語音資源區域。 覆寫SPEECH_REGION環境變數。 您必須設定環境變數 (建議) 或使用--region
選項。 範例:westus
、northeurope
輸入選項包括:
--input FILE
:從檔案輸入音訊。 默認輸入是麥克風。--format FORMAT
:使用壓縮的音訊格式。 只適用於--file
。 有效值為alaw
、、any
、、mulaw
flac
mp3
、 和ogg_opus
。 預設值是any
。 若要使用wav
檔案,請勿指定格式。 這個選項不適用於 JavaScript 標題 範例。 如需 MP4 等壓縮音訊檔案,請安裝 GStreamer,並參閱 如何使用壓縮的輸入音訊。
語言選項包括:
--language LANG
:使用其中一個對應的 支援地區設定來指定語言。 這會在將 標題 分成幾行時使用。 預設值為en-US
。
辨識選項包括:
--offline
:輸出離線結果。 覆寫--realTime
。 默認輸出模式為離線。--realTime
:輸出實時結果。
實時輸出包含 Recognizing
事件結果。 默認離線輸出只會是 Recognized
事件結果。 這些一律會寫入主控台,永遠不會寫入輸出檔案。 選項 --quiet
會覆寫這個。 如需詳細資訊,請參閱取得語音辨識結果。
精確度選項包括:
--phrases PHRASE1;PHRASE2
:您可以指定要辨識的片語清單,例如Contoso;Jessie;Rehaan
。 如需詳細資訊,請參閱 使用片語清單改善辨識。
輸出選項包括:
--help
:顯示此說明並停止--output FILE
:輸出 標題 至指定的file
。 需要此旗標。--srt
:SRT (SubRip Text) 格式的輸出 標題。 默認格式為 WebVTT (Web 影片文字曲目)。 如需 SRT 和 WebVTT 標題 檔案格式的詳細資訊,請參閱標題輸出格式。--maxLineLength LENGTH
:將 標題 的每行字元數上限設定為 LENGTH。 最小值為 20。 默認值為37 (中文為30)。--lines LINES
:將 標題 行數設定為LINES。 最小值為 1。 預設為 2。--delay MILLISECONDS
:延遲顯示每個 標題 的毫秒數,以仿真實時體驗。 此選項僅適用於您使用realTime
旗標時。 最小值為 0.0。 預設值為 1000。--remainTime MILLISECONDS
:如果 標題 未由另一個取代,標題 應該保留在螢幕上的毫秒數。 最小值為 0.0。 預設值為 1000。--quiet
:隱藏主控台輸出,但錯誤除外。--profanity OPTION
:有效值:原始、移除、遮罩。 如需詳細資訊,請參閱 粗話篩選 概念。--threshold NUMBER
:設定穩定的部分結果閾值。 預設值是3
。 此選項僅適用於您使用realTime
旗標時。 如需詳細資訊,請參閱 取得部分結果 概念。
清除資源
您可以使用 Azure 入口網站 或 Azure 命令行介面 (CLI) 來移除您所建立的語音資源。
在本快速入門中,您會執行控制台應用程式,以使用語音轉換文字建立 標題。
提示
嘗試 Speech Studio,並選擇範例影片剪輯以查看即時或離線處理的字幕結果。
必要條件
設定環境
請遵循下列步驟,並參閱 語音 CLI 快速入門 ,以了解平臺的其他需求。
執行下列 .NET CLI 命令以安裝語音 CLI:
dotnet tool install --global Microsoft.CognitiveServices.Speech.CLI
執行下列命令來設定您的語音資源金鑰和區域。 以您的語音資源金鑰取代
SUBSCRIPTION-KEY
,而以您的語音資源區域取代REGION
。spx config @key --set SUBSCRIPTION-KEY spx config @region --set REGION
您也必須安裝 GStreamer 以進行壓縮的輸入音訊。
從語音建立 標題
使用語音 CLI,您可以從包含音訊的任何媒體輸出 SRT (SubRip Text) 和 WebVTT (Web Video Text Tracks) 標題。
若要從檔案辨識音訊,並輸出 WebVtt () 和 SRT (vtt
srt
) 標題,請遵循下列步驟。
請確定您在路徑中有名為
caption.this.mp4
的輸入檔。執行下列命令,從影片檔案輸出 標題:
spx recognize --file caption.this.mp4 --format any --output vtt file - --output srt file - --output each file - @output.each.detailed --property SpeechServiceResponse_StablePartialResultThreshold=5 --profanity masked --phrases "Constoso;Jessie;Rehaan"
SRT 和 WebVTT 標題 會輸出至主控台,如下所示:
1 00:00:00,180 --> 00:00:03,230 Welcome to applied Mathematics course 201. WEBVTT 00:00:00.180 --> 00:00:03.230 Welcome to applied Mathematics course 201. { "ResultId": "561a0ea00cc14bb09bd294357df3270f", "Duration": "00:00:03.0500000" }
使用方式和自變數
以下是上一個命令中選擇性自變數的詳細資料:
--file caption.this.mp4 --format any
:從檔案輸入音訊。 默認輸入是麥克風。 如需 MP4 等壓縮音訊檔案,請安裝 GStreamer,並參閱 如何使用壓縮的輸入音訊。--output vtt file -
和--output srt file -
:將 WebVTT 和 SRT 標題 輸出至標準輸出。 如需 SRT 和 WebVTT 標題 檔案格式的詳細資訊,請參閱標題輸出格式。 如需自--output
變數的詳細資訊,請參閱 語音 CLI 輸出選項。@output.each.detailed
:輸出含有文字、位移和持續時間的事件結果。 如需詳細資訊,請參閱取得語音辨識結果。--property SpeechServiceResponse_StablePartialResultThreshold=5
:您可以要求語音服務傳回較精確的事件較少Recognizing
。 在此範例中,語音服務必須在將部分結果傳回給您之前,至少確認辨識一個字組五次。 如需詳細資訊,請參閱 取得部分結果 概念。--profanity masked
:您可以指定是否要在辨識結果中遮罩、移除或顯示粗話。 如需詳細資訊,請參閱 粗話篩選 概念。--phrases "Constoso;Jessie;Rehaan"
:您可以指定要辨識的詞組清單,例如 Contoso、Jessie 和 Rehaan。 如需詳細資訊,請參閱 使用片語清單改善辨識。
清除資源
您可以使用 Azure 入口網站 或 Azure 命令行介面 (CLI) 來移除您所建立的語音資源。