Roman Simenok
Roman Simenok

Reputation: 570

AudioKit File Normalization

I'm trying to normalize audio file after record to make it louder or vice versa, but i'm getting error WARNING AKAudioFile: cannot normalize a silent file

I have checked recordered audioFile.maxLevel and it was 1.17549e-38, minimum float.

I'm using official Recorder example, and to normalize after record i added this code:

let norm = try player.audioFile.normalized(newMaxLevel: -4.0);

What I'm doing wrong? Why maxLevel invalid? Record is loud enough.

Upvotes: 3

Views: 907

Answers (1)

Ryan Francesconi
Ryan Francesconi

Reputation: 1006

Rather than use the internal audio file of the player, make a new instance like so:

if let file = try? AKAudioFile(forReading: url) {
    if let normalizedFile = try? file.normalized(newMaxLevel: -4) {
        Swift.print("Normalized file sucess: \(normalizedFile.maxLevel)")
    }
}

I can add a normalize func to the AKAudioPlayer so that it's available for playback. Essentially, the player just uses the AKAudioFile for initialization, and all subsequent operations happen in a buffer.

Upvotes: 3

Related Questions