我正在尝试在我的移动应用中实现一个音频分类器。在训练数据时,我使用了从原始音频中提取的梅尔频谱图。我使用Tensorflow Lite将模型集成到应用中。
问题在于,我需要在将来自麦克风的输入音频传递给tflite模型之前,对其进行相同的特征提取。Python的Librosa库实现了我需要的所有功能。我最初的想法是Flutter中运行Python(有starflut Flutter包,但我无法使其工作)。
我这样做是否方法不对?如果是,那我应该怎么做?我可以考虑用Dart语言重写Librosa的功能,但我并不特别想这么做。
回答:
如果你针对的是移动设备,检查与“原生”代码的集成。例如,在Android上查找可以执行相同操作的Java/Kotlin库。在iOS上查找Swift/Objective-C库。然后,你可以将这些功能封装在一个特定平台的模块中。