發表文章

目前顯示的是 3月, 2023的文章

透過 C# 動態建立 Zoom會議

圖片
我們可以使用 Zoom SDK,搭配C#即可透過程式碼建立線上會議,並且發送通知。若能實現這一點,我們就可以搭配 Chat Bot在群組對談中,透過自然語言對LINE會議小幫手來下達開會通知,請會議小幫手幫我們建立Zoom會議,並且把會議連結傳遞出來,例如,我們可以在群組中對機器人說: 請幫我建立一個週四下午3:30分的zooom線上會議,並且把會議連結傳送給資訊部門所有人,同時幫我設定開會前的通知提醒。 就可以實現一個聽得懂自然語言控制的會議助理。 要實現這件事,必須先要能夠透過程式碼控制Zoom,目前Zoom官方有提供 Rest API 讓開發者使用,如果想要更簡單的透過C#程式碼呼叫Zoom的各種功能,可以參考底下這套 Nuget 套件: https://www.nuget.org/packages/ZoomNet 你可以在專案中透過CLI指令引用: dotnet add package ZoomNet -- version 0.58 . 0 目前支援 .net framework 4.8, .net 3.x, .net 6,7 這幾個版本。 在使用前,你必須先具備 Zoom 的帳號,並且在Zoom的開發人員後台上登入( https://marketplace.zoom.us/ ),接著透過底下網址,建立一個 Zoom App: https://marketplace.zoom.us/user/build 第一次進入會出現要求你同意使用條款的畫面,畫面如下: 接著點選 Build App: 這邊會出現讓你建立 Zoom App的畫面: 有幾種 App 類型你需要注意: Zoom Apps 是屬於崁入在 Zoom Client端的App,一般來說是讓第三方開發團隊用來擴充 Zoom 功能用的。 JWT 是傳統的伺服器端App,不過已經快要淘汰(2023/6),所以不理它。 OAuth 是走標準的第三方應用程式類型,如果你想做一個網站,在該網站中,想幫特定用戶建立會議、列出會議清單、抓取會議錄影資料…就用這種App。 其實我們想要整合在 Chat Bot 裡面的功能,本來應該採用上述 2. 這個類型的App,但Zoom官方說要停用了,因此我們採用底下這個新的類型: 當你按下Create鈕,會出現: 直接輸

敏捷小學堂 Part II - Azure Board Work Itmes的使用

圖片
A> B> C> D>

非常擬真的文字轉聲音服務(TTS)

Azure Speech服務除了可以將語音轉為文字,當然也可以從文字輸出語音。 我們看執行的結果:(有聲音) 上面這個影片當中,你會同時看到文字轉語音和語音轉文字,一開始的時候,我們讓電腦說出: 請透過語音下達指令…, 直到說 ‘我要離開’ 執行的是底下這段程式碼: await Speak ( speechConfig , "請透過語音下達指令..., 直到說 '我要離開'" ) ; 而Speak方法的內容如下: async static Task Speak ( SpeechConfig speechConfig , string text ) { // Configure speech synthesis speechConfig . SpeechSynthesisLanguage = "zh-TW" ; speechConfig . SpeechSynthesisVoiceName = "zh-TW-HsiaoChenNeural" ; //女生 speechConfig . SpeechSynthesisVoiceName = "zh-TW-YunJheNeural" ; //男生 using SpeechSynthesizer speechSynthesizer = new SpeechSynthesizer ( speechConfig ) ; // Synthesize spoken output SpeechSynthesisResult speak = await speechSynthesizer . SpeakTextAsync ( text ) ; if ( speak . Reason != ResultReason . SynthesizingAudioCompleted ) { Cons

非常厲害的語音轉文字(語音識別, STT)服務

在Azure的cognitive services當中,也有非常厲害的語音轉文字(語音識別)服務,從底下的這個 Console程式中你可以發現,語音服務幾乎完整的辨識筆者講的話,甚至速度加快也可以,中英文夾雜也可以: 要使用此服務相當簡單,同樣在Azure Portal上申請即可: 申請完成之後,取得 key 和 location,即可透過 .net SDK來開發。 例如,如果你想做一個語音助理,希望寫程式來識別用戶說的話,其實程式碼可能只有類似底下這幾行: using System ; using System . Text ; using System . Threading . Tasks ; using Microsoft . CognitiveServices . Speech ; using Microsoft . CognitiveServices . Speech . Audio ; namespace STT_example { class Program { async static Task FromMic ( SpeechConfig speechConfig ) { using var audioConfig = AudioConfig . FromDefaultMicrophoneInput ( ) ; using var recognizer = new SpeechRecognizer ( speechConfig , "zh-tw" , audioConfig ) ; Console . WriteLine ( "嗨~ 請透過語音下達指令..., 直到說 '我要離開' " ) ; var text = "" ; while ( ! text . Contains ( "離開" ) ) { var result = await