Escolar Documentos
Profissional Documentos
Cultura Documentos
Objetivo:
El objetivo del presente proyecto es simular un ecualizador de audio de 10 bandas en MATLAB,
hemos visto que hay ecualizadores de audio que en su mayora son anlogos, con esta
aplicacin el sonido se procesa en la PC evitndonos asi la implementacin externa de otros
equipos de alto costo.
Este pequeo programa recibe la msica en formatos .wav que es un estndar de audio para
Microsoft. A travs de una interfaz grafica nos muestra los controles de volumen, paneo o
balanceo, presets(son posiciones del ecualizador ya hechas para distinto ritmo de musica), y la
opcin de grabar una pista ya ecualizada.
El programa:
El programa en matlab es el siguiente.
function varargout = proyecto_dsp(varargin)
% Programa original:
%
http://www.mathworks.com/matlabcentral/fileexchange/3719-simulink-stereoplayer-featuring-vocal-remover
% Desarrollado por: Ansuman Barik
% www.matpic.com
% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name',
mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @proyecto_dsp_OpeningFcn, ...
'gui_OutputFcn', @proyecto_dsp_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback',
[]);
if nargin & isstr(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT
% --- Executes just before proyecto_dsp is made visible.
function proyecto_dsp_OpeningFcn(hObject, eventdata, handles, varargin)
%*-*-*-*-*CONDICIONES INICIALES-*-*-*-*-*-*-*-*-*
%Centrar la interfaz
movegui(hObject,'center')
%*******************
%Deshabilitar botones de mando
set(handles.reproducir,'Enable','off');
set(handles.pausa,'Enable','off');
set(handles.continuar,'Enable','off');
set(handles.parar,'Enable','off');
handles.output = hObject;
find_system('Name','modelo');%Buscar el modelo en el path
open_system('modelo');%Abrir el modelo
set_param('modelo/volumen','Value','0.4');%Setear el volumen en 0.4
set_param('modelo/selector','Value','7'); % Tema original por defecto
set_param('modelo/grabare','Value','0'); % Grabar OFF
% Valores iniciales de canales L y R
set_param('modelo/L','Gain','0.5');
set_param('modelo/R','Gain','0.5');
freq11_Callback(handles.freq11,
eventdata, handles)
freq12_Callback(handles.freq12,
eventdata, handles)
freq13_Callback(handles.freq13, eventdata, handles)
freq14_Callback(handles.freq14, eventdata, handles)
% --- Executes on button press in grabar.
function grabar_Callback(hObject, eventdata, handles)
grabar=get(hObject,'Value');
if grabar==1
set(hObject,'String','GRABAR ON');
set_param('modelo/grabare','Value','1');
else
set(hObject,'String','GRABAR OFF');
set_param('modelo/grabare','Value','0');
end
% VOLUMEN DE CANALES L Y R
% --- CANAL L
function L_slider_Callback(hObject, eventdata, handles)
volumenn=get(hObject,'Value');
set_param('modelo/L','Gain',num2str(volumenn));
% --- CANAL R
function R_slider_Callback(hObject, eventdata, handles)
%Control del nivel de volumen de reproduccin
volumenn=get(hObject,'Value');
set_param('modelo/R','Gain',num2str(volumenn));
Gain8
In1
AGUDOS_Treble
CORO
ECO
Out1 In1
Gain14
11
Out1
BAJOS
Out1 In1
In1
Out1 In1
Out1
Reverberacion
selector
7
From Wave File
06 Pista 6.wav Out
(44100Hz/2Ch/16b)
From Wave
File
In1
Out1
dB Gain
5 dB
(1.77828)
ecualizador
Product1
[A]
Saturation
Goto
grabare
Multiport
Switch
0.4
In1
volumen
0.5
Subsystem
L
[A]
From
Select
Columns
Multiport
Selector
2
0.5
R
Matrix
Concatenate
Salida de audio