Journal Portage de TapTempo en Bash

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
15
28
fév.
2018

Bonjour à tous,

Suites aux ports de TapTempo en Rust, Ada, JS, PERL et python (2.7)

Voilà ma version en bash ;-)

#!/bin/bash

PREV="$(date +%s%N | cut -b1-13)"
TAPS="0"
COUNT="0"

while read -p "tapTempo : press any key (CTRL+D for quit)" tap ; do
    CUR="$(date +%s%N | cut -b1-13)"
    TAPS="$TAPS + $(($CUR-$PREV))"
    PREV=$CUR
    COUNT="$(($COUNT + 1))"
done

echo ""
  • # Oops ligne manquante

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

    Il manque une ligne :

    echo BPM : $((60000 / $(($(($TAPS + 0)) / $COUNT))))

    • [^] # Re: Oops ligne manquante

      Posté par  . Évalué à 2.

      Petite remarque : en bash les divisions renvoient des entiers. Ça sera chiant sur la dernière ligne ou pas ? Si oui il faudra s'appuyer sur un outil tiers genre "bc" (ça introduit une dépendance, du coup).

  • # Github gist

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

  • # Portage ?

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

    c'est vraiment le service minimum, il n'y a aucune option de ce programme.

    "La première sécurité est la liberté"

    • [^] # Re: Portage ?

      Posté par  (site web personnel, Mastodon) . Évalué à 5.

      C'est dans la lignée des deux précédents.

      Pour l'instant, il n'y a que la version Perl, la version Rust et, sans vouloir me lancer de fleurs, la mienne qui respectent un tant soit peu la version d'origine

      • [^] # Re: Portage ?

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

        La perl aussi ? il y a 2 print, au lieu d'un seul, j'ai l'impression. Il demande un ctl-d au lieu de 'q'.

        "La première sécurité est la liberté"

        • [^] # Re: Portage ?

          Posté par  (site web personnel, Mastodon) . Évalué à 2.

          il y a 2 print, au lieu d'un seul, j'ai l'impression

          C'est le debug dont tu parles, je pense.
          Sinon, le programme C++, ainsi que le Perl, affiche une première fois pour expliquer le fonctionnement puis demande une nouvelle fois entrée quand il n'y a qu'un seul élément dans la file.

          Il demande un ctl-d au lieu de 'q'.

          Ça, c'est juste une boulette de texte, 'q' fonctionne

          Pour moi, c'est correct ;)

  • # Le chieur

    Posté par  (site web personnel, Mastodon) . Évalué à 6.

    Je vais encore faire mon chieur mais pour quasiment les mêmes raisons que les portages Python et Javascript, ce n'est pas un portage de l'application d'origine.

    En plus, personnellement, j'ai passé plus de temps que dix minutes pour coder l'application en respectant l'implémentation d'origine et nettement plus de temps que dix minutes à écrire le journal.
    Il aurait été très facile de faire un code quick and dirty comme celui qui sort sur les derniers journaux. Nul besoin de se prendre la tête à intégrer des libs pour la gestion des options, de prendre soin de découper le projet en unités logiques…

    On est donc très loin de l'idée de mon journal dont le but était didactique en montrant ET expliquant une implémentation identique dans un autre langage.

    • [^] # Re: Le chieur

      Posté par  . Évalué à 4.

      Yep. J'imagine qu'a ce rythme, on va finir par avoir une version en whitespace (ceci dit, ça pourrait être fun).

    • [^] # Re: Le chieur

      Posté par  . Évalué à 10.

      Et ?
      On peut aussi faire des versions "quick and dirty" dans un autre langage et en parler ici…

      Si c'est les titres "Portage de TapTempo" qui te gènes, on a compris la première fois.

      • [^] # Re: Le chieur

        Posté par  (site web personnel, Mastodon) . Évalué à 10. Dernière modification le 28 février 2018 à 17:14.

        Oui, c'est vrai, je n'ai aucun droit d'empêcher la liberté d'expression, on est en démocratie :)
        J'ai d'ailleurs pertinenté ton commentaire pour cette raison.

        Du coup, j'en profite pour vous proposer un portage quick and dirty de MS W0rd en bash :D

        #! /bin/bash
        while read -p "W0rd : enter a entence CTRL+D for save and quit) : " sentence ; do
            echo $sentence >> w0rds.doc
        done
  • # Mieux

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

    COUNT="$(($COUNT + 1))" => ((COUNT += 1))
    
    TAPS="$TAPS + $(($CUR-$PREV))" => ((TAPS += CUR - PREV))
    
    • [^] # Re: Mieux

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

      v2:

      #!/bin/bash
      
      PREV="$(date +%s%N | cut -b1-13)"
      
      while read -p "tapTempo : press any key (CTRL+D for quit)" ; do
          CUR="$(date +%s%N | cut -b1-13)"
          TAPS="$((TAPS += CUR - PREV))"
          PREV=$CUR
          COUNT="$((COUNT += 1))"
      done
      
      echo ""
      echo BPM : $((60000 / $(($(($TAPS + 0)) / $COUNT))))
      
  • # Portage de Taptempo en langage musical

    Posté par  . Évalué à -10. Dernière modification le 01 mars 2018 à 09:14.

    Un portage de Taptempo en langage musical accessible à tout le monde, sans avoir besoin de lancer un gros logiciel ou de se déplacer vers son synthé pour vérifier le tempo d'un morceau.

    En une ligne de code musical: (Présent sur toutes les partitions de musique, à la premiere page au dessus de la clef et de la mesure).

    Andate ♩=90

    et simplifié

    ♩=90


    Sinon pour les gens normaux et les musiciens qui ne se revendiquent pas savants mais font au moins travailler leurs neurones, il y a le métronome

    métronome analogique

    et dans sa version numérique

    métronome numerique

    attention chérie ça va moinsser

    • [^] # Commentaire supprimé

      Posté par  . Évalué à 4. Dernière modification le 01 mars 2018 à 09:31.

      Ce commentaire a été supprimé par l’équipe de modération.

      • [^] # Re: Portage de Taptempo en langage musical

        Posté par  . Évalué à -5. Dernière modification le 01 mars 2018 à 09:54.

        Oui mais nah ; là ce sont des outils de lecture du tempo, alors que depuis le début de cettte épastrouillante récurrence il s'agit d'écriture dudit.

        Bin avec mon clavier j'ai affiché le tempo, en langage musical et en une ligne sans gros logiciel et sans avoir besoin de mon synthe. :)

        App métronome qui, maintenant que j'y pense, fait aussi tap tempo

        Je faisais référence au métronome car il m'est arrivé quelque fois de rechercher le tempo d'un morceau, en tapant dans les mains et en tatonnant avec l'aide du métronome mécanique.

        Le TapTempo des musiciens :)

        attention chérie ça va moinsser

    • [^] # Re: Portage de Taptempo en langage musical

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

      Pour avoir longtemps cherché des tempi « à la main » avec un métronome comme tu le proposes, je préfère largement les applications type tap tempo.
      L'avantage est de pas être perturbé par un "tac tac" étranger pendant l'écoute du morceau.

      D'ailleurs il me semble que le bouton "beat" en bas à droite de ton métronome électronique est un tap tempo non ? ;-)

      • [^] # Re: Portage de Taptempo en langage musical

        Posté par  . Évalué à -7. Dernière modification le 01 mars 2018 à 22:47.

        D'ailleurs il me semble que le bouton "beat" en bas à droite de ton métronome électronique est un tap tempo non ? ;-)

        Euuu, non ce n'est pas mon métronome, une photo prise sur le oueb pour illustrer mon commentaire. Mon métronome il ressemble au vieux coucou sur la premiere photo :)

        attention chérie ça va moinsser

Suivre le flux des commentaires

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