AudioKit - 绘制文件的完整波形

AudioKit - Drawing full waveform of file

我一直在浏览文档寻找这个问题的答案。我看到 AudioKit 可以在您录制或播放时实时绘制波形,但我想知道您是否可以加载一个文件并绘制完整的波形,这样我就可以看到整个文件的波形而无需播放它。

如有任何帮助,我们将不胜感激。甚至只是指向我应该查看的对象的指针。

此处的表格游乐场示例中绘制了一个波形:http://audiokit.io/playgrounds/Basics/Tables/

基本上:

let file = try AKAudioFile(readFileName: "drumloop.wav")
let fileTable = AKTable(file: file)
...UI set up...
addView(AKTableView(fileTable))

您还可以使用 AudioKitUI 中的 Objective C EZAudioPlot class:

let file = EZAudioFile(url: url)
guard let data = file?.getWaveformData() else { return }

let waveform = EZAudioPlot()
addSubview( waveform )
waveform.frame = NSMakeRect(0, 0, 200, 20)
waveform.plotType = EZPlotType.buffer
waveform.shouldFill = true
waveform.shouldMirror = true
waveform.color = NSColor.black
waveform.updateBuffer( data.buffers[0], withBufferSize: data.bufferSize )

我没有对这两种方法进行基准测试,但是对于较长的文件,绘图版本非常快。对于立体声文件,使用缓冲区 [0] 和 [1]

制作两个堆叠图