中關(guān)村在線消息:一般的電腦產(chǎn)品總需要我們動(dòng)手操作,但是近日亮相一款名叫Ubi的迷你計(jì)算機(jī)設(shè)備卻能夠無需大家動(dòng)手,通過聲音就能輕松控制。
這款Ubi身形非常小巧,只有4.5×4.5英寸(114×114毫米)大小,沒有鍵盤鼠標(biāo)顯示器,因此可以直接插到墻壁插座上而不顯得太占地方。
Ubi聲控計(jì)算機(jī)亮相(圖片來自Gizmag)
在通過家庭Wi-Fi連接至云端之后,就可以通過Ubi的兩個(gè)麥克風(fēng)和立體聲揚(yáng)聲器進(jìn)行溝通了,與手機(jī)上的Google Now和AppleSiri相似。用戶可以將它作為一個(gè)數(shù)字語音商務(wù)助理,讓它來提醒重要的會(huì)議,發(fā)送郵件,與Nest產(chǎn)品進(jìn)行整合,并且支持Grooveshark的流媒體音樂搜索功能。
Ubi聲控計(jì)算機(jī)介紹視頻
與此同時(shí),該公司還發(fā)布了一款A(yù)ndroidAPP,增加了與WeMo或SmartThings智能家居設(shè)備進(jìn)行互動(dòng)的可能性,并且極大地改善了用戶體驗(yàn)。
Ubi的內(nèi)置傳感器已能夠快速響應(yīng)用戶的問詢(降低了交互延遲),并且可以調(diào)節(jié)兩種女聲的語速。這款產(chǎn)品現(xiàn)在可在Unified Compter Intelligence Corporation直接購(gòu)買,售價(jià)為299美元,約合人民幣1831元。
先,感謝大家過去半年的關(guān)注、轉(zhuǎn)發(fā)和支持,2019年我會(huì)繼續(xù)堅(jiān)持把公眾號(hào)寫下去,后面除了繼續(xù)更新爬蟲方面的文章,也會(huì)涉及到Python數(shù)據(jù)分析、數(shù)據(jù)挖掘、機(jī)器學(xué)習(xí)方面的內(nèi)容,另外我會(huì)完成一個(gè)系列文章專欄:菜鳥入門大數(shù)據(jù)。最近看了不少大佬的年終總結(jié),羨慕別人開了掛一般的人生,無奈自己的龜速前行,新的一年我會(huì)抽出更多時(shí)間,增加文章的更新頻率,在沒有更新的時(shí)間里,盡量每天推薦我覺得不錯(cuò)的相關(guān)視頻教程、書籍資料等供大家學(xué)習(xí)參考,敬請(qǐng)期待!
這次我們來看看如何利用百度AI來聲控電腦關(guān)機(jī)。首先需要安裝百度AI的Python SDK,并且創(chuàng)建語音識(shí)別的應(yīng)用,獲取AppID、API Key、Secret Key這三項(xiàng)內(nèi)容,以便在我們寫的程序里使用,詳情可見上上篇文章,這里就不贅述了。
完整代碼如下:
1# coding: utf-8 2""" 3@author: Kevin Wong 4@function: python實(shí)現(xiàn)的錄音及語音識(shí)別程序 5@time: 2018/11/15 23:14 6""" 7import os 8import wave 9import numpy as np 10from pyaudio import PyAudio, paInt16 11from aip import AipSpeech 12import os 13 14 15class Recorder(object): 16 def __init__(self): 17 # pyaudio內(nèi)置緩沖大小 18 self.num_samples=2000 19 # 取樣頻率 20 self.sampling_rate=8000 21 # 聲音保存的閾值 22 self.level=1500 23 # count_num個(gè)取樣之內(nèi)出現(xiàn)COUNT_NUM個(gè)大于LEVEL的取樣則記錄聲音 24 self.count_num=20 25 # 聲音記錄的最小長(zhǎng)度:save_length * num_samples 個(gè)取樣 26 self.save_length=8 27 # 錄音時(shí)間,單位s 28 self.time_count=8 29 self.voice_string=[] 30 31 # 保存為音頻文件 32 def save_wav(self, filename): 33 wf=wave.open(filename, 'wb') 34 wf.setnchannels(1) 35 wf.setsampwidth(2) 36 wf.setframerate(self.sampling_rate) 37 wf.writeframes(np.array(self.voice_string).tostring()) 38 wf.close() 39 40 # 讀取音頻 41 def recorder(self): 42 pa=PyAudio() 43 stream=pa.open(format=paInt16, channels=1, rate=self.sampling_rate, input=True, frames_per_buffer=self.num_samples) 44 save_count=0 45 save_buffer=[] 46 time_count=self.time_count 47 while True: 48 time_count -=1 49 # 讀入num_samples個(gè)取樣 50 string_audio_data=stream.read(self.num_samples) 51 # 將讀入的數(shù)據(jù)轉(zhuǎn)換為數(shù)組 52 audio_data=np.fromstring(string_audio_data, dtype=np.short) 53 # 計(jì)算大于 level 的取樣的個(gè)數(shù) 54 large_sample_count=np.sum(audio_data > self.level) 55 print(np.max(audio_data)), "large_sample_count=>", large_sample_count 56 # 如果個(gè)數(shù)大于COUNT_NUM,則至少保存SAVE_LENGTH個(gè)塊 57 if large_sample_count > self.count_num: 58 save_count=self.save_length 59 else: 60 save_count -=1 61 if save_count < 0: 62 save_count=0 63 if save_count > 0: 64 save_buffer.append(string_audio_data) 65 else: 66 if len(save_buffer) > 0: 67 self.voice_string=save_buffer 68 save_buffer=[] 69 print("Recode a piece of voice successfully!") 70 return True 71 if time_count==0: 72 if len(save_buffer) > 0: 73 self.voice_string=save_buffer 74 save_buffer=[] 75 print("Recode a piece of voice successfully!") 76 return True 77 else: 78 return False 79 return True 80 81 82# 讀取本地音頻文件 83def get_file_content(filePath): 84 with open(filePath, 'rb') as fp: 85 return fp.read() 86 87if __name__=='__main__': 88 """ 你的 APPID AK SK """ 89 APP_ID='14810929' 90 API_KEY='hD1sGacRqCWybF9lBqumMriS' 91 SECRET_KEY='zKtG8uv3mv4tKqC5avL1ua9YGM38YAAG' 92 client=AipSpeech(APP_ID, API_KEY, SECRET_KEY) 93 94 while True: 95 recorder=Recorder() 96 # 開始錄音 97 recorder.recorder() 98 # 保存音頻文件 99 recorder.save_wav("01.wav") 100 # 識(shí)別本地文件 101 res=client.asr(get_file_content('01.wav'), 'wav', 8000, { 102 'dev_pid': 1536, 103 }) 104 print(res['result'][0]) 105 try: 106 if "計(jì)算器"==res['result'][0]: 107 os.system("calc") 108 elif "關(guān)機(jī)"==res['result'][0]: 109 os.system("shutdown -s -t 300") 110 elif "取消關(guān)機(jī)"==res['result'][0]: 111 os.system("shutdown -a") 112 elif "退出程序"==res['result'][0]: 113 break 114 except: 115 pass
這里采用了面向?qū)ο蟮木幊田L(fēng)格,第15-79行定義了一個(gè)Recorder類,其主要功能是對(duì)音頻文件進(jìn)行處理,包括將程序運(yùn)行后將用戶的聲音以二進(jìn)制流的形式讀取并保存為wav格式的音頻文件, 第82行到第85行讀取生成的音頻文件,并返回文件內(nèi)容。第87行是主線程入口,只要用戶沒有對(duì)電腦說“退出程序”,就會(huì)一直執(zhí)行while循環(huán)讀取用戶的聲音,將音頻文件交給百度AI的語音識(shí)別接口,并返回識(shí)別的文字內(nèi)容。根據(jù)識(shí)別的內(nèi)容,調(diào)用Python的os庫(kù)執(zhí)行相應(yīng)的操作。
運(yùn)行程序后,對(duì)電腦說一聲“關(guān)機(jī)”,運(yùn)行結(jié)果如下:
完結(jié),撒花,ye~
進(jìn)群:960410445 即可獲取數(shù)十套PDF!
天極網(wǎng)網(wǎng)絡(luò)頻道】據(jù)外媒報(bào)道,美國(guó)一專門開發(fā)家用技術(shù)系統(tǒng)公司Duo最新推出一款人工智能家用電腦,外形酷似一面鏡子,科技感爆棚。
該款電腦的個(gè)人助理Albert功能強(qiáng)大,不僅能播放音樂視頻、查找食譜、控制燈光、講述今日新聞熱點(diǎn),還能改變自己的聲音、口音、性別和幽默方式。
美國(guó)Duo公司推出人工智能電腦 功能相當(dāng)強(qiáng)大
這款酷似鏡子的智能電腦擁有支持全高清1080p的顯示器、麥克風(fēng)和揚(yáng)聲器,Duo的機(jī)身很薄,主顯示器的厚度僅為1.9毫米。同時(shí)支持wifi和藍(lán)牙功能,還可以安裝該公司開發(fā)的各種APP,如Duo音樂、Duo新聞和Duo應(yīng)用商店。
美國(guó)Duo公司推出人工智能電腦 功能相當(dāng)強(qiáng)大
該電腦是一款支持觸屏和聲控的家用系統(tǒng),適合掛在臥室或浴室的墻上,也可以放在桌子上。
美國(guó)Duo公司推出人工智能電腦 功能相當(dāng)強(qiáng)大
據(jù)悉,這款電腦已經(jīng)開始預(yù)售。售價(jià)方面,前1000臺(tái),每臺(tái)價(jià)格為399美元,之后預(yù)購(gòu)電腦價(jià)則升至500美元。今年10月起開始發(fā)貨。