IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Télécharger C Discussion :

La suite de Fibonacci mise en musique


Sujet :

Télécharger C

  1. #1
    Membre régulier

    Homme Profil pro
    Webdesigner
    Inscrit en
    Juillet 2018
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2018
    Messages : 9
    Points : 123
    Points
    123
    Par défaut La suite de Fibonacci mise en musique
    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 ?

  2. #2
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 721
    Points : 31 044
    Points
    31 044
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par Philippe JCG Voir le message
    Qu'en pensez-vous ?
    Concernant l'idée ? Sympa.
    Concernant la musique ? Admettons. Mais pourquoi ne pas avoir inclus les altérations dans les notes ? Le G# aurait-il moins de valeur que le G parce qu'il se joue sur une touche noire du piano ? En plus c'est pas forcément vrai parce que dans certaines gammes, les touches blanches du piano sont vues comme des altérations (ex "DO=SI#" ou "SI=DOb" et "FA=MI#" ou "MI=FAb") et même parfois peuvent (si on pousse vraiment aux extrèmes) être vues comme des doubles altérations (ex "SOL=FA##").
    Concernant les valeurs utilisées ? Ben c'est dommage mais les deux premières valeurs de la suite (1 et 1) existent aussi et devraient être prises en compte (ok, question de choix).
    Concernant le code ? Une horreur. Déjà il n'est même pas tabulé. Sans déconner, écrire un code, surtout un code dont on est assez fier pour le proposer sur un forum professionnel, c'est bien entendu l'écrire "bien" mais aussi l'écrire "beau". Tu trouves vraiment ton écriture agréable et facile à relire ??? De plus, le minimum aurait été que tu utilises le switch/case un peu plus adapté que tous ces if en cascade.
    Et enfin, le top du top aurait été carrément un tableau contenant les paramètres de chaque note ; tableau pouvant alors évoluer plus facilement le jour où tu veux rajouter des notes en plus (ex les altérations).

    Exemple
    Code c : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    typedef struct {
    	char *nom;
    	double freq;
    } t_note;
     
    t_note notes[]={
    	{"DO", 261.63},
    	{"RE", 293.66},
    	{"MI", 329.63},
    	{"FA", 349.23},
    	{"SOL", 392.0},
    	{"LA", 440.0},
    	{"SI", 493.88},
    };
    unsigned short temps[]={100, 200, 300};
    unsigned long fib[]={1, 1, 0};
     
    for (unsigned long n = 1; n <= 1000000; n++) {
    	printf("%s\n", notes[fib[0] % 7].nom);
    	Beep(notes[fib[0] % 7].freq, temps[fib[0] % 3]);	// ou alors Beep(notes[fib[0] % 7].freq, (fib[0] % 3 + 1) * 100) si on est sûr que ces valeurs 100, 200, 300 ne changeront jamais
    	fib[2]=fib[0] + fib[1];
    	fib[0]=fib[1];
    	fib[1]=fib[2];
    }

Discussions similaires

  1. problème suite a une mise a jour mysql
    Par fcois93 dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 11/07/2007, 15h46
  2. Suite de Fibonacci parallélisée
    Par nicolas66 dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 07/12/2006, 22h04
  3. Réponses: 6
    Dernier message: 01/12/2006, 17h32
  4. [NASM] Problème suite de Fibonacci
    Par empochez dans le forum Assembleur
    Réponses: 1
    Dernier message: 05/04/2006, 11h17
  5. Suite de Fibonacci
    Par Évariste Galois dans le forum C++
    Réponses: 13
    Dernier message: 22/07/2005, 21h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo