Journal TapTempo en Java 17

Posté par  . Licence CC By‑SA.
Étiquettes :
19
7
nov.
2021

Cher journal,

Suite à la sortie récente de Java 17, j'ai créer une nouvelle version de TapTempo en en utilisant les dernière évolutions de Java.

La version initiale de TapTempo en Java est ici. Je n'ai pas trouvé le dépot avec les sources, mais un commentaire contenait le code principal. Je me suis basé sur ce commentaire pour faire la version en Java.

J'ai utilisé divers nouveaux mécanisme de Java 17 :
- le type var,
- les records (…)

Journal TapTempo Fortran

Posté par  (site Web personnel) . Licence CC By‑SA.
Étiquettes :
29
1
nov.
2021

TapTempo Fortran

Difficile d'échapper à l'engouement planétaire pour TapTempo… Voici donc enfin une version en Fortran moderne (ce qui pour moi désigne le langage à partir de la norme Fortran 90).

Pourquoi Fortran ?

  1. Le calcul éminemment scientifique du tempo me semble mériter de recourir au King du calcul, le mathematical FORmula TRANslating system de John Backus, prix Turing 1977.
  2. Fortran a commencé sa carrière en même temps qu'Elvis Presley, en 1954 (année de début du projet, le premier (…)

Journal TapTempo en CMake

Posté par  (site Web personnel) . Licence CC By‑SA.
Étiquettes :
43
24
oct.
2021

Cher journal,

voilà un certains temps qu’il n’y a pas eu de nouveau portage de TapTempo alors je propose aujourd’hui une version en CMake.

CMake n’est pas vraiment un langage de programmation, c’est plutôt un système de construction logicielle multiplateforme, dixit Wikipédia. Cependant, il intègre un langage de script qui permet de piloter la configuration logicielle. J’ai donc essayé de reproduire le comportement de TapTempo avec ce DSL.

Les prérequis pour un portage de TapTempo sont :

  1. (…)

Journal TapTempo contest : un peu moins d'octets en Awk

Posté par  (site Web personnel) . Licence CC By‑SA.
Étiquettes :
21
14
jan.
2021

Voici une implémentation de TapTempo encore plus compacte que l'indigeste one-liner Perl précédent (https://linuxfr.org/users/zerodeux/journaux/taptempo-en-une-ligne), elle vous est offerte par Loïc Cerf qui me l'a soumise et me propose de vous la partager.

J'ai donc l'honneur de vous transmettre sa solution en 97 caractères :

$ awk '{system("date +%s%N")}'|awk '{t[++k]=$0}k>5{r=k-5}k>1{printf"%i",6e10*(k-r-1)/($0-t[r+1])}'

Le comportement est identique à celui de la ligne Perl de Vincent. Elle considère notamment le temps il y a cinq tapes sur la touche Entrée, moins (…)

Journal Port complet de TapTempo en C# 9

Posté par  . Licence CC By‑SA.
15
11
jan.
2021

Bonjour 'nal,

Y'a plein de poussière ici dis-moi. Faut dire que ça fait longtemps que je ne t'ai plus écrit.

Ce WE, j'ai voulu faire honneur à Pierre Tramo avec un langage qui (à ses débuts) était une copie de Java avec quelques améliorations pour pas que le prof voit qu'on a copié sur le voisin.

Je veux bien sûr parler de C#.

Les sources

C'est par là

Pourquoi ?

Parce que j'en avais envie. Pour le fun. Parce que (…)

TapTempo pour Arduino Uno

Posté par  (site Web personnel) . Édité par Ysabeau et Benoît Sibaud. Modéré par Ysabeau. Licence CC By‑SA.
Étiquettes :
34
23
déc.
2020
Matériel

Puisqu’elle n’existe pas encore, voici une version de TapTempo pour Arduino Uno, utilisant Arduino IDE sous Linux.

Arduino est une marque italienne proposant des cartes de développement open-source basées sur des micro-contrôleurs AVR, ARM et Cortex-A3.

L’Arduino Uno est la carte la plus connue et la plus accessible : compter environ deux euros en Chine pour des copies d’Arduino, et moins de dix euros en France. Elle est équipée d’un micro-contrôleur Atmel ATmega328P, dont les caractéristiques techniques sont : architecture Atmel AVR, 16MHz, 8bit, 32ko Flash, 1ko EEPROM, 2ko de SRAM. On est donc loin des PC avec CPU en GHz et RAM en Go.

Portage de TapTempo en VHDL

Posté par  (site Web personnel) . Édité par Christophe ---, palm123, Claude SIMON, Ysabeau, Pierre Jarillon, tisaac, BAud et Nils Ratusznik. Modéré par Ysabeau. Licence CC By‑SA.
Étiquettes :
39
17
déc.
2020
Matériel

Ayant préparé tout le matériel pour faire du TapTempo en Verilog, il était trop tentant de réaliser la même chose en VHDL. L’occasion de se plonger dans ce langage de description matériel concurrent du Verilog.
L’occasion également de parler des avancées de GHDL, un simulateur libre du VHDL, et désormais également capable de faire la synthèse en conjonction avec Yosys.

Pour comprendre TapTempo dans la culture moulesque de LinuxFr.org, il est conseillé d’aller faire un petit tour sur la page wiki homonyme.

Wiki taptempo

4
21
nov.
2020

Il y a quelques années maintenant, mzf publiait un journal sur le site LinuxFr.org parlant de son projet «TapTempo». L’objectif de son programme était de mesurer la cadence d’une musique en tapant simplement sur une touche de son clavier, le résultat s’affichant ensuite dans la console.

Ce journal fut le point de départ d’une série de «projets TapTempo» proposé par les lecteurs du site dans à peu près tous les langages informatiques possibles.

Cette page wiki a pour objectif de (…)

TapTempo en Verilog

78
20
sept.
2020
Matériel

Le projet TapTempo semble faiblir depuis quelques mois maintenant. En panne de langage informatique pour en faire une dépêche ?

N. D. M. — TapTempo est un détecteur de tempol’utilisateur frappe une touche en cadence régulière et le programme en déduit le tempo correspondant. Il a été décliné en de multiples langages de programmation.

Laissez‑moi vous présenter un langage assez particulier puisqu’il ne sert pas à faire de la programmation. Ce langage permet de décrire le comportement numérique d’un composant électronique (on parle alors de langage de description de matériel — HDL) : le Verilog.

C’est aussi un langage utilisé pour faire de la synthèse numérique sur les circuits logiques programmables (FPGA). Dans cet exemple, nous utiliserons la carte de développement à bas coût ColorLight 5A‑75B.

Vue d’ensemble du montage TapTempo

Google libère les ASIC avec un PDK open source en 130 nm

Posté par  (site Web personnel) . Édité par BAud, Xavier Teyssier, Ysabeau et Davy Defaud. Modéré par Davy Defaud. Licence CC By‑SA.
45
5
juil.
2020
Matériel

La libération des FPGA s’accélère à grands pas, il devient presque difficile de suivre toutes les nouvelles sur le sujet. Mais les FPGA ne doivent pas nous faire oublier leurs grands frères que sont les ASIC.
Un FPGA est un composant ayant un silicium déjà « gravé » mais où il est possible de reconfigurer les connexions entre les éléments logiques à volonté. Dans le cas d’un ASIC, on va cette fois graver directement les transistors sur un silicium vierge et les relier via des couches métaliques une fois pour toutes. Il ne faut surtout pas se planter à l’étape de conception car on ne pourra pas modifier les interconnexions une fois la production lancée.

Journal Ça tape tape en confinement

Posté par  (site Web personnel) . Licence CC By‑SA.
31
30
juin
2020

Cher journal,

comme tu dois surement le savoir, le logiciel TapTempo que je développe maintiens à mes heures perdues, mondialement reconnu sur LinuxFr et au-delà, fait partie de la distribution Debian depuis presque 2 ans.

Il était donc temps de consulter le fameux concours de popularité de ladite distribution GNU/Linux pour estimer si les résultats sont à la hauteur des efforts fournis, dans un pur style Retour sur investissement ou ROI pour les décideurs pressés. Au risque de décevoir (…)

Journal Convertir des dates avec month_nb

Posté par  (site Web personnel) . Licence CC By‑SA.
12
14
jan.
2020

month_nb est un petit utilitaire permettant de traduire le nom d'un mois en son nombre, quelle que soit sa langue (fonctionne pour 69 langues actuellement).

>> month_nb('août');
8

J'ai raconté la génèse du projet sur le blog de Meta-Press.es.

La principale motivation vient du fait que rien n'est prévu pour parser des dates internationales en JavaScript (une fois sorti du format ISO et des formats anglais on est livré à soi-même).

En m'inspirant de la traduction (…)

Journal TapTempo en une ligne

Posté par  (site Web personnel) . Licence CC By‑SA.
Étiquettes :
45
19
juil.
2019

En lisant une dépêche du moment je découvre en passant le logiciel TapTempo. En lisant la description du comportement, par réflexe je me suis dit "tiens ça doit rentrer dans une ligne un algo de ce genre".

perl -ne 'BEGIN{use Time::HiRes qw/gettimeofday/} push(@t,0+gettimeofday()); shift(@t) if @t>5; printf("%3.0f bpm",60*(@t-1)/($t[-1]-$t[0])) if @t>1'

Bon ça ne marque qu'avec la touche Entrée, pas avec n'importe quelle touche, mais ça affiche bien le BPM en moyennant les 5 dernières valeurs. Et ça (…)

Journal WUY : simple GUI pour python3 ... et taptempo ;-)

Posté par  (site Web personnel) . Licence CC By‑SA.
Étiquettes :
20
19
août
2018

WUY est un simple module python qui permet de transformer votre script python3 en GUI, et ça fonctionne sous linux, mac ou windows (pour peu que la plateforme possède un chrome)

Voilà un exemple de taptempo ;-), en wuy/py3 :

import wuy,datetime

class taptempo(wuy.Window):
    """ <button onclick="wuy.tic().then(x=>{document.querySelector('#tempo').innerHTML=x})">Tap Tempo</button> 
        <span id="tempo"></span>
    """
    size=(100,60)
    t=[]

    def tic(self):
        self.t.append( datetime
(…)