• 用Python来使用科大讯飞语音识别,so easy


    在人工智能高速发展的今天,语音识别技术被带入到人们的工作和生活中,开始被越来越多的人关注和使用,今天,当各种在线客服被机器人客服代替,当速记翻译馆被语音识别代替,甚至当收银员、驾驶员、工厂工人、普通文书和律师都被人工智能代替时,人们也越来越焦虑。下面这篇文章分享Python用ctypes调用动态库的方式使用科大讯飞语音识别。

    ctypes 是 Python 的一个模块,它提供了C语言相关的数据类型,可以方便的调用C语言编写的DLL(Windows 动态链接库)和so(Linux动态链接库)。科大讯飞的语音识别客户端SDK提供了Linux下的C语言SDK,却没有Python的。有了ctypes,我们就可以很轻松的用Python来使用科大讯飞的语音识别了。

     

    通过LoadLibrary()函数加载动态库:

    xflib = ctypes.cdll.LoadLibrary('msc/libmsc.so')

    在Python里面调用C函数时主要是注意参数的类型。语音识别的接口的具体参数可以参考其提供的文档,比如接口函数:

    const char* MSPAPI QISRSessionBegin( const char* grammarList, const char*
    params, int* errorCode )

    返回的是一个char指针作为sessionID以供后续接口作为参数使用,在Python里面要用ctypes.c_voidp类型:

    ret = ctypes.c_int()
    sessionId = ctypes.c_voidp()
    sessionId = xflib.QISRSessionBegin(None, param1, ret)

    调用其它接口函数时,还可能用到如下ctypes的类型和接口:

    • ctypes.create_string_buffer()
    • ctypes.addressof()
    • ctypes.byref()
    • ctypes.string_at()
    • ctypes.c_char_p()
    • ctypes.c_uint()

    关于ctypes的更详细说明可以参考官方文档。

    文章整理于www.yuanrenxue.com

  • 相关阅读:
    SQLServer 2008 附加数据库出现问题
    Window8下遇到的一些问题
    SqlServer中bit类型的性别的一些问题
    Sql server 2008 的MSSQLSERVER启动不起来
    GridView的 使用
    hibernate连接Mysql中文乱码处理
    windows部署tomcat到MyEclipse
    MyEclipse Eclipse下配置各种插件的方法
    android获取手机的网络状态
    android为HttpClient和HttpURLConnection添加中国移动代理
  • 原文地址:https://www.cnblogs.com/amiza/p/10347829.html
Copyright © 2020-2023  润新知