目的:在ADSP上运行DNN去识别唤醒词,感觉代码看明白了,但没有具体实现,记录下大概过程,以后也许会有用。
整体框架
soundTriggerHAL
types.hal
interface ISoundTriggerHw
Interface
Interface ISoundTriggerHwCallback
SoundTriggerHalImpl
stdev_load_sound_model
audio-kernel
aDSP LSM
audio算法存在的形式 CAPIV2
实现一个audio算法就是实现一个CAPIV2的接口
LSM(Listen Stream Manager)
SoundTrigger Service
native framework
可以直接使用jni接口,也可以使用service访问底层aDSP, 当前是service的方式,代码中也有直接使用的例子。
遗留问题
没有找到声音数据输入到算法的地方,不知道哪里得到了声音数据,应该是另一个sevice; 如果用DNN实现一级唤醒,模型文件应该是从soundModel得到的,新增的audio算法实现为CAPIV2接口,其中使用AIEngine 解析模型文件,reference得到结果就可以。