我将SoundAnalysis 框架与使用 CreateML 创建的 CoreML 模型结合使用。
我能够使用SNAudioFileAnalyzer对嵌入在应用程序包中的音频文件执行分析,但在对来自麦克风的实时音频使用SNAudioStreamAnalyzer时不能。
使用以下代码时:
// Create a new audio engine.
audioEngine = AVAudioEngine()
//https://forums.developer.apple.com/thread/44833
audioEngine.mainMixerNode
do {
// Start the stream of audio data.
try audioEngine.start()
} catch {
print("Unable to start AVAudioEngine: \(error.localizedDescription)")
}
// Get the native audio format of the engine's input bus.
let inputFormat = audioEngine.inputNode.inputFormat(forBus: 0)
// Create a new stream analyzer.
var streamAnalyzer = SNAudioStreamAnalyzer(format: inputFormat)
我在最后一行收到错误:
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Error updating tree format'
有人知道吗?现在没有太多关于 SoundAnalysis 框架的文章,所以在这个框架上感觉有些不自在。