function mixed_output = mixit(tracks, weights)
% Convert uint16 audio data to [-1, 1] range
normalized_tracks = double(tracks) / 32767.5 - 1;
% Multiply each track with its corresponding weight
mixed_output = normalized_tracks * weights(:);
% Check if any value is outside the [-1, 1] range
max_value = max(abs(mixed_output));
if max_value > 1
% Scale the output to fit within the [-1, 1] range
mixed_output = mixed_output / max_value;
end
end