corps du collage affichéIndex: shpiano.sh===================================================================--- shpiano.sh (revision 1252)+++ shpiano.sh (working copy)@@ -92,31 +92,31 @@ # alias table which translates the various names of "notes" to the matching entry # in the "tones" table typeset -r -A notes=(- ["C3"]=( nameref val=tones["C3"] ) ["key_d"]=( nameref val=tones["C3"] )- ["C#3"]=( nameref val=tones["C#3"] ) ["key_r"]=( nameref val=tones["C#3"] )- ["D3"]=( nameref val=tones["D3"] ) ["key_f"]=( nameref val=tones["D3"] )- ["D#3"]=( nameref val=tones["D#3"] ) ["key_t"]=( nameref val=tones["D#3"] )- ["E3"]=( nameref val=tones["E3"] ) ["key_g"]=( nameref val=tones["E3"] )- ["F3"]=( nameref val=tones["F3"] ) ["key_h"]=( nameref val=tones["F3"] )- ["F#3"]=( nameref val=tones["F#3"] ) ["key_u"]=( nameref val=tones["F#3"] )- ["G3"]=( nameref val=tones["G3"] ) ["key_j"]=( nameref val=tones["G3"] )- ["G#3"]=( nameref val=tones["G#3"] ) ["key_i"]=( nameref val=tones["G#3"] )- ["A3"]=( nameref val=tones["A3"] ) ["key_k"]=( nameref val=tones["A3"] )- ["A#3"]=( nameref val=tones["A#3"] ) ["key_o"]=( nameref val=tones["A#3"] )- ["B3"]=( nameref val=tones["B3"] ) ["key_l"]=( nameref val=tones["B3"] )- ["C4"]=( nameref val=tones["C4"] ) ["key_D"]=( nameref val=tones["C4"] )- ["C#4"]=( nameref val=tones["C#4"] ) ["key_R"]=( nameref val=tones["C#4"] )- ["D4"]=( nameref val=tones["D4"] ) ["key_F"]=( nameref val=tones["D4"] )- ["D#4"]=( nameref val=tones["D#4"] ) ["key_T"]=( nameref val=tones["D#4"] )- ["E4"]=( nameref val=tones["E4"] ) ["key_G"]=( nameref val=tones["E4"] )- ["F4"]=( nameref val=tones["F4"] ) ["key_H"]=( nameref val=tones["F4"] )- ["F#4"]=( nameref val=tones["F#4"] ) ["key_U"]=( nameref val=tones["F#4"] )- ["G4"]=( nameref val=tones["G4"] ) ["key_J"]=( nameref val=tones["G4"] )- ["G#4"]=( nameref val=tones["G#4"] ) ["key_I"]=( nameref val=tones["G#4"] )- ["A4"]=( nameref val=tones["A4"] ) ["key_K"]=( nameref val=tones["A4"] )- ["A#4"]=( nameref val=tones["A#4"] ) ["key_O"]=( nameref val=tones["A#4"] )- ["B4"]=( nameref val=tones["B4"] ) ["key_L"]=( nameref val=tones["B4"] )- ["C5"]=( nameref val=tones["C5"] )+ ["C3"]=( val=tones["C3"] ) ["key_d"]=( val=tones["C3"] )+ ["C#3"]=( val=tones["C#3"] ) ["key_r"]=( val=tones["C#3"] )+ ["D3"]=( val=tones["D3"] ) ["key_f"]=( val=tones["D3"] )+ ["D#3"]=( val=tones["D#3"] ) ["key_t"]=( val=tones["D#3"] )+ ["E3"]=( val=tones["E3"] ) ["key_g"]=( val=tones["E3"] )+ ["F3"]=( val=tones["F3"] ) ["key_h"]=( val=tones["F3"] )+ ["F#3"]=( val=tones["F#3"] ) ["key_u"]=( val=tones["F#3"] )+ ["G3"]=( val=tones["G3"] ) ["key_j"]=( val=tones["G3"] )+ ["G#3"]=( val=tones["G#3"] ) ["key_i"]=( val=tones["G#3"] )+ ["A3"]=( val=tones["A3"] ) ["key_k"]=( val=tones["A3"] )+ ["A#3"]=( val=tones["A#3"] ) ["key_o"]=( val=tones["A#3"] )+ ["B3"]=( val=tones["B3"] ) ["key_l"]=( val=tones["B3"] )+ ["C4"]=( val=tones["C4"] ) ["key_D"]=( val=tones["C4"] )+ ["C#4"]=( val=tones["C#4"] ) ["key_R"]=( val=tones["C#4"] )+ ["D4"]=( val=tones["D4"] ) ["key_F"]=( val=tones["D4"] )+ ["D#4"]=( val=tones["D#4"] ) ["key_T"]=( val=tones["D#4"] )+ ["E4"]=( val=tones["E4"] ) ["key_G"]=( val=tones["E4"] )+ ["F4"]=( val=tones["F4"] ) ["key_H"]=( val=tones["F4"] )+ ["F#4"]=( val=tones["F#4"] ) ["key_U"]=( val=tones["F#4"] )+ ["G4"]=( val=tones["G4"] ) ["key_J"]=( val=tones["G4"] )+ ["G#4"]=( val=tones["G#4"] ) ["key_I"]=( val=tones["G#4"] )+ ["A4"]=( val=tones["A4"] ) ["key_K"]=( val=tones["A4"] )+ ["A#4"]=( val=tones["A#4"] ) ["key_O"]=( val=tones["A#4"] )+ ["B4"]=( val=tones["B4"] ) ["key_L"]=( val=tones["B4"] )+ ["C5"]=( val=tones["C5"] ) ) # array used to convert a 14-bit unsigned PCM value to @@ -1278,7 +1278,7 @@ typeset progname="${ basename "${0}" ; }" typeset -r shpiano_usage=$'+-[-?\n@(#)\$Id: shpiano (Roland Mainz) 2008-10-14 \$\n]+[-?\n@(#)\$Id: shpiano (Roland Mainz) 2008-11-03 \$\n] [-author?Roland Mainz <roland.mainz@nrubsig.org>] [+NAME?shpiano - simple audio demo] [+DESCRIPTION?\bshpiano\b is a small demo application which converts@@ -1334,17 +1334,17 @@ # warning: the math used here is so wrong that your head may # explode when you continue reading this-while read -r -N 1 key?" > " ; do+while read -r -N 1 key?$'\r > ' ; do if [[ ${key} == ~(E)($'\E'|'q'|'Q') ]] ; then break # quit fi printf "\r" if [[ -z "${notes[key_${key}]}" ]] ; then- nameref curr_note=notes["p"].val+ nameref curr_note=tones["p"] (( freq=1.*(1./duration) )) else- nameref curr_note=notes[key_${key}].val+ nameref curr_note="${notes[key_${key}].val}" (( freq=curr_note.freq )) fi