Journal Kalimba.sh

Posté par  . Licence CC By‑SA.
Étiquettes :
27
15
août
2021

Nous sommes en plein été, et vous êtes sur la plage, à jouer du kalimba, ce petit instrument de musique à lamelles métalliques. Peut-être même êtes-vous à la veillée au coin du feu, pestant contre le guitariste qui prend tous les honneurs et les regards langoureux des filles.

Vous ne savez jouer que "au clair de la lune", et pourtant votre PC portable regorge de fichiers midi avec quantité de tubes interplanétaires. Comment apprendre rapidement à jouer tout cela, et supplanter ce damné joueur de guitare qui fait tourner du Nirvana en boucle ?

kalimba.sh sera ainsi d'une aide précieuse pour convertir tous vos fichiers midi en tablatures immédiatement lisibles !

Exemple du rendu pour un morceau connu, habituellement joué à l'ocarina :

Converted from zelda_lullaby.mid 
Tuning: C 


   | |/ /__ _| (_)_ __ ___ | |__   __ _
   | ' // _` | | | '_ ` _ \| '_ \ / _` |
   | . | (_| | | | | | | | | |_) | (_| |
   |_|\_\__,_|_|_|_| |_| |_|_.__/ \__,_|.sh

   |     |     |   |   7 |     |       ....  
   |     |     |   |     2°    |       ..  
   |     | 6   |   |     |     |       ....  
   |     |     |   | 5   |     |       .  
   |     | 6   |   |     |     |       .  
   |     |     |   |   7 |     |       ....  
   |     |     |   |     2°    |       ..  
   |     | 6   |   |     |     |       ......  
   |     |     |   |   7 |     |       ....  
   |     |     |   |     2°    |       ..  
   |     |     |   |     |   6°        ....  
   | 5°  |     |   |     |     |       ..  
   |     |     |   |     2°    |       ....  
   |     1°    |   |     |     |       .  
   |     |     |   |   7 |     |       .  
   |     | 6   |   |     |     |       ......  
   |     |     |   |   7 |     |       ....  
   |     |     |   |     2°    |       ..  
   |     | 6   |   |     |     |       ....  
   |     |     |   | 5   |     |       .  
   |     | 6   |   |     |     |       .  
   |     |     |   |   7 |     |       ....  
   |     |     |   |     2°    |       ..  
   |     | 6   |   |     |     |       ......  
   |     |     |   |   7 |     |       ....  
   |     |     |   |     2°    |       ..  
   |     |     |   |     |   6°        ....  
   | 5°  |     |   |     |     |       ..  
 2°°     |     |   |     |     |       ......  

Tout cela se retrouve ici : https://github.com/farvardin/kalimba.sh

  • # formidable

    Posté par  . Évalué à 6.

    Très intéressant. Étant donné que c'est aussi un instrument jouet offert aux enfants, qui sont bien incapables de lire les tablatures, c'est possible d'afficher simplement la lame à jouer ?

    Accessoirement, connais-tu des bons sites pour expliquer la Kalimba ?

    • [^] # Re: formidable

      Posté par  . Évalué à 9.

      il y a ce site, seulement en anglais, qui explique ça bien :

      https://www.kalimbamagic.com/info/how-to-play/how-to-read-and-write-kalimba-tablature

      Je ne sais pas si les enfants peuvent lire simplement ou pas les tablatures, mais celles-ci sont assez intuitive, puisque cela représente précisément les lames à jouer. Les lames ont un numéro (do = 1, ré = 2 etc), et c'est précisément ce que symbolise le rendu ascii des tablatures.

      Une petite précision, contrairement au piano ou à d'autres instruments où les notes se suivent de gauche à droite, dans le kalimba, la note la plus grave (do ou sol) est au centre, et les notes plus aigues viennent en alternance autour de cette note centrale, ce qui rend cela assez contre intuitif à jouer.

      Voici la gamme (do, ré, mi, fa, sol etc), pour se représenter la chose :

         |     |     | 1 |     |     |       ..  
         |     |     2   |     |     |       ..  
         |     |     |   3     |     |       ..  
         |     |   4 |   |     |     |       ..  
         |     |     |   | 5   |     |       ..  
         |     | 6   |   |     |     |       ..  
         |     |     |   |   7 |     |       ..  
         |     1°    |   |     |     |       ..  
         |     |     |   |     2°    |       ..  
         |   3°      |   |     |     |       ..  
         |     |     |   |     | 4°  |       ..  
         | 5°  |     |   |     |     |       ..  
         |     |     |   |     |   6°        ..  
         7°    |     |   |     |     |       ..  
         |     |     |   |     |     1°°     ..  
       2°°     |     |   |     |     |       ..  
         |     |     |   |     |     | 3°°   ..  
      

      et rendu en notation anglo saxonne (C=do, D=ré, E=mi etc) :

         |     |     | C |     |     |       ..  
         |     |     D   |     |     |       ..  
         |     |     |   E     |     |       ..  
         |     |   F |   |     |     |       ..  
         |     |     |   | G   |     |       ..  
         |     | A   |   |     |     |       ..  
         |     |     |   |   B |     |       ..  
         |     c°    |   |     |     |       ..  
         |     |     |   |     d°    |       ..  
         |   e°      |   |     |     |       ..  
         |     |     |   |     | f°  |       ..  
         | g°  |     |   |     |     |       ..  
         |     |     |   |     |   a°        ..  
         b°    |     |   |     |     |       ..  
         |     |     |   |     |     c°°     ..  
       d°°     |     |   |     |     |       ..  
         |     |     |   |     |     | e°°    ..  
      

      Initialement, j'avais prévu de représenter plus "fidèlement" les lames, avec une petite colonne symbolisée, et les marques en plus foncé.

      Ce code permet de l'obtenir :

      export BOARD=1 && export RYTHM=0 && export GRAPHICAL=1 && ./kalimba.sh zelda_lullaby.mid

      Converted from zelda_lullaby.mid 
      Tuning: C 
      
      
         | |/ /__ _| (_)_ __ ___ | |__   __ _
         | ' // _` | | | '_ ` _ \| '_ \ / _` |
         | . | (_| | | | | | | | | |_) | (_| |
         |_|\_\__,_|_|_|_| |_| |_|_.__/ \__,_|.sh
      
      | |█| | |█| | |█| |█| [7]█| | |█| |    ....  
      | |█| | |█| | |█| |█| | [2°]| |█| |    ..  
      | |█| | |█[6] |█| |█| | |█| | |█| |    ....  
      | |█| | |█| | |█| |█[5] |█| | |█| |    .  
      | |█| | |█[6] |█| |█| | |█| | |█| |    .  
      | |█| | |█| | |█| |█| [7]█| | |█| |    ....  
      | |█| | |█| | |█| |█| | [2°]| |█| |    ..  
      | |█| | |█[6] |█| |█| | |█| | |█| |    ......  
      | |█| | |█| | |█| |█| [7]█| | |█| |    ....  
      | |█| | |█| | |█| |█| | [2°]| |█| |    ..  
      | |█| | |█| | |█| |█| | |█| [6°]| |    ....  
      | |█[5°]|█| | |█| |█| | |█| | |█| |    ..  
      | |█| | |█| | |█| |█| | [2°]| |█| |    ....  
      | |█| | [1°]| |█| |█| | |█| | |█| |    .  
      | |█| | |█| | |█| |█| [7]█| | |█| |    .  
      | |█| | |█[6] |█| |█| | |█| | |█| |    ......  
      | |█| | |█| | |█| |█| [7]█| | |█| |    ....  
      | |█| | |█| | |█| |█| | [2°]| |█| |    ..  
      | |█| | |█[6] |█| |█| | |█| | |█| |    ....  
      | |█| | |█| | |█| |█[5] |█| | |█| |    .  
      | |█| | |█[6] |█| |█| | |█| | |█| |    .  
      | |█| | |█| | |█| |█| [7]█| | |█| |    ....  
      | |█| | |█| | |█| |█| | [2°]| |█| |    ..  
      | |█| | |█[6] |█| |█| | |█| | |█| |    ......  
      | |█| | |█| | |█| |█| [7]█| | |█| |    ....  
      | |█| | |█| | |█| |█| | [2°]| |█| |    ..  
      | |█| | |█| | |█| |█| | |█| [6°]| |    ....  
      | |█[5°]|█| | |█| |█| | |█| | |█| |    ..  
      [2°°] | |█| | |█| |█| | |█| | |█| |    ......  
      

      Mais avec la pratique, j'ai trouvé que les valeurs mises ensuite par défaut, sont plus lisibles (on peut définir les préférences souhaitées dans l'entête du script, ou avec une variable en ligne de commande)

      On colle généralement des marques sur certaines lames, pour les repérer plus facilement dans les tablatures. Il y a 2 marquages principaux que l'on retrouve dans les tablatures de kalimba. L'une marque la lame centrale (do), l'autre marque les 2 lames de part et d'autre du do. Idem, avec le temps, je trouve le second marquage plus intuitif à lire (c'est celui préconisé par le site donné en lien plus haut). Cela dit, on trouve la plupart des tablatures de kalimba avec le premier.

      Pour comparaison :

      export BOARD=0 && RYTHM=0 && GRAPHICAL=1 && ./kalimba.sh zelda_lullaby.mid

      | | |█| | |█| | |█| | [7] | |█| | |    ....  
      | | |█| | |█| | |█| | |█[2°]|█| | |    ..  
      | | |█| | [6] | |█| | |█| | |█| | |    ....  
      | | |█| | |█| | |█| [5]█| | |█| | |    .  
      | | |█| | [6] | |█| | |█| | |█| | |    .  
      | | |█| | |█| | |█| | [7] | |█| | |    ....  
      | | |█| | |█| | |█| | |█[2°]|█| | |    ..  
      | | |█| | [6] | |█| | |█| | |█| | |    ......  
      | | |█| | |█| | |█| | [7] | |█| | |    ....  
      | | |█| | |█| | |█| | |█[2°]|█| | |    ..  
      /.../
      

      J'espère que ça te semblera plus clair avec ces explications…

      Je ne connais pas d'autres sites pour apprendre le (ou la, je ne sais pas) kalimba. Il y a pas mal de tuto sur youtube cela dit…

      « Le pouvoir des Tripodes dépendait de la résignation des hommes à l'esclavage. » -- John Christopher

  • # Likembe

    Posté par  . Évalué à 8.

    Je connaissais cet instrument sous le nom de likembe et une petite visite sur wikipedia https://fr.wikipedia.org/wiki/Mbira m'a appris qu'il était aussi connu sous une foultitude d'autre noms.
    Je vous invite à découvrir les 3 likembes électrifiés (médium, aigu, basse) de l'Orchestre tout puissant Konono N°1 : https://www.youtube.com/watch?v=-17EnjPLTtk

  • # Merci pour la découverte !

    Posté par  . Évalué à 3.

    Je ne connaissais pas cet instrument donc je te remercie pour me l'avoir fait découvrir. Ca donne carrément envie de se lancer, et ce, d'autant plus avec l'outil présenté.

    • [^] # Re: Merci pour la découverte !

      Posté par  . Évalué à 5.

      Tant mieux si ça peut susciter des vocations :)

      Sur le principe, le son est assez proche d'une boîte à musique, et c'est aussi un petit instrument peu onéreux. On en trouve pour toutes les bourses, du modèle chinois à 15 € aux modèles artisanaux à 80-100 €, il existe même des kits à 5 € pour les construire soi-même (une planche découpée peut suffire).

      Pour les tablatures, je dirais qu'elles sont quasi indispensables pour éviter de galérer au début, de par la nature de la disposition des lames.

      Il existe quelques outils pour réaliser les tablatures, certains libres, d'autres pas. En libre on a https://github.com/oakleyaidan21/kalimba-tabs mais il ne permet pas d'importer du midi et il faut donc tout entrer à la main. Ça peut être pratique pour composer ou retranscrire des morceaux.

      Avec kalimba.sh, je peux composer depuis MuseScore, et afficher rapidement le midi en console (on peut même ralentir l'affichage avec la commande slow, qui fait comme less, mais en plus lent ! https://github.com/davidgranstrom/slow)

      « Le pouvoir des Tripodes dépendait de la résignation des hommes à l'esclavage. » -- John Christopher

  • # .sh

    Posté par  (site web personnel) . Évalué à 4.

    Pourquoi .sh ? La tradition sous UNIX est de ne pas mettre d'extension. On s'en fiche un peu du langage qu'il y a derrière. Super programme qui n'a donc pas besoin de dire qu'il est en Bash (et Perl) ;-)

    • [^] # Re: .sh

      Posté par  . Évalué à 5.

      oui, je vois ce que tu veux dire. Déjà, en général j'aime bien avoir les extensions sous unix, pour voir rapidement à quoi on a affaire. Et puis pour avoir un nom plus identifiable, le fait de l'appeler kalimba.sh réfère explicitement au programme, et non pas à l'instrument.

      Pour le code, ça pourrait être sans doute mieux optimisé, c'est juste un truc rapidement conçu à la base, que j'utilise pour mon propre usage, et que j'ai publié ensuite (même pas honte !)

      Peut-être que si je l'avais réalisé en python dès le départ, ça aurait pu être plus facilement portable pour windows ou pour adapter une petite interface graphique, export pdf etc…

      « Le pouvoir des Tripodes dépendait de la résignation des hommes à l'esclavage. » -- John Christopher

      • [^] # Re: .sh

        Posté par  (site web personnel) . Évalué à -1.

        Pourquoi aimes-tu avoir l'extension ? Tu voudrais un vim.c etc… En quoi cela apporte de mettre .sh ? C'est un truc de Windowsien de faire cela. Ne pas mettre d'extension permet éventuellement de mixer les langages (ce que tu as fait d'ailleurs), voir de refaire par exemple une version tout en Python ou tout en Perl (que tu sembles mieux maîtriser).

        Bref, pour moi l'extension ne sers à rien et pollue plus qu'autre chose.

    • [^] # Re: .sh

      Posté par  (site web personnel) . Évalué à 10.

      #!/bin/bash

      C'est en fait kalim.bash

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.