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

Algorithmes et structures de données Discussion :

Générer tous les accords.


Sujet :

Algorithmes et structures de données

  1. #1
    Invité
    Invité(e)
    Par défaut Générer tous les accords.
    Bonjour, S'il vous plaît, je souhaite générer tous les accords musicaux de 2 à 5 notes.
    Sur la gamme constituée de 88 notes indexées de 21 à 108, je parcoure les notes de 60 à 72 pour construire les accords de 2 à 5 notes selon les intervalles suivant : 1, 2, 3, 4, 5, 6, 7, 8, 9, 11 ; Sans doublon. Ca fais 5 heures que je cherche. Et je n'y parviens.
    Merci pour votre aide, bien à vous.

  2. #2
    Rédacteur

    Homme Profil pro
    Comme retraité, des masses
    Inscrit en
    Avril 2007
    Messages
    2 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comme retraité, des masses
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Points : 5 179
    Points
    5 179
    Par défaut
    Salut!
    Sur la gamme
    Harmonique ou tempérée?

    constituée de 88 notes
    D'où tes notes proviennent-elles et comment sont-elles stockées?
    S'agit-il de sinusoïdes pures en régime permanent ou y a-t-il des harmoniques et des régimes transitoires?

    selon les intervalles suivant : 1, 2, 3, 4, 5, 6, 7, 8, 9, 11
    Si 2 représente la note qui est à l'octave supérieure, 3 à une octave et une quinte, 5 à deux octaves et une tierce majeure, etc., que représente l'intervalle 1? Pour quelle raison l'intervalle 10 est-il omis?

    je souhaite générer tous les accords musicaux
    Sous quelle forme? un fichier .WAV ou autre?

    Jean-Marc Blanc
    Calcul numérique de processus industriels
    Formation, conseil, développement

    Point n'est besoin d'espérer pour entreprendre, ni de réussir pour persévérer. (Guillaume le Taiseux)

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour, Je suis confus. Pardon.

    Je cherche simplement à générer les combinaisons de notes selon les intervalles donnés ci-dessus.

    Dans un premier temps je dois trouver l'algorithme générant tous les tirage de 1 à 4 intervalles parmi 10. Après la partie est gagnée.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Code ada : 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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    with Text_Io;
    use Text_Io;
    procedure Main is
       subtype T_Note is Natural range 21..108;  
       type T_Interval is array (1..10) of Positive;
       Interval : T_Interval := (1,2,3,4,5,6,7,8,9,11);
    begin
     
       for A in 21..97 loop
          for I in 1..10 loop
             Put(Integer'Image(A));
             Put(Integer'Image(Interval(I)+A));
             New_Line;
          end loop;
          for I in 1..9 loop
             for J in I+1..10 loop
                Put(Integer'Image(A));
                Put(Integer'Image(Interval(I)+A));
                Put(Integer'Image(Interval(J)+A));
             New_Line;
          end loop;
       end loop;
       for I in 1..9 loop
          for J in I+1..10 loop
             for K in J+1..10 loop
                Put(Integer'Image(A));
                Put(Integer'Image(Interval(I)+A));
                Put(Integer'Image(Interval(J)+A));
                Put(Integer'Image(Interval(K)+A));
                New_Line;
             end loop;
          end loop;
       end loop;
       for I in 1..9 loop
          for J in I+1..10 loop
             for K in J+1..10 loop
                for L in K+1..10 loop
                   Put(Integer'Image(A));
                   Put(Integer'Image(Interval(I)+A));
                   Put(Integer'Image(Interval(J)+A));
                   Put(Integer'Image(Interval(K)+A));
                   Put(Integer'Image(Interval(L)+A));
                   New_Line;
                end loop;
             end loop;
          end loop;
       end loop;
       end loop;
    end Main;

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 01/07/2015, 10h55
  2. Générer tous les items de ma BDD
    Par martinfa dans le forum BIRT
    Réponses: 1
    Dernier message: 23/12/2011, 14h19
  3. Tic-Tac-Toe [Générer tous les coups pour toutes les parties]
    Par Invité dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 15/09/2011, 14h17
  4. Générer tous les scripts de création de tables
    Par farenheiit dans le forum Administration
    Réponses: 5
    Dernier message: 03/08/2007, 11h05
  5. Générer tous les tirages possibles.
    Par Mandotnet dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 03/09/2005, 16h53

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