【0元試用微軟 Azure人工智能認(rèn)知服務(wù)】我做了個(gè)群聊天機(jī)器人

      網(wǎng)友投稿 906 2025-03-31

      前言

      我這邊參加了CSDN與微軟Azure舉辦的0元試用微軟Azure人工智能認(rèn)知服務(wù)活動(dòng)。第一次使用微軟Azure 認(rèn)知服務(wù),老實(shí)說(shuō),還是滿心期待的。

      @[TOC]

      正式開(kāi)始試用

      登錄地址: 點(diǎn)此開(kāi)啟試用之旅 ,這個(gè)認(rèn)知服務(wù)有點(diǎn)不好找,還有有個(gè)搜索的功能,直接搜索一下,認(rèn)知服務(wù),即可找到本次測(cè)評(píng)所需要的服務(wù)。

      【0元試用微軟 Azure人工智能認(rèn)知服務(wù)】我做了個(gè)群聊天機(jī)器人

      這個(gè)界面還是比較間接大氣的。

      第一次進(jìn)來(lái)需要新建一個(gè)資源組。這個(gè)資源組主要是用來(lái)保管Azure各個(gè)服務(wù)的相關(guān)資源。

      這里我創(chuàng)建了一個(gè)名為feigeVoice的語(yǔ)音服務(wù),耐心等待系統(tǒng)部署,部署完成之后的界面如下圖所示。

      接著點(diǎn)擊賺到資源,在左側(cè)窗格中的“資源管理”下,選擇“密鑰和終結(jié)點(diǎn)”

      點(diǎn)擊之后展示的界面如下圖所示,請(qǐng)記住這個(gè)密鑰和終結(jié)點(diǎn)的位置,因?yàn)楹竺婢帉懡涌跁r(shí)還需要使用。

      每個(gè)訂閱有兩個(gè)密鑰;可在應(yīng)用程序中使用任意一個(gè)密鑰。

      至此,一個(gè)語(yǔ)音服務(wù)就弄好了,這個(gè)語(yǔ)音服務(wù)給可以給我們的應(yīng)用提供語(yǔ)音轉(zhuǎn)文本、文本轉(zhuǎn)語(yǔ)音、翻譯和說(shuō)話人識(shí)別 三種能力。下面就在我們的應(yīng)用中接入這三種功能吧。

      第一件事情是做什么呢?當(dāng)然是找SDK呀?。。。。?/p>

      環(huán)境

      語(yǔ)言 Python 3.9

      開(kāi)發(fā)環(huán)境 PyCharm

      系統(tǒng)環(huán)境 Mac OS

      SDK的位置

      微軟這個(gè)SDK的位置還有點(diǎn)偏僻,下面我就介紹一下如何查找SDK以及開(kāi)發(fā)文檔。

      點(diǎn)擊之后會(huì)跳轉(zhuǎn)到一個(gè)新的頁(yè)面,也就是幫助和支持頁(yè)面

      在該頁(yè)面上選中【 文檔 】圖標(biāo)之后就正式進(jìn)入了 Azure文檔頁(yè)面了??梢园言擁?yè)面的地址保存下來(lái),以后就不用這么麻煩了。

      Azure文檔的頁(yè)面地址:https://docs.azure.cn/zh-cn/#pivot=get-started

      拉到最下面找到我們本次試用的【認(rèn)知服務(wù)】上面。

      在點(diǎn)擊【認(rèn)知服務(wù)】按鈕,就可以進(jìn)入認(rèn)知服務(wù)的開(kāi)發(fā)者文檔頁(yè)面了。進(jìn)入該頁(yè)面之后在接著點(diǎn)擊我們本次試用的語(yǔ)音服務(wù)了。

      終于到最后一個(gè)頁(yè)面了,即將可以看到我們需要的SDK以及開(kāi)發(fā)文檔了,小伙伴們是不是很開(kāi)心很激動(dòng)呀。

      下面我們就挨個(gè)服務(wù)體驗(yàn)一下,康康它到底好不好用?。。。?!這里點(diǎn)擊了關(guān)于語(yǔ)音轉(zhuǎn)文本的按鈕,就進(jìn)入了下面這個(gè)頁(yè)面。對(duì)于這種格式的文檔,相信每個(gè)開(kāi)發(fā)小伙伴都不會(huì)感到陌生。

      語(yǔ)音識(shí)別(語(yǔ)音轉(zhuǎn)文本)

      在左側(cè)菜單欄找到【語(yǔ)音轉(zhuǎn)文本快速入門】按鈕。接著選擇編程語(yǔ)言或GLI。這里我選擇的是Python語(yǔ)言

      接下來(lái)就是按照文檔操作一遍。

      安裝語(yǔ)音SDK

      pip install azure-cognitiveservices-speech

      安裝語(yǔ)音 SDK 后,將其導(dǎo)入到 Python 項(xiàng)目中。

      import azure.cognitiveservices.speech as speechsdk

      創(chuàng)建語(yǔ)音配置

      若要使用語(yǔ)音 SDK 調(diào)用語(yǔ)音服務(wù),需要?jiǎng)?chuàng)建 SpeechConfig。 此類包含有關(guān)訂閱的信息,例如密鑰和關(guān)聯(lián)的位置/區(qū)域、終結(jié)點(diǎn)、主機(jī)或授權(quán)令牌。 使用密鑰和位置/區(qū)域創(chuàng)建 SpeechConfig。 請(qǐng)參閱查找密鑰和位置/區(qū)域頁(yè)面,查找密鑰位置/區(qū)域?qū)Α?/p>

      speech_key, service_region = "YourSubscriptionKey", "YourServiceRegion" speech_config = speechsdk.SpeechConfig(subscription=speech_key, region=service_region, speech_recognition_language="zh-cn") speech_recognizer = speechsdk.SpeechRecognizer(speech_config=speech_config)

      說(shuō)白了 speech_key 傳入的是前面的密鑰1或者密鑰2,service_region傳入前面的位置/區(qū)域,也就是 chinaeast2

      5. 從麥克風(fēng)中直接識(shí)別語(yǔ)音

      若要使用設(shè)備麥克風(fēng)識(shí)別語(yǔ)音,只需創(chuàng)建 SpeechRecognizer(無(wú)需傳遞 AudioConfig),并傳遞 speech_config。

      語(yǔ)音合成(文本轉(zhuǎn)語(yǔ)音)

      語(yǔ)音識(shí)別搞完之后,按照同樣的套路。我們接著來(lái)弄下語(yǔ)音合成。與語(yǔ)音識(shí)別相同的步驟,在此就不在贅述了,這里主要展示下如何使用語(yǔ)音合成功能吧。

      安裝語(yǔ)音服務(wù)SDK,如果已經(jīng)安裝則忽略該步驟。

      pip install azure-cognitiveservices-speech

      安裝語(yǔ)音 SDK 后,在腳本頂部包含以下 import 語(yǔ)句。

      import azure.cognitiveservices.speech as speechsdk from azure.cognitiveservices.speech.audio import AudioOutputConfig

      創(chuàng)建語(yǔ)音配置

      若要使用語(yǔ)音SDK調(diào)用語(yǔ)音服務(wù),則需要?jiǎng)?chuàng)建SpeechConfig。

      speech_key, service_region = "YourSubscriptionKey", "YourServiceRegion" speech_config = speechsdk.SpeechConfig(subscription=speech_key, region=service_region)

      將語(yǔ)音合成到文件中,完整代碼如下:

      import azure.cognitiveservices.speech as speechsdk from azure.cognitiveservices.speech import SpeechSynthesizer from azure.cognitiveservices.speech.audio import AudioOutputConfig speech_key, service_region = "YourSubscriptionKey", "YourServiceRegion" speech_config = speechsdk.SpeechConfig(subscription=speech_key, region=service_region) #設(shè)置合成的音頻為中文 speech_config.speech_synthesis_language = "zh-CN" # 設(shè)置保存音頻的文件 audio_config = AudioOutputConfig(filename="test.wav") #在控制臺(tái)輸入想要合成的話 print("請(qǐng)輸入你想合成的話...") text = input() #創(chuàng)建synthesizer對(duì)象, synthesizer = SpeechSynthesizer(speech_config=speech_config, audio_config=audio_config) # 調(diào)用speak_text_async 將文本合成為音頻 synthesizer.speak_text_async(text)

      運(yùn)行結(jié)果是:

      語(yǔ)音翻譯

      語(yǔ)音翻譯也是類似的。

      安裝語(yǔ)音SDK,導(dǎo)入語(yǔ)音SDK,創(chuàng)建語(yǔ)音配置與前面相同,在此就不在贅述了,直接貼出代碼

      import azure.cognitiveservices.speech as speechsdk # 源語(yǔ)言是英語(yǔ),目標(biāo)語(yǔ)言是德語(yǔ),PS:翻譯成中文報(bào)錯(cuò) from_language, to_language = 'en-US', 'de' speech_key, service_region = "YourSubscriptionKey", "YourServiceRegion" translation_config = speechsdk.translation.SpeechTranslationConfig( subscription=speech_key, region=service_region)

      初始化翻譯識(shí)別器

      創(chuàng)建SpeechTranslationConfig后,下一步就是初始化TranslationRecognizer。初始化TranslationRecognizer后,需要向其傳遞translation_config。

      如果使用的是設(shè)備默認(rèn)麥克風(fēng)識(shí)別語(yǔ)音的話,則 TranslationRecognizer 應(yīng)如下所示:

      def translate_speech_to_text(): translation_config = speechsdk.translation.SpeechTranslationConfig( subscription=speech_key, region=service_region) translation_config.speech_recognition_language = from_language translation_config.add_target_language(to_language) recognizer = speechsdk.translation.TranslationRecognizer( translation_config=translation_config)

      翻譯語(yǔ)音

      為了翻譯語(yǔ)音,語(yǔ)音 SDK 依賴于麥克風(fēng)或音頻文件輸入。 在語(yǔ)音翻譯之前先進(jìn)行語(yǔ)音識(shí)別。 初始化所有對(duì)象后,調(diào)用識(shí)別一次的函數(shù)并獲取結(jié)果。完整代碼如下:

      mport azure.cognitiveservices.speech as speechsdk speech_key, service_region = "YourSubscriptionKey", "YourServiceRegion" from_language, to_language = 'en-US', 'de' # from_language, to_language = 'en-US', 'zh-cn' def translate_speech_to_text(): translation_config = speechsdk.translation.SpeechTranslationConfig( subscription=speech_key, region=service_region) translation_config.speech_recognition_language = from_language translation_config.add_target_language(to_language) recognizer = speechsdk.translation.TranslationRecognizer( translation_config=translation_config) print('Say something...') result = recognizer.recognize_once() print(get_result_text(reason=result.reason, result=result)) def get_result_text(reason, result): reason_format = { speechsdk.ResultReason.TranslatedSpeech: f'RECOGNIZED "{from_language}": {result.text}\n' + f'TRANSLATED into "{to_language}"": {result.translations[to_language]}', speechsdk.ResultReason.RecognizedSpeech: f'Recognized: "{result.text}"', speechsdk.ResultReason.NoMatch: f'No speech could be recognized: {result.no_match_details}', speechsdk.ResultReason.Canceled: f'Speech Recognition canceled: {result.cancellation_details}' } return reason_format.get(reason, 'Unable to recognize speech') translate_speech_to_text()

      運(yùn)行結(jié)果

      機(jī)器人 語(yǔ)音通話

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:按照指定工作表中的數(shù)據(jù)順序?qū)α硪还ぷ鞅碇械臄?shù)據(jù)排序
      下一篇:智能鎖做社區(qū)營(yíng)銷的好處有哪些?智能鎖廠家諾托告訴你
      相關(guān)文章
      日韩国产欧美亚洲v片 | 中文字幕无码精品亚洲资源网久久| 国产亚洲人成无码网在线观看| 婷婷亚洲天堂影院| 亚洲国产精品无码久久| 亚洲人成77777在线播放网站不卡| 1区1区3区4区产品亚洲| 亚洲av日韩av不卡在线观看| 亚洲熟妇av一区二区三区漫画| 亚洲v国产v天堂a无码久久| 亚洲国产精品网站在线播放| 亚洲偷自拍另类图片二区| 亚洲精品国产啊女成拍色拍| 久久青草亚洲AV无码麻豆| 国产亚洲精品AA片在线观看不加载| 亚洲精品国产综合久久一线| 一本色道久久88综合亚洲精品高清| 久久久久亚洲AV无码去区首| 亚洲中文字幕无码av| 亚洲日韩精品无码AV海量| 亚洲色大成WWW亚洲女子| 亚洲熟妇无码av另类vr影视 | 2020久久精品亚洲热综合一本| 亚洲午夜在线一区| 亚洲一区二区三区乱码在线欧洲| 亚洲视频一区二区三区四区| 亚洲情A成黄在线观看动漫软件| 亚洲久悠悠色悠在线播放| 亚洲熟女乱色一区二区三区| 亚洲成a人片在线不卡一二三区| 亚洲国产区男人本色| 18禁亚洲深夜福利人口| 亚洲第一福利网站在线观看| 中文字幕亚洲一区二区三区| 精品亚洲一区二区| 日韩亚洲AV无码一区二区不卡| 亚洲一区二区在线免费观看| 亚洲制服在线观看| 亚洲熟妇无码八V在线播放| 国产天堂亚洲精品| 最新精品亚洲成a人在线观看|