QBasic – Le son
- QBasic – Introduction au QBasic
- QBasic – Ecrire sur l’écran
- QBasic – Mathématiques élémentaires
- QBasic – La ponctuation (syntaxe)
- QBasic – Les variables
- QBasic – Les commentaires
- QBasic – Les constantes
- QBasic – Entrée de données
- QBasic – Les boucles inconditionnelles
- QBasic – Les boucles conditionnelles
- QBasic – Structure conditionnelle
- QBasic – Les cas
- QBasic – Maths, logique et divers
- QBasic – Le texte
- QBasic – Le son
- QBasic – Dessiner
- QBasic – Sous-programmes, fonctions et procedures
- QBasic – Les types de variables
- QBasic – Les tableaux
- QBasic – Les types personalisés
- QBasic – L’organisation des données
- QBasic – QBasic et le système d’exploitation
- QBasic – L’accès aux fichiers
- QBasic – Le traitement des erreurs
- QBasic – La manette de jeu
- QBasic – Encore plus loin dans le graphisme
- QBasic – La mémoire
- QBasic – Le langage machine et la souris
- QBasic – L’heure, la date, le temps
- QBasic – Le clavier
Le QBasic posséde de multiples fonctions qui lui permettent d’emmettre des sons via le haut
parleur interne de votre PC. Pour la carte son, il faut s’y prendre autrement et en connaître
un petit peu plus …
Faire un BIP
Pour faire un BIP, il existe deux solutions:
- Utiliser l’instruction
PRINTavec le code ASCII 7:
PRINT CHR$(7)’ Cette ligne emet un BIP
- Utiliser l’instruction BEEP, tout simplement:
BEEP’ Cette ligne emet un BIP
Emettre un son
Pour faire autre chose qu’un simple BIP, on peut utiliser l’instruction SOUND. En
théorie, cette instruction permet d’emettre 32730 sons (1 par Hertz) mais on en est loin.
Pour l’utiliser, il faut préciser deux arguments:
- La fréquence en Hertz. Cette valeur peut varier de 37 à 32767.
- La durée en tops d’horloge. Sachez qu’il y a 18.2 tops par seconde. La durée
peut varier de 0 à 65535, c’est à dire de 0 à 1 heure.
Paraît-il que le LA du diapason ce situe à 440 Hz. À titre indicatif, voici un petit tableau
que j’ai pompé dans INITIATION FACILE AU QBASIC – HENRI LILEN – P.S.I:
| NOTE | Octaves | |||
|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |
| Do | 131 | 262 | 523 | 1047 |
| Ré | 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 |
Vous aurez remarquez que, pour une note, il suffit de multiplier par 2 (ou diviser, c’est selon)
pour passer d’une octave à l’autre. Par exemple, pour jouer le fameux LA du diapason pendant,
disons… 5 secondes, on peut écrire ceci :
SOUND 440, 18.2 * 5′ LA du diapason : 440 Hz; 5 secondes : 18.2 * 5
Jouer de la Musique
Pour faire de la musique, on peut très bien utiliser
SOUND en spécifiant les fréquences dechaques notes, de chaque durée.
Ou alors, on peut utiliser l’instruction PLAY qui permet de jouer de la musique très
facilement.
PLAY s’utilise facilement. Il n’y a qu’un seul argument à lui fournir: une chaine de caractèrecontenant la musique à jouer.
Cette chaine de caractères est constituée selon les rêgles suivantes :
- On utilise les notes américaine (ou anglaise, je sais pas…), c’est à dire qu’il n’y
a pas de Do, Ré, Mi, Fa, Sol, La, Si, mais plutôt des C, D, E, F, G, A, B (Le Do,
c’est C; le Si, c’est B). Par exemple, pour jouer la gamme :
PLAY « CDEFGAB » - On utilise O (lisez O, comme le OOOOO de ZorOOOOOOO) pour changer d’octave. Il existe 7
octaves, numérotées de 0 à 6. Exemple :
PLAY « O0CDEFGABO6CDEFGAB » - On peut également passer à l’octave directement inférieur ou supérieur avec < ou
>. Exemple :
PLAY « CDEFGAB>CDEFGAB » - Pour jouer une note précise, on écrit N, suivit du numéro d’une des 85 notes des 7
ocataves confondues, sachant que l’on part de 0, et que justement, 0 est une pause. Exemple :
PLAY « N27″ - Pour fixer la durée d’une note, on utilise L, suivit d’un nombre de 1 à 64. L1 est
une ronde, L2 est une demi-ronde… Exemple :
PLAY « L1N27″ - Pour jouer une note à sa pleine durée, faite la précéder de ML. Pour la jouer à
7/8 de sa durée, faite la précéder de MN. Enfin, pour la jouer au 3/4, faite la
précéder de MS. Exemple :
PLAY « MLN27P1MNN27P1MSN27″ - Le P utilisé dans l’exemple ci-dessus permet de marquer une pose de n noires
(de 1 à 64). - Pour fixer le tempo, on utilise T, suivi du nombre de noires par minute.
- Normalement, la musique est joué au premier plan, c’est à dire que l’execution du
programme est stoppée jusqu’à ce que la musique soit entièrement jouée. Pour la
jouer en arrière plan, il suffit de le préciser avec MB. Ensuite, pour repasser
au premier plan, on utilise MF - Pour les dièses, on utilise # ou +
- Pour le bémol, c’est -
Categories: QBasic