Azure AI 語音有何新功能?
Azure AI 語音會持續更新。 為了讓您隨時掌握最新的開發訊息,此文章提供有關新版本與新功能的資訊。
最近醒目提示
- Azure AI 語音服務支援 OpenAI 文字到語音語音。 如需詳細資訊,請參閱 什麼是OpenAI文字到語音轉換?。
- 自訂語音 API 可用於建立和管理專業和個人自定義神經語音模型。
- Azure AI 語音現在透過批次轉譯 API 支援 OpenAI 的 Whisper 模型。 若要深入瞭解,請參閱 建立批次轉譯 指南。
版本資訊
選擇服務或資源
即將推出的 Linux 和 Android 使用者方案:
警告
本文參考 CentOS,這是接近生命週期結束 (EOL) 狀態的 Linux 發行版本。 請據此考慮您的使用方式和規劃。 如需詳細資訊,請參閱 CentOS 生命週期結束指導。
- Ubuntu 18.04 也於 2023 年 4 月結束生命週期,因此我們的使用者應該為我們準備將最低版本移至 Ubuntu 20.04。
語音 SDK 1.37.0:2024 年 4 月版本
新功能
- 新增語音合成中輸入文字串流的支援。
- 將預設語音合成語音變更為 en-US-AvaMultilingualNeural。
- 更新 Android 組建以使用 OpenSSL 3.x。
錯誤修正
- 修正使用 MAS 時,在 SpeechRecognizer 處置期間偶爾發生 JVM 當機的問題。 (https://github.com/Azure-Samples/cognitive-services-speech-sdk/issues/2125)
- 改善 Linux 上預設音訊裝置的偵測。 (https://github.com/Azure-Samples/cognitive-services-speech-sdk/issues/2292)
範例
- 已更新新功能。
語音 SDK 1.36.0:2024 年 3 月版本
新功能
- 使用 AutoDetectSourceLanguageConfig::FromOpenRange() 在 v2 端點上新增語言識別支援。
錯誤修正
修正在 SynthesisStarted 事件期間呼叫 stop 時未引發的 SynthesisCanceled 事件。
修正內嵌語音合成中的雜訊問題。
在平行執行多個辨識器時,修正內嵌語音辨識中的當機問題。
修正 v1/v2 端點上的片語偵測模式設定。
修正 Microsoft Audio Stack 的各種問題。
範例
- 更新 新功能。
語音 SDK 1.35.0:2024 年 2 月版本
新功能
- 將默認文字變更為語音語音,從 en-US-JennyMultilingualNeural 變更為 en-US-AvaNeural。
- 使用詳細的輸出格式,支援內嵌語音翻譯結果中的文字層級詳細數據。
錯誤修正
- 修正 Python 中的 AudioDataStream 位置 getter API。
- 使用 v2 端點修正語音翻譯,而不需要語言偵測。
- 修正內嵌文字到語音轉換中的隨機當機和重複字邊界事件。
- 針對 WebSocket 連線上的內部伺服器錯誤,傳回正確的取消錯誤碼。
- 修正當 MAS 與 C# 搭配使用時,無法載入FPIEProcessor.dll連結庫。
範例
- 內嵌辨識範例的次要格式設定更新。
語音 SDK 1.34.1:2024 年 1 月版本
重大變更
- 僅限錯誤修正
新功能
- 僅限錯誤修正
錯誤修正
- 修正在 1.34.0 中引進的回歸,其中服務端點 URL 是以數個中國區域中使用者不正確的地區設定資訊所建構。
語音 SDK 1.34.0:2023 年 11 月版本
重大變更
- SpeechRecognizer 已更新為預設使用新的端點(也就是未明確指定 URL 時),該 URL 不再支援大部分屬性的查詢字串參數。 請使用對應的 API 函式,而不是使用 ServicePropertyChannel.UriQueryParameter 直接設定查詢字串參數。
新功能
- 與 .NET 8 的兼容性 (修正 , https://github.com/Azure-Samples/cognitive-services-speech-sdk/issues/2170 但 centos7-x64 警告除外)
- 支援內嵌語音效能計量,可用來評估裝置執行內嵌語音的功能。
- 支援內嵌多語系翻譯中的來源語言識別。
- 支援預覽版中發行的 iOS 和 Swift/Objective-C 的內嵌語音轉換文字、文字到語音轉換和翻譯。
- MicrosoftCognitiveServicesSpeechEmbedded-iOS Cocoapod 提供內嵌支援。
錯誤修正
- 修正 iOS SDK x2 倍二進位大小成長 •問題 #2113 •Azure-Samples/cognitive-services-speech-sdk (github.com)
- 修正無法從 Azure 語音到文字 API 取得文字層級時間戳 。問題 #2156 •Azure-Samples/cognitive-services-speech-sdk (github.com)
- 修正 DialogService 連線 或解構階段,以正確中斷事件連線。 這偶爾會造成當機。
- 修正在使用 MAS 時建立辨識器時的例外狀況。
- 適用於 Windows UWP x64 和 ARM64 的 Microsoft.CognitiveServices.Speech.Extension.MAS NuGet 套件FPIEProcessor.dll相依於原生 C++ 的 VC 運行時間連結庫。 已修正此問題,方法是更新相依性以更正 VC 運行時間連結庫(適用於 UWP)。
- 修正 [MAS] 辨識OnceAsync 的迴圈呼叫會導致在使用 MAS 時SPXERR_ALREADY_INITIALIZED。問題 #2124 •Azure-Samples/cognitive-services-speech-sdk (github.com)
- 修正使用片語清單時內嵌語音辨識當機的問題。
範例
- 語音轉換文字、文字到語音轉換和翻譯的內嵌iOS範例。
語音 CLI 1.34.0:2023 年 11 月版本
新功能
- 在合成語音時支援文字界限事件輸出。
錯誤修正
- 已將 JMESPath 相依性更新為最新版本,以改善字串評估
語音 SDK 1.33.0:2023 年 10 月版本
重大變更通知
- Microsoft Audio Stack (MAS) 新增的新 NuGet 套件現在必須包含在套件組態檔中使用 MAS 的應用程式。
新功能
- 已新增新的 NuGet 套件 Microsoft.CognitiveServices.Speech.Extension.MAS.nupkg,可在使用 Microsoft Audio Stack 時提供改善的回應取消效能
- 發音評量:新增了對音素和內容評估的支援,其可在語言、詞彙、文法和主題方面評估口語語音。
錯誤修正
- 已修正關鍵詞辨識結果位移,使其自一開始就正確地符合輸入音訊數據流。 修正適用於獨立關鍵詞辨識和關鍵詞觸發的語音辨識。
- 修正合成器 stopSpeaking 不會立即 傳回 SPXSpeechSynthesizer stopSpeaking() 方法無法在 iOS 17 上立即傳回 - 問題 #2081
- 已修正使用 apple silicon 的 Swift 模組支援 mac 催化劑的 Mac 催化劑匯入問題。 問題 #1948
- JS:AudioWorkletNode 模組載入 現在會使用受信任的 URL,且 CDN 瀏覽器包含後援。
- JS:已封裝的 lib 檔案現在以 ES6 JS 為目標,且已移除對 ES5 JS 的支援。
- JS: 已正確處理以 v2 端點為目標之轉譯案例的中繼事件
- JS: TranslationRecognitionEventArgs 的語言屬性現在已設定為 translation.假說事件。
- 語音合成:SynthesisCompleted 事件保證會在所有元數據事件之後發出,因此可用來指出事件結尾。 如何偵測何時完全接收 visemes? 問題 #2093 Azure-Samples/cognitive-services-speech-sdk
範例
- 已新增範例以示範使用 Python 的 MULAW 串流)
- 修正語音轉換文字 NAudio 範例
語音 CLI 1.33.0:2023 年 10 月版本
新功能
- 在合成語音時支援文字界限事件輸出。
錯誤修正
- none
語音 SDK 1.32.1:2023 年 9 月版本
錯誤修正
- Android 套件會使用 OpenSSL1.1.1v 的最新安全性修正進行更新
- JS – 新增 WebWorkerLoadType 屬性以允許略過逾時背景工作角色的數據 URL 載入
- JS – 修正 10 分鐘後的交談翻譯中斷連線
- JS – 對話翻譯驗證令牌現在會傳播至翻譯服務連線
範例
語音 SDK 1.31.0:2023 年 8 月版本
新功能
語音 SDK 1.31.0 公開預覽中提供即時自動分段標記的支援。 這項功能適用於下列 SDK:C#、C++、JAVA、JavaScript、Python 和 Objective-C/Swift。
使用音訊播放同步的語音合成字邊界和描聲影像事件
重大變更
- 先前的「對話謄寫」案例已重新命名為「會議謄寫」。 例如,使用
MeetingTranscriber
而非ConversationTranscriber
,並使用CreateMeetingAsync
而非CreateConversationAsync
。 雖然 SDK 物件和方法的名稱已變更,但重新命名不會變更功能本身。 使用會議謄寫物件來謄寫具有使用者設定檔和語音簽章的會議。 如需詳細資訊,請參閱會議謄寫。 這些變更不會影響「對話翻譯」物件和方法。 您仍然可以針對會議翻譯案例使用ConversationTranslator
物件及其方法。
- 針對即時自動分段標記,會導入新的
ConversationTranscriber
物件。 新的「對話謄寫」物件模型和呼叫模式類似於SpeechRecognizer
物件的持續辨識。 主要差異在於ConversationTranscriber
物件是設計成用於對話案例中,您想要區分多個說話者 (自動分段標記)。 使用者設定檔和語音簽章不適用。 如需詳細資訊,請參閱即時自動分段標記快速入門。
下表顯示即時自動分段標記和會議謄寫的先前和新物件名稱。 案例名稱位於第一個資料行,前一個物件名稱位於第二個資料行中,而新的物件名稱則位於第三個資料行中。
案例名稱 | 先前的物件名稱 | 新的物件名稱 |
---|---|---|
即時自動分段標記 | N/A | ConversationTranscriber |
會議謄寫 | ConversationTranscriber ConversationTranscriptionEventArgs ConversationTranscriptionCanceledEventArgs ConversationTranscriptionResult RemoteConversationTranscriptionResult RemoteConversationTranscriptionClient RemoteConversationTranscriptionResult Participant 1ParticipantChangedReason 1User 1 |
MeetingTranscriber MeetingTranscriptionEventArgs MeetingTranscriptionCanceledEventArgs MeetingTranscriptionResult RemoteMeetingTranscriptionResult RemoteMeetingTranscriptionClient RemoteMeetingTranscriptionResult Participant ParticipantChangedReason User Meeting 2 |
1Participant
、ParticipantChangedReason
和 User
物件同時適用於會議謄寫和會議翻譯案例。
2Meeting
物件是新的,會與 MeetingTranscriber
物件搭配使用。
錯誤修正
- 已修正 macOS 最低支援版本 https://github.com/Azure-Samples/cognitive-services-speech-sdk/issues/2017
- 已修正發音評估錯誤:
- 解決 phoneme 精確度分數問題,確保它們現在只準確地反映特定的錯誤音素。 https://github.com/Azure-Samples/cognitive-services-speech-sdk/issues/1917
- 已解決發音評估功能不正確將完全正確發音識別為錯誤的問題,特別是在單字可能有多個有效發音的情況下。 https://github.com/Azure-Samples/cognitive-services-speech-sdk/issues/1530
範例
CSharp
JavaScript
語音 SDK 1.30.0:2023 年 7 月版本
新功能
- C++、C#、JAVA - 已新增內嵌語音辨識詳細結果中
DisplayWords
的支援。 - Objective-C/Swift - 已新增 Objective-C/Swift 中
ConnectionMessageReceived
事件的支援。 - Objective-C/Swift - 改善 iOS 的關鍵字現成模型。 這項變更增加了特定套件的大小,其中包含iOS二進位檔(例如 NuGet、XCFramework)。 我們正在努力減少未來版本的大小。
錯誤修正
- 已修正搭配 PhraseListGrammar 使用語音辨識器時的記憶體流失,如客戶回報 (GitHub 問題)。
- 已修正文字到語音開啟連線 API 中的死結。
其他注意事項
- JAVA - 某些內部使用的
public
JAVA API 方法已變更為封裝internal
、protected
或private
。 這項變更不應該對開發人員產生影響,因為我們不會預期應用程式正在使用那些變更。 此處已針對透明度所述。
範例
- 如何在您自己的應用程式中指定學習語言的新發音評定範例
語音 SDK 1.29.0:2023 年 6 月版本
新功能
- C++、C#、JAVA - 內嵌語音翻譯 API 的預覽。 現在您可以執行語音翻譯,而不需要雲端連線!
- JavaScript - 已針對語音翻譯啟用連續語言識別 (LID)。
- JavaScript - 將
LocaleName
屬性新增至VoiceInfo
類別的社群貢獻。 感謝您 GitHub 使用者 shivsarthak 進行提取要求。 - C++、C#、Java - 新增將內嵌文字重新取樣至語音輸出的支援,從 16 kHz 到 48 kHz 取樣率。
- 已新增在意圖識別器中使用樣本模式比對
hi-IN
的地區設定支援。
錯誤修正
- 已修正在物件解構期間,語音辨識器競爭條件所造成的損毀,如某些 Android 測試所示
- 已修正使用樣本模式比對器在意圖識別器中可能的死結
範例
- 新的內嵌語音翻譯範例
語音 SDK 1.28.0:2023 年 5 月版本
重大變更
- JavaScript SDK:已移除線上憑證狀態通訊協定 (OCSP)。 這可讓用戶端更符合憑證處理的瀏覽器和 Node 標準。 1.28 版和更新版本將不再包含我們的自訂 OCSP 模組。
新功能
- 內嵌語音辨識現在會在語句結束時發生無回應逾時時傳回
NoMatchReason::EndSilenceTimeout
。 這符合使用即時語音服務進行辨識時的行為。 - JavaScript SDK:使用
PropertyId
列舉值設定SpeechTranslationConfig
上的屬性。
錯誤修正
- Windows 上的 C# - 修正 Windows 音訊延伸模組中的潛在競爭條件/死結。 在同時快速處置音訊轉譯器,以及使用合成器方法來停止說話的情況下,基礎事件不會由停止重設,而且可能會導致轉譯器物件永遠不會處置,同時它可能會保留全域鎖定以處置,凍結 dotnet GC 執行緒。
範例
- 已新增 MAUI 的內嵌語音範例。
- 已更新 Android Java 的內嵌語音範例,以包含文字到語音轉換。
語音 SDK 1.27.0:2023 年 4 月版本
即將進行的變更通知
- 我們計畫在下一個 JavaScript SDK 版本中移除線上憑證狀態通訊協定 (OCSP)。 這可讓用戶端更符合憑證處理的瀏覽器和 Node 標準。 1.27 版是包含我們自訂 OCSP 模組的最後一個版本。
新功能
- JavaScript – 已新增使用說話者辨識和驗證從瀏覽器輸入麥克風的支援。
- 內嵌語音辨識 - 更新
PropertyId::Speech_SegmentationSilenceTimeoutMs
設定的支援。
錯誤修正
- 一般 - 服務重新連線邏輯中的可靠性更新 (JavaScript 以外的所有程式設計語言)。
- 一般 - 修正 Windows (除了 JavaScript 以外所有相關程式設計語言) 上的字串轉換流失記憶體。
- 內嵌語音辨識 - 修正使用特定文法清單項目時法文語音辨識損毀的問題。
- 原始程式碼文件 - 修正 SDK 參考文件註解,與服務上的音訊記錄相關。
- 意圖辨識 - 修正與清單實體相關的模式比對器優先順序。
範例
- 在 C# 對話謄寫 (CTS) 樣本中正確處理驗證失敗。
- 已新增 Python、JavaScript、Objective-C 和 Swift 的串流發音評估範例。
語音 SDK 1.26.0:2023 年 3 月版本
重大變更
- 下列套件中的所有 iOS 目標都已停用 Bitcode:Cocoapod with xcframework、NuGet (適用於 Xamarin 和 MAUI) 和 Unity。 此變更是因為 Apple 從 Xcode 14 和更新版本取代 Bitcode 支援。 這項變更也表示如果您使用 Xcode 13 版本,或者您已使用語音 SDK 明確啟用應用程式上的 Bitcode,您可能會遇到錯誤,指出「架構不包含 Bitcode,而且您必須重建它」。 若要解決此問題,請確定您的目標已停用 Bitcode。
- 此版本中的最低 iOS 部署目標已升級為 11.0,這表示不再支援 armv7 HW。
新功能
- 內嵌 (裝置上) 語音辨識現在支援 8 和 16-kHz 取樣率輸入音訊 (每個樣本 16-bit、單聲道 PCM)。
- 語音合成現在會報告結果中的連線、網路和服務延遲,以協助端對端延遲最佳化。
- 使用樣本模式比對進行意圖辨識的新中斷規則。 比對的字元位元組越多,將會勝過具有較低字元位元組計數的模式比對。 範例:模式「選取右上方的 {something}」將會勝過「選取 {something}」
錯誤修正
- 語音合成:修正 Emoji 在字邊界事件中不正確的錯誤。
- 使用對話式語言理解的意圖辨識 (CLU):
- 來自 CLU Orchestrator 工作流程的意圖現在會正確出現。
- JSON 結果現在可透過屬性識別碼
LanguageUnderstandingServiceResponse_JsonResult
取得。
- 使用關鍵字啟用的語音辨識:修正關鍵字辨識之後遺漏 ~150 毫秒的音訊。
- 修正語音 SDK NuGet iOS MAUI 發行組建,客戶 (GitHub 問題)
範例
- 修正由客戶回報的 Swift iOS 範例 (GitHub 問題)
語音 SDK 1.25.0:2023 年 1 月版本
重大變更
- 語言識別 (預覽) API 已經過簡化。 如果您更新為語音 SDK 1.25 並看到建置中斷,請瀏覽 [語言識別] 頁面以了解新的屬性
SpeechServiceConnection_LanguageIdMode
。 這個單一屬性會取代前兩個SpeechServiceConnection_SingleLanguageIdPriority
和SpeechServiceConnection_ContinuousLanguageIdPriority
屬性。 在最近的模型改進之後,不再需要在低延遲和高精確度之間設定優先順序。 現在,您只需要選取在執行連續語音辨識或翻譯時,是否要在啟動時執行或連續語言識別。
新功能
- C#/C++/JAVA:內嵌語音 SDK 現已在受閘道公開預覽下發行。 請參閱內嵌語音 (預覽) 文件。 當雲端連線斷斷續續或無法使用時,您現在可以進行裝置上的語音轉換文字和文字轉換語音。 已支援 Android、Linux、macOS 和 Windows 平台
- C# MAUI:在語音 SDK NuGet (客戶問題) 中已新增 iOS 和 Mac Catalyst 目標的支援
- Unity:Android x86_64架構已新增至 Unity 套件 (客戶問題)
- Go:
- C#/C++:意圖識別器現在支援 C++ 和 C# 中以及 Microsoft 服務上協調流程的交談語言理解模型
錯誤修正
- 修正在嘗試停止 KeywordRecognizer 時偶爾停止回應的問題
- Python:
- 修正
PronunciationAssessmentGranularity.FullText
設定時取得發音評定結果 (客戶問題) - 修正取得語音合成語音時未擷取男性語音的性別屬性
- 修正
- JavaScript
- 修正在 iOS 裝置 (客戶問題) 上記錄的一些 WAV 檔案
- JS SDK 現在會建置而不使用 npm-force-resolutions (Customer 問題)
- 使用使用 SpeechConfig.fromEndpoint() 建立的 speechConfig 執行個體時,對話翻譯工具現在已正確設定服務端點
範例
已新增示範如何使用內嵌語音的範例
已新增 MAUI 的語音轉換文字範例
請參閱語音 SDK 範例存放庫。
語音 SDK 1.24.2:2022 年 11 月版本
新功能
- 沒有新功能,只要內嵌引擎修正即可支援新的模型檔案。
錯誤修正
- 所有程式設計語言
- 已修正內嵌語音辨識模型的加密問題。
語音 SDK 1.24.1:2022 年 11 月版本
新功能
- 內嵌語音預覽的已發佈套件。 如需相關資訊,請參閱 https://aka.ms/embedded-speech 。
錯誤修正
- 所有程式設計語言
- 修正不支援語音字型時的內嵌 TTS 損毀
- 修正 stopSpeaking() 無法在 Linux (#1686) 上停止播放
- JavaScript SDK
- 修正對話轉譯網關音訊方式的回歸。
- Java
- 暫時將 POM 和 Javadocs 檔案發佈至 Maven Central,讓檔管線能夠更新在線參考檔。
- Python
- 修正 Python speak_text(ssml) 傳回 void 的回歸。
語音 SDK 1.24.0:2022 年 10 月版本
新功能
- 所有程式設計語言:AMR-WB (16khz) 新增至支援的文字轉換語音音訊輸出格式清單
- Python:針對支援的 Linux 發行版新增 Linux ARM64 套件。
- C#/C++/Java/Python:使用
AudioStreamWaveFormat
新增了 ALAW 和 MULAW 直接串流至語音服務的支援(除了現有的 PCM 串流)。 - C# MAUI:已更新 NuGet 套件以支援適用於 .NET MAUI 開發人員的 Android 目標(客戶問題)
- Mac:已新增個別的 XCframework for Mac,其中不包含任何 iOS 二進位檔。 這為僅需要使用較小 XCframework 套件的 Mac 二進位檔的開發人員提供選項。
- Microsoft Audio Stack (MAS):
- 當指定梁形成角度時,源自指定範圍以外的音效將會更好地抑制。
- Linux ARM32 和 Linux ARM64 的大小
libMicrosoft.CognitiveServices.Speech.extension.mas.so
大約減少了 70%。
- 使用模式比對的意圖辨識:
- 新增語言
fr
、de
es
的正圖支援jp
- 已新增語言
es
的預先建置整數支援。
- 新增語言
錯誤修正
- iOS:修正 iOS 16 語音合成錯誤,原因是壓縮音訊譯碼失敗(客戶問題)。
- JavaScript:
- 使用模式比對的意圖辨識:
- 模型內的非 JSON 字元現在會正確載入。
- 修正在連續辨識期間呼叫 時
recognizeOnceAsync(text)
發生的問題。
語音 SDK 1.23.0:2022 年 7 月版本
新功能
- C#、C++、Java:已新增語言
zh-cn
zh-hk
和意圖辨識與模式比對的支援。 - C#:已新增 .
AnyCPU
NET Framework 組建的支援
錯誤修正
- Android:將 OpenSSL 更新為 1.1.1q,修正 OpenSSL 弱點 CVE-2022-2068
- Python:修正使用 PushAudioInputStream 時的當機問題
- iOS:修正「EXC_BAD_ACCESS:嘗試取值 null 指標」,如 iOS 上所回報 (GitHub 問題)
語音 SDK 1.22.0:2022 年 6 月版本
新功能
- JAVA:已新增適用於 getEntities ()、applyLanguageModels () 和 recognizeOnceAsync(text) 的 IntentRecognitionResult API,以支援「樣本模式比對」引擎。
- Unity:已新增 Unity 套件的 Mac M1 (Apple Silicon) 支援 (GitHub 問題)
- C#:已新增 Xamarin Android x86_64支援 (GitHub 問題)
- C#: .NET Framework 最低版本已更新為 v4.6.2 for SDK C# 套件,因為 v4.6.1 已淘汰(請參閱 Microsoft .NET Framework 元件生命周期原則)
- Linux:已新增Debian 11和Ubuntu 22.04 LTS的支援。 Ubuntu 22.04 LTS 需要從此處手動安裝 libssl1.1 做為二進位套件 (例如 libssl1.1_1.1.1l-1ubuntu1.3_amd64.deb 或適用於 x64 的更新版本),或從來源編譯。
錯誤修正
- UWP:已從 UWP 連結庫移除 OpenSSL 相依性,並以 WinRT Websocket 和 HTTP API 取代,以符合安全性合規性和較小的二進位使用量。
- Mac:已修正使用以 macOS 平台為目標的 Swift 專案時發生「找不到 MicrosoftCognitiveServicesSpeech 模組」問題
- Windows、Mac:修正了透過屬性設定的音訊來源以即時速率串流的平臺特定問題,有時會落後,最終超過容量
範例 (GitHub)
- C#:更新為使用 v4.6.2 的 .NET Framework 範例
- Unity:適用於 Android 和 UWP 的虛擬助理範例
- Unity:Unity 2020 LTS 版本的 Unity 範例已更新
語音 SDK 1.21.0:2022 年 4 月版本
新功能
- Java 和 JavaScript:在使用 SpeechRecognizer 物件時新增了連續語言識別的支援
- JavaScript:已新增診斷 API 以啟用控制台記錄層級和(僅限節點)檔案記錄,以協助 Microsoft 針對客戶回報的問題進行疑難解答
- Python:已新增對話轉譯的支援
- Go:已新增說話者辨識的支援
- C++ 和 C#:已新增意圖辨識器中所需單字群組的支持(簡單模式比對)。 例如:「set|start|begin) 定時器“,其中”set“、”start“ 或 ”begin“ 必須存在,才能辨識意圖。
- 所有程式設計語言語音合成:在字邊界事件中新增持續時間屬性。 已新增標點符號界限和句子界限的支援
- Objective-C/Swift/Java:在發音評估結果物件上新增文字層級結果(類似於 C#)。 應用程式不再需要剖析 JSON 結果字串以取得文字層級資訊 (GitHub 問題)
- iOS 平臺:新增 ARMv7 架構的實驗性支援
錯誤修正
- iOS 平台:修正使用 CocoaPod 時,允許針對目標「任何 iOS 裝置」進行建置 (GitHub 問題)
- Android 平臺:OpenSSL 版本已更新為 1.1.1n,以修正安全性弱點 CVE-2022-0778
- JavaScript:修正未以檔案大小更新 wav 標頭的問題 (GitHub 問題)
- JavaScript:修正要求標識符中斷性轉譯案例的問題(GitHub 問題)
- JavaScript:修正具現化無數據流的 SpeakerAudioDestination 時的問題 (GitHub 問題]
- C++:修正 C++ 標頭以在編譯 C++17 或更新版時移除警告
範例 GitHub
- 使用語言識別進行語音辨識的新 Java 範例
- 交談轉譯的新 Python 和 Java 範例
- 說話者辨識的新 Go 範例
- 全新 C++ 和 C# 工具,適用於 Windows 列舉所有音訊擷取和轉錄裝置,以尋找其裝置識別碼。 如果您打算 從非預設裝置擷取音訊或轉譯音訊,語音 SDK 需要此標識符。
語音 SDK 1.20.0:2022 年 1 月版本
新功能
- Objective-C、Swift 和 Python:已新增 DialogService 連線 or 的支援,用於語音助理案例。
- Python:已新增 Python 3.10 的支援。 已移除 Python 3.6 的支援,每個 Python 的 生命周期結束 3.6。
- Unity:Linux 上的 Unity 應用程式現在支援語音 SDK。
- C++、C#:C# 現在支援使用模式比對的 IntentRecognizer。 此外,C++ 和 C# 現在支援自定義實體、選擇性群組和實體角色的案例。
- C++、C#:使用新的類別 FileLogger、MemoryLogger 和 EventLogger 改善診斷追蹤記錄。 SDK 記錄是 Microsoft 診斷客戶回報問題的重要工具。 這些新類別可讓客戶更輕鬆地將語音 SDK 記錄整合到自己的記錄系統中。
- 所有程式設計語言:發音AssessmentConfig 現在都有屬性可設定所需的音素字母(IPA 或 SAPI)和 N-Best 電話 me Count(避免需要根據 GitHub 問題 1284 撰寫設定 JSON)。 此外,現在支援音節層級輸出。
- Android、iOS 和 macOS (所有程式設計語言):不再需要 GStreamer 就能支援受限頻寬網路。 SpeechSynthesizer 現在會使用作業系統的音訊解碼功能,以解碼從文字轉換語音服務串流的壓縮音訊。
- 所有程式設計語言:SpeechSynthesizer 現在支援三個新的原始輸出 Opus 格式(不含容器),這些格式在即時串流案例中廣泛使用。
- JavaScript:已將 getVoicesAsync() API 新增至 SpeechSynthesizer,以擷取支援的合成語音清單(GitHub 問題 1350)
- JavaScript:已將 getWaveFormat() API 新增至 AudioStreamFormat 以支援非 PCM 波格式(GitHub 問題 452)
- JavaScript:已將磁碟區 getter/setter 和 mute()/unmute() API 新增至 SpeakerAudioDestination (GitHub 問題 463)
錯誤修正
- C++、C#、Java、JavaScript、Objective-C 和 Swift:修正在停止使用 PushAudioInputStream 的語音辨識器時移除 10 秒的延遲。 這是針對在呼叫 StopContinuousRecognition 之後未推送任何新音訊的情況 (GitHub 問題 1318, 331)
- Android 和 UWP 上的 Unity:已針對 UWP、Android ARM64 和 Windows 子系統 Android 版 (WSA) ARM64 修正 Unity 元檔案 (GitHub 問題 1360)
- iOS:使用 CocoaPods 時在任何 iOS 裝置上編譯您的語音 SDK 應用程式現已修正 (GitHub 問題 1320)
- iOS:當 SpeechSynthesizer 設定為將音訊直接輸出至喇叭時,在極少數情況下,播放會停止。 這是修正的。
- JavaScript:如果找不到任何音訊工作程式,請使用腳本處理器後援進行麥克風輸入 (GitHub 問題 455)
- JavaScript:將通訊協定新增至代理程式以減輕 Sentry 整合發現的錯誤 (GitHub 問題 465)
範例 GitHub
- C++、 C#、 Python 和 Java 範例示範如何取得詳細的辨識結果。 詳細數據包括替代辨識結果、信賴分數、語彙形式、標準化表單、遮罩正規化窗體,以及每個文字層級的計時。
- 使用AVFoundation作為外部音訊來源新增的iOS範例 。
- 已新增 Java 範例 ,示範如何使用 WordBoundary 事件取得 SRT (SubRip Text) 格式。
- 發音評定的Android範例 。
- C++, C# 顯示新診斷記錄類別的使用方式。
語音 SDK 1.19.0:2021-11 月版本
重點
說話者辨識服務現已正式推出(GA)。 語音 SDK API 適用於 C++、C#、Java 和 JavaScript。 使用說話者辨識,您可以藉由其獨特的語音特性準確驗證和識別說話者。 如需此主題的詳細資訊,請參閱文件。
我們已搭配 Azure DevOps 和 GitHub 放棄對 Ubuntu 16.04 的支援。 Ubuntu 16.04 於 2021 年 4 月結束生命週期。 將 Ubuntu 16.04 工作流程移轉至 Ubuntu 18.04 或更新的版本。
Linux 二進位檔中的OpenSSL連結已變更為動態。 Linux 二進位大小已減少約 50%。
已新增 Mac M1 ARM 型晶片支援。
新功能
C++/C#/Java:已新增新的 API,以啟用使用 Microsoft Audio Stack 進行語音輸入的音訊處理支援。 文件在這裡。
C++:意圖辨識的新 API,有助於更進階的模式比對。 這包括清單和預先建置的整數實體,以及將意圖和實體分組為模型的支援(檔、更新和範例正在開發中,並將於近期發佈)。
Mac:支援適用於 CocoaPod、Python、JAVA 和與 GitHub 問題 #1244 相關的 NuGet 套件的 Silicon ARM64 (M1) 晶片。
iOS/Mac:iOS 和 macOS 二進位檔現在已封裝成與 GitHub 問題 919 相關的 xcframework。
iOS/Mac:支援與 GitHub 問題 1171 相關的 Mac 催化劑。
Linux:針對 CentOS7 新增關於語音 SDK 的新 tar 套件。 Linux .tar套件現在包含 中
lib/centos7-x64
RHEL/CentOS 7 的特定連結庫。 lib/x64 中的語音 SDK 連結庫仍然適用於所有其他支援的 Linux x64 發行版(包括 RHEL/CentOS 8),且無法在 RHEL/CentOS 7 上運作。JavaScript:VoiceProfile 和 SpeakerRecognizer API 使 async/awaitable。
JavaScript:針對美國政府 Azure 區域新增的支援。
Windows:在 通用 Windows 平台 上新增播放的支援 (UWP)。
錯誤修正
Android:適用於 Android 套件的 OpenSSL 安全性更新(已更新為 1.1.1l 版)。
Python:已解決在 Python 上選取喇叭裝置失敗的 Bug。
核心:當聯機嘗試失敗時自動重新連線。
iOS:在 iOS 套件上停用音訊壓縮,因為使用 GStreamer 時發生不穩定和比特碼建置問題。 詳細數據可透過 GitHub 問題 1209 取得。
範例 GitHub
Mac/iOS:已更新的範例和快速入門,以使用 xcframework 套件。
.NET:已更新為使用 .NET Core 3.1 版本的範例。
JavaScript:已新增語音助理的範例。
語音 SDK 1.18.0:2021-7 月版本
注意:從這裡開始使用語音 SDK。
醒目提示摘要
- Ubuntu 16.04 於 2021 年 4 月終止生命週期。 使用 Azure DevOps 和 GitHub,我們將於 2021 年 9 月中斷支援 16.04。 將 Ubuntu 16.04 工作流程移轉至 Ubuntu 18.04 或更新的版本。
新功能
- C++:與意圖辨識器的簡單語言模式比對現在可讓您更輕鬆地 實作簡單的意圖辨識案例。
- C++/C#/Java:我們已將新的 API 新增至
VoiceProfileClient
類別,GetActivationPhrasesAsync()
以在獨立辨識案例的說話者辨識註冊階段中接收有效的啟用詞組清單。- 重要事項:說話者辨識功能處於預覽狀態。 在預覽版中建立的所有語音配置檔將在說話者辨識功能移出預覽版 90 天后停止。 此時,預覽語音配置檔將會停止運作。
- Python:已新增現有
SpeechRecognizer
和TranslationRecognizer
對象上連續語言識別 (LID) 的支援。 - Python:已新增名為
SourceLanguageRecognizer
的新 Python 物件,以執行一次性或連續 LID(不含辨識或翻譯)。 - JavaScript:
getActivationPhrasesAsync
API 已新增至VoiceProfileClient
類別,以在獨立辨識案例的說話者辨識註冊階段中接收有效的啟用片語清單。 - JavaScript
VoiceProfileClient
的enrollProfileAsync
API 現在是可等候的異步。 如需使用方式範例,請參閱此獨立識別程式碼。
改善
- Java: 新增至許多 Java 物件的 AutoCloseable 支援。 現在支援 try-with-resources 模型來釋放資源。 請參閱 此使用 try-with-resources 的範例。 另請參閱 Oracle Java 文件教學課程,以瞭解此模式的 try-with-resources 語句 。
- 許多平臺和架構的磁碟使用量 已大幅降低。 二進位的
Microsoft.CognitiveServices.Speech.core
範例:x64 Linux 小於 475KB(減少 8.0%):ARM64 Windows UWP 小於 464KB(減少 11.5%):x86 Windows 小於 343KB(減少 17.5%):和 x64 Windows 小於 451 KB(減少 19.4%) 。
錯誤修正
- Java:修正合成文字包含代理字元時的合成錯誤。 這裡的詳細數據。
- JavaScript:瀏覽器麥克風音訊處理現在會使用
AudioWorkletNode
,而不是已被取代ScriptProcessorNode
。 這裡的詳細數據。 - JavaScript:在長時間執行的對話轉譯案例中正確地讓交談保持運作。 這裡的詳細數據。
- JavaScript:已修正辨識器在連續辨識中重新連線到媒體流的問題。 這裡的詳細數據。
- JavaScript:已修正辨識器在連續辨識中重新連線至 pushStream 的問題。 這裡的詳細數據。
- JavaScript:在詳細的辨識結果中更正字級位移計算。 這裡的詳細數據。
範例
- 這裡已更新 Java 快速入門範例。
- 已更新 JavaScript 說話者辨識範例,以顯示 的新用法
enrollProfileAsync()
。 請參閱這裡的範例。
語音 SDK 1.17.0:2021-5 月版本
注意
在這裡開始使用語音 SDK。
醒目提示摘要
- 較小的使用量 - 我們會繼續減少語音 SDK 及其元件的記憶體和磁碟使用量。
- 新的獨立語言識別 API 可讓您辨識所說的語言。
- 使用 macOS 上的 Unity 開發已啟用語音的混合實境和遊戲應用程式。
- 除了語音辨識之外,您現在還可以使用來自 Go 程式設計語言的文字轉換語音。
- 幾個錯誤修正,以解決您,我們重視的客戶,已在 GitHub 上標幟的問題! 謝謝! 繼續提供意見反應!
新功能
- C++/C#:透過
SourceLanguageRecognizer
API 新增獨立「開始」和「連續語言偵測」。 如果您只想要偵測音訊內容中說出的語言,這就是要執行的 API。 請參閱 C++ 和 C# 的詳細數據。 - C++/C#:語音辨識和翻譯辨識目前支援開始和連續語言識別,因此您可以在執行謄寫或翻譯之前,用程式設計的方式判斷語音使用的是哪種語言。 如需語音辨識,請參閱這裡的檔,並在這裏參閱語音翻譯。
- C#:已將支援 Unity 支援新增至 macOS (x64)。 這會在混合實境和遊戲中解除鎖定語音辨識和語音合成使用案例!
- Go:我們已新增語音合成文字轉換語音的支援至 Go 程式設計語言中,使語音合成能在更多使用案例中使用。 請參閱我們的 快速入門 或參考 檔。
- C++/C#/Java/Python/Objective-C/Go:語音合成器現在支持
connection
物件。 這可協助您管理和監視語音服務的連線,而且特別有助於預先連線以減少延遲。 請參閱這裡的檔。 - C++/C#/Java/Python/Objective-C/Go:我們現在公開 的延遲和不足時間
SpeechSynthesisResult
,以協助您監視和診斷語音合成延遲問題。 請參閱 C++、C#、Java、Python、Objective-C 和 Go 的詳細數據。 - C++/C#/JAVA/Python/Objective-C:文字轉換語音在沒有指定使用語音下,預設使用神經語音。 這可讓您依預設提供更高的精確度輸出,但也 會增加默認價格。 您可以指定 超過 70 個標準語音 或 超過 130 個 神經語音中的任何一個來變更預設值。
- C++/C#/Java/Python/Objective-C/Go:我們在合成語音資訊中新增了 Gender 屬性,可讓您更輕鬆地根據性別選取語音。 這解決了 GitHub 問題 #1055。
- C++、C#、Java、JavaScript:我們現在支援
retrieveEnrollmentResultAsync
、getAuthorizationPhrasesAsync
和 ,並在getAllProfilesAsync()
說話者辨識中輕鬆管理指定帳戶的所有語音配置檔。 請參閱 C++、C#、Java、JavaScript 的檔。 這解決了 GitHub 問題 #338。 - JavaScript:我們已新增連線失敗的重試,讓您的 JavaScript 語音應用程式更為穩固。
改善
- Linux 和 Android 語音 SDK 二進位檔已更新為使用最新版本的 OpenSSL (1.1.1k)
- 程式代碼大小改善:
- Language Understanding 現在已分割成個別的 “lu” 連結庫。
- Windows x64 核心二進位大小減少 14.4%。
- Android ARM64 核心二進位大小減少 13.7%。
- 其他元件的大小也會減少。
錯誤修正
- 全部:已修正 ServiceTimeout 的 GitHub 問題 #842 。 您現在可以使用語音 SDK 來謄寫長音訊檔案,無需擔心連線至服務因為此錯誤而終止。 不過,我們仍然建議您針對長檔案使用 批次轉譯 。
- C#:已修正 GitHub 問題 #947 ,其中沒有語音輸入可能會讓您的應用程式處於不良狀態。
- Java:已修正 GitHub 問題 #997:使用 DialogService 時,適用於 Java 1.16 的語音 SDK 會當機 連線 或沒有網络連線或無效的訂用帳戶密鑰。
- 已修正突然停止語音辨識時的當機問題(例如,在控制台應用程式上使用 CTRL+C)。
- Java:已新增修正程式,以在使用適用於 Java 的語音 SDK 時刪除 Windows 上的暫存盤。
- Java:已修正 GitHub 問題 #994 ,其中呼叫
DialogServiceConnector.stopListeningAsync
可能會導致錯誤。 - Java:已修正虛擬助理快速入門中的客戶問題。
- JavaScript:已修正 GitHub 問題 #366,該問題為
ConversationTranslator
會顯示「this.cancelSpeech 不是函式」的錯誤。 - JavaScript:已修正 GitHub 問題 #298 ,其中「以記憶體內部串流取得結果」範例會大聲播放。
- JavaScript:已修正 GitHub 問題 #350 ,該問題為呼叫
AudioConfig
可能導致「ReferenceError:MediaStream 未定義」。 - JavaScript:已修正長時間執行會話Node.js中的 UnhandledPromiseRejection 警告。
範例
語音 SDK 1.16.0:2021 年 3 月版本
注意
Windows 上的語音 SDK 取決於適用於 Visual Studio 2015、2017 和 2019 的共用 Microsoft C++ 可轉散發套件。 在這裡下載。
新功能
- C++/C#/Java/Python:已移至最新版的 GStreamer (1.18.3),以新增在 Windows、Linux 和 Android 上轉譯任何媒體格式的支援。 請參閱這裡的檔。
- C++/C#/Java/Objective-C/Python:已將壓縮 TTS/合成音訊譯碼的支援新增至 SDK。 如果您將輸出音訊格式設定為 PCM 且 GStreamer 可在系統上使用,SDK 會自動要求服務的壓縮音訊,以節省頻寬,並將用戶端上的音訊譯碼。 您可以將 設定
SpeechServiceConnection_SynthEnableCompressedAudioTransmission
為false
以停用此功能。 C++、C#、Java、Objective-C、Python 的詳細數據。 - JavaScript:Node.js用戶現在
AudioConfig.fromWavFileInput
可以使用 API。 這解決了 GitHub 問題 #252。 - C++/C#/Java/Objective-C/Python:已新增
GetVoicesAsync()
TTS 方法以傳回所有可用的合成語音。 C++、C#、Java、Objective-C 和 Python 的詳細數據。 - C++/C#/Java/JavaScript/Objective-C/Python:新增
VisemeReceived
TTS/語音合成的事件,以傳回同步 viseme 動畫。 請參閱這裡的檔。 - C++/C#/Java/JavaScript/Objective-C/Python:新增
BookmarkReached
TTS 的事件。 您可以在輸入 SSML 中設定書籤,並取得每個書籤的音訊位移。 請參閱這裡的檔。 - Java:已新增說話者辨識 API 的支援。 這裡的詳細數據。
- C++/C#/Java/JavaScript/Objective-C/Python:已新增兩個新的輸出音訊格式搭配 TTS 的 WebM 容器(Webm16Khz16BitMonoOpus 和 Webm24Khz16BitMonoOpus)。 這些是使用 Opus 編解碼器串流音訊的更好格式。 C++、C#、Java、JavaScript、Objective-C、Python 的詳細數據。
- C++/C#/Java:新增了擷取說話者辨識案例語音配置檔的支援。 C++、C# 和 Java 的詳細數據。
- C++/C#/Java/Objective-C/Python:已新增音訊麥克風和喇叭控件個別共享連結庫的支援。 這可讓開發人員在無需必要音訊程式庫相依性的環境中使用 SDK。
- Objective-C/Swift:已新增對具有雨傘標頭之模組架構的支援。 這可讓開發人員在 iOS/Mac Objective-C/Swift 應用程式中將語音 SDK 匯入為模組。 這解決了 GitHub 問題 #452。
- Python:已新增 Python 3.9 的支援,並針對 Python 3.5 針對 3.5 的 Python 終止生命週期已卸除支援。
已知問題
- C++/C#/JAVA:
DialogServiceConnector
無法使用CustomCommandsConfig
存取自訂命令應用程式,且將會代替遇到連線錯誤。 使用手動將應用程式標識元新增至要求config.SetServiceProperty("X-CommandsAppId", "your-application-id", ServicePropertyChannel.UriQueryParameter)
,即可解決此問題。 的預期行為CustomCommandsConfig
將在下一個版本中還原。
改善
- 為了減少語音 SDK 的記憶體使用量和磁碟使用量,Android 二進位檔現在要小 3% 到 5%。
- 改善我們的 C# 參考文件 的正確性、可讀性,以及請參閱此處的章節。
錯誤修正
- JavaScript:大型 WAV 檔案標頭現在已正確剖析(將標頭配量增加至 512 個字節)。 這解決了 GitHub 問題 #962。
- JavaScript:如果麥克風串流在停止辨識之前結束,則修正麥克風計時問題,解決語音辨識無法在 Firefox 中運作的問題。
- JavaScript:現在,當瀏覽器在 turnOn 完成之前強制關閉麥克風時,我們現在正確地處理初始化承諾。
- JavaScript:我們已將URL相依性取代為url-parse。 這解決了 GitHub 問題 #264。
- Android:已修正設定為 true 時
minifyEnabled
無法運作的回呼。 - C++/C#/Java/Objective-C/Python:
TCP_NODELAY
將正確設定為 TTS 的基礎套接字 IO,以減少延遲。 - C++/C#/Java/Python/Objective-C/Go:修正辨識器在開始辨識後損毀時偶爾損毀的問題。
- C++/C#/Java:已修正說話者辨識器解構時偶爾發生損毀的問題。
範例
- JavaScript: 瀏覽器範例 不再需要個別的 JavaScript 連結庫檔案下載。
語音 SDK 1.15.0:2021 年 1 月版本
注意
Windows 上的語音 SDK 取決於 Visual Studio 2015、2017 和 2019 的共用 Microsoft C++ 可轉散發套件。 在這裡下載。
醒目提示摘要
- 較小的記憶體和磁碟使用量可讓 SDK 更有效率。
- 適用於自定義神經語音私人預覽的更逼真度輸出格式。
- 意圖辨識器現在可以取得超過最上層意圖的傳回,讓您能夠對客戶的意圖進行個別的評量。
- 語音助理和 Bot 現在更容易設定,而且您可以立即停止接聽,並進一步控制其回應錯誤的方式。
- 透過選擇壓縮來改善裝置效能。
- 在 Windows ARM/ARM64 上使用語音 SDK。
- 改善低階偵錯。
- 發音評估功能現在已更廣泛地提供。
- 幾個錯誤修正,以解決您,我們重視的客戶,已在 GitHub 上標幟的問題! 謝謝! 繼續提供意見反應!
改善
- 語音 SDK 現在更有效率且輕量型。 我們已開始進行多重發行工作,以減少語音 SDK 的記憶體使用量和磁碟使用量。 作為第一個步驟,我們在大部分平臺上大幅減少共享連結庫的大小。 與 1.14 版相比:
- 64 位 UWP 相容的 Windows 連結庫大約要小 30%。
- 32 位元 Windows 程式庫尚未有大小改善。
- Linux 連結庫較小 20-25%。
- Android 連結庫小 3-5%。
新功能
- 全部:提供新的 48KHz 輸出格式,可透過 TTS 語音合成 API 自訂神經語音的個人預覽:Audio48Khz192KBitRateMonoMp3、audio-48KHz-192kbitrate-mono-Mp3、Audio48Khz96KBitRateMonoMp3、audio-48KHz-96kbitrate-mono-Mp3、Raw48Khz16BitMonoPcm、raw-48KHz-16bit-mono-Pcm、Riff48Khz16BitMonoPcm、riff-48KHz-16bit-mono-pcm。
- 全部:自定義語音也更容易使用。 已新增透過 #C++、C#、Java、JavaScript、Objective-C、Python 設定自定義語音
EndpointId
的支援。 在此變更之前,自定義語音用戶必須透過FromEndpoint
方法設定端點 URL。 現在客戶可以使用FromSubscription
方法,就像預先建置的語音一樣,然後藉由設定EndpointId
來提供部署標識符。 這可簡化設定自定義語音。 - C++/C#/Java/Objective-C/Python:取得超過最上層意圖的來源
IntentRecognizer
。 它現在支援使用verbose=true
uri 參數,設定包含所有意圖的 JSON 結果,而不只是透過LanguageUnderstandingModel FromEndpoint
方法的最高評分意圖。 這解決了 GitHub 問題 #880。 請參閱這裡的更新檔。 - C++/C#/Java:讓您的語音助理或 Bot 立即停止接聽。
DialogServiceConnector
(C++、 C#、 Java) 現在有隨附StopListeningAsync()
的方法ListenOnceAsync()
。 這會立即停止音訊擷取並正常等候結果,使其非常適合用於「立即停止」按鈕按下案例。 - C++/C#/Java/JavaScript:讓您的語音助理或 Bot 對基礎系統錯誤做出更好的反應。
DialogServiceConnector
(C++、C#、Java、JavaScript)現在有新的TurnStatusReceived
事件處理程式。 這些選擇性事件會對應至 Bot 上的每ITurnContext
一個解決方式,而且會在發生時回報回合執行失敗,例如,因為直接線路語音與 Bot 之間發生未處理的例外狀況、逾時或網路中斷。TurnStatusReceived
可讓您更輕鬆地回應失敗狀況。 例如,如果 Bot 在後端資料庫查詢上花費太長的時間(例如查閱產品),TurnStatusReceived
可讓用戶端知道以「很抱歉,我不太明白,可以再試一次」或類似的內容。 - C++/C#:在更多平臺上使用語音 SDK。 語音 SDK NuGet 套件 現在支援 Windows ARM/ARM64 桌面原生二進位檔(已支援 UWP),讓語音 SDK 在更多機器類型上更有用。
- Java:
DialogServiceConnector
現在有一個setSpeechActivityTemplate()
不小心從先前的語言中排除的方法。 這相當於設定 屬性,Conversation_Speech_Activity_Template
並會要求 Direct Line Speech 服務產生的所有未來 Bot Framework 活動,將所提供的內容合併到其 JSON 承載中。 - Java:改善低階偵錯。 類別
Connection
現在有事件MessageReceived
,類似於其他程序設計語言(C++、C#)。 此事件提供從服務連入數據的低階存取,而且對於診斷和偵錯很有用。 - JavaScript:透過 輕鬆設定語音助理和 Bot
BotFrameworkConfig
,其現在具有fromHost()
和fromEndpoint()
Factory 方法,可簡化使用自定義服務位置與手動設定屬性。 我們也將 的botId
選擇性規格標準化,以跨組態處理站使用非預設 Bot。 - JavaScript:透過新增 Websocket 壓縮的字串控制屬性,改善裝置效能。 基於效能考慮,我們預設會停用websocket壓縮。 這可以針對低頻寬案例重新啟用。 這裡提供更多詳細資料。 這解決了 GitHub 問題 #242。
- JavaScript:已新增 lPronunciation Assessment 的支援,以啟用語音發音評估。 請參閱這裡的快速入門。
錯誤修正
- 所有 (JavaScript 除外):已修正 1.14 版中的回歸,其中辨識器配置了太多記憶體。
- C++:已修正 的垃圾收集問題
DialogServiceConnector
,解決 GitHub 問題 #794。 - C#:修正線程關機的問題,導致對象在處置時封鎖約一秒。
- C++/C#/Java:修正了應用程式在 上多次設定語音授權令牌或活動範本的
DialogServiceConnector
例外狀況。 - C++/C#/Java:已修正因終止競爭條件而導致辨識器當機。
- JavaScript:
DialogServiceConnector
先前未接受 's Factory 中指定的BotFrameworkConfig
選擇性botId
參數。 如此一來,您必須手動設定botId
查詢字串參數,以使用非預設 Bot。 Bug 已修正,且botId
提供給BotFrameworkConfig
工廠的值將會受到認可及使用,包括新增fromHost()
和fromEndpoint()
新增專案。 這也適用於applicationId
的CustomCommandsConfig
參數。 - JavaScript:已修正 GitHub 問題 #881,允許辨識器物件重複使用。
- JavaScript:修正了 SKD 在一個 TTS 會話中多次傳送
speech.config
頻寬的問題。 - JavaScript:簡化麥克風授權錯誤處理,在使用者未允許其瀏覽器上的麥克風輸入時,允許更多描述性訊息湧現。
- JavaScript:已修正 GitHub 問題 #249 ,其中輸入錯誤
ConversationTranslator
,並ConversationTranscriber
導致 TypeScript 使用者的編譯錯誤。 - Objective-C:已修正 GStreamer 在 Xcode 11.4 上針對 iOS 建置失敗的問題,解決 GitHub 問題 #911。
- Python:已修正 GitHub 問題 #870,移除 “DeprecationWarning:imp 模組已被取代,有利於 importlib”。
範例
- JavaScript 瀏覽器 的檔案範例現在會使用檔案進行語音辨識。 這解決了 GitHub 問題 #884。
語音 SDK 1.14.0:2020-10 月版本
注意
Windows 上的語音 SDK 取決於適用於 Visual Studio 2015、2017 和 2019 的共用 Microsoft C++ 可轉散發套件。 在這裡下載。
新功能
- Linux:已新增Debian10和Ubuntu 20.04 LTS的支援。
- Python/Objective-C:已新增 API
KeywordRecognizer
的支援。 檔將會 在這裡。 - C++/Java/C#:已新增支援,可透過
ServicePropertyChannel::HttpHeader
設定任何HttpHeader
索引鍵/值。 - JavaScript:已新增 API
ConversationTranscriber
的支援。 請在這裡閱讀檔。 - C++/C#:已新增
AudioDataStream FromWavFileInput
方法 (若要讀取 。WAV 檔案在這裡 (C++) 和 這裡 (C#) 。 - C++/C#/Java/Python/Objective-C/Swift:已新增
stopSpeakingAsync()
方法以停止文字到語音合成。 在這裡閱讀參考檔 (C++),這裡 (C#),這裡 (Java),這裡 (Python),在這裡 (Objective-C/Swift)。 - C#、C++、Java:將函
FromDialogServiceConnector()
式新增至 類別,Connection
可用來監視 的DialogServiceConnector
連線和中斷連線事件。 請在這裡閱讀參考檔 (C#)、這裡 (C++)和這裡 (Java)。 - C++/C#/Java/Python/Objective-C/Swift:新增了發音評估的支援,可評估語音發音,並提供演講者關於語音正確性和流暢性的意見反應。 請閱讀此處的文件。
重大變更
- JavaScript:P ullAudioOutputStream.read() 的傳回類型從內部 Promise 變更為原生 JavaScript Promise。
錯誤修正
- 全部:已修正 1.13 回歸,
SetServiceProperty
其中會忽略具有特定特殊字元的值。 - C#:修正 Visual Studio 2019 上找不到原生 DLL 的 Windows 控制台範例。
- C#:修正當數據流作為
KeywordRecognizer
輸入時,記憶體管理當機的問題。 - ObjectiveC/Swift:修正當數據流作為辨識器輸入時,記憶體管理的當機問題。
- Windows:已修正 UWP 上的 BT HFP/A2DP 共存問題。
- JavaScript:已修正會話標識碼的對應,以改善記錄並協助內部偵錯/服務相互關聯。
- JavaScript:新增了在
DialogServiceConnector
進行第一次呼叫之後停用ListenOnce
呼叫的修正。 - JavaScript:已修正結果輸出只會是「簡單」的問題。
- JavaScript:修正 macOS 上 Safari 中的連續辨識問題。
- JavaScript:高要求輸送量案例的CPU負載風險降低。
- JavaScript:允許存取語音配置文件註冊結果的詳細數據。
- JavaScript:已在 中新增連續辨識的
IntentRecognizer
修正。 - C++/C#/Java/Python/Swift/ObjectiveC:修正中
IntentRecognizer
澳大利亞和巴西的 URL 不正確。 - C++/C#:建立
VoiceProfile
物件時新增VoiceProfileType
為自變數。 - C++/C#/Java/Python/Swift/ObjectiveC:嘗試從指定位置讀取
AudioDataStream
時可能SPX_INVALID_ARG
已修正。 - IOS:已修正 Unity 上的語音辨識當機
範例
- ObjectiveC:在這裡新增關鍵詞辨識的範例。
- C#/JavaScript:在這裡新增交談轉譯的快速入門 (C#) 和這裡 (JavaScript)。
- C++/C#/Java/Python/Swift/ObjectiveC:在這裡新增發音評估 的範例
- Xamarin:已在這裏將快速入門更新為最新的 Visual Studio 範本。
已知問題
- HoloLens 2 和 Android 4.4 (KitKat) 預設不支援 DigiCert 全域根 G2 憑證,而且必須新增至系統,才能讓語音 SDK 運作。 憑證將在近期內新增至 HoloLens 2 OS 映射。 Android 4.4 客戶必須將更新的憑證新增至系統。
COVID-19 簡略測試
由於在過去幾周內從遠端工作,我們無法執行與平常一樣多的手動驗證測試。 我們尚未進行任何我們認為可能會中斷任何變更,而且我們的自動化測試全部通過。 在我們錯過某些專案的可能性不大的情況下,請在 GitHub 上讓我們知道。
保持健康!
語音 SDK 1.13.0:2020-7 月版本
注意
Windows 上的語音 SDK 取決於 Visual Studio 2015、2017 和 2019 的共用 Microsoft C++ 可轉散發套件。 請從這裡下載並安裝。
新功能
- C#:已新增異步交談轉譯的支援。 請參閱這裡的檔。
- JavaScript:已新增 瀏覽器 和 Node.js的說話者辨識支援。
- JavaScript:已新增語言識別/語言標識符的支援。 請參閱這裡的檔。
- Objective-C:已新增多裝置對話和對話謄寫支援。
- Python:已在 Windows 和 Linux 上新增 Python 的壓縮音訊支援。 請參閱這裡的檔。
錯誤修正
- 全部:已修正導致 KeywordRecognizer 在辨識之後無法向前行動數據流的問題。
- 全部:已修正導致從 KeywordRecognitionResult 取得的數據流不包含 關鍵詞的問題。
- 全部:已修正 SendMessageAsync 在使用者完成等候時,不會真的在網路上傳送訊息的問題。
- All:修正使用者呼叫 VoiceProfileClient::SpeakerRecEnrollProfileAsync 方法多次且未等候通話完成時,說話者辨識 API 發生當機。
- 全部:已修正在 VoiceProfileClient 和 SpeakerRecognizer 類別中啟用檔案記錄功能。
- JavaScript:已修正 瀏覽器最小化時節流的問題 。
- JavaScript:已修正 串流記憶體流失的問題 。
- JavaScript:已從 NodeJS 新增 OCSP 回應的快取。
- Java:已修正導致 BigInteger 字段一律傳回 0 的問題。
- iOS:已修正 在 iOS App Store 中發布語音 SDK 型應用程式的問題 。
範例
- C++:在這裡新增說話者辨識的範例程序代碼。
COVID-19 簡略測試
由於在過去幾周內從遠端工作,我們無法執行與平常一樣多的手動驗證測試。 我們尚未進行任何我們認為可能會中斷任何變更,而且我們的自動化測試全部通過。 在我們錯過某些專案的可能性不大的情況下,請在 GitHub 上讓我們知道。
保持健康!
語音 SDK 1.12.1:2020 年 6 月版本
新功能
- C#、C++:說話者辨識預覽:這項功能可啟用說話者識別(誰說話?)和說話者驗證(他們聲稱是誰?)。 從概觀開始,請閱讀說話者辨識基本概念一文或 API 參考檔。
錯誤修正
- C#、C++:已修正說話者辨識 1.12 版本中,麥克風錄製無法運作的問題。
- JavaScript:針對 Firefox,以及在 macOS 和 iOS 上 Safari 中的文字轉換語音進行修正。
- 修正使用八通道串流時,交談轉譯上的 Windows 應用程式驗證程式存取違規當機。
- 修正多重裝置對話翻譯上的 Windows 應用程式驗證程式存取違規當機。
範例
- C#: 說話者辨識的程序代碼範例 。
- C++: 說話者辨識的程式代碼範例 。
- Java: Android 上意圖辨識的程式代碼範例 。
COVID-19 簡略測試
由於在過去幾周內從遠端工作,我們無法執行與平常一樣多的手動驗證測試。 我們尚未進行任何我們認為可能會中斷任何變更,而且我們的自動化測試全部通過。 在我們錯過某些專案的可能性不大的情況下,請在 GitHub 上讓我們知道。
保持健康!
語音 SDK 1.12.0:2020-5 月版本
新功能
- Go:語音辨識和自訂語音助理的新 Go 語言支援。 在這裡設定您的開發環境。 如需範例程式代碼,請參閱下面的範例一節。
- JavaScript:已新增文字到語音轉換的瀏覽器支援。 請參閱這裡的檔。
- C++、C#、Java:Windows、Android、Linux 和 iOS 平台上支援的新
KeywordRecognizer
物件和 API。 請閱讀此處的文件。 如需範例程式代碼,請參閱下面的範例一節。 - Java:已新增多裝置對話與翻譯支援。 請參閱這裡的參考檔。
改善和優化
- JavaScript:優化瀏覽器麥克風實作可改善語音辨識精確度。
- Java:使用不含 SWIG 的直接 JNI 實作重構系結。 這項變更會減少適用於 Windows、Android、Linux 和 Mac 之所有 Java 套件的系結大小 10 倍,並簡化語音 SDK Java 實作的進一步開發。
- Linux:已使用最新的 RHEL 7 特定附註更新支援 檔 。
- 改善連線邏輯,以嘗試在發生服務和網路錯誤時多次連線。
- 已更新 portal.azure.com 語音快速入門頁面,協助開發人員在 Azure AI 語音旅程途中進行下一步驟。
錯誤修正
- C#、Java:已修正 在 Linux ARM 上載入 SDK 連結庫的問題 (32 位和 64 位)。
- C#:已修正 TranslationRecognizer、IntentRecognizer 和 連線 ion 物件的原生句柄明確處置。
- C#:已修正 ConversationTranscriber 物件的音訊輸入存留期管理。
- 已修正從樣本片語辨識意圖時,未正確設定
IntentRecognizer
結果原因的問題。 - 已修正未正確設定
SpeechRecognitionEventArgs
結果位移的問題。 - 已修正 SDK 在開啟 websocket 連線之前嘗試傳送網路訊息的競爭狀況。 在新增參與者時可
TranslationRecognizer
重現。 - 已修正關鍵詞辨識器引擎中的記憶體流失。
範例
- Go:新增語音辨識和自定義語音助理的快速入門。 在這裡尋找範例程序代碼。
- JavaScript:已新增文字轉換語音、翻譯和意圖辨識的快速入門。
- C# 和 Java 的關鍵詞辨識範例(Android)。
COVID-19 簡略測試
由於在過去幾周內從遠端工作,我們無法執行與平常一樣多的手動驗證測試。 我們尚未進行任何我們認為可能會中斷任何變更,而且我們的自動化測試全部通過。 如果我們錯過了某些專案,請在 GitHub 上讓我們知道。
保持健康!
語音 SDK 1.11.0:2020 年 3 月版本
新功能
- Linux:已新增 Red Hat Enterprise Linux (RHEL)/CentOS 7 x64 的支援,並 說明 如何為語音 SDK 設定系統。
- Linux:已在 Linux ARM32 和 ARM64 上新增 .NET Core C# 的支援。 您可以在這裡深入了解.
- C#、C++:在 中
ConversationTranscriptionResult
新增 ,在所有中繼和最終語音辨識結果中都一UtteranceId
致標識符。 C#、C++ 的詳細數據。 - Python:已新增 對
Language ID
的支援。 請參閱 GitHub 存放 庫中的speech_sample.py。 - Windows:針對所有 win32 控制台應用程式,新增 Windows 平臺上的壓縮音訊輸入格式支援。 這裡的詳細數據。
- JavaScript:支援 NodeJS 中的語音合成 (文字轉換語音)。 在這裡深入了解。
- JavaScript:新增 API,以檢查所有傳送和接收的訊息。 在這裡深入了解。
錯誤修正
- C#、C++:已修正問題,因此
SendMessageAsync
現在會將二進位訊息傳送為二進位類型。 C#、C++ 的詳細數據。 - C#、C++:修正在使用事件時,如果在
Recognizer
物件之前Connection
處置,可能會Connection MessageReceived
造成當機的問題。 C#、C++ 的詳細數據。 - Android:麥克風的音訊緩衝區大小從 800 毫秒減少到 100 毫秒,以改善延遲。
- Android:已修正 Android Studio 中 x86 Android 模擬器的問題 。
- JavaScript:已使用
fromSubscription
API 新增對中國地區的支援。 這裡的詳細數據。 - JavaScript:從 NodeJS 新增連線失敗的更多錯誤資訊。
範例
Covid19 的簡略測試: 由於在過去幾周遠端工作,我們無法像往常一樣多地進行手動裝置驗證測試。 例如,我們無法在 Linux、iOS 和 macOS 上測試麥克風輸入和喇叭輸出。 我們尚未進行任何我們認為在這些平臺上可能會中斷任何變更,且我們的自動化測試全部通過。 萬一我們遺漏了什麼,請在 GitHub 上告訴我們。
感謝您的持續支援。 一如往常,請在 GitHub 或 Stack Overflow 上張貼問題或意見反應。
保持健康!
語音 SDK 1.10.0:2020 年 2 月版本
新功能
- 已新增 Python 套件以支援新的 3.8 版 Python。
- Red Hat Enterprise Linux (RHEL)/CentOS 8 x64 支援(C++、C#、Java、Python)。
注意
客戶必須根據 這些指示來設定 OpenSSL。
- Debian 和 Ubuntu 的 Linux ARM32 支援。
- DialogService 連線 or 現在支援 BotFrameworkConfig 上的選擇性 “bot ID” 參數。 此參數可讓您使用多個 Direct Line Speech 聊天機器人搭配單一語音資源。 若未指定 參數,則會使用預設 Bot(由 Direct Line Speech 通道組態頁面決定)。
- DialogService 連線 or 現在具有 SpeechActivityTemplate 屬性。 Direct Line Speech 將使用此 JSON 字串的內容,在到達 Direct Line Speech Bot 的所有活動中預先填入各種不同的支援欄位,包括自動產生以回應語音辨識等事件的活動。
- TTS 現在會使用訂用帳戶密鑰進行驗證,以減少建立合成器之後第一個合成結果的第一個字節延遲。
- 已更新 19 個地區設定的語音辨識模型,以降低 18.6% 的平均單字錯誤率(es-ES, es-MX、fr-CA、fr-FR、it-IT、ja-JP、ko-KR、pt-BR、zh-CN、zh-HK、nb-NO、fi-FL、ru-RU、pl-PL、ca-ES、zh-TW、th-TH、pt-PT、tr-TR)。 新的模型在多個領域帶來顯著的改善,包括聽寫、通話中心轉譯和影片索引案例。
錯誤修正
- 已修正對話 Transcriber 未在 JAVA API 中正確等候的錯誤
- 適用於 Xamarin GitHub 問題的 Android x86 模擬器修正
- 新增遺漏 (Get|將 Property 方法設定為 AudioConfig
- 修正連線失敗時無法停止 audioDataStream 的 TTS 錯誤
- 使用沒有區域的端點會導致對話翻譯工具的 USP 失敗
- 通用 Windows 應用程式中的標識碼產生現在會使用適當唯一的 GUID 演算法;它先前和無意中預設為一個擷取的實作,通常會在大型互動集上產生衝突。
範例
其他變更
語音 SDK 1.9.0:2020 年 1 月版本
新功能
- 多裝置交談:將多個裝置連線到相同的語音或文字型交談,並選擇性地翻譯在它們之間傳送的訊息。 在本文中深入瞭解。
- 已新增 Android
.aar
套件的關鍵詞辨識支援,並新增 x86 和 x64 類別的支援。 - Objective-C:
SendMessage
和SetMessageProperty
方法已新增至Connection
物件。 請參閱這裡的檔。 - TTS C++ API 現在支援
std::wstring
作為合成文字輸入,不需要先將 wstring 轉換成字串,再將它傳遞至 SDK。 請參閱此處的詳細資料。 - C#: 語言標識碼 和 來源語言設定 現已可供使用。
- JavaScript:已將功能新增至
Connection
物件,以從語音服務傳遞自訂訊息作為回呼receivedServiceMessage
。 - JavaScript:已新增
FromHost API
支援,以簡化內部部署容器和主權雲端的使用。 請參閱這裡的檔。 - JavaScript:我們現在感謝
NODE_TLS_REJECT_UNAUTHORIZED
長篇章的貢獻。 請參閱此處的詳細資料。
重大變更
OpenSSL
已更新為 1.1.1b 版,並靜態連結至適用於 Linux 的語音 SDK 核心連結庫。 如果您的信箱OpenSSL
尚未安裝至系統的/usr/lib/ssl
目錄,可能會造成中斷。 參閱語音 SDK 文件中的我們的文件,以解決問題。- 我們已將 C#
WordLevelTimingResult.Offset
int
傳回的數據類型從 變更為long
,以允許在語音資料超過 2 分鐘時存取WordLevelTimingResults
。 PushAudioInputStream
和PullAudioInputStream
現在會根據AudioStreamFormat
,選擇性地在建立時指定 wav 標頭資訊給語音服務。 客戶現在 必須使用支援的音訊輸入格式。 任何其他格式都會取得次佳的辨識結果,或可能會導致其他問題。
錯誤修正
- 請參閱上述重大
OpenSSL
變更底下的更新。 我們已修正 Linux 和 Java 中的間歇性當機和效能問題(在高負載下鎖定爭用)。 - Java:在高併行案例中改善物件關閉。
- 重新建構我們的 NuGet 套件。 我們已移除 lib 資料夾下的和
Microsoft.CognitiveServices.Speech.extension.kws.dll
三個複本Microsoft.CognitiveServices.Speech.core.dll
,讓 NuGet 套件更小、更快速地下載,並新增了編譯某些 C++ 原生應用程式所需的標頭。 - 已修正此處的快速入門範例。 這些是在Linux、macOS、Windows上未顯示「找不到麥克風」例外狀況而結束的。
- 已修正 SDK 當機時,特定程式代碼路徑上的語音辨識結果很長,例如 此範例。
- 已修正 Azure Web 應用程式環境中的 SDK 部署錯誤,以解決 此客戶的問題。
- 已修正使用多重
<voice>
標記或標籤來<audio>
解決 此客戶問題的 TTS 錯誤。 - 修正 SDK 從暫停復原時發生 TTS 401 錯誤。
- JavaScript:已修正由於來自 euirim 的貢獻,音訊數據的循環匯入。
- JavaScript:新增了設定服務屬性的支援,如 1.7 中新增。
- JavaScript:已修正連線錯誤可能會導致連續、失敗的 Websocket 重新連線嘗試的問題。
範例
- 在這裡新增Android的關鍵詞辨識範例。
- 在此新增伺服器案例的 TTS 範例。
- 在這裡新增 C# 和 C++ 的多裝置交談快速入門。
其他變更
- Android 上優化的 SDK 核心連結庫大小。
- 1.9.0 和更新版本中的 SDK 支援交談 Transcriber 之語音簽章版本欄位中的
int
和string
類型。
語音 SDK 1.8.0:2019-11 月版本
新功能
- 已新增
FromHost()
API,以簡化內部部署容器和主權雲端的使用。 - 新增語音辨識的來源語言辨識 (以 Java 和 C++ 為單位 )
- 已新增
SourceLanguageConfig
語音辨識的物件,用來指定預期的來源語言 (以 Java 和 C++ 為單位) - 透過 NuGet 和 Unity 套件新增
KeywordRecognizer
Windows (UWP)、Android 和 iOS 的支援 - 已新增遠端交談 Java API,以異步批次執行交談轉譯。
重大變更
- 對話 Transcriber 功能已移至 命名空間
Microsoft.CognitiveServices.Speech.Transcription
之下。 - Conversation Transcriber 方法的部分會移至新
Conversation
類別。 - 已卸除對 32 位 (ARMv7 和 x86) iOS 的支援
錯誤修正
- 修正在沒有有效語音服務訂用帳戶密鑰的情況下使用本機
KeywordRecognizer
時當機的問題
範例
- 的 Xamarin 範例
KeywordRecognizer
- 的 Unity 範例
KeywordRecognizer
- 自動來源語言識別的 C++ 和 Java 範例。
語音 SDK 1.7.0:2019-9 月版本
新功能
- 已在 通用 Windows 平台 (UWP)、Android 和 iOS 上新增 Xamarin 的 Beta 支援
- 已新增 Unity 的 iOS 支援
- 已在 Android、iOS 和 Linux 上新增
Compressed
ALaw、Mulaw、FLAC 的輸入支援 - 在類別中
Connection
新增SendMessageAsync
,以便將訊息傳送至服務 - 在類別中
Connection
新增SetMessageProperty
,以設定訊息的屬性 - TTS 新增 Java 的系結(JRE 和 Android)、Python、Swift 和 Objective-C
- TTS 新增macOS、iOS和Android的播放支援。
- 已新增 TTS 的「字邊界」資訊。
錯誤修正
- 已修正 Android 版 Unity 2019 上的 IL2CPP 組建問題
- 已修正未正確處理 wav 檔案輸入中格式不正確的標頭問題
- 已修正某些連線屬性中 UUID 不是唯一的問題
- 已修正 Swift 系結中有關可為 Null 規範的一些警告(可能需要小型程式代碼變更)
- 已修正導致 Websocket 連線在網路負載下無法正常關閉的 Bug
- 已修正Android上有時會導致使用重複曝光標識符的問題
DialogServiceConnector
- 改善跨多回合互動的連線穩定性,以及在發生失敗時報告失敗(透過
Canceled
事件)DialogServiceConnector
DialogServiceConnector
會話開始現在會正確提供事件,包括在作用中期間呼叫ListenOnceAsync()
時StartKeywordRecognitionAsync()
- 解決與
DialogServiceConnector
收到活動相關聯的當機問題
範例
- Xamarin 快速入門
- 已使用Linux ARM64資訊更新 CPP 快速入門
- 已使用 iOS 資訊更新 Unity 快速入門
語音 SDK 1.6.0:2019 年 6 月版本
範例
- UWP 和 Unity 上文字到語音轉換的快速入門範例
- iOS 上的 Swift 快速入門範例
- 語音和意圖辨識和翻譯的 Unity 範例
- 已更新的快速入門範例
DialogServiceConnector
改善/變更
- 對話框命名空間:
SpeechBotConnector
已重新命名為DialogServiceConnector
BotConfig
已重新命名為DialogServiceConfig
BotConfig::FromChannelSecret()
已重新對應至DialogServiceConfig::FromBotSecret()
- 重新命名之後,所有現有的 Direct Line Speech 用戶端都會繼續受到支援
- 更新 TTS REST 配接器以支援 Proxy 持續連線
- 在傳遞無效的區域時改善錯誤訊息
- Swift/Objective-C:
- 改善的錯誤報告:可能導致錯誤的方法現在有兩個版本:一個公開
NSError
物件以處理錯誤,另一個會引發例外狀況。 前者暴露在斯威夫特。 這項變更需要適應現有的 Swift 程式代碼。 - 改善的事件處理
- 改善的錯誤報告:可能導致錯誤的方法現在有兩個版本:一個公開
錯誤修正
- 修正 TTS:
SpeakTextAsync
在音訊完成轉譯之前,未來會傳回,而不等到音訊完成轉譯 - 修正 C# 中封送處理字串以啟用完整語言支援
- 修正在範例中使用 net461 目標架構載入核心連結庫的 .NET Core 應用程式問題
- 修正將原生連結庫部署至範例中輸出資料夾的偶爾問題
- 可可靠地關閉 Web 套接字的修正
- 修正在Linux上開啟負載過重的連線時可能發生的當機問題
- 修正macOS架構套件組合中遺漏的元數據
- 修正 Windows 上的問題
pip install --user
語音 SDK 1.5.1
這是 Bug 修正版本,只會影響原生/受控 SDK。 這不會影響 SDK 的 JavaScript 版本。
錯誤修正
- 修正與交談轉譯搭配使用時的FromSubscription。
- 修正語音助理關鍵詞中的 Bug。
語音 SDK 1.5.0:2019-5 月版本
新功能
- 關鍵詞發現 (KWS) 現在適用於 Windows 和 Linux。 KWS 功能可能適用於任何麥克風類型、官方 KWS 支援,不過,目前僅限於 Azure Kinect DK 硬體或語音裝置 SDK 中找到的麥克風數位。
- 片語提示功能可透過 SDK 取得。 如需詳細資訊,請參閱此處。
- 交談轉譯功能可透過 SDK 取得。
- 使用 Direct Line Speech 通道新增語音助理的支援。
範例
- 已新增 SDK 所支援新功能或新服務的範例。
改善/變更
- 已新增各種辨識器屬性來調整服務行為或服務結果(例如遮罩粗話和其他屬性)。
- 您現在可以透過標準組態屬性來設定辨識器,即使您已建立辨識器
FromEndpoint
。 - Objective-C:
OutputFormat
屬性已新增至SPXSpeechConfiguration
。 - SDK 現在支援 Debian 9 作為 Linux 發行版。
錯誤修正
- 修正了說話者資源在文字到語音轉換時太早解構的問題。
語音 SDK 1.4.2
這是 Bug 修正版本,只會影響原生/受控 SDK。 這不會影響 SDK 的 JavaScript 版本。
語音 SDK 1.4.1
這是僅限 JavaScript 的版本。 尚未新增任何功能。 已進行下列修正:
- 防止 Web 套件載入 HTTPs-proxy-agent。
語音 SDK 1.4.0:2019 年 4 月版本
新功能
- SDK 搶鮮版 (Beta) 目前支援文字轉換語音服務。 從 C++ 和 C# 支援 Windows 和 Linux 桌面。 如需詳細資訊,請參閱文字轉換語音概觀。
- SDK 現在支援 MP3 和 Opus/OGG 音訊檔案作為資料流輸入檔。 這項功能僅適用於來自 C++ 和 C# 的 Linux,目前為 Beta 版(如需詳細資訊 ,請參閱這裡)。
- 適用於 Java、.NET Core、C++ 和 Objective-C 的語音 SDK 已獲得 macOS 支援。 macOS 的 Objective-C 支援目前為 Beta 版。
- iOS:適用於 iOS 的語音 SDK(Objective-C)現在也發佈為 CocoaPod。
- JavaScript:支援非預設麥克風作為輸入設備。
- JavaScript:Node.js的 Proxy 支援。
範例
- 已新增在macOS上使用語音 SDK 與 C++ 和 Objective-C 的範例。
- 已新增示範如何使用文字轉換語音服務的範例。
改善/變更
- Python:辨識結果的其他屬性現在會透過
properties
屬性公開。 - 如需其他開發和偵錯支援,您可以將 SDK 記錄和診斷資訊重新導向至記錄檔(如需詳細資訊 ,請參閱這裡)。
- JavaScript:改善音訊處理效能。
錯誤修正
- Mac/iOS:修正無法建立語音服務連線時導致長時間等候的 Bug。
- Python:改善 Python 回呼中自變數的錯誤處理。
- JavaScript:已修正在 RequestSession 上結束之語音的錯誤狀態報告。
語音 SDK 1.3.1:2019 年 2 月重新整理
這是 Bug 修正版本,只會影響原生/受控 SDK。 這不會影響 SDK 的 JavaScript 版本。
錯誤修正
- 已修正使用麥克風輸入時的記憶體流失。 數據流型或檔案輸入不會受到影響。
語音 SDK 1.3.0:2019 年 2 月版本
新功能
- 語音 SDK 支援透過
AudioConfig
類別選取輸入麥克風。 這可讓您從非預設麥克風將音訊數據串流至語音服務。 如需詳細資訊,請參閱描述 音訊輸入設備選取項目的檔。 這項功能尚無法從 JavaScript 取得。 - 語音 SDK 現在支援 Beta 版本中的 Unity。 透過 GitHub 範例存放庫中的問題區段提供意見反應。 此版本支援 Windows x86 和 x64 上的 Unity(桌面或 通用 Windows 平台 應用程式),以及 Android(ARM32/64、x86)。 如需詳細資訊,請參閱 Unity 快速入門。
Microsoft.CognitiveServices.Speech.csharp.bindings.dll
不再需要檔案(隨附於舊版)。 此功能現在已整合至核心 SDK。
範例
我們的範例存放庫中提供下列新內容:
- 的其他範例
AudioConfig.FromMicrophoneInput
。 - 用於意圖辨識和翻譯的其他 Python 範例。
- 在 iOS 中使用
Connection
物件的其他範例。 - 使用音訊輸出進行翻譯的其他 Java 範例。
- 使用 批次轉譯 REST API 的新範例。
改善/變更
- Python
- 改善中的
SpeechConfig
參數驗證和錯誤訊息。 - 新增物件的支援
Connection
。 - 支援 Windows 上的 32 位 Python (x86)。
- 適用於 Python 的語音 SDK 已淘汰。
- 改善中的
- iOS
- SDK 現在已針對 iOS SDK 12.1 版建置。
- SDK 現在支援 iOS 9.2 版和更新版本。
- 改善參考檔並修正數個屬性名稱。
- JavaScript
- 新增物件的支援
Connection
。 - 為配套的 JavaScript 新增類型定義檔案
- 片語提示的初始支持和實作。
- 使用服務 JSON 傳回屬性集合以進行辨識
- 新增物件的支援
- Windows DLL 現在包含版本資源。
- 如果您建立辨識器
FromEndpoint
,您可以直接將參數新增至端點 URL。 您無法FromEndpoint
透過標準組態屬性來設定辨識器。
錯誤修正
- 未正確處理空的 Proxy 用戶名稱和 Proxy 密碼。 在此版本中,如果您將 Proxy 使用者名稱和 Proxy 密碼設定為空字串,系統將不會在連線到 Proxy 時提交出去。
- SDK 所建立的 SessionId 不一定是某些語言/環境真正隨機的。 已新增隨機產生器初始化,以修正此問題。
- 改善授權令牌的處理。 如果您想要使用授權令牌,請在 中
SpeechConfig
指定 ,並將訂用帳戶密鑰保留空白。 然後像往常一樣建立辨識器。 - 在某些情況下,
Connection
對象並未正確釋放。 已修正此問題。 - JavaScript 範例已修正,以支援 Safari 上轉譯合成的音訊輸出。
語音 SDK 1.2.1
這是僅限 JavaScript 的版本。 尚未新增任何功能。 已進行下列修正:
- 在 turn.end 引發數據流結尾,而不是在 speech.end。
- 修正音訊幫浦中的錯誤,如果目前的傳送失敗,則不會排程下一次傳送。
- 使用驗證令牌修正連續辨識。
- 針對不同的辨識器/端點修正錯誤。
- 檔改善。
語音 SDK 1.2.0:2018 年 12 月版本
新功能
- Python
- 此版本提供 Python 支援的 Beta 版本(3.5 和更新版本)。 如需詳細資訊,請參閱這裡](.。/../quickstart-python.md)。
- JavaScript
Connection
物件Recognizer
您可以從存取Connection
物件。 此物件可讓您明確起始服務連線,並訂閱連線和中斷連線事件。 (這項功能尚未從 JavaScript 和 Python 取得。
- 支援 Ubuntu 18.04。
- Android
- 在 APK 產生期間啟用 ProGuard 支援。
改善
- 改善內部線程使用量,減少線程數目、鎖定、Mutex。
- 改善的錯誤報告/資訊。 在有些情況下,錯誤訊息尚未完全傳播出去。
- 已更新 JavaScript 中的開發相依性,以使用最新的模組。
錯誤修正
- 已修正記憶體流失,因為中的
RecognizeAsync
類型不符。 - 在某些情況下,例外狀況正在外洩。
- 修正轉譯事件自變數中的記憶體流失。
- 已修正長時間執行會話中重新連線的鎖定問題。
- 已修正可能導致失敗翻譯的最終結果遺失的問題。
- C#:如果
async
主線程中未等候作業,則可能是在異步工作完成之前處置辨識器。 - Java:已修正導致 Java VM 當機的問題。
- Objective-C:固定列舉對應;已傳回 RecognizedIntent,
RecognizingIntent
而不是 。 - JavaScript:在 中
SpeechConfig
將默認輸出格式設定為 'simple'。 - JavaScript:在 JavaScript 和其他語言的 config 物件上移除屬性之間的不一致。
範例
- 已更新並修正數個範例(例如翻譯的輸出語音等等)。
- 已在範例存放庫中新增Node.js範例。
語音 SDK 1.1.0
新功能
- 支援 Android x86/x64。
- Proxy 支援:在 物件中
SpeechConfig
,您現在可以呼叫函式來設定 Proxy 資訊(主機名、埠、使用者名稱和密碼)。 此功能尚未在 iOS 上使用。 - 已改善錯誤碼和訊息。 如果辨識傳回錯誤,則這已將 [已取消的事件] 或
CancellationDetails
[辨識結果] 設定Reason
為Error
。 取消的事件現在包含兩個額外的成員,ErrorCode
與ErrorDetails
。 如果伺服器傳回其他錯誤資訊,並顯示回報的錯誤,則新成員中現在可以使用它。
改善
- 已在辨識器組態中新增其他驗證,並新增其他錯誤訊息。
- 改善音訊檔案中長時間無聲的處理。
- NuGet 套件:針對 .NET Framework 專案,它會防止使用 AnyCPU 組態進行建置。
錯誤修正
- 已修正辨識器中找到的數個例外狀況。 此外,例外狀況會攔截並轉換成
Canceled
事件。 - 修正屬性管理中的記憶體流失。
- 已修正音訊輸入檔可能會當機辨識器的錯誤。
- 已修正在會話停止事件之後可以接收事件的 Bug。
- 已修正線程中的某些競爭條件。
- 已修正可能導致當機的 iOS 相容性問題。
- Android 麥克風支持的穩定性改善。
- 已修正 JavaScript 中的辨識器會忽略辨識語言的錯誤。
- 修正了防止在 JavaScript 中設定
EndpointId
(在某些情況下) 的錯誤。 - 已變更 JavaScript 中 AddIntent 中的參數順序,並新增遺漏
AddIntent
的 JavaScript 簽章。
範例
- 已新增 C++ 和 C# 範例,以在範例存放庫中使用提取和推送數據流。
語音 SDK 1.0.1
可靠性改善和錯誤修正:
- 已修正因處置辨識器中的競爭狀況而導致的潛在嚴重錯誤
- 已修正未設定屬性發生時的潛在嚴重錯誤。
- 已新增其他錯誤和參數檢查。
- Objective-C:已修正 NSString 中名稱覆寫所造成的可能嚴重錯誤。
- Objective-C:已調整 API 可見性
- JavaScript:已修正事件及其承載。
- 檔改善。
在我們的 範例存放庫中,已新增JavaScript的新範例。
Azure AI 語音 SDK 1.0.0:2018 年 9 月版本
新功能
- 支援 iOS 上的 Objective-C。 請參閱 適用於 iOS 的 Objective-C 快速入門。
- 在瀏覽器中支援 JavaScript。 請參閱我們的 JavaScript 快速入門。
重大變更
- 在此版本中,引進了許多重大變更。 請查看 此頁面 以取得詳細數據。
Azure AI 語音 SDK 0.6.0:2018 年 8 月版本
新功能
- 使用語音 SDK 建置的 UWP 應用程式現在可以通過 Windows 應用程式認證套件 (WACK)。 請參閱 UWP 快速入門。
- Linux 上的 .NET Standard 2.0 支援 (Ubuntu 16.04 x64)。
- 實驗性:在 Windows 上支援 Java 8 (64 位) 和 Linux (Ubuntu 16.04 x64)。 請參閱 Java 執行時間環境快速入門。
功能變更
- 公開連線錯誤的其他錯誤詳細資訊。
重大變更
- 在 Java (Android) 上,函
SpeechFactory.configureNativePlatformBindingWithDefaultCertificate
式不再需要路徑參數。 現在,所有支援平台上都會自動偵測路徑。 - 已移除 Java 和 C# 中屬性
EndpointUrl
的 get-存取子。
錯誤修正
- 在 Java 中,現在會實作翻譯辨識器上的音訊合成結果。
- 已修正可能導致非使用中線程和開啟和未使用套接字數目增加的錯誤。
- 修正了長時間執行辨識可能會在傳輸中終止的問題。
- 已修正辨識器關機中的競爭條件。
Azure AI 語音 SDK 0.5.0:2018 年 7 月版本
新功能
- 支援 Android 平臺 (API 23:Android 6.0 Marshmallow 或更高版本)。 請參閱 Android 快速入門。
- 在 Windows 上支援 .NET Standard 2.0。 請參閱 .NET Core 快速入門。
- 實驗性:支援 Windows 上的 UWP(版本 1709 或更新版本)。
- 請參閱 UWP 快速入門。
- 注意:使用語音 SDK 建置的 UWP 應用程式尚未通過 Windows 應用程式認證套件 (WACK) 的認證。
- 使用自動重新連線支援長時間執行的辨識。
功能變更
StartContinuousRecognitionAsync()
支援長時間執行的辨識。- 辨識結果包含更多欄位。 它們是從已辨識文字的音訊開始和持續時間(以刻度為單位)的位移,以及代表辨識狀態的其他值,例如
InitialSilenceTimeout
和InitialBabbleTimeout
。 - 支援 AuthorizationToken 來建立處理站實例。
重大變更
- 辨識事件:
NoMatch
事件類型已合併至Error
事件。 - C# 中的 SpeechOutputFormat 已重新命名為
OutputFormat
,以保持與 C++ 保持一致。 - 介面某些方法的
AudioInputStream
傳回型別稍有變更:- 在 Java 中,方法
read
現在會long
傳回 ,int
而不是 。 - 在 C# 中
Read
,方法現在會uint
傳回 ,int
而不是 。 - 在 C++ 中,
Read
和GetFormat
方法現在會傳回size_t
,int
而不是 。
- 在 Java 中,方法
- C++:音訊輸入資料流的實例現在只能傳遞為
shared_ptr
。
錯誤修正
- 修正逾時時
RecognizeAsync()
的結果中不正確的傳回值。 - 已移除 Windows 上媒體基礎連結庫的相依性。 SDK 現在會使用核心音訊 API。
- 檔修正:已新增 區域 頁面來描述支持的區域。
已知問題
- 適用於 Android 的語音 SDK 不會報告翻譯的語音合成結果。 下個版本將會修正此問題。
Azure AI 語音 SDK 0.4.0:2018 年 6 月版本
功能變更
AudioInputStream
辨識器現在可以取用數據流作為音訊來源。 如需詳細資訊,請參閱相關的 操作指南。
詳細的輸出格式
當您建立
SpeechRecognizer
時,您可以要求Detailed
或Simple
輸出格式。DetailedSpeechRecognitionResult
包含信賴分數、辨識文字、原始語彙形式、正規化形式,以及具有遮罩粗話的正規化形式。
重大變更
- 從 C# 變更為
SpeechRecognitionResult.Text
SpeechRecognitionResult.RecognizedText
。
錯誤修正
- 已修正在關機期間 USP 層中可能發生的回呼問題。
- 如果辨識器取用了音訊輸入檔案,則它所保存的檔案句柄超過必要時間。
- 拿掉訊息幫浦與辨識器之間的數個死結。
NoMatch
在服務回應逾時時引發結果。- Windows 上的媒體基礎連結庫會延遲載入。 只有麥克風輸入才需要此連結庫。
- 音訊數據的上傳速度限制為原始音訊速度的兩倍左右。
- 在 Windows 上,C# .NET 元件現在具有強名稱。
- 檔修正:
Region
需要資訊才能建立辨識器。
已新增更多範例,並不斷更新。 如需最新的範例集,請參閱 語音 SDK 範例 GitHub 存放庫。
Azure AI 語音 SDK 0.2.12733:2018 年 5 月版本
此版本為 Azure AI 語音 SDK 的第一個公開預覽版本。