Escolar Documentos
Profissional Documentos
Cultura Documentos
JARBAS REZENDE
RODRIGO LIMA
SHEILA BELOTI
SERRA
2015
JARBAS REZENDE
RODRIGO LIMA
SHEILA BELOTI
SERRA
2015
RESUMO
Utilizando o Software Matlab, foi arquitetado um sistema capaz de afinar
um instrumento como um violo ou uma guitarra. Assim, visualmente pode-se
afinar cada corda do instrumento.
SUMRIO
1 INTRODUO................................................................................................................
1.1 Objetivos.........................................................................................................................
2 ATIVIDADES REALIZADAS........................................................................................
2.1 Princpio de funcionamento do Afinador Virtual......................................................
3 ESTUDO DO CDIGO MATLAB..............................................................................
4 CONCLUSES..............................................................................................................
5 REFERNCIAS.............................................................................................................
5
1 INTRODUO
Instrumentos de corda emitem o som de acordo com a frequncia
sonora emitida pelas cordas, isso depende da densidade da corda, o mdulo, a
trao e do comprimento linear da corda. Para alterar as notas musicais emitidas
pela corda, deve-se alterar um dos fatores citados.
Afinar um instrumento fazer a comparao de um som equivalente
ao que quer ser afinado. A afinao mais utilizada a de unssonos, onde se
utiliza um intervalo de oitava, ou seja, tem-se a mesma nota em uma corda j
afinada da corda que se quer afinar e compara-se, fazendo assim o ajuste
necessrio. Mas para esse tipo de afinao deve se ter um conhecimento auditivo
aguado de, pelo menos, uma nota, inciantes em instrumentos tem dificuldades
tambm na comparao da nota em tons diferentes, por no ter uma
compreenso auditiva to aguada. Assim, geralmente eles utilizam afinadores
para realizar a afinao de seu instrumento.
A afinao de instrumentos de cordas pode ser feita em vrios tons
que so definidos pela variao de frequncia das cordas, o tom mais utilizado
o fundamental que equivale as seguintes frequncias para cada corda:
Notas
Frequncia
Mi
660 Hz
Si
495 Hz
Sol
396 Hz
296 Hz
440 Hz
MI
330 Hz
1.1
Objetivos
7
2 ATIVIDADES REALIZADAS
2.1
Cordas
Frequncia
1 Mi
329.62 Hz
2 Si
246.94 Hz
3 Sol
196.01 Hz
4 R
146.83 Hz
5 La
110.01 Hz
6 MI
82.41 Hz
10
3 ESTUDO DO CDIGO MATLAB
11
function ligar_Callback(~, ~, handles)%linha de comando ao clicar em ligar
A = [0; 32.70; 34.64; 36.70; 38.89; 41.20; 43.65; 46.24; 48.99; 51.91; 55; 58.27;
61.73; 65.40; 69.29; 73.41; 77.78; 82.40; 87.30; 92.49; 97.99; 103.82; 110.01;
116.54; 123.47; 130.81; 138.59; 146.83; 155.56; 164.81; 174.61; 184.99; 195.99;
207.65; 220; 233.08; 246.94; 261.62; 277.18; 293.66; 311.12; 329.62; 349.22;
369.99; 391.99; 415.30; 440; 466.16; 493.88; 523.25; 554.36; 587.32; 622.25;
659.25; 698.45; 739.98; 783.99; 830.60; 880; 932.32; 987.76];%vetor com as
frequencias das notas
B = {0;0;'C'; 'C#'; 'D'; 'D#'; 'E'; 'F'; 'F#'; 'G'; 'G#'; 'A'; 'A#'; 'B'; 'C'; 'C#'; 'D'; 'D#'; 'E';
'F'; 'F#'; 'G'; 'G#'; 'A'; 'A#'; 'B'; 'C'; 'C#'; 'D'; 'D#'; 'E'; 'F'; 'F#'; 'G'; 'G#'; 'A'; 'A#'; 'B';
'C'; 'C#'; 'D'; 'D#'; 'E'; 'F'; 'F#'; 'G'; 'G#'; 'A'; 'A#'; 'B'; 'C'; 'C#'; 'D'; 'D#'; 'E'; 'F'; 'F#';
'G'; 'G#'; 'A'; 'A#'; 'B';'X'; 'X'};%vetor com as respectivas notas
Fs = 44100;
global z;
global s;
setGlobals(0);
while(s == 0)
a1 = audiorecorder(Fs, 8, 1);%grava audio com frequencia de amostragem Fs,
8 bits e 1 canal
recordblocking(a1, 1);%para a gravao apos 1 segundo
a1=getaudiodata(a1);%captura os dados da gravao
N = length(a1);%avalia o comprimento do vetor a1
T = N/Fs;%encontra o periodo do sinal
x = fft(a1)/N;%aplica a transformada de fourier no sinal
cutOff = ceil (N/2);
x = x(1:cutOff);
[~,i] = max (abs(x));%filtra o valor maximo abs do sinal x
b1 = i/T;
A(61,1) = b1;
C = sort(A);%organiza A em ordem crescente
pos = find (C == b1);
set(findobj(gcf,'Tag','freq'),'String', b1);
notaref = A(pos-1,1) + (A(pos+1,1)-A(pos-1,1))/2;
if (b1 < notaref)
set (findobj(gcf,'Tag','visor1'),'String', B(pos-1,1));
set (findobj(gcf,'Tag','visor2'),'String', B(pos+1,1));
set (findobj(gcf,'Tag','nota'),'String', B(pos,1));
elseif (b1 > notaref)
set (findobj(gcf,'Tag','visor1'),'String', B(pos,1));
set (findobj(gcf,'Tag','visor2'),'String', B(pos+2,1));
set (findobj(gcf,'Tag','nota'),'String', B(pos+1,1));
end
if (b1 > z+1 && z > 0)
set (handles.texto, 'String', 'Afrouxe a corda');
elseif (b1 < z-1 && z > 0)
set (handles.texto, 'String', 'Aperte a corda');
elseif (b1 > z-1 && b1 < z+1 && z > 0)
12
set (handles.texto, 'String', 'Afinado');
elseif (z == 0)
set (handles.texto, 'String', 'Selecione uma corda');
end
pause(1/10);
end
% --- Executes when selected object is changed in uipanel7.
function uipanel7_SelectionChangeFcn(hObject, ~, handles)
if hObject == handles.e1
setGlobalz(329.62);
elseif hObject == handles.B
setGlobalz(246.94);
elseif hObject == handles.G
setGlobalz(196.01);
elseif hObject == handles.D
setGlobalz(146.83);
elseif hObject == handles.A
setGlobalz(110.01);
elseif hObject == handles.e2
setGlobalz(82.41);
elseif hObject == handles.parar
setGlobals(1);
end
13
afinada, na parte superior da tela, atribuda varivel z a frequncia da
harmnica fundamental daquela nota, que servir de comparao ao sinal
captado atravs da entrada de udio.
Ao clicar em ligar, ser executada a funo ligar_callback, onde ser
declarado o vetor A, com as frequncias em ordem crescente, e declarado
tambm o vetor B com as notas referentes s frequncias declaradas no vetor A,
tais vetores sero utilizados para identificar e mostrar qual nota est sendo
tocada. Logo aps o programa setar a frequncia de amostragem Fs no valor
estipulado, no caso, 44100 e atribuir 0 varivel s, sendo assim o programa
entra em um loop onde gravado 1 segundo do som, atravs do comando
audiorecorder e recordblocking, e os dados gravados so capturados atravs do
comando getaudiodata e atribudos varivel a1.
Com os dados acessveis, o sinal agora ser tratado a fim de encontrar o
que se deseja do mesmo, para isso, o programa encontra o comprimento de a1 e
divide o comprimento de a1 pela frequncia de amostragem Fs, encontrando o
perodo T do sinal. Para trabalhar no domnio da frequncia aplicado ao sinal a
transformada de fourier.
J no domnio da frequncia encontrada o valor de frequncia mais alto,
sendo esta a frequncia da harmnica fundamental que defina a nota que est
sendo tocada, tal valor inserido na ltima posio do vetor A, que
reorganizado em ordem crescente, e j no vetor organizado encontra a posio
em que est a harmnica fundamental do som, na interface mostrado a
frequncia fundamental, entre quais notas esta a nota tocada e a necessidade de
se apertar ou afrouxar a corda a fim de se igualar nota de referncia
selecionada na parte superior da interface.
14
4 CONCLUSES
Conclui-se que o Matlab, um software de ferramentas matemticas,
contribui para vrias aplicaes da matemtica no cotidiano das pessoas, alm de
impressionar pela quantidade de recursos disponibilizados pelo software, capaz
de executar desde tarefas mais simples e comuns, at atividades avanadas,
neste caso conseguiu-se uma aplicao em afinaes de instrumentos de corda
como um violo e uma guitarra.
Conclui-se tambm que tal software pode ser aprimorado com extenses
para afinao de outros instrumentos de corda como Baixo, Viola, entre outros,
basta fazer modificaes rpidas.
15
5 REFERNCIAS