blob: 582df9c23f1511b0fdd1c0379e28e7b7ac7414fa (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
// Copyright (C) 2001 - INRIA - Scilab
// Copyright (C) 2010 - DIGITEO - Allan CORNET
//
// This file is released under the 3-clause BSD license. See COPYING-BSD.
function demo_sound()
// At first we create 0.5 seconds of sound parameters.
t = soundsec(0.5);
// Then we generate the sound.
s = sin(440*t)+sin(220*t)/2+sin(880*t)/2;
[nr, nc] = size(t);
s(nc/2:nc) = sin(330*t(nc/2:nc));
// We can easily make a Fourier analysis of it.
my_handle = scf(100001);
clf(my_handle, "reset");
analyze(s);
messagebox(_("Fourier analysis of 0.5 seconds of sound parameters."), "modal");
// Save the file in WAV format.
// we renormalize s in order to check that save+load is invariant
s = s - sum(s)/prod(size(s));
s = s/max(abs(s));
savewave(TMPDIR + "/test.wav",s);
// Load it back.
s1 = loadwave(TMPDIR + "/test.wav");
if max(abs(s1 - s)) < 1.e-4;end
// Now we can make a complete picture of the sound.
clf(my_handle,"reset");
mapsound(s);
messagebox([_("A complete picture of the sound."); _("see ''mapsound'' function")], "modal");
// Or a Fourier analysis.
clf(my_handle,"reset");
analyze(s);
demo_viewCode("sound.dem.sce");
endfunction
demo_sound();
clear demo_sound;
|