

printf("\nEXEMPLO DE HETERODYNING:\n");
printf("onda \"quadrada\" com freqüência aumentando linearmente\n");
fflush(stdout);

% Taxa de Amostragem
R=8000;

% Duracao
d=6;

% Período do glissando
T=3;

% cria um trecho com d segundos de áudio com taxa de amostragem R
f=zeros(R*d,1);

% A freqüência de um som resultante pode ser interpretada como 
% a velocidade com que "lemos" um sinal senoidal fixo. Para 
% variar a frequencia (velocidade) linearmente, é necessário
% utilizar uma aceleração constante, ou seja, o movimento
% de leitura é quadrático.
for i=1:(R*d)
  t=i/R;
  f(i) = sin(2*pi*R*t^2/(2*T)) + sin(3*2*pi*R*t^2/(2*T))/3 + sin(5*2*pi*R*t^2/(2*T))/5 + sin(7*2*pi*R*t^2/(2*T))/7 + sin(9*2*pi*R*t^2/(2*T))/9;
end;

% normaliza o volume final
f=f*(100/max(f));

plot(f(1:2000));
saveaudio("cap2_heterodyning_8000",f,"raw");
playaudio(f);

