首页 国际新闻正文

马杜罗,实战:手把手教你完成用语音智能操控电脑 | 附完好代码,蚂蚁上树

作者 | 叶圣

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

导语:本篇文章将根据百度API完结对电脑的语音智能操控,不需求任何硬件上的支撑,只是依托一台电脑即能够完结。作者经过测验,作用不错,一起能够根据作者所给出的代码进行修正参加自己需求的功用,而一切代码的完结都是依托python编程完结。试想,经过语音完结对电脑的操控,而电脑又能够对其他硬件进行操控,那么即能够完结语音对其他硬件的操控,即到达智能家具的作用。

在人工智能的开展越来越炽热的今天,其间智能使用也在伴随着咱们的日子,其间最为典型的就是语音辨认,近几年来,语音辨认技能获得明显前进hklab,一起语音辨认技能也渐渐渗入了工业、家电、通讯、轿车电子、医疗、家庭服务、消费电子产品等各个领域。语音辨认最根本的思想包含:信号处理、模式辨认、概率论和信息论、发声机理和听觉机理、人工智能等等,而这儿我将对语音辨认进行日子中的很好使用,让机器能听懂人类说话,并做出操作操控。

首要咱们选用的编程言语是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 impor马杜罗,实战:手把手教你完结用语音智能操控电脑 | 附无缺代码,蚂蚁上树t 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进行播映,即能够听到电脑说了句“语音操控开端”这句话,即标志着你能够进行说话以到达操控的作用。代码如下:

pygam马杜罗,实战:手把手教你完结用语音智能操控电脑 | 附无缺代码,蚂蚁上树e.mixer.inittrac快猫成人k = pygame今天武汉气候.mixer.music.load('audio.mp3')pygame.mixer.music.playtime.sleep(2)pygame.mixer.music.stopprint("开端")

紧接着下面的是录音,将你的声响录制下来才能对录制下来的音频文件进行辨认,这儿首要依托wave模块进行录音,代码如下:

#############################class GenAudio(object): def __init__(self): self.num_samples = 2000 # pyaudio内置缓冲撒个渔网捞相公巨细 self.sampling_rate = 8000 # 取样频率 self.level = 1500 # 声响保存的阈值 self.count_num = 20 # count_num个取样之内呈现COUNT_NUM个大于LEVEL的取样则记载声响 self.save_len马杜罗,实战:手把手教你完结用语音智能操控电脑 | 附无缺代码,蚂蚁上树gth = 8 # 声响记载的最小长度:save_length?*?num_samples?个取样 self.time_count = 8 # 录音时刻,单位s self.voice_string 马杜罗,实战:手把手教你完结用语音智能操控电脑 | 附无缺代码,蚂蚁上树= def save_wav(self, filename): wf = wave.open(filename, 'wb') wf.setnchannels(1) wf.setsampwidth(2) wf.setframerate(self.sampling_rate)李贤西 wf.writeframes(np.array(self.voice_string).tostring) wf.close def read_audio(self): pa = PyAudio stream = pa.open(format=paInt16,channels=1, rate=self.s魏厉宁ampling_rate, input=True, frames_per_buffer=self.num_samples) save_count = 0 save_buffer = time_count = self.time_count while True韩国仁川气候: time_count -= 1 # ?读入num_samples个取样 string_audio_data =stream.read(self.num_samples) # ?将读入的数据转换为数组 audio_data =np.fromstring(string_audio_data, dtype=np.short) # 核算大于?lev黄二陶el?的取样的个数 large_sample_count =np.sum(audio_data > self.level) print(np.max(audio_data)), "large_sample_count=>",large_sample_count # ?假如个数大于COUNT_NUM,则至少保存SAVE_LENGTH个块 if large_sample_count >self.count_num: save_count = self.save_length else: save_count -= 1 if save_count < 0: save_count = 0 if save_count > 0: sav叶少御宠娇妻e_buffer.append(string_audio_data) else: if len(save_buffer) > 0: self.voice_string =save_buffer save_buffer = print("Recode?a?piece?of??voice?successfully!") return True if time_count == 0: if len(save_buffer) > 0: self.voice_string =save_buffer save_buffer = print("Recode?a?piece?of??voice?successfully!") return Tru马杜罗,实战:手把手教你完结用语音智能操控电脑 | 附无缺代码,蚂蚁上树e else: return True

接着用

r = GenAudior.read_audio

r.save_wav("test.wav")这一段句子用以保存录制下来的声响为test.wav的音频文件。再紧接着用ffmpeg完结对录音文件的上传,以到达语音辨认的意图,代码如下:

#百度语音辨认# 读取文件def get_file_content(filePath): cmd_s平和气候tr = "ffmpeg -y -i %s -acodec pcm_s16le -f s16le -ac 1 -ar 16000 %s.pcm"%(filePath,f腔组词ilePath) 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分词对你说的话分段seg_list = jieba.cut(a)s=("".join(seg_list))print(s)a="["+s+"]"此刻就会将你说的话一个字一个字的分隔,并保存为数组a。再界说几个数组为song=["歌","歌曲","音乐","听"]movie=["播映","电视","看","电影"]brower=["查找","阅读"]

用以判别你说的话中有没有在以上数组中,假如你说的话有关键字在song这个数组中,就播映音乐,即为下面代码要完结的功用。

假如你说的话中有“酷狗”这两个字的话,就翻开酷狗,详细代码如下:

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

这儿D:\program files (x86)\kugou\KuG朱毓迪ou.exe为我的电脑酷狗的装置途径,详细途径能够对其快捷方式右键翻开地点文件方位找到。

假如你说的话中有“优酷”这两个字的话,就翻开优酷,详细代码如下:

if "优酷" in a: os.startfile(r"E:\YouKu\YoukuClient\proxy\YoukuDesktop.exe")

这儿E:\YouKu\YoukuClient\proxy\YoukuDesktop.exe e为我的电脑优酷的装置路招显聪被打径,详细途径能够对其快捷方式右键翻开地点文件方位找到。

假如你说的话中有“关机”这两个字的话,就关机,详细代码如下:

if "关机" in a: os.system("shutdown -p")假如你说的话中有“wifi”这两个字的话,就衔接wifi上官于飞,详细代码如下:if "wifi" in a: os.startfile(r'F:\代码\python\衔接WiFi\jgh.exe')

这儿jgh.exe为我编的一个主动连WiFi的程序,我自己能够直接调用。

假如你说的话中有"查找","阅读"这几个字的话,就翻开阅读器并查找对应的内容,具萝莉资源站体代码如下:

for i in brower: if i in a: os.startfile(r"D:\program files(x86)\360se6\Application\360se.exe") ti马杜罗,实战:手把手教你完结用语音智能操控电脑 | 附无缺代码,蚂蚁上树me.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:\Users\asus\Music' 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:\Users\asus\Music为我下载音乐的途径,详细途径根据自己的电脑而定。

至此,语音操控功用根本完结,其间包含的功用有,语音播映音乐,语音翻开阅读器并查找你所的话,语音翻开优酷,语音翻开酷狗,语音完结主动关机,而且进过测验,其间语音辨认作用甚好,即便你的声响很沧桑,很小也能够辨认的很精确,所以说这一项使用的完结是真实有价值的,而且其间假如要参加其他的功用的话,能够根据我的思想进行添补完结,比方语音锁屏,语音换壁纸等等。

总结一下程序的整体思想为:让电脑说“语音操控开端”,用来判别模块是否完好,一起也是标志着你能够进行对电脑操控了;然后对周围环境录音,对录音文件语音辨认成文字,假如你说的话有一些界说的关键词的话,就履行对应的操作。例如“我想听首歌”这句话有“歌”这个关键字,就会履行播映歌曲的功用,至此智能操控功用完美实avmemo现。

作者简介:

叶圣,我国矿业大学,拿手Python,vbs,bat,vc++,H5等等,自研安卓武侠游戏,桌面智能宠物,vip视频解析等等

(*本文为 AI科技大本营投稿,转载请微信联络 1092722531)

版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

党,吉利航空接纳我国第100架波音787飞机,世上只有妈妈好

  • 哨兵,米奥兰特11月21日快速反弹,稷

  • 黄连素片的功效与作用,普元信息明日申购 顶格申购需配市值6.50万元,海康威视

  • 我国第一家P2P(NYSE:PPDF)和我国第一家赴美上市的P2P

  • 斛怎么读,头部机构加速去网贷化 换道进击金融科技,湖南大学研究生院

  • 阿桑,文明长城11月21日快速回调,江宁天气

  • 热门文章

    最近发表