IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Voir le flux RSS

emmesse

un générateur de lignes d'accords en notation abc

Noter ce billet
par , 23/08/2022 à 10h00 (1676 Affichages)
Générateur de ligne d'accords pour le reggae

introduction
selon le cycle des quintes, les accdord voisin du do majeur sont les accords suivants:
fa majeur,sol majeur,ré mineur,la mineur,mi minieur.
il parait que si on choisi quatre accords voisins du do dans le cycle des quintes, do y compris, on obtient quelque chose de potable.

le programme
chaque mesure sera joué en contre-temps avec le même accord. Chacune de ces mesures n'est donc constituée que d'un seul accord. On implémente ces mesures dans le tableau "accord":
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
  std::string accord[6]={
    "z [CEG] z [CEG]|",//do majeur (do mi sol)
    "z [DFA] z [DFA]|",//ré mineur (ré fa la)
    "z [EGB] z [EGB]|",//mi mineur (mi sol si)
    "z [FAc] z [FAc]|",//fa majeur (fa la do)
    "z [GBd] z [GBd]|",//sol majeur (sol si ré)
    "z [Ace] z [Ace]|"//la mineur (la do mi)
  };
Pour l'entête, un std::cout sera utilisé ainsi:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
std::cout<<"X: 1\nK: C\nM: 4/4\nL: 1/4"<<std::endl;
La ligne se constitue de quatre accord. Le programme écrit quatre mesures.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
for(int i=0;i<4;i++)
  std::cout<<accord[distr(eng)]
std::cout<<"]"<<std::endl;
voici le programme complet:
Code : 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
#include <iostream>
#include <random>
#include <string>

int main(){
  std::random_device rd;
  std::mt19937 eng(rd());
  std::uniform_int_distribution<int> distr(0,5);
  std::string accord[6]={
    " z [CEG] z [CEG] |",
    " z [DFA] z [DFA] |",
    " z [EGB] z [EGB] |",
    " z [FAc] z [FAc] |",
    " z [GBd] z [GBd] |",
    " z [Ace] z [Ace] |"
  };
  std::cout<<"X: 1\nK: C\nM: 4/4\nL: 1/4"<<std::endl;
  for(int i=0;i<4;i++)
    std::cout<<accord[distr(eng)];
  std::cout<<"]"<<std::endl;
}
cela pourrait donner ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
X: 1
K: C
M: 4/4
L: 1/4
z [FAc] z [FAc]|z [Ace] z [Ace]|z [GBd] z [GBd]|z [GBd] z [GBd]|]
utilisation
il faudra installer abcmidi, timidity:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
$  sudo apt install abcmidi timidity
supposons que l’exécutable se nome genR, ce programme s'utilise ainsi:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
$  genR | tee nomfichier.abc
$  abc2midi nomfichier.abc
$  timidity nomfichier1.mid (le 1 est ajouté par abc2midi)
on peut aussi convertir en wav, puis en mp3:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
$  sudo apt install lame
$  timidity -Ow nomfichier1.mid (pour convertir en wav)
$  lame nomfichier1.wav (pour convertir en mp3)
pour voir la partition écrite:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
$  sudo apt install abc2ps ps2pdf
$  genR > nomfichier.abc
$  abcm2ps -O nomfichier.ps nomfichier.abc
evince saura afficher ce fichier:
pour le convertir en pdf:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
$  ps2pdf nomfichier.ps
$  evince nomfichier.pdf
voici en pdf quelques exemples
musique4.pdf
musique5.pdf
musique6.pdf
musique7.pdf

Envoyer le billet « un générateur de lignes d'accords en notation abc » dans le blog Viadeo Envoyer le billet « un générateur de lignes d'accords en notation abc » dans le blog Twitter Envoyer le billet « un générateur de lignes d'accords en notation abc » dans le blog Google Envoyer le billet « un générateur de lignes d'accords en notation abc » dans le blog Facebook Envoyer le billet « un générateur de lignes d'accords en notation abc » dans le blog Digg Envoyer le billet « un générateur de lignes d'accords en notation abc » dans le blog Delicious Envoyer le billet « un générateur de lignes d'accords en notation abc » dans le blog MySpace Envoyer le billet « un générateur de lignes d'accords en notation abc » dans le blog Yahoo

Mis à jour 18/09/2023 à 16h30 par emmesse

Catégories
Sans catégorie

Commentaires