近期公司有一个项目,客户需求,使用python去调用一下我们用C++开发好的语音识别引擎动态库(dll),下面简单总结一下,这几天对ctypes这个函数库的一个了解使用
一. ctypes使用介绍
ctypes 是 Python 的函数库。它提供了与 C 兼容的数据类型,并允许调用 DLL 或共享库中的函数
二. ctypes使用介绍
ctypes定义的和C兼容的数据类型
三. 本次项目中遇到的问题以及解决办法
首先说一下本次遇到的一些问题以及解决办法
1.如何将一个.wav文件转化为一个pcm数组(我们的语音识别动态库支持的是16k采样率,16bit,单通道数据的语音识别)
def wav2pcm(wavfile):
f = open(wavfile, "rb")
f.seek(0)
f.read(44)
data = np.fromfile(f, dtype=np.int16)
return data
2.在C++中,我们初始化了一个句柄,但是在python中没有这个概念
//C++中声明的初始化方法
int asr_init_resource(
void **pHandle,
const char *acM