Polytech’Nice Sophia,
|
Département Sciences Informatiques
|
Cours Signal Son et Image pour l’Informaticien
|
Cours de troisième année
|
Travaux Dirigés, durée 2h, avec Scilab
|
Jean-Paul Stromboni, (septembre 2014)
|
TD n°4 : créer et utiliser les fonctions Scilab
1.pour synthétiser le timbre d’un instrument de musique avec Scilab :
Les scripts et fonctions utilisés ici sont tirés de la page de Philippe Guillaume, professeur à l’INSA de Toulouse, http://www-gmm.insa-toulouse.fr/~guillaum/AM/.
A l’origine, ils sont écrits pour Matlab, dans le but de synthétiser l’enveloppe et la composition fréquentielle de plusieurs instruments de musique.
On téléchargera sur la page du cours les scripts et fonctions suivants traduits depuis Matlab en Scilab et vus en cours : cloche.sce, envelop.sce, synthad.sce, et gammes.sce
-
exécuter le script de gammes.sce et analyser le script dans cloche.sce , afin d’expliquer :
-
pourquoi la fonction cloche appelle t’elle les fonctions envelop et synthad ?
-
quelle est la signification des arguments a et t de la fonction envelop ?
-
quelle est la signification des arguments f et a de la fonction synthad ?
-
comment le script gammes.sce appelle t’il la fonction cloche ?
-
créer dans un vecteur sig à l’aide de la fonction cloche dans cloche.sce un son de cloche de durée 5 s, de fréquence fondamentale 275Hz à la fréquence d’échantillonnage 44100Hz
-
tracer le chronogramme de sig, l’enveloppe de sig , et la composition fréquentielle de sig
-
vérifier que vous pouvez modifier la durée, la hauteur, et l’intensité de ce son de cloche
-
créer une mélodie en enchaînant une suite de sons de cloche de hauteurs et de durées différentes, par exemple : Do, Do, Do, Ré, Miii, Rééé, [Do, Mi, Ré, Ré, Do] ou autre.
On sauvera cette mélodie dans le fichier jingleSSII.wav.
2.pour quantifier un signal audio -
créer une fonction Scilab capable de quantifier un signal sur niveaux (coder sur B bit)
-
on fournit un vecteur ‘signal’ de taille N échantillons, et on précise B, la longueur du code binaire à utiliser pour coder chaque échantillon.
-
la fonction retourne le signal quantifié ‘signalB’ dans un vecteur de même longueur N, le rapport signal sur bruit en décibel (SNR), et la taille en bit du signal quantifié.
-
coder sur 16 bits le signal sig (son de cloche précédent : 275Hz, 5s, 44100Hz) , écouter le signal quantifié noté sig16 , noter le rapport signal sur bruit et la taille en bits de sig16
-
décrémenter B jusqu’à la valeur B=1 : on relèvera la valeur Bmin de B à partir de laquelle le bruit de quantification devient audible. Pour chaque valeur de B, on note le rapport signal sur bruit SNR et on calcule le taux de compression par rapport au signal sig16.
-
augmenter B à partir du signal codé sur B=4 bits, que constate t’on ? Expliquer.
Page
Dostları ilə paylaş: |