La suite de Fibonacci mise en musique

Présentation
Chaque terme entier de la suite de Fibonacci est ici congru à une note codée (de 0 = "mi3" à 8 = "mi4") modulo 8, soit la gamme en mi majeur + l'ajout de la note mi4. Chaque nombre de Fibonacci génère alors une note audible entre "mi3" et "mi4", et le nom de chaque note s'affiche à l'écran. Le programme génère alors une mélodie cyclique, qui se répète.
Compilable avec Code::Blocks, sous Windows.
Nos ressources disponibles
Code : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include <windows.h>
#include <stdio.h>

int main()
{

typedef struct {
	char *libelle;
	double freq;
} t_note;


t_note notes[]={
        {"MI3", 329.63},
	{"FA#3", 369.99},
	{"SOL#3", 415.3},
	{"LA3", 440.0},
	{"SI3", 493.88},
	{"DO#4", 554.37},
	{"RE#4", 622.25},
	{"MI4", 659.26},
    };

unsigned short temps[]={2000, 1000, 500, 500};
unsigned long fib[]={1, 1, 0};

for (unsigned long n = 1; n <= 10000000; n++) {
	printf("%s %ld \n", notes[fib[0] % 8].libelle, temps[fib[0] % 4]);
	Beep(notes[fib[0] % 8].freq, temps[fib[0] % 4]);
	fib[2]=fib[0] + fib[1];
	fib[0]=fib[1];
	fib[1]=fib[2];
}

return 0;
}
Remplacer le symbole < par le signe "inférieur à".
Téléchargement
Compatibilité
Windows
0  0 
Téléchargé 1 fois Voir le commentaire
Détails
Catégories : Mathématiques
Avatar de Philippe JCG
Membre régulier
Voir tous les téléchargements de l'auteur
Licence : Freeware
Date de mise en ligne : 3 août 2018




Avatar de Philippe JCG Philippe JCG - Membre régulier https://www.developpez.com
le 30/07/2018 à 8:39
Bonjour,

Je vous propose un nouvel élément à utiliser : La suite de Fibonacci mise en musique

Chaque terme entier de la suite de Fibonacci est ici congru à une note codée (de 0 = "do" à 6 = "si" modulo 7. Chaque nombre de Fibonacci génère alors une note audible entre "do" et "si", et le nom de chaque note s'affiche à l'écran.

Compilable avec Code::Blocks, sous Windows.

Qu'en pensez-vous ?

 
Developpez.com décline toute responsabilité quant à l'utilisation des différents éléments téléchargés.