Buttonrecorder

Per prendere appunti vocali quando sono in giro a mappare ho scritto questo piccolo script.

Basta premere il pulsante che lo lancia, lui fa beep, registra 3 secondi e di nuovo beep.
I file creati hanno la data di modifica e creazione identica a quella del telefono quando è finita la registrazione, basta importare i files in josm insieme alla traccia e si trovano delle note vocali.

A differenza di osmtracker questo script non posiziona le note vocali con il gps , ma con il tempo, in modo che usando un gps esterno al telefono che sia più preciso saranno posizionate in modo più preciso anche le note, a patto che il telefono abbia l’ orario ben sincronizzato con il gps.

Questo script può essere lanciato con sl4a e volendo headset button controller permette di lanciarlo quando si preme il pulsante dell’auricolare.

Qui sotto lo script

import android
import time
import os.path
import datetime
droid = android.Android()
now=datetime.datetime.now
now10= now +datetime.timedelta(seconds= -3)
name = now10.strftime("%Y_%m_%d_%H_%M_%S")
path="/mnt/sdcard/buttonrecorder/" + name + ".amr"
print droid.generateDtmfTones("9")
droid.recorderStartMicrophone(path)
time.sleep(3)
droid.recorderStop()
print droid.generateDtmfTones("11")

 

I file vanno processati con questo script per sincronizzare la data di modifica con la data scritta sul file.

#!/bin/bash
cd /home/michele/Scrivania/Openstreetmap.org/Acquisizioni/samsung/buttonrecorder
for file in *.amr
do

#trova la data
secondi=`echo "$file" | cut -d "_" -f 6 | cut -c 1-2`
minuti=`echo "$file" | cut -d "_" -f 5`
ora=`echo "$file" | cut -d "_" -f 4`
anno=`echo "$file" | cut -d "_" -f 1 | tail -c 5`
giorno=`echo "$file" | cut -d "_" -f 3`
mese=`echo "$file" | cut -d "_" -f 2`

avconv -i $file "$file.wav"
touch -t $anno$mese$giorno$ora$minuti.$secondi "$file.wav"
echo $anno$mese$giorno$ora$minuti.$secondi $file.wav
rm $file

done