• <em id="6vhwh"><rt id="6vhwh"></rt></em>

    <style id="6vhwh"></style>

    <style id="6vhwh"></style>
    1. <style id="6vhwh"></style>
        <sub id="6vhwh"><p id="6vhwh"></p></sub>
        <p id="6vhwh"></p>
          1. 国产亚洲欧洲av综合一区二区三区 ,色爱综合另类图片av,亚洲av免费成人在线,久久热在线视频精品视频,成在人线av无码免费,国产精品一区二区久久毛片,亚洲精品成人片在线观看精品字幕 ,久久亚洲精品成人av秋霞

            WRITE AS 控制欲(write as 控制欲金)

            更新時間:2023-03-02 17:33:38 閱讀: 評論:0

            作者 | 葉圣

            出品 | AI科技大本營(ID:rgznai100)

            導語:本篇文章將基于百度API實現對電腦的語音智能控制,不需要任何硬件上的支持,僅僅依靠一臺電腦即可以實現。作者經過測試,效果不錯,同時可以依據作者所給出的代碼進行修改加入自己需要的功能,而所有代碼的實現都是依靠python編程實現。試想,通過語音實現對電腦的控制,而電腦又可以對其他硬件進行控制,那么即可以實現語音對其他硬件的控制,即達到智能家具的效果。

            在人工智能的發展越來越火熱的今天,其中智能應用也在伴隨著我們的生活,其中最為典型的便是語音識別,近幾年來,語音識別技術取得顯著進步,同時語音識別技術也慢慢滲入了工業、家電、通信、汽車電子、醫療、家庭服務、消費電子產品等各個領域。語音識別最基本的思想包括:信號處理、模式識別、概率論和信息論、發聲機理和聽覺機理、人工智能等等,而這里我將對語音識別進行生活中的很好應用,讓機器能聽懂人類講話,并做出操作控制。

            首先我們選用的編程語言是python,要用到的模塊有jieba模塊,用以實現對中文語句進行分段;os,win32con和sys模塊用來實現對電腦的控制;time模塊用來延時;wave 和pyaudio模塊用來錄音;pygame模塊用來播放聲音;pynput模塊用來控制鍵盤;random模塊隨機選取;其中導入模塊這一段代碼為:

            # encoding=utf-8import jieba from aip import AipSpeechimport osimport sysimport timeimport win32conimport waveimport numpy as np from pyaudio import PyAudio,paInt16import pygame from pynput.keyboard import Key, Controller from random import choice

            然后在百度api申請賬號可以得到密碼和用戶名,申請語音識別項目,至于為什么不用電腦自帶的微軟語音識別,是考慮到其識別效果的不準確。其中這一段代碼為:

            #開始錄音標識APP_ID = '15118279'#百度分配的APP_ID注冊時可以看到,這里是我的API_KEY ='xUx0Gm2AG2YMtA3FnGfwoKdP'#百度分配的API_KEY注冊時可以看到,這里是我的SECRET_KEY = 'hdxyMvABhUD4xnacGtDdeHbEOUGmdjNx'#百度分配的SECRET_KEY注冊時可以看到,這里是我的然后用代碼client = AipSpeech(APP_ID, API_KEY, SECRET_KEY)實現對百度語音識別的調用;result = client.synthesis('語音控制開始', 'zh', 1, {'vol': 5,})用以標志語音控制的開始語句,同時接上下面的判斷語句判斷模塊調用是否成功:# 識別正確返回語音二進制錯誤則返回dict 參照下面錯誤碼if not isinstance(result,dict): with open('audio.mp3', 'wb') as f: f.write(result)#將“語音控制開始”這段文字語音翻譯成音頻文件audio.mp3

            接著依靠pygame模塊對audio.mp3進行播放,即可以聽到電腦說了句“語音控制開始”這句話,即標志著你可以進行說話以達到控制的效果。代碼如下:

            pygame.mixer.inittrack = pygame.mixer.music.load('audio.mp3')pygame.mixer.music.playtime.sleep(2)pygame.mixer.music.stopprint("開始")

            緊接著下面的是錄音,將你的聲音錄制下來才能對錄制下來的音頻文件進行識別,這里主要依靠wave模塊進行錄音,代碼如下:

            #############################class GenAudio(object): def __init__(lf): lf.num_samples = 2000 # pyaudio內置緩沖大小 lf.sampling_rate = 8000 # 取樣頻率 lf.level = 1500 # 聲音保存的閾值 lf.count_num = 20 # count_num個取樣之內出現COUNT_NUM個大于LEVEL的取樣則記錄聲音 lf.save_length = 8 # 聲音記錄的最小長度:save_length?*?num_samples?個取樣 lf.time_count = 8 # 錄音時間,單位s lf.voice_string = def save_wav(lf, filename): wf = wave.open(filename, 'wb') wf.tnchannels(1) wf.tsampwidth(2) wf.tframerate(lf.sampling_rate) wf.writeframes(np.array(lf.voice_string).tostring) wf.clo def read_audio(lf): pa = PyAudio stream = pa.open(format=paInt16,channels=1, rate=lf.sampling_rate, input=True, frames_per_buffer=lf.num_samples) save_count = 0 save_buffer = time_count = lf.time_count while True: time_count -= 1 # ?讀入num_samples個取樣 string_audio_data =stream.read(lf.num_samples) # ?將讀入的數據轉換為數組 audio_data =np.fromstring(string_audio_data, dtype=np.short) # 計算大于?level?的取樣的個數 large_sample_count =np.sum(audio_data > lf.level) print(np.max(audio_data)), "large_sample_count=>",large_sample_count # ?如果個數大于COUNT_NUM,則至少保存SAVE_LENGTH個塊 if large_sample_count >lf.count_num: save_count = lf.save_length el: save_count -= 1 if save_count < 0: save_count = 0 if save_count > 0: save_buffer.append(string_audio_data) el: if len(save_buffer) > 0: lf.voice_string =save_buffer save_buffer = print("Recode?a?piece?of??voice?successfully!") return True if time_count == 0: if len(save_buffer) > 0: lf.voice_string =save_buffer save_buffer = print("Recode?a?piece?of??voice?successfully!") return True el: return True

            接著用

            r = GenAudior.read_audio

            r.save_wav("test.wav")這一段語句用以保存錄制下來的聲音為test.wav的音頻文件。再緊接著用ffmpeg實現對錄音文件的上傳,以達到語音識別的目的,代碼如下:

            #百度語音識別# 讀取文件def get_file_content(filePath): cmd_str = "ffmpeg -y -i %s -acodec pcm_s16le -f s16le -ac 1 -ar 16000 %s.pcm"%(filePath,filePath) os.system(cmd_str) # 調用系統命令ffmpeg,傳入音頻文件名即可 with open(filePath + ".pcm",'rb') as fp: return fp.read然后用# 識別本地文件a =client.asr(get_file_content('test.wav'), 'pcm', 16000, { 'dev_pid': 1536,})if a.get('result'): a=a.get('result')[0]print(a)即可實現對錄音文件的識別,此時會輸出識別的結果,例如a=“我想問下徐州的天氣”。再接著依靠jieba分詞對你說的話分段g_list = jieba.cut(a)s=("".join(g_list))print(s)a="["+s+"]"此時就會將你說的話一個字一個字的分開,并保存為數組a。再定義幾個數組為song=["歌","歌曲","音樂","聽"]movie=["播放","電視","看","電影"]brower=["搜索","瀏覽"]

            用以判斷你說的話中有沒有在以上數組中,如果你說的話有關鍵字在song這個數組中,就播放音樂,即為下面代碼要實現的功能。

            如果你說的話中有“酷狗”這兩個字的話,就打開酷狗,具體代碼如下:

            if "酷狗" in a: os.startfile("D:program files(x86)kugouKuGou.exe")

            這里D:program files (x86)kugouKuGou.exe為我的電腦酷狗的安裝路徑,具體路徑可以對其快捷方式右鍵打開所在文件位置找到。

            如果你說的話中有“優酷”這兩個字的話,就打開優酷,具體代碼如下:

            if "優酷" in a: os.startfile(r"E:YouKuYoukuClientproxyYoukuDesktop.exe")

            這里E:YouKuYoukuClientproxyYoukuDesktop.exe e為我的電腦優酷的安裝路徑,具體路徑可以對其快捷方式右鍵打開所在文件位置找到。

            如果你說的話中有“關機”這兩個字的話,就關機,具體代碼如下:

            if "關機" in a: os.system("shutdown -p")如果你說的話中有“wifi”這兩個字的話,就連接wifi,具體代碼如下:if "wifi" in a: os.startfile(r'F:代碼python連接WiFijgh.exe')

            這里jgh.exe為我編的一個自動連WiFi的程序,我自己可以直接調用。

            如果你說的話中有"搜索","瀏覽"這幾個字的話,就打開瀏覽器并搜索對應的內容,具體代碼如下:

            for i in brower: if i in a: os.startfile(r"D:program files(x86)3606Application360.exe") time.sleep(20) keyboard = Controller keyboard.type(s) time.sleep(2) keyboard.press(Key.enter)

            如果你說的話中有"歌","歌曲","音樂","聽"這幾個字的話,就打開隨機播放你電腦里下載的音樂,具體代碼如下:

            for i in song: if i in a: Newdir = path = r'C:UrsasusMusic' filelist = os.listdir(path) # 該文件夾下所有的文件(包括文件夾) for files in filelist: # 遍歷所有文件 Olddir = os.path.join(path,files) # 原來的文件路徑 if os.path.isdir(Olddir): # 如果是文件夾則跳過 continue filename =os.path.splitext(files)[0] # 文件名 filetype = os.path.splitext(files)[1] # 文件擴展名 new = path + "\" + files if filetype == ".mp3": Newdir.append(new) os.startfile(choice(Newdir))

            其中C:UrsasusMusic為我下載音樂的路徑,具體路徑根據自己的電腦而定。

            至此,語音控制功能基本實現,其中包括的功能有,語音播放音樂,語音打開瀏覽器并搜索你所的話,語音打開優酷,語音打開酷狗,語音實現自動關機,并且進過測試,其中語音識別效果甚好,即使你的聲音很滄桑,很小也可以識別的很準確,所以說這一項應用的實現是真正有價值的,并且其中如果要加入其他的功能的話,可以依據我的思維進行填補實現,比如語音鎖屏,語音換壁紙等等。

            總結一下程序的總體思維為:讓電腦說“語音控制開始”,用來判斷模塊是否完整,同時也是標志著你可以進行對電腦控制了;然后對周圍環境錄音,對錄音文件語音識別成文字,如果你說的話有一些定義的關鍵詞的話,就執行對應的操作。例如“我想聽首歌”這句話有“歌”這個關鍵字,就會執行播放歌曲的功能,至此智能控制功能完美實現。

            作者簡介:

            葉圣,中國礦業大學,擅長Python,vbs,bat,vc++,H5等等,自研安卓武俠游戲,桌面智能寵物,vip視頻解析等等

            (*本文為 AI科技大本營投稿,轉載請微信聯系 1092722531)

            本文發布于:2023-02-28 21:21:00,感謝您對本站的認可!

            本文鏈接:http://www.newhan.cn/zhishi/a/1677749618106178.html

            版權聲明:本站內容均來自互聯網,僅供演示用,請勿用于商業和其他非法用途。如果侵犯了您的權益請與我們聯系,我們將在24小時內刪除。

            本文word下載地址:WRITE AS 控制欲(write as 控制欲金).doc

            本文 PDF 下載地址:WRITE AS 控制欲(write as 控制欲金).pdf

            標簽:WRITE   write
            相關文章
            留言與評論(共有 0 條評論)
               
            驗證碼:
            Copyright ?2019-2022 Comsenz Inc.Powered by ? 實用文體寫作網旗下知識大全大全欄目是一個全百科類寶庫! 優秀范文|法律文書|專利查詢|
            主站蜘蛛池模板: 亚洲欧美综合一区二区三区| 亚洲乱码一区二区三区视色 | 亚洲欧美中文字幕日韩一区二区| 久久国产免费观看精品| 部精品久久久久久久久| 久久久久中文字幕精品视频| 激情文学一区二区国产区| 起碰免费公开97在线视频| 呦女亚洲一区精品| 爱性久久久久久久久| 天堂网亚洲综合在线| 国产精品高清中文字幕| 精品国产一区二区三区av性色| 我要看特黄特黄的亚洲黄片| 色综合久久久久综合体桃花网 | 久久人与动人物a级毛片| 国产一区二区三区亚洲精品| 中日韩中文字幕一区二区| 亚洲综合色一区二区三区| 在线精品另类自拍视频| 婷婷六月色| 国产毛片精品av一区二区 | 亚洲肥老太bbw| 久久月本道色综合久久| 日韩精品一区二区三区免费在线观看 | 国产精品自在自线视频| 四虎亚洲一区二区三区| 国内精品免费久久久久电影院97| 欧美不卡视频一区发布| 亚洲国产日韩伦中文字幕| 大地资源高清播放在线观看| 亚洲中文av一区二区三区| 免费成人深夜福利一区| 久久精品国产色蜜蜜麻豆| 国产精品成人中文字幕| 国产亚洲精品超碰| 亚洲天堂视频网站| 精品尤物TV福利院在线网站| 国产91午夜福利精品| 亚洲国产精品成人一区二区在线| 狠狠色丁香婷婷综合潮喷|