Vous êtes sur la page 1sur 20

RAPPORT DE PROJET

TRAITEMENT DE SONS
MUSICAUX SOUS MATLAB

Niveau : LICENCE

Module : Traitement du signal.

Thème : Projet de construction d’une plateforme de traitement de sons


musicaux
Date de début : 20/02/2021
Date de fin : 13/03/2021
Date de remise : 14/03/2021

Réalisé par : Proposé par :

Certificat :

Ce document certifie que le rapport intitulé Projet de construction d’une plateforme


de traitement de sons musicaux constitue le travail en groupe des étudiants dont les
noms figurent sur la première page dans le cadre des cours suivis avec Dr. XXX.

|| Traitement de sons musicaux MATLAB – Rapport Projet 1


Remerciements 

Nos remerciements à l’endroit de tout le corps professoral et toute l’équipe de l’ESMT,


en particulier l’estimable Dr. XX qui par sa modestie et humble vie sociale n’a ménagé
aucun effort pour permettre la réalisation de ce projet.

Votre disponibilité, votre soutien et vos conseils, ont pu créer en nous une ambiance
favorable qui nous a permis de nous familiariser avec ce projet.

Généralité sur le traitement d’un signal audio

Le traitement du son est la branche du traitement du signal qui s'applique aux signaux
audio, dans le but notamment d'en améliorer la qualité, de les compresser, ou d'en
extraire de l'information.

Un fichier audio (type .wav, .mp3, .ogg, etc…) doit être traité, afin de retirer le bruit qui
s’est ajouté lors de l’enregistrement. La nature du bruit est une sinusoïde dont
l’amplitude est assez élevée pour être audible mais la fréquence est inconnue.
Mais ce que nous savons, par-contre, c’est que le bruit ne contient qu’une seule
composante fréquentielle.

Afin de pouvoir traiter le fichier audio à l’aide de MatLab, nous allons construire un
mixeur ou une plateforme de traitement de sons musicaux, c’est-à-dire la réalisation
d’une interface graphique de simulations sonores.

La méthodologie utilisée pour la réalisation de ce précieux travail se basera


essentiellement sur deux parties.

Partie I  - Introduction
 Historique 
Parallèlement aux microprocesseurs et aux microcontrôleurs, les Processeurs de
traitement numérique du signal, ou DSP (Digital Signal Processor), ont bénéficié des
énormes progrès en rapidité (grâce au faible temps de commutation) et en puissance de

|| Traitement de sons musicaux MATLAB – Rapport Projet 2


calculs (grâce au nombre de bits des bus internes) des composants logiques intégrés
programmables.

D'une manière générale, tous les processeurs vérifient la loi de Moore, l'un des
fondateurs de la société Intel qui annonçait, dès sa création, que la densité d'intégration
des composants doublerait tous les dix-huit mois. En 1995, on savait intégrer dix
millions de transistors dans un composant unique.

Utilisés initialement pour gérer la carte son des micro-ordinateurs, les DSP ont vu leur
utilisation s'accroître considérablement depuis 1985, tout D’abord grâce au
développement des télécommunications (téléphonie numérique, puis téléphonie sans fil
GSM ... ), puis grâce à ses possibilités de traitement rapide de certaines commandes
numériques faisant appel à des algorithmes complexes permettant ainsi le travail en «
temps réel ».

En utilisant des données numériques extraites d'un signal, on rend les systèmes de
commande et de gestion électroniques beaucoup plus fiables, et reproductibles. Là où il
fallait des réglages en électronique analogique, il suffit d'imposer une valeur constante
convenablement choisie dans un registre particulier du composant. On fixe ainsi
l'amplification ou la bande passante d'un filtre numérique, et ceci de manière définitive.

 Objectif 
Ce projet a pour objectif spécifique de corriger le son afin d’obtenir une bonne qualité
d’un enregistrement (du son), ainsi qu’appliquer les relations et les lois vu en traitement
de signal. Aussi de réaliser une interface graphique sous Matlab, permettant de
visualiser les différentes simulations sonores du signal audio traité

A travers ce projet nous allons pouvoir :


(a) Additionner deux signaux.
(b) Soustraire un signal d’un autre signal.
(c) Filtrer le signal.
(d) Editer un signal.
(e) Amplifier ou de réduire un signal.
(f) Effectuer des réverbérations artificielles.
(g) Créer des notes synthétisées.

 Problématique
Comment réaliser une telle interface permettant d’une part de configurer les paramètres
utilisés pour la reconstitution et d’autre part de visualiser les résultats obtenus à partir
de signaux simulés et réels ?
Partie II - Implémentation et génération du signal audio sous Matlab
1- Equipement matériel

 Ordinateur utilisé

|| Traitement de sons musicaux MATLAB – Rapport Projet 3


2- Logicielsutilisé

 MATLAB version R2018a (64-bit)

Nous souhaitons aboutir au développement de l'interface graphique de mixage sonore


sous Matlab en nous inspirant d’une part, sur les supports du cours et les explications
détaillées du professeur Dr. THIOUNE.

 Réalisation de l’interface graphique sous MATLAB

Cette étape de la conception permet à l’utilisateur de la plateforme d’ouvrir un fichier


audio disponible sur un support (disque dur, clef USB,…) à partir de d’interface
graphique (GUI) afin de pouvoir effectuer différents traitements.

La commande « guide » permet d’accéder à l’éditeur graphique sous MATALAB.

Commande « guide »

Nous avons ensuite créé et enregistrer le fichier de l’interface GUI « MixeurAudio.fig »


à partir duquel Matlab génère automatiquement un fichier script « MixeurAudio.m ».

L’interface intègre un bouton Parcourir et un champ d’affichage de l’adresse du fichier


audio sélectionné.

|| Traitement de sons musicaux MATLAB – Rapport Projet 4


En plus des boutons de commande de fréquences, les boutons mixage des différentes
simulations, les boutons de paramètre de lecture, nous avons aussi deux graphes pour
visualiser le signal original et le signal simulé.
Signal orignal Signal traité
Aperçu de l’interface graphique 
Choix du fichier audio

Boutons contrôle lecture Boutons des filtres Boutons des fréquences

Pour tester la plateforme, on clique sur le bouton Parcourir puis on sélectionne un


fichier audio dans le dossier Audio du même répertoire puis on clique sur le bouton
Lecture. Le fichier audio est donc chargé et son spectre de fréquence est directement
‘’ploter’’ dans le graphe prévu à cet effet.

Comme sur la figure ci-dessus, afin d’écouter le fichier audio simulé qui est fourni,
directement à la sortie de l’ordinateur on clique sur l’un des boutons de simulations.

On clique ensuite sur l’un des boutons dans le panel de simulations.

|| Traitement de sons musicaux MATLAB – Rapport Projet 5


Chaque bouton applique une série filtrage linéaire invariant discret dont le
comportement entré sortie est caractérisé par les coefficients hi de leur réponse
impulsionnelle. Le calcul de la sortie se fait grâce au produit de convolution discret et la
transformée en Z qui permet de définir sa fonction de transfert H(z).
Une fois que le bruit a été caractérisé, l’étape suivante, consiste à développer un filtre
qui permet d’atténuer et dans le meilleur des cas d’éliminer ce bruit.

L’écoute des signaux confirme bien les dires. Le signal semble changer de fréquences
sonores à chaque fois on clique sur l’une des boutons puis sur Lecture comme nous
pouvions nous y attendre.

Nous avions fait la remarque (en regardant le graphe du signal traité), les résultats
semblent confirmer ce que nous pensions.

|| Traitement de sons musicaux MATLAB – Rapport Projet 6


Le spectre de sortie

Conclusion

Ce projet est une introduction dans le monde de l’ingénierie et dans le traitement de


signal. Réussir à développer la solution idéale ne va dépendre que de la maitrise de la
théorie, mais la technique et la compréhension du problème.
Tout au long de ce projet, nous avons pu montrer les effets de mixage numérique sur
des signaux musicaux. Nous avons donc pu constater l’effet du filtrage numérique des
signaux générés sous MATLAB ainsi que les réponses en fréquence (notamment des
signaux audio).

Enfin, on a mis en œuvre ce projet sous une plateforme Matlab et on remarque qu’on
peut facilement se rendre compte qu’il est très simple et facile de déployer une interface
graphique pour n’importe qu’elle application de traitement du signal.

Ce projet a répondu à nos attentes aussi bien au niveau éducatif que professionnel. Il
est notre premier pas avec succès en traitement du signal.

Nous avons beaucoup gagné en compétences à travers la réalisation de ce projet.

|| Traitement de sons musicaux MATLAB – Rapport Projet 7


ANNEXES code Matlab du projet

function varargout = MixeurAudio(varargin)

gui_Singleton = 1;
gui_State = struct('gui_Name',mfilename,...
'gui_Singleton',gui_Singleton,...
'gui_OpeningFcn',@MixeurAudio_OpeningFcn,...
'gui_OutputFcn',@MixeurAudio_OutputFcn,...
'gui_LayoutFcn',[],...
'gui_Callback',[]);
if nargin && ischar(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 MixeurSon is made visible.


function MixeurAudio_OpeningFcn(hObject, eventdata, handles,
varargin)

% Choose default command line output for


handles.output = hObject;

% Update handles structure


guidata(hObject, handles);

% --- Outputs from this function are returned to the command


line.
function varargout = MixeurAudio_OutputFcn(hObject, eventdata,
handles)

% Get default command line output from handles structure


varargout{1} = handles.output;

% --- Executes on button press in Parcourir.


function Parcourir_Callback(hObject, eventdata, handles)
[filename,pathname] = uigetfile('*.*','selection du signal
audio');
handles.fullpathname = strcat(pathname,filename);
set(handles.address, 'String',handles.fullpathname)
guidata(hObject, handles)

function play_equalizer(hObject,handles)

|| Traitement de sons musicaux MATLAB – Rapport Projet 8


global player;
[handles.y,handles.Fs] = audioread(handles.fullpathname);
handles.Volume = get(handles.volume,'value');
handles.q1 = get(handles.slider1,'value');
handles.q2 = get(handles.slider2,'value');
handles.q3 = get(handles.slider3,'value');
handles.q4 = get(handles.slider4,'value');
handles.q5 = get(handles.slider5,'value');
handles.q6 = get(handles.slider6,'value');
handles.q7 = get(handles.slider7,'value');
handles.q8 = get(handles.slider8,'value');
handles.q9 = get(handles.slider9,'value');
handles.q10 = get(handles.slider10,'value');

set(handles.text18,'String',handles.q1);
set(handles.text19,'String',handles.q2);
set(handles.text20,'String',handles.q3);
set(handles.text21,'String',handles.q4);
set(handles.text22,'String',handles.q5);
set(handles.text23,'String',handles.q6);
set(handles.text24,'String',handles.q7);
set(handles.text25,'String',handles.q8);
set(handles.text26,'String',handles.q9);
set(handles.text27,'String',handles.q10);
% --- cut off low pass
cut_off = 200;
orde = 16;
a = fir1(orde, cut_off/(handles.Fs/2),'low');
y1 = handles.q1*filter(a,1,handles.y);
% bandpass
f1 = 201;
f2 = 400;
b1 = fir1(orde, [f1/(handles.Fs/2)
f2/(handles.Fs/2)],'bandpass');
y2 = handles.q2*filter(b1,1,handles.y);
% bandpass
f3 = 401;
f4 = 800;
b2 = fir1(orde, [f3/(handles.Fs/2)
f4/(handles.Fs/2)],'bandpass');
y3 = handles.q3*filter(b2,1,handles.y);
% bandpass
f4 = 801;
f5 =1500;
b3 = fir1(orde, [f4/(handles.Fs/2)
f5/(handles.Fs/2)],'bandpass');
y4 = handles.q4*filter(b3,1,handles.y);
% bandpass
f5 = 1501;
f6 =3000;
b4 = fir1(orde, [f5/(handles.Fs/2)
f6/(handles.Fs/2)],'bandpass');
y5 = handles.q5*filter(b4,1,handles.y);

|| Traitement de sons musicaux MATLAB – Rapport Projet 9


% bandpass
f7 = 3001;
f8 = 5000;
b5 = fir1(orde, [f7/(handles.Fs/2)
f8/(handles.Fs/2)],'bandpass');
y6 = handles.q6*filter(b5,1,handles.y);
% bandpass
f9 = 5001;
f10 = 7000;
b6 = fir1(orde, [f9/(handles.Fs/2)
f10/(handles.Fs/2)],'bandpass');
y7 = handles.q7*filter(b6,1,handles.y);
% bandpass
f11 = 7001;
f12 =10000;
b7 = fir1(orde, [f11/(handles.Fs/2)
f12/(handles.Fs/2)],'bandpass');
y8 = handles.q8*filter(b7,1,handles.y);
% bandpass
f13 = 10001;
f14 =15000;
b8 = fir1(orde, [f13/(handles.Fs/2)
f14/(handles.Fs/2)],'bandpass');
y9 = handles.q9*filter(b8,1,handles.y);

% highpass
cut_off2 = 15000;
c = fir1(orde, cut_off2/(handles.Fs/2),'high');
y10 = handles.q10*filter(c,1,handles.y);
handles.yT = y1+ y2+ y3+ y4+ y5+ y6+ y7+ y8+ y9+ y10;
player = audioplayer(handles.Volume*handles.yT,handles.Fs);
%
--- axes(hanles.axes1)
subplot(2,1,1);
plot(handles.y);
subplot(2,1,2);
plot(handles.yT);
guidata(hObject,handles);

% --- Executes on volume movement.


function volume_Callback(hObject, eventdata, handles)

% --- Executes during object creation, after setting all


properties.
function volume_CreateFcn(hObject, eventdata, handles)

% Hint: volume controls usually have a light gray background.


if isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))

|| Traitement de sons musicaux MATLAB – Rapport Projet 10


set(hObject,'BackgroundColor',[.9 .9 .9]);
end

% --- Executes on button press in pop.


function pop_Callback(hObject, eventdata, handles)
q1 = 1.5;
q2 = 3.9;
q3 = 5.4;
q4 = 4.5;
q5 = 0.9;
q6 = -1.5;
q7 = -1.0;
q8 = -2.1;
q9 = -2.1;
q10 = 0.3;

set(handles.slider1,'value',q1);
set(handles.slider2,'value',q2);
set(handles.slider3,'value',q3);
set(handles.slider4,'value',q4);
set(handles.slider5,'value',q5);
set(handles.slider6,'value',q6);
set(handles.slider7,'value',q7);
set(handles.slider8,'value',q8);
set(handles.slider9,'value',q9);
set(handles.slider10,'value',q10);

set(handles.text18,'value',q1);
set(handles.text19,'value',q2);
set(handles.text20,'value',q3);
set(handles.text21,'value',q4);
set(handles.text22,'value',q5);
set(handles.text23,'value',q6);
set(handles.text24,'value',q7);
set(handles.text25,'value',q8);
set(handles.text26,'value',q9);
set(handles.text27,'value',q10);

% --- Executes on button press in raggae.


function raggae_Callback(hObject, eventdata, handles)
q1 = 0;
q2 = 0;
q3 = -0.3;
q4 = -2.7;
q5 = 0;
q6 = 2.1;
q7 = 4.5;
q8 = 3;
q9 = 0.6;
q10 = 0.6;
set(handles.slider1,'value',q1);
set(handles.slider2,'value',q2);
set(handles.slider3,'value',q3);

|| Traitement de sons musicaux MATLAB – Rapport Projet 11


set(handles.slider4,'value',q4);
set(handles.slider5,'value',q5);
set(handles.slider6,'value',q6);
set(handles.slider7,'value',q7);
set(handles.slider8,'value',q8);
set(handles.slider9,'value',q9);
set(handles.slider10,'value',q10);

set(handles.text18,'value',q1);
set(handles.text19,'value',q2);
set(handles.text20,'value',q3);
set(handles.text21,'value',q4);
set(handles.text22,'value',q5);
set(handles.text23,'value',q6);
set(handles.text24,'value',q7);
set(handles.text25,'value',q8);
set(handles.text26,'value',q9);
set(handles.text27,'value',q10);
% --- Executes on button press in rock.
function rock_Callback(hObject, eventdata, handles)
q1 = 4.5;
q2 = -3.6;
q3 = -6.6;
q4 = -2.7;
q5 = 2.1;
q6 = 6;
q7 = 7.5;
q8 = 7.0;
q9 = 7.0;
q10 = 0.1;
set(handles.slider1,'value',q1);
set(handles.slider2,'value',q2);
set(handles.slider3,'value',q3);
set(handles.slider4,'value',q4);
set(handles.slider5,'value',q5);
set(handles.slider6,'value',q6);
set(handles.slider7,'value',q7);
set(handles.slider8,'value',q8);
set(handles.slider9,'value',q9);
set(handles.slider10,'value',q10);

set(handles.text18,'value',q1);
set(handles.text19,'value',q2);
set(handles.text20,'value',q3);
set(handles.text21,'value',q4);
set(handles.text22,'value',q5);
set(handles.text23,'value',q6);
set(handles.text24,'value',q7);
set(handles.text25,'value',q8);
set(handles.text26,'value',q9);
set(handles.text27,'value',q10);

% --- Executes on button press in techno.

|| Traitement de sons musicaux MATLAB – Rapport Projet 12


function techno_Callback(hObject, eventdata, handles)
q1 = 4.8;
q2 = 4.2;
q3 = 1.5;
q4 = -2.4;
q5 = -3.3;
q6 = -1.5;
q7 = 1.5;
q8 = 5.1;
q9 = 5.7;
q10 = 5.4;
set(handles.slider1,'value',q1);
set(handles.slider2,'value',q2);
set(handles.slider3,'value',q3);
set(handles.slider4,'value',q4);
set(handles.slider5,'value',q5);
set(handles.slider6,'value',q6);
set(handles.slider7,'value',q7);
set(handles.slider8,'value',q8);
set(handles.slider9,'value',q9);
set(handles.slider10,'value',q10);

set(handles.text18,'value',q1);
set(handles.text19,'value',q2);
set(handles.text20,'value',q3);
set(handles.text21,'value',q4);
set(handles.text22,'value',q5);
set(handles.text23,'value',q6);
set(handles.text24,'value',q7);
set(handles.text25,'value',q8);
set(handles.text26,'value',q9);
set(handles.text27,'value',q10);
% --- Executes on button press in party.
function party_Callback(hObject, eventdata, handles)
q1 = 5.4;
q2 = 0;
q3 = 0;
q4 = 0;
q5 = 0;
q6 = 0;
q7 = 0;
q8 = 0;
q9 = 0;
q10 = 5.4;
set(handles.slider1,'value',q1);
set(handles.slider2,'value',q2);
set(handles.slider3,'value',q3);
set(handles.slider4,'value',q4);
set(handles.slider5,'value',q5);
set(handles.slider6,'value',q6);
set(handles.slider7,'value',q7);
set(handles.slider8,'value',q8);
set(handles.slider9,'value',q9);

|| Traitement de sons musicaux MATLAB – Rapport Projet 13


set(handles.slider10,'value',q10);

set(handles.text18,'value',q1);
set(handles.text19,'value',q2);
set(handles.text20,'value',q3);
set(handles.text21,'value',q4);
set(handles.text22,'value',q5);
set(handles.text23,'value',q6);
set(handles.text24,'value',q7);
set(handles.text25,'value',q8);
set(handles.text26,'value',q9);
set(handles.text27,'value',q10);

% --- Executes on button press in classic.


function classic_Callback(hObject, eventdata, handles)
q1 = 0;
q2 = 0;
q3 = 0;
q4 = 0;
q5 = 0;
q6 = 0;
q7 = -0.3;
q8 = -5.7;
q9 = -6;
q10 = -0.1;
set(handles.slider1,'value',q1);
set(handles.slider2,'value',q2);
set(handles.slider3,'value',q3);
set(handles.slider4,'value',q4);
set(handles.slider5,'value',q5);
set(handles.slider6,'value',q6);
set(handles.slider7,'value',q7);
set(handles.slider8,'value',q8);
set(handles.slider9,'value',q9);
set(handles.slider10,'value',q10);

set(handles.text18,'value',q1);
set(handles.text19,'value',q2);
set(handles.text20,'value',q3);
set(handles.text21,'value',q4);
set(handles.text22,'value',q5);
set(handles.text23,'value',q6);
set(handles.text24,'value',q7);
set(handles.text25,'value',q8);
set(handles.text26,'value',q9);
set(handles.text27,'value',q10);

% --- Executes when uipanel1 is resized.


function uipanel1_CreateFcn(hObject, eventdata, handles)
% hObject handle to uipanel1 (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles structure with handles and user data (see GUIDATA)

|| Traitement de sons musicaux MATLAB – Rapport Projet 14


% --- Executes when uipanel3 is resized.
function uipanel3_SizeChangeFcn(hObject, eventdata, handles)
% hObject handle to uipanel3 (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles structure with handles and user data (see GUIDATA)

% --- Executes when uipanel4 is resized.


function uipanel4_SizeChangedFcn(hObject, eventdata, handles)
% hObject handle to uipanel4 (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles structure with handles and user data (see GUIDATA)

% --- Executes when uipanel5 is resized.


function uipanel5_SizeChangedFcn(hObject, eventdata, handles)
% hObject handle to uipanel5 (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles structure with handles and user data (see GUIDATA)

% --- Executes during object deletion, before destroying


properties.
function address_DeleteFcn(hObject, eventdata, handles)
% hObject handle to address (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles structure with handles and user data (see GUIDATA)

% --- Executes during object creation, after setting all


properties.
function Parcourir_CreateFcn(hObject, eventdata, handles)
% hObject handle to Parcourir (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles empty - handles not created until after all
CreateFcns called

% --- Executes when uipanel1 is resized.


function uipanel1_SizeChangedFcn(hObject, eventdata, handles)
% hObject handle to uipanel1 (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles structure with handles and user data (see GUIDATA)

% --- Executes when uipanel3 is resized.

|| Traitement de sons musicaux MATLAB – Rapport Projet 15


function uipanel3_SizeChangedFcn(hObject, eventdata, handles)
% hObject handle to uipanel3 (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles structure with handles and user data (see GUIDATA)

% --- Executes during object creation, after setting all


properties.
function play_CreateFcn(hObject, eventdata, handles)
% hObject handle to play (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles empty - handles not created until after all
CreateFcns called
% --- Executes when uipanel2 is resized.
function uipanel2_SizeChangedFcn(hObject, eventdata, handles)

% --- Executes on volume movement.


function slider1_Callback(hObject, eventdata, handles)

% --- Executes during object creation, after setting all


properties.
function slider1_CreateFcn(hObject, eventdata, handles)
% hObject handle to slider1 (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles empty - handles not created until after all
CreateFcns called

% Hint: volume controls usually have a light gray background.


if isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor',[.9 .9 .9]);
end

% --- Executes on volume movement.


function slider2_Callback(hObject, eventdata, handles)

% --- Executes during object creation, after setting all


properties.
function slider2_CreateFcn(hObject, eventdata, handles)
% hObject handle to slider2 (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles empty - handles not created until after all
CreateFcns called

% Hint: volume controls usually have a light gray background.


if isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor',[.9 .9 .9]);

|| Traitement de sons musicaux MATLAB – Rapport Projet 16


end

% --- Executes on volume movement.


function slider3_Callback(hObject, eventdata, handles)

% --- Executes during object creation, after setting all


properties.
function slider3_CreateFcn(hObject, eventdata, handles)
% hObject handle to slider3 (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles empty - handles not created until after all
CreateFcns called

% Hint: volume controls usually have a light gray background.


if isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor',[.9 .9 .9]);
end

% --- Executes on volume movement.


function slider4_Callback(hObject, eventdata, handles)

% --- Executes during object creation, after setting all


properties.
function slider4_CreateFcn(hObject, eventdata, handles)
% hObject handle to slider4 (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles empty - handles not created until after all
CreateFcns called

% Hint: volume controls usually have a light gray background.


if isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor',[.9 .9 .9]);
end

% --- Executes on volume movement.


function slider5_Callback(hObject, eventdata, handles)

% --- Executes during object creation, after setting all


properties.
function slider5_CreateFcn(hObject, eventdata, handles)
% hObject handle to slider5 (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB

|| Traitement de sons musicaux MATLAB – Rapport Projet 17


% handles empty - handles not created until after all
CreateFcns called

% Hint: volume controls usually have a light gray background.


if isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor',[.9 .9 .9]);
end

% --- Executes on volume movement.


function slider6_Callback(hObject, eventdata, handles)

% --- Executes during object creation, after setting all


properties.
function slider6_CreateFcn(hObject, eventdata, handles)
% hObject handle to slider6 (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles empty - handles not created until after all
CreateFcns called

% Hint: volume controls usually have a light gray background.


if isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor',[.9 .9 .9]);
end

% --- Executes on volume movement.


function slider7_Callback(hObject, eventdata, handles)

% --- Executes during object creation, after setting all


properties.
function slider7_CreateFcn(hObject, eventdata, handles)
% hObject handle to slider7 (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles empty - handles not created until after all
CreateFcns called

% Hint: volume controls usually have a light gray background.


if isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor',[.9 .9 .9]);
end

% --- Executes on volume movement.


function slider8_Callback(hObject, eventdata, handles)

% --- Executes during object creation, after setting all


properties.
function slider8_CreateFcn(hObject, eventdata, handles)

|| Traitement de sons musicaux MATLAB – Rapport Projet 18


% hObject handle to slider8 (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles empty - handles not created until after all
CreateFcns called

% Hint: volume controls usually have a light gray background.


if isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor',[.9 .9 .9]);
end

% --- Executes on volume movement.


function slider9_Callback(hObject, eventdata, handles)

% --- Executes during object creation, after setting all


properties.
function slider9_CreateFcn(hObject, eventdata, handles)
% hObject handle to slider9 (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles empty - handles not created until after all
CreateFcns called

% Hint: volume controls usually have a light gray background.


if isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor',[.9 .9 .9]);
end

% --- Executes on volume movement.


function slider10_Callback(hObject, eventdata, handles)

% --- Executes during object creation, after setting all


properties.
function slider10_CreateFcn(hObject, eventdata, handles)
% hObject handle to slider10 (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles empty - handles not created until after all
CreateFcns called

% Hint: volume controls usually have a light gray background.


if isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor',[.9 .9 .9]);
end

% --- Executes on slider movement.


function text28_Callback(hObject, eventdata, handles)

|| Traitement de sons musicaux MATLAB – Rapport Projet 19


% hObject handle to volume (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles structure with handles and user data (see GUIDATA)

% Hints: get(hObject,'Value') returns position of slider


% get(hObject,'Min') and get(hObject,'Max') to determine
range of slider

% --- Executes on button press in play.


function play_Callback(hObject, eventdata, handles)
% hObject handle to play (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles structure with handles and user data (see GUIDATA)
global player;
play_equalizer(hObject,handles);
play(player);
guidata(hObject, handles)

% --- Executes on button press in play.


function pause_Callback(hObject, eventdata, handles)
global player;
play_equalizer(hObject,handles);
pause(player);
guidata(hObject, handles)

% --- Executes on button press in resume.


function resume_Callback(hObject, eventdata, handles)
% hObject handle to resume (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles structure with handles and user data (see GUIDATA)
global player;
play_equalizer(hObject,handles);
resume(player);
guidata(hObject, handles)

% --- Executes on button press in stop.


function stop_Callback(hObject, eventdata, handles)
% hObject handle to stop (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles structure with handles and user data (see GUIDATA)
global player;
play_equalizer(hObject,handles);
stop(player);
guidata(hObject, handles)

|| Traitement de sons musicaux MATLAB – Rapport Projet 20

Vous aimerez peut-être aussi