녹음 된 오디오 파일을 [Double] 유형의 원시 PCM 데이터로 변환하려고합니다.오디오를 [Double] 유형의 원시 PCM 데이터로 변환
는 문제가// load audio from path
let file = try! AVAudioFile(forReading: self.soundFileURL)
// declare format
let format = AVAudioFormat(commonFormat: .PCMFormatFloat32, sampleRate: file.fileFormat.sampleRate, channels: 1, interleaved: false)
// initialize audiobuffer with the length of the audio file
let buf = AVAudioPCMBuffer(PCMFormat: format, frameCapacity: UInt32(file.length))
// write to file
try! file.readIntoBuffer(buf)
// copy to array
let floatArray = Array(UnsafeBufferPointer(start: buf.floatChannelData[0], count:Int(buf.frameLength)))
, 나는 [더블] 및 AVAudioPCMBuffer (같은 데이터가 필요) 만이 .PCMFormatFloat32
알고 : I로드와 같은 유형 [Float32]의 데이터를 PCM 오디오로 변환 할 수있는 방법을 발견했다. 아무도 해결 방법을 알고 있습니까? 감사합니다.
어떤 때'readIntoBuffer()'됩니까? 그것은 나를 위해 작동합니다. 전체 코드를 표시하도록 질문을 업데이트했습니다. –
대답 해 주셔서 감사합니다. 내 문제를 해결했습니다! 나는 여전히 AVAudioPCMBuffer를 사용했다는 것을 알지 못했다. – user967493