Accueil > Turbo Pascal > Turbo Pascal – Le son

Turbo Pascal – Le son

This entry is part 18 of 24 in the series Turbo Pascal - Tutoriel
  1. Bip
  2. Sound

Il existe plusieurs façons de faire du son avec Turbo Pascal. Les méthodes qui vont suivrent permettent d’utiliser le haut-parleur interne du PC.
Pour la carte son, il faut employer des moyens détournés.

Bip

Pour faire un bip, une méthode bien connue est d’utiliser le caractère de controle de la table ASCII correpondant, qui est le 7.
On peut dont écrire :

begin
write(chr(7));{BIP!}
write(#7);{Re-BIP!}
end.

Sound

Une seconde possibilité plus souple est l’appel à Sound, qui demande l’emploi de l’unité crt.
Sound demande un argument qui représente la fréquence en Hertz du son à émmetre.
Voici un tableau qui permet de se retrouver entre les différentes vibrations :





























































NOTE Octaves
1 2 3 4
Do 131 262 523 1047
147 294 587 1175
Mi 165 330 659 1319
Fa 176 349 698 1397
Sol 196 392 784 1568
La 220 440 880 1720
Si 247 494 988 1976

Le La du diapason est, parait-il, situé sur la 2ème octave.
Donc, on peut écrire :

uses crt;

begin
Sound(440);{LAAAAAAAA}
end.

Oui, mais là (:-)), problème : le haut-parleur ne s’arrête plus!
Il faut alors recourir à une seconde instruction : NoSound.
NoSound arrete tout bêtement le haut-parleur :

uses crt;

begin
Sound(440);{LAAAAAAAA}
NoSound;{On arrete}
end.

Cette fois-ci, ça s’arrete. Mais ça se passe tellement vite que l’on a même plus le temps d’entendre.
Il existe alors plusieurs possibilité de temporiser : avec des boucles, avec un readln
On peut aussi utiliser Delay (qui est aussi compris dans l’unité crt). Delay suspend l’execution du programme pendant
le nombre de mili-secondes qui lui sont transmises en arguments.
Donc, pour faire un la de 1,5 s, on écrira :

uses crt;

begin
Sound(440);{LAAAAAAAA}
Delay(1500);{Pendant 1.5s}
NoSound;{On arrete}
end.
Series Navigation«Turbo Pascal – Affichage du texteTurbo Pascal – Graphismes»
Categories: Turbo Pascal Tags:
  1. JohnLemon
    22/03/2010 à 19:21 | #1

    Bonjour,

    Super vos cours de TurboPascal, seulement j’ai un soucis avec celui-ci. Impossible de faire sortir un son, ni avec le « bip » ni avec le « sound ». Je suis sous Ubuntu 8.4 et je code avec Geany.

    Si vous pouvez m’aider :)

    A+

  1. Pas encore de trackbacks