Bump version numbers to 6.2.0
[scilab.git] / scilab / modules / sound / macros / lin2mu.sci
1 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
2 // Copyright (C) ???? - INRIA - Scilab
3 //
4 // Copyright (C) 2012 - 2016 - Scilab Enterprises
5 //
6 // This file is hereby licensed under the terms of the GNU GPL v2.0,
7 // pursuant to article 5.3.4 of the CeCILL v.2.1.
8 // This file was originally licensed under the terms of the CeCILL v2.1,
9 // and continues to be available under such terms.
10 // For more information, see the COPYING file which you should have received
11 // along with this program.
12
13 function [mu]=lin2mu(y)
14     //Utility fct: converts linear signal to mu-law encoding.
15     //  mu = lin2mu(y) converts linear audio signal amplitudes
16     //   in the range  -1 <= y <= 1 to mu-law in the range 0 <= mu <= 255.
17     SCALE = 32768;
18     BIAS = 132;
19     CLIP = 32635;
20     OFFSET = 335;
21     y = SCALE*y;
22     sig = sign(y)+bool2s(y==0);
23     y = min(abs(y),CLIP);
24     [f,e] = log2(y+BIAS);
25     mu = 64*sig-16*e-fix(32*f)+OFFSET;
26 endfunction