使用projectoxfordapi的python模块

projectoxford的Python项目详细描述


用于Project Oxfordapi的python客户端库。

微软牛津项目是一个人工智能工具的集合,可以作为在线服务提供。这个库提供了来自python的项目oxfordapi的简单使用。

目前只实现了语音识别、合成和{a2}api。

如果您使用的是此库的早期版本(仅提供vision api),请安装projectoxford<=0.2以继续使用该版本。

安装

要安装,请使用pip:

pip install projectoxford

这个图书馆处于发展的早期阶段。强烈建议将所有引用固定到正在使用的特定版本。

开始

要使用文本到语音或语音识别,您需要obtain a subscription key

fromprojectoxford.speechimportSpeechClientsc=SpeechClient("YOUR-KEY-GOES-HERE",gender='Male',locale='en-US')

您可以使用sc.say_to_wav创建包含合成语音的wave文件,或使用sc.say立即播放语音。

data=sc.say_to_wav("Hello. I have been written to a file.",filename="test.wav")sc.say("I am being read out loud, right now.")

您可以使用sc.recognize将wave文件中的语音转换为文本,或者不提供从用户的默认麦克风记录最多30秒的文件。

如果响应指示它对结果不具有高信心,则会引发LowConfidenceErrorargs[0]错误包含对文本的最佳猜测。如果根本无法确定结果,则引发ValueError

recognize_raw方法从服务返回json响应,其中包含的信息比recognize中提供的更多。

fromprojectoxford.speechimportLowConfidenceErrortext=sc.recognize('some_speech.wav')try:text=sc.recognize()exceptLowConfidenceErroraserr:text=err.args[0]json_data=sc.recognize_raw()

函数^ {t10} $和^ {t11} $可用于重写生成素^ {tt12} $和^ {tt13} $函数,以方便地转换现有代码。

print=sc.printinput=sc.inputprint("Welcome to my application.")name=input("What is your name?")

音频播放和录制由projectoxford.audio模块执行。目前,仅支持Windows,并且始终使用用户的默认设备。

默认情况下,record等待听到一些声音,然后录制到一秒钟的静音。使用quiet\u threshold参数调整灵敏度,而get\u quiet\u threshold函数可以通过记录短时间的静默来获取此值。

函数play获取一个文件名或wave文件的原始内容,并在返回之前播放整个声音。

fromprojectoxford.audioimportplay,recordwave_file_contents=record()play(wave_file_contents)# Record for 5 secondsdata=record(seconds=5,quiet_seconds=0,wait_for_sound=False)

使用help(record)查看其他参数。

贡献

随着时间的推移,我们希望在这个库中添加完整的项目oxfordapi。欢迎捐款。

许可证

这个项目牛津客户端库是在麻省理工学院的许可下发布的。有关详细信息,请参见许可证。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Google Billing Library:QueryPurchaseAsync:取消购买的订阅资源未返回   java转换列表mapsturct中的单个对象   java简单算法。我做不好   包含集合的@ManyToMany映射的java JPA2持久性   在Java中序列化和反序列化对象时发生BuffereImage错误   java使用ui:param传递值并在backingbean中访问它们   java从应用程序读取配置。yml至POJO列表地图   java中在while循环外部调用文件值   java如何与来自不同类的UI交互   java如何在jTable中显示2D数组?   在Java 8中,类为什么不从接口继承默认方法?   java类。getAnnotation和getAnnotations无法正常工作   java处理pagertabstrip上的触摸事件   java GWT和struts2异常   用Java解析HTTP查询字符串   java这段代码SQL注入安全吗?