Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 23/05/2013, à 09:54

YM

[Résolu] Métronome pour mesures composées

Bonjour
Je cherche un métronome qui puisse battre des mesures composées, comme un 7/8  noire / noire / noire / croche par exemple.
Je ne trouve que des choses comme GTick qui proposent des mesures impaires, mais pas composées...
Merci si vous connaissez des choses.

Dernière modification par YM (Le 29/05/2013, à 23:22)

Hors ligne

#2 Le 23/05/2013, à 18:40

amj

Re : [Résolu] Métronome pour mesures composées

Bonjour
Tu peux essayer un script bash de ce genre

#!/bin/bash
#metronome.sh
#à emploiyer de cette manière

# ./metronome.sh longeur_d'une_noire nb_de_mesure

mesure=$2
time=$1
sound=/usr/share/sounds/free*/s*/bell.oga #tu peux remplacer par le sons que tu veux
i=-1
while [[ $i<=$mesure ]] ;
do
(( i=1+$i ))

paplay $sound # premier beep

sleep $time #pause d'une seconde (noire)
paplay $sound #deuxième beep

sleep $( echo "scale=2;$time/2" | bc ) #pause ½ seconde (croche)
paplay $sound ; # et ainsi de suite

sleep $time

done

(li les commentaire)
Avant de l'exécuter (dans un terminal) tu dois exécuter la commande

chmod 777 metronome.sh

Si il t'interesse je peux essayer de simplifier son utilisation smile


Vive le logiciel libre !! Articles aléatoires sur Wikipédia sur les logiciels libre, sur linux.

@amj@mastodon.xyz

Hors ligne

#3 Le 24/05/2013, à 12:48

philoup44

Re : [Résolu] Métronome pour mesures composées

Salut YM
Voir si HYDROGEN, peut également t'apporter quelque chose ...
Doc.ubuntu-fr - hydrogen
( on le trouve dans la Logithèque )

@ amj
J'ai éssayé ton script,
J'aime bien smile
J'ai juste rajouté à la fin ( après done )

exit 0;

Dernière modification par philoup44 (Le 24/05/2013, à 12:49)

Hors ligne

#4 Le 24/05/2013, à 14:03

YM

Re : [Résolu] Métronome pour mesures composées

Merci pour vos réponses.
Pour le script, je suis un peu niveau basique quand il faut rentrer dans ubuntu...
J'ai l'ai copié sous gedit, je l'ai également rendu executable.
Quand je lance la commande chmod 777 metronome.sh , je n'obtiens rien...

Philoup44 j'ai testé hydrogen, mais c'est trop puissant pour ce que je cherche. J'ai des équivalents windows type reason qui permettent aussi ça, mais c'est un peu ouvrir une usine pour faire tourner un ventilo...

Hors ligne

#5 Le 24/05/2013, à 14:40

philoup44

Re : [Résolu] Métronome pour mesures composées

Mettre d'abord ce script dans  "dossier personnel" (par défaut, dans le terminal, tu es à cet endroit là)
Pour le rendre exécutable, tu peux aussi ---> clic droit sur le fichier > propriétés >permission > cocher "autoriser comme programme"
il faut utiliser ce script comme ça

./metronome.sh longeur_d'une_noire nb_de_mesure

exemple

./metronome.sh 4 4

Puis tu fais entrée (valide)
ce script, écrit tel quel, s'attends à avoir 2 "variables" (numérique ici) en entrée ---> $1 et  $2
time=$1       (première valeur donnée)
mesure=$2  (première valeur donnée)

Mais amj, ta proposé de te le rendre plus "convivial" smile
style
entre la valeur   temps    puis valides
entre la valeur mesure    puis valides
etc ...

Tu peux donc lui demandé !! smile

Dernière modification par philoup44 (Le 24/05/2013, à 14:49)

Hors ligne

#6 Le 24/05/2013, à 18:04

amj

Re : [Résolu] Métronome pour mesures composées

philoup44 a écrit :

Tu peux donc lui demandé !! smile

J'y suis occupé mais j'ai un petit problème donc patience smile

nouvelle version big_smile

#!/bin/bash
#metronome.sh v0.2 by amj
#à emploiyer de cette manière

# ./metronome.sh longeur_d'une_noire nb_de_mesure "$croche && $noire && $croche && $double_croche" #(les trois paramètres droivent être présents et dans l'ordre) 
mesure=$2
time=$1
rythm=$3

text1="Entrez le nombre de mesures."
text2="Entrez le temps d'une noire."

text3="Entrez les rythmes voulus dans l'ordre et de la manière suivante:\n
\$rythme1 && \$rythme2 && \$rythme3 ... \$rythme_n \n
Les rythmes supportés sont les suivants: \n
\$noire \$croche et \$double_croche "

title3="Rythmes voulus."
if  [[ $rythm == "" ]];then mesure=$(zenity --entry --text="$text1" ) && time=$(zenity --entry --text="$text2" ) && rythm=$(zenity --entry --text="$text3" ) ; fi
sound=/usr/share/sounds/free*/s*/bell.oga #tu peux remplacer par le sons que tu veux
i=-1


while [[ $i<=$mesure ]] ;
do
(( i=1+$i ))
noire="sleep $time && paplay $sound"
croche="sleep $( echo "scale=2;$time/2" | bc ) && paplay $sound"
double_croche="sleep $( echo "scale=2;$time/4" | bc ) && paplay $sound"

paplay $sound # premier beep → temps 0 

$rythm

sleep $time ;


done
exit 0;

Tu peux l'employer en double claquant dessus smile

Dernière modification par amj (Le 25/05/2013, à 15:23)


Vive le logiciel libre !! Articles aléatoires sur Wikipédia sur les logiciels libre, sur linux.

@amj@mastodon.xyz

Hors ligne

#7 Le 25/05/2013, à 15:15

amj

Re : [Résolu] Métronome pour mesures composées

Alors ça vous va?
au fait ça marche pas mad

Dernière modification par amj (Le 25/05/2013, à 16:12)


Vive le logiciel libre !! Articles aléatoires sur Wikipédia sur les logiciels libre, sur linux.

@amj@mastodon.xyz

Hors ligne

#8 Le 25/05/2013, à 17:31

philoup44

Re : [Résolu] Métronome pour mesures composées

amj a écrit :

au fait ça marche pas

Quoi donc ??

Hors ligne

#9 Le 25/05/2013, à 17:46

amj

Re : [Résolu] Métronome pour mesures composées

Ça fais pas les bon rythmes. Ca bug à cette commande:
http://paste.tdct.org/index.php?zk c'est incompréhensible pour moi.


Vive le logiciel libre !! Articles aléatoires sur Wikipédia sur les logiciels libre, sur linux.

@amj@mastodon.xyz

Hors ligne

#10 Le 25/05/2013, à 18:38

amj

Re : [Résolu] Métronome pour mesures composées

voilà

#!/bin/bash
#metronome.sh v0.2.2 by amj
#à emploiyer de cette manière

# ./metronome.sh longeur_d'une_noire nb_de_mesure "croche && noire && croche && double_croche" #(les trois paramètres droivent être présents et dans l'ordre) 
mesure=$2
time=$1
rythm=$3

text1="Entrez le nombre de mesures."
text2="Entrez le temps d'une noire."

text3="Entrez les rythmes voulus dans l'ordre et de la manière suivante:\n
rythme1 && rythme2 && rythme3 ... rythme_n \n
Les rythmes supportés sont les suivants: \n
noire croche et double\_croche "

if  [[ $rythm == "" ]];then mesure=$(zenity --entry --text="$text1" ) && time=$(zenity --entry --text="$text2" ) && rythm=$(zenity --entry --text="$text3" ) ; fi
sound=/usr/share/sounds/free*/s*/bell.oga #tu peux remplacer par le sons que tu veux
i=-1

noire() { sleep $time ; paplay $sound; }
croche() { sleep $( echo "scale=2;$time/2" | bc) ; paplay $sound; }
double_croche() { sleep $( echo "scale=2;$time/4" | bc ) ; paplay $sound; }


while [[ $i<=$mesure ]] ;
do
(( i=1+$i ))



paplay $sound # premier beep → temps 0 



$rythm

sleep $time ;


done

exit 0;

Dernière modification par amj (Le 26/05/2013, à 00:49)


Vive le logiciel libre !! Articles aléatoires sur Wikipédia sur les logiciels libre, sur linux.

@amj@mastodon.xyz

Hors ligne

#11 Le 25/05/2013, à 23:33

philoup44

Re : [Résolu] Métronome pour mesures composées

Salut amj
Je suis l'évolution de ton script avec beaucoup d'intéret smile tongue

Hors ligne

#12 Le 25/05/2013, à 23:38

amj

Re : [Résolu] Métronome pour mesures composées

Une suggestion?


Vive le logiciel libre !! Articles aléatoires sur Wikipédia sur les logiciels libre, sur linux.

@amj@mastodon.xyz

Hors ligne

#13 Le 26/05/2013, à 00:32

amj

Re : [Résolu] Métronome pour mesures composées

Ça pourrait être comique de le transformer (dans un futur lointain) en mini interpréteur de boite à rythmes  big_smile non?


Vive le logiciel libre !! Articles aléatoires sur Wikipédia sur les logiciels libre, sur linux.

@amj@mastodon.xyz

Hors ligne

#14 Le 26/05/2013, à 00:43

philoup44

Re : [Résolu] Métronome pour mesures composées

Pour l'instant , non
Mais demain,peut etre (il faut que je me replonge un peu dans le shell)
Mais une question, ton dernier script, il fonctionne bien chez toi ??
Je l'ai un peu éssayé, mais j'ai l'impréssion d'entendre toujours le meme rythme ...
à moins que je n'ai pas réussi à m'en servir correctement
le dernier paramètre, c'est bien ----> "$noire && $croche etc ..."
Dans la fenetre de zénity, double_croche était écrite comme ça ---> doublecroche
Je testerais plus demain !!

Bonne nuit smile

Hors ligne

#15 Le 26/05/2013, à 00:47

amj

Re : [Résolu] Métronome pour mesures composées

Il ne faut plus mettre de $ donc plus "$croche && $double_croche" mais "croche && double_croche"
et il affiche doublecroche au lieu de double_croche parce qu'il interprète le _ et que j'ai oublié de mettre le caractère d’échappement \
je change ça smile (pour double_croche c'est avec zenity?)

Dernière modification par amj (Le 26/05/2013, à 00:50)


Vive le logiciel libre !! Articles aléatoires sur Wikipédia sur les logiciels libre, sur linux.

@amj@mastodon.xyz

Hors ligne

#16 Le 26/05/2013, à 01:25

philoup44

Re : [Résolu] Métronome pour mesures composées

C'est la fenetre de zénity qui affichait
                                                                Les rythmes supportés sont les suivants
                                                                noire croche et doublecroche

Pour les tests sur les nombres
[[ $i<=$mesure ]]
et la meme écriture que
[[ $i -le $mesure ]]  ??

n'utilises t-on pas   nb1<=nb2    avec la commande   (( ))  ??

Merci pour tes réponses !!

NB
le #13 et #14 se sont croisés tongue
Je répondais non au #12 big_smile lol tongue

amj a écrit :

Ça pourrait être comique de le transformer (dans un futur lointain) en mini interpréteur de boite à rythmes  big_smile non?

Qui sait ?? smile

Hors ligne

#17 Le 26/05/2013, à 13:56

amj

Re : [Résolu] Métronome pour mesures composées

Salut

philoup44 a écrit :

C'est la fenetre de zénity qui affichait
                                                                Les rythmes supportés sont les suivants
                                                                noire croche et doublecroche

Si c'est ça je l'ai déjà changé le script plus haut smile

Pour les tests sur les nombres
[[ $i<=$mesure ]]
et la meme écriture que
[[ $i -le $mesure ]]  ??
n'utilises t-on pas   nb1<=nb2    avec la commande   (( ))  ??

le <= viens plutôt de la technique C (et c'est mon habitude parce que j'utilise python)
mais les 2 me sembles corrects (je devrait peut-être enlever le = )

(( ))
Ça sert a faire un calcul alors que moi je veux une réponse binaire. Maintenant je me trompe peut-être.

((expression))
              The expression is evaluated according  to  the  rules  described
              below  under ARITHMETIC EVALUATION.  If the value of the expres‐
              sion is non-zero, the return status is 0; otherwise  the  return
              status is 1.  This is exactly equivalent to let "expression".
[[ expression ]]
              Return  a  status  of  0 or 1 depending on the evaluation of the
              conditional expression expression.  Expressions are composed  of
              the  primaries  described  below  under CONDITIONAL EXPRESSIONS.
              Word splitting and pathname expansion are not performed  on  the
              words  between  the  [[  and  ]]; tilde expansion, parameter and
              variable expansion, arithmetic expansion, command  substitution,
              process  substitution,  and quote removal are performed.  Condi‐
              tional operators such as -f must be unquoted to be recognized as
              primaries.

C'est peut-être équivalent dans ce cas ci.

Je pense que je devrais plutôt employer une boucle for? (mais d'habitude je n'emploie jamais for neutral )

Qui sait ?? smile

Ça nécessiterait de réécrire ½ du programme hmm

Dernière modification par amj (Le 26/05/2013, à 13:57)


Vive le logiciel libre !! Articles aléatoires sur Wikipédia sur les logiciels libre, sur linux.

@amj@mastodon.xyz

Hors ligne

#18 Le 26/05/2013, à 14:52

philoup44

Re : [Résolu] Métronome pour mesures composées

J'ai apporté quelques modifs pour comprendre certaines choses

#!/bin/bash
#metronome.sh v0.2.2 by amj
#à employer de cette manière

# ./metronome.sh longeur_d'une_noire nb_de_mesure "croche && noire && croche && doublecroche"
#(les trois paramètres doivent être présents et dans l'ordre)

#echo "longeur d'une noire nb de mesure \"croche noire croche doublecroche\""

read -p 'Entre la longueur de la noire et valide : ' time
#echo "$time"
read -p 'Entre le nbre de mesure et valide : ' mesure
#echo "$mesure"
read -p 'Entre le rhytme et valide : ' rhytm
#echo "$rhytm"

sound=/usr/share/sounds/free*/s*/bell.oga #tu peux remplacer par le sons que tu veux
i=1

noire() { sleep $time ; paplay $sound; }

echo "valeur d'une croche"
echo $(echo "scale=2;$time/2" | bc)
croche() { sleep $( echo "scale=2;$time/2" | bc) ; paplay $sound; }


echo "valeur d'une doublecroche"
echo $( echo "scale=2;$time/4" | bc )
doublecroche() { sleep $( echo "scale=2;$time/4" | bc ) ; paplay $sound; }


#while [[ $i<=$mesure ]] ; # si time=2 mesur=1 et rhytm= noire && doublecroche && doublecroche ---> rien
while (( $i<=$mesure )) ;
do
echo "mesure $i"
(( i=1+$i ))


#paplay $sound # premier beep → temps 0 

#$rhytm ici,n'est jamais exécuté
#$rythm

for a in $rhytm
do
echo $a #savoir à quelle note cela correspond
$a
done

sleep $time ; #pourquoi ce temps d'attente ?

done

exit 0;
./metronome-v03.sh
Entre la longueur de la noire et valide : 1
Entre le nbre de mesure et valide : 4
Entre le rhytme et valide : noire doublecroche doublecroche doublecroche doublecroche
valeur d'une croche
.50
valeur d'une doublecroche
.25
mesure 1
noire
doublecroche
doublecroche
doublecroche
doublecroche
mesure 2
noire
doublecroche
doublecroche
doublecroche
doublecroche
mesure 3
noire
doublecroche
doublecroche
doublecroche
doublecroche
mesure 4
noire
doublecroche
doublecroche
doublecroche
doublecroche

ici, j'arrives à obtenir une différence de rythme (essentiellement du à ---> for do done
il faudrait fusionner le tien avec celui-ci peut etre

NB
Dans ton script, je n'obtiens qu'un seul rhytme (peut importe les valeurs) neutral
Je pense que $rythm, n'est pas interprété (certainement une histoire de substitution ... )

Pour la fonction scale de bc (pense bete for me)
Developpez.net - shell-commandes-bc-fonctionnement-scale

J'vais m'relaxer les 2 neurones quelques minutes smile
Le temps d'faire un p'tit bout d'brousse tongue lol

Dernière modification par philoup44 (Le 26/05/2013, à 14:59)

Hors ligne

#19 Le 26/05/2013, à 14:55

amj

Re : [Résolu] Métronome pour mesures composées

J'avais ça avec les précédentes version mais j'ai modifier depuis. exécute le script avec

bash -x

Dernière modification par amj (Le 26/05/2013, à 14:57)


Vive le logiciel libre !! Articles aléatoires sur Wikipédia sur les logiciels libre, sur linux.

@amj@mastodon.xyz

Hors ligne

#20 Le 26/05/2013, à 15:02

philoup44

Re : [Résolu] Métronome pour mesures composées

Tu obtiens des battements variés depuis ??

Hors ligne

#21 Le 26/05/2013, à 15:04

amj

Re : [Résolu] Métronome pour mesures composées

Bah je suis pas sur mais en tout cas les pauses qui m'affiche sont variées. (je vais vérifier)
En fait non mad

Dernière modification par amj (Le 26/05/2013, à 15:06)


Vive le logiciel libre !! Articles aléatoires sur Wikipédia sur les logiciels libre, sur linux.

@amj@mastodon.xyz

Hors ligne

#22 Le 26/05/2013, à 15:08

amj

Re : [Résolu] Métronome pour mesures composées

bah maintenant si

 bash -x metronome-v2.sh
+ mesure=
+ time=
+ rythm=
+ text1='Entrez le nombre de mesures.'
+ text2='Entrez le temps d'\''une noire.'
+ text3='Entrez les rythmes voulus dans l'\''ordre et de la manière suivante:\n
rythme1 && rythme2 && rythme3 ... rythme_n \n
Les rythmes supportés sont les suivants: \n
noire croche et double_croche '
+ [[ '' == '' ]]
++ zenity --entry '--text=Entrez le nombre de mesures.'
+ mesure=2
++ zenity --entry '--text=Entrez le temps d'\''une noire.'
+ time=1
++ zenity --entry '--text=Entrez les rythmes voulus dans l'\''ordre et de la manière suivante:\n
rythme1 && rythme2 && rythme3 ... rythme_n \n
Les rythmes supportés sont les suivants: \n
noire croche et double_croche '
+ rythm='double_croche && noire'
+ sound='/usr/share/sounds/free*/s*/bell.oga'
+ i=-1
+ [[ -1 < =2 ]]
+ ((  i=1+-1  ))
+ paplay /usr/share/sounds/freedesktop/stereo/bell.oga
+ double_croche '&&' noire
++ bc
++ echo 'scale=2;1/4'
+ sleep .25
+ paplay /usr/share/sounds/freedesktop/stereo/bell.oga
+ sleep 1
+ [[ 0 < =2 ]]
+ ((  i=1+0  ))
+ paplay /usr/share/sounds/freedesktop/stereo/bell.oga
+ double_croche '&&' noire
++ bc
++ echo 'scale=2;1/4'
+ sleep .25
+ paplay /usr/share/sounds/freedesktop/stereo/bell.oga
+ sleep 1
+ [[ 1 < =2 ]]
+ ((  i=1+1  ))
+ paplay /usr/share/sounds/freedesktop/stereo/bell.oga
+ double_croche '&&' noire
++ bc
++ echo 'scale=2;1/4'
+ sleep .25
+ paplay /usr/share/sounds/freedesktop/stereo/bell.oga
+ sleep 1
+ [[ 2 < =2 ]]
+ ((  i=1+2  ))
+ paplay /usr/share/sounds/freedesktop/stereo/bell.oga
+ double_croche '&&' noire
++ bc
++ echo 'scale=2;1/4'
+ sleep .25
+ paplay /usr/share/sounds/freedesktop/stereo/bell.oga
+ sleep 1
+ [[ 3 < =2 ]]
+ exit 0

Vive le logiciel libre !! Articles aléatoires sur Wikipédia sur les logiciels libre, sur linux.

@amj@mastodon.xyz

Hors ligne

#23 Le 26/05/2013, à 15:08

philoup44

Re : [Résolu] Métronome pour mesures composées

Pour exemple, éxecute, le mien, puis met les memes variables dans le tien
longueur de la noire : 1
nbre de mesure        : 4
rythme                     : noire doublecroche doublecroche doublecroche doublecroche

Je reviens dans 20 min smile

Dernière modification par philoup44 (Le 26/05/2013, à 15:09)

Hors ligne

#24 Le 26/05/2013, à 15:20

amj

Re : [Résolu] Métronome pour mesures composées

chez moi ton script donne ça :

 bash -cx "read -p 'Entre la longueur de la noire et valide : ' time> #echo "$time"
> read -p 'Entre le nbre de mesure et valide : ' mesure
> #echo "$mesure"
> read -p 'Entre le rhytme et valide : ' rhytm
> #echo "$rhytm"
> 
> sound=/usr/share/sounds/free*/s*/bell.oga #tu peux remplacer par le sons que tu veux
> i=1
> 
> noire() { sleep $time ; paplay $sound; }
> 
> echo "valeur d'une croche"
> echo $(echo "scale=2;$time/2" | bc)
> croche() { sleep $( echo "scale=2;$time/2" | bc) ; paplay $sound; }
> 
> 
> echo "valeur d'une doublecroche"
> echo $( echo "scale=2;$time/4" | bc )
> doublecroche() { sleep $( echo "scale=2;$time/4" | bc ) ; paplay $sound; }
> 
> 
> #while [[ $i<=$mesure ]] ; # si time=2 mesur=1 et rhytm= noire && doublecroche && doublecroche ---> rien
> while (( $i<=$mesure )) ;
> do
> echo "mesure $i"
> (( i=1+$i ))
> 
> 
> #paplay $sound # premier beep → temps 0 
> 
> #$rhytm ici,n'est jamais exécuté
> #$rythm
> 
> for a in $rhytm
> do
> echo $a #savoir à quelle note cela correspond
> $a
> done
> 
> sleep $time ; #pourquoi ce temps d'attente ?
> 
> done
> 
> exit 0;"
(standard_in) 1: syntax error
(standard_in) 1: syntax error
+ read -p 'Entre la longueur de la noire et valide : ' time
Entre la longueur de la noire et valide : 1
+ read -p 'Entre le nbre de mesure et valide : ' mesure
Entre le nbre de mesure et valide : 2
+ read -p 'Entre le rhytme et valide : ' rhytm
Entre le rhytme et valide : noire croche noire 
+ sound='/usr/share/sounds/free*/s*/bell.oga'
+ i=1
+ echo valeur
valeur

Vive le logiciel libre !! Articles aléatoires sur Wikipédia sur les logiciels libre, sur linux.

@amj@mastodon.xyz

Hors ligne

#25 Le 26/05/2013, à 15:47

philoup44

Re : [Résolu] Métronome pour mesures composées

Avec l'option bash -cx

bash -cx ./metronome-v03.sh
+ ./metronome-v03.sh
Entre la longueur de la noire et valide : 1
Entre le nbre de mesure et valide : 4
Entre le rhytme et valide : noire croche noire
valeur d'une croche
.50
valeur d'une doublecroche
.25
mesure 1
noire
croche
noire
mesure 2
noire
croche
noire
mesure 3
noire
croche
noire
mesure 4
noire
croche
noire

Hors ligne