No BSD License  

Highlights from
DAFX Toolbox

image thumbnail
from DAFX Toolbox by Dominik Wegmann
Advanced visualization and basic effect processing of recorded, generated or loaded audio data

processPeakClip(data, stAlgo)
function [stAlgo, status, data] = processPeakClip(data, stAlgo)

status = 0;


Gain = 10^(stAlgo.InputGain_db/20);

% % Direct Clipping
% 
% ClipSignal = data.*Gain;
% idx = find(ClipSignal >=1);
% ClipSignal(idx) = 1;
% idx = find(ClipSignal <-1);
% ClipSignal(idx) = -1;


% Soft-Clipping

NewGain = Gain/1.7;

SoftClipSignal = NewGain.*data;

idx = find(SoftClipSignal >=1);
SoftClipSignal(idx) = 1;
idx = find(SoftClipSignal <-1);
SoftClipSignal(idx) = -1;

idx = find (SoftClipSignal < 1 & SoftClipSignal >=-1);
SoftClipSignal(idx) = 1.5*SoftClipSignal(idx)-1/2.*SoftClipSignal(idx).*SoftClipSignal(idx).*SoftClipSignal(idx);
data = SoftClipSignal;









Contact us at files@mathworks.com