导航:首页 > 五金知识 > python语音工具箱

python语音工具箱

发布时间:2022-07-01 17:14:24

『壹』 用Python实现类似语音助手的功能有什么好的思路及工具库

有趣的话题,高级的思路等牛人来说。
我说一个笨思路,不断的录音片段,不断的比对波形。
已答就不要重复邀请了哇。另外你想要持续匹配必然是不断录音不断匹配,现实世界中并没有如同推送服务一样的功能,可以出现了什么声音再调用你的程序。你只能是看看如何设计优化这个匹配和录音的平衡,并且优化你的匹配速度:比方说你试试录音能否多进程(线程)?如果能双开,那么交替覆盖空白时间也是其中一种算法。
你思考一下苹果的语音助手(老版本)和安卓的语音助手,是不是都要先按一个按钮才能开始语音助手服务?说明只有持续监听才能解决问题,但是手机为了保证续航,又不能做持续监听。
后来,苹果想了个什么办法呢,他自己设计了一个芯片,其中有一个功能就是可以捕捉麦克风收听到“hey siri”就调用语音助手的功能,具体的技术细节我不太清楚,有可能是让麦克风只要收到超过多少分贝的声音就开始小范围匹配“hey siri”之类的吧
至于减噪,网上有不少关于用电脑软件调节波形文件来降噪的方法教程,虽然你不能直接用,但是提供了思路
计算声音的相似性,我个人认为可以通过计算波形的特征来完成,我个人才疏学浅,没有这方面的经验,如果是语音识别,推荐你用讯飞的api试试,讯飞在这一块技术还是蛮强的。
但是,像人类一样可以很精准的从人群中识别出熟人声音的功能,那个属于人工智能的范畴,目前研究水平还不够到可以应用的地步。

『贰』 如何利用python在pycharm上进行语音合成

pycharm 通过 SFTP 远程编辑项目的配置

{这个相当于代码同步,类似git上传,同步后你可以在服务器上直接运行上传的代码;这个配置好后,才能在pycharm远程调试时候将代码上传到服务器正确位置/正确路径上}

打开pycharm,File -> Settings…( Ctrl + Alt + s ) -> Deployment
点击 + 按钮,添加一个

如果你发现你的运行配置中没有 Django 相关的项,请在项目设置的 Django 中勾选 Enable Django Support。

运行配置的设置有两点需要注意。Python Interpreter 需要选中之前建立的远程解释器。Path mappings 处,需要把本机的 manage.py 与 Linux 上的关联起来,比如:

C:/Evolution/Python/django_website/manage.py <=> /home/onlyice/work/django_website/manage.py

这可能是 PyCharm 的 bug:在使用远程解释器后,PyCharm 并不会自动将 Django 运行配置中的 manage.py 文件定位到 Linux 上的那份,而是会尝试使用下面的命令来启动 Django 调试 Server:

/usr/bin/python2 manage.py C:/Evolution/Python/django_website/manage.py

自然就找不到文件了。所以使用了 Path mappings 作为一种 hack 手段来解决。
这时就可以打断点调试啦

Trouble Shooting

Q: 点击调试运行失败,显示 “Cant set remote tunneling”

A: 调试时 PyCharm 调用将 Python Debug Server (pydevd.py) 绑定在一个随机端口上,再使用 SSH 的端口转发将数据通过 SSH 端口转到 Debug Server 去。需要检查你的 sshd 配置 (默认是 /etc/ssh/sshd_config) 是否禁用了 TCP 转发 (AllowTcpFowarding),这个配置默认是打开的。

皮皮blog

出错问题

pycharm channel is not opened

pycharm不能同步deployment中设置的文件内容了,在remote host窗口中打开文件提示the file is identical to local但实际上完全不同,上传多次才能成功,或者干脆就提示channel is not opened。应该和sftp有关。

目前还没找到具体原因,可能是服务器问题,过会就自己好了。

也可能是pycharm的问题,或者系统的问题?希望解决的可以留言告知一下,谢谢!

[Can't Download From Remote Server via SFTP – JetBrains IntelliJ]

pandas出错

pycharm console import pandas Backend Qt4Agg is interactive backend. Turning interactive mode on. : cannot connect to X server
import pandas : cannot connect to X server

重启pycharm,或者也不知道怎么了就好了,不报错了。。。

运行出错

ssh://[email protected]:22/home/piting/ENV/anaconda3/bin/python3 -u /home/piting/mine/python_workspace/Oth/Competition/TianChi/Regression.py
/home/piting/ENV/anaconda3/bin/python3: can't open file '/home/piting/mine/python_workspace/Oth/Competition/TianChi/Regression.py': [Errno 2] No such file or directory

点出remote host标签,发现没有这个目录,目录下也没有这个文件

解决:

mkdir -p 代码目录

再在remote host中右键 》 upload here

ref: [PyCharmRemote Debugging指南]

[pycharm奇淫技巧]*

[使用Pycharm进行Python远程开发]

[Deployment in PyCharm]

『叁』 python有可以将文字转化为语音的工具吗

import win32com.client
speaker = win32com.client.Dispatch("SAPI.SpVoice")
speaker.Speak("Hello, it works!")
或者用
pyttsx

『肆』 Python中有没有类似Matlab中VoiceBox的语音处理工具箱

有的,如下:
1. 解压voicebox.zip,将整个目录voicebox复制到MATLAB的安装目录下:
D:\MATLAB\R2012b\toolbox
2. 打开MATLAB,在版MATLAB命令窗口中输入权命令:
>>cd D:\MATLAB\R2012b\toolbox
3. 将TOOLBOX下新加的voicebox工具箱加到MATLAB的搜索路径中去。
添加voicebox工具箱的MATLAB的搜索路径也可采用如下指令
>> addpath(genpath(' D:\MATLAB\R2012b\toolbox\voicebox'))
或者
>>path(' D:\MATLAB\R2012b\toolbox\voicebox',path)
4. 检验是否成功设置的方法:
在命令窗口中输入以下命令:
which activlev.m(可以为所加工具箱的任一个M文件名称),如果显示正确,就说明上面的设置成功。
>> which activlev.m
D:\MATLAB\R2012b\toolbox\voicebox\activlev.m
注:这种方法貌似每次重启MATLAB之后都要添加路径,否则会找不到

『伍』 最受欢迎的 15 大 Python 库有哪些

1、Pandas:是一个Python包,旨在通过“标记”和“关系”数据进行工作,简单直观。它设计用于快速简单的数据操作、聚合和可视化,是数据整理的完美工具。
2、Numpy:是专门为Python中科学计算而设计的软件集合,它为Python中的n维数组和矩阵的操作提供了大量有用的功能。该库提供了NumPy数组类型的数学运算向量化,可以改善性能,从而加快执行速度。
3、SciPy:是一个工程和科学软件库,包含线性代数,优化,集成和统计的模块。SciPy库的主要功能是建立在NumPy上,通过其特定子模块提供有效的数值例程,并作为数字积分、优化和其他例程。
4、Matplotlib:为轻松生成简单而强大的可视化而量身定制,它使Python成为像MatLab或Mathematica这样的科学工具的竞争对手。
5、Seaborn:主要关注统计模型的可视化(包括热图),Seaborn高度依赖于Matplotlib。
6、Bokeh:独立于Matplotlib,主要焦点是交互性,它通过现代浏览器以数据驱动文档的风格呈现。
7、Plotly:是一个基于Web用于构建可视化的工具箱,提供API给一些编程语言(Python在内)。
8、Scikits:是Scikits
Stack额外的软件包,专为像图像处理和机器学习辅助等特定功能而设计。它建立在SciPy之上,中集成了有质量的代码和良好的文档、简单易用并且十分高效,是使用Python进行机器学习的实际行业标准。
9、Theano:是一个Python软件包,它定义了与NumPy类似的多维数组,以及数学运算和表达式。此库是被编译的,可实现在所有架构上的高效运行。
10、TensorFlow:是数据流图计算的开源库,旨在满足谷歌对训练神经网络的高需求,并且是基于神经网络的机器学习系统DistBelief的继任者,可以在大型数据集上快速训练神经网络。
11、Keras:是一个用Python编写的开源的库,用于在高层的接口上构建神经网络。它简单易懂,具有高级可扩展性。
12、NLTK:主要用于符号学和统计学自然语言处理(NLP) 的常见任务,旨在促进NLP及相关领域(语言学,认知科学人工智能等)的教学和研究。
13、Gensim:是一个用于Python的开源库,为有向量空间模型和主题模型的工作提供了使用工具。这个库是为了高效处理大量文本而设计,不仅可以进行内存处理,还可以通过广泛使用NumPy数据结构和SciPy操作来获得更高的效率。

『陆』 如何优雅的用Python玩转语音聊天机器人

所需硬件:
树莓派B+
人体红外线感应模块
内置麦克风摄像头(实测树莓派免驱淘宝链接)
申请API:
网络语音api
图灵api
语音聊天机器人实现原理:当有人来到跟前时--》触发聊天功能,开始以每2s检测录制语音--》通过网络语音api合成文字--》传递给图灵api返回回答信息--》通过网络语音合成播放
【人体感应识别部分Python代码renti.py】


#/usr/bin/python#coding:utf-8import RPi.GPIO as GPIOimport timeimport osimport signalimport atexitGPIO.setmode(GPIO.BCM) GPIO_PIR = 14 GPIO.setup(GPIO_PIR,GPIO.IN) # Echojing = 0dong = 0 sum = 0sum1 = 0oldren = 0sleep = 0def ganying(): i = 0 ok = 0 error = 0 while i < 10: if GPIO.input(GPIO_PIR) == 1 : ok = ok + 1 if GPIO.input(GPIO_PIR) == 0 : error = error + 1 time.sleep(0.01) i = i + 1 ren = ok/(error+1) return ren

1

GPIO_PIR = 14

为 红外线检测模块与树莓派的针脚,脚本函数返回0表示无人,>0 为有人
【Python语音识别聊天部分robot.py】


#/usr/bin/python# -*- coding:utf-8 -*-import sysreload(sys)sys.setdefaultencoding( "utf-8" )import urllibimport urllib2import jsonimport uuidimport base64import osimport timefrom renti import * #获取网络tokenappid=7647466apikey="网络API"secretkey="网络API" _url="h.com/oauth/2.0/token?grant_type=client_credentials&client_id=" + apikey + "&client_secret=" + secretkey; y_post=urllib2.urlopen(_url)y_read=y_post.read()y_token=json.loads(y_read)['access_token']#print y_read#print y_token #------------------function------------- def luyin(): os.system('arecord -D plughw:1,0 -c 1 -d 2 1.wav -r 8000 -f S16_LE 2>/dev/null') def fanyi():
#---------------语音识别部分 mac_address="haogeoyes" with open("1.wav",'rb') as f: s_file = f.read() speech_base64=base64.b64encode(s_file).decode('utf-8') speech_length=len(s_file) data_dict = {'format':'wav', 'rate':8000, 'channel':1, 'cuid':mac_address, 'token':y_token, 'lan':'zh', 'speech':speech_base64, 'len':speech_length} json_data = json.mps(data_dict).encode('utf-8') json_length = len(json_data) asr_server = 'm/server_api' request = urllib2.Request(url=asr_server) request.add_header("Content-Type", "application/json") request.add_header("Content-Length", json_length) fs = urllib2.urlopen(url=request, data=json_data) result_str = fs.read().decode('utf-8') json_resp = json.loads(result_str) if json_resp.has_key('result'): out_txt=json_resp['result'][0] else: out_txt="Null" return out_txt def tuling(b): f=urllib.urlopen("23.com/openapi/api?key="此处为图灵API"&info=%s" % b) f=json.loads(f.read())['text'] return f def hecheng(text,y_token): #text="你好我是机器人牛牛很高兴能够认识你" geturl="u.com/text2audio?tex="+text+"&lan=zh&per=1&pit=9&spd=6&cuid=CCyo6UGf16ggKZGwGpQYL9Gx&ctp=1&tok="+y_token return os.system('omxplayer "%s" > /dev/null 2>&1 '%(geturl)) #return os.system('omxplayer "%s" > /dev/null 2>&1 '%(geturl)) def nowtime(): return time.strftime('%Y-%m-%d %H:%M:%S ') #---------------main-----------------num=0 #num用来判断是第一次说话,还是在对话过程中first=1 #判断是不是第一说话 当1000次没有人动认为是第一次while True: if ganying()!=0: run=open('run.log','a') if first==0: hecheng("你好,我是牛牛机器人,你可以和我聊天,不过说话的时候你必须靠近话筒近一点,",y_token) hecheng("说点什么吧,2秒钟内说完哦.",y_token) first=1 #为1一段时间就不执行 num=0 #从新计数 #print ganying() run.write(nowtime()+"说点神马吧..........."+'\n') print nowtime()+"说点神马吧.........." luyin() #开始录音 out=fanyi().encode("utf-8") #翻译文字 run.write(nowtime()+"我说:"+out+'\n') print nowtime()+"我说:"+out if out == "Null": text="没有听清楚你说什么" os.system('omxplayer "shenme.wav" > /dev/null 2>&1 ') else: text=tuling(out) hecheng(text,y_token) print nowtime()+"牛牛:"+text run.write(nowtime()+"牛牛:"+text+'\n') run.close() else: #print ganying() #调试查看是否为0有人没人 #print num num=num+1 #num长时间增大说明没有人在旁边 if num > 1000: first=0 #0表示第一次说话

万事俱备 运行nohup python robot.py 哈哈就可以脱离屏幕开始愉快的语音聊天啦
下面看看聊天的日志记录吧
后续更新。。。。。。Python如何用语音优雅的控制小车

『柒』 如何用python调用百度语音识别

1、首先需要打开网络AI语音系统,开始编写代码,如图所示,编写好回车。

『捌』 python有没有语音控制模块

SAPI是微软Speech API ,
是微软公司推出的语音接口,而细心的人会发现从WINXP开始,系统上就已经有语音识别的功能了,可是用武之地相当之少,他并没有给出一些人性化的自定义
方案,仅有的语音操控命令显得相当鸡胁。 那么这篇文章的任务就是利用SAPI进行个性化的语音识别。

defcallback(phrase,listener):
print(":%s"%phrase)
ifphrase==closeMainSystem:
speech.say("Goodbye.人机交互即将关闭,谢谢使用")
listener.stoplistening()
sys.exit()
elifphrase==openEclipse:
speech.say("请问您要写PYTHON还是JAVA程序?")
speech.listenforanything(callback)
elifphrase==listenMusic:
speech.say("即将为你启动豆瓣电台")
webbrowser.open_new("http://douban.fm/")
elifphrase==blog:
speech.say("即将进入Dreamforce.me")
webbrowser.open_new("http://dreamforce.me/")
elifphrase==php:
speech.say("启动PHP编写器")
os.popen("E:IDEphp_eclipseeclipseeclipse.exe")
elifphrase==php:
speech.say("启动JAVA编写器")
os.popen("E:IDEphp_eclipseeclipseeclipse.exe")

『玖』 Python用什么模块开发语音识别系统

推荐使用YQ5969,这个语音识别模块可以支持1--8个咪头,还可以支持本地和云端识别不同需求。5米内本地识别率 93%以上,云端识别率97%。这个语音识别模块可以滤除噪声。由于我们生活在一个相对的噪音环境里,
在远场识别中,用户和设备有一定距离,很多时候噪声源距离麦克风的位置比人更近,在某种程度中也为录制声音带来了一定的困难。

『拾』 怎么用python实现语音识别

是想语音识别的参考方法如下:

1、打开文字识别软件,关闭提示窗;

2、点击上面的语音识别功能;

以上便是实现语音识别的方法了,希望可以帮助到您,感谢观看!

阅读全文

与python语音工具箱相关的资料

热点内容
仪表颜色怎么切换凌志es 浏览:349
摄像师用什么机械硬盘好 浏览:1000
阀门怎么可以接到工地的项目 浏览:254
扶梯扶手带速度检测装置 浏览:435
石家庄微型电动工具那里友买 浏览:159
实验室抽滤装置一晚上没关 浏览:945
ppr全塑料阀门开关处漏水怎么办 浏览:150
煤气阀门帮手 浏览:460
百得苏州电动工具地址 浏览:376
农村用最小型机械有哪些 浏览:485
船舶尾轴装置课程设计 浏览:792
包子馒头店需要什么设备多少钱 浏览:644
dmg设备在德国什么地方 浏览:585
机床怎么调运行速度 浏览:134
燃气阀门开关如何用 浏览:424
北京申利达阀门厂招聘 浏览:60
怎么确定铸造毛坯 浏览:359
恒通阀门管件制造公司怎么样 浏览:989
三个时间的机械表怎么调 浏览:883
乐至五金市场在哪 浏览:649