簡介
使用微軟語音可以實現語音轉文字和文字轉語音。測試了下,使用還是挺方便的。
使用微軟語音有兩種方式。一種是使用命令行的形式,另一種是調用SDK的方式。
適合使用語音 CLI 的情況:
- 想在極少設置且無需編寫代碼的情況下試驗語音服務功能。
- 對使用語音服務的生產應用程序的要求相對簡單。
適合使用語音 SDK 的情況:
- 需要在特定語言或平臺(如 C#、Python 或 C++)中集成語音服務功能。
- 你有可能需要高級服務請求的復雜需求。
- 你要開發自定義行為,包括響應流。
語音CLI
語音 CLI 是一種命令行工具,用于在不編寫任何代碼的情況下使用語音服務。 語音 CLI 需要的設置很少。
核心功能
????????語音識別:將音頻文件中的或直接將麥克風語音轉換為文本,或轉錄錄制的對話。
????????語音合成:將文本文件中輸入的文本或直接來自于命令行的輸入文本轉換為語音。 使用語音合成標記語言 (SSML) 配置自定義語音輸出特征。
????????語音翻譯:將源語言的音頻翻譯為目標語言的文本或音頻。
????????在 Azure 計算資源上運行:使用 spx webjob 發送語音 CLI 命令以在 Azure 遠程計算資源上運行。
使用說明
下載安裝
第一步下載安裝:?Microsoft Visual C++ Redistributable for Visual Studio 2019
第二步下載安裝:?.NET 6
第三步下載安裝語音插件:
命令行安裝
dotnet tool install --global Microsoft.CognitiveServices.Speech.CLI
命令行更新
dotnet tool update --global Microsoft.CognitiveServices.Speech.CLI
配置賬戶
假定你已經申請了賬戶,如果沒有可以到Microsoft Azure 門戶 | Microsoft Azure注冊試用賬戶
//這里使用cmd控制臺配置賬戶到當前路徑
spx config @key --set SPEECH-KEY
spx config @region --set SPEECH-REGION//查看配置信息
spx config @key
spx config @region//刪除配置信息
spx config @key --clear
spx config @region --clear
使用
//查看幫助
spx
//查看指定主題的幫助信息
spx help find --topics "examples"
語音轉文本
//識別麥克風輸入的音頻,運行該命令后,SPX 開始在當前活動的輸入設備上偵聽音頻。 當你選擇 Enter 時,SPX 將停止偵聽。 然后,語音音頻將被識別并轉換為控制臺輸出中的文本
spx recognize --microphone
//將指定音頻文件轉為文本輸出
spx recognize --file /path/to/file.wav
文本轉語音
//以下命令會將文本作為輸入,然后將合成的語音輸出到當前活動的輸出設備(例如計算機揚聲器)
spx synthesize --text "Testing synthesis using the Speech CLI" --speakers
//你還可將合成的輸出保存到文件中。 在此示例中,我們可以在運行命令的目錄中創建一個名為 my-sample 的文件
spx synthesize --text "Enjoy using the Speech CLI." --audio output my-sample.wav
//獲取語音列表
spx synthesize --voices
//使用指定語音輸出
spx synthesize --text "Bienvenue chez moi." --voice fr-FR-AlainNeural --speakers
語音到文本的轉換
//借助語音 CLI,你還可以執行語音到文本的轉換。 運行以下命令,可從默認的麥克風捕獲音頻,并以文本形式輸出轉換。 記住,你需要通過?
translate
?命令提供?source
?和?target
?語言spx translate --microphone --source en-US --target ru-RU
將語音翻譯成多種語言時,請用分號 (
;
)分隔語言代碼spx translate --microphone --source en-US --target 'ru-RU;fr-FR;es-ES'
如果要保存轉換的輸出,請使用?
--output
?標志。 在本例中,還可以從文件中進行讀取spx translate --file /some/file/path/input.wav --source en-US --target ru-RU --output file /some/file/path/russian_translation.txt
官方說明文檔:如何基于文本合成語音 - 語音服務 - Azure AI services | Microsoft Learn