Feline.Audio.Utils (feline v0.1.0-rc.1)

Copy Markdown View Source

Pure Elixir audio utilities for PCM16 (16-bit signed little-endian) audio.

Summary

Functions

Compute RMS (root mean square) amplitude of PCM16 audio

Calculate audio duration in milliseconds

Generate silence (zero-filled PCM16) for given duration

Returns the maximum absolute amplitude in PCM16 audio

Mix two PCM16 audio binaries (sample-by-sample addition with clipping to int16 range)

Returns true if audio is silence (max amplitude <= threshold)

Functions

compute_rms(audio)

Compute RMS (root mean square) amplitude of PCM16 audio

duration_ms(audio, sample_rate, num_channels \\ 1)

Calculate audio duration in milliseconds

generate_silence(duration_ms, sample_rate, num_channels \\ 1)

Generate silence (zero-filled PCM16) for given duration

max_amplitude(audio)

Returns the maximum absolute amplitude in PCM16 audio

mix_audio(audio1, audio2)

Mix two PCM16 audio binaries (sample-by-sample addition with clipping to int16 range)

silence?(audio, threshold \\ 20)

Returns true if audio is silence (max amplitude <= threshold)