Andrea Rustichelli

Most commented posts

  1. CompeGPS Land – Appunti sull’utilizzo — 6 comments
  2. MLDownloader fine tuning — 5 comments
  3. AS400 vs. SAP — 4 comments
  4. Atom per la programmazione in Python — 4 comments
  5. Kurt Vonnegut – Ghiaccio-nove — 3 comments

Author's posts

Ridimensionare, rinominare e aggiungere un watermark con uno script BASH (zh_rrw.sh)

Chi ha un sito sa bene che caricare le immagini è sempre un mezzo dramma.

Occorre ridimensionare le immagini perchè le attuali macchine fotografiche o i cellulari e i tablet fanno foto grandi come lenzuoli e con pesi (in MB) che non sono sempre comodi da uploadare (e da visualizzare sul sito).

Poi bisogna rinominare i file in modo da gestirli meglio… ma se i file sono molti diventa una scocciatura. Si possono usare programmi per il “rename” massivo, ma non sono sempre pratici.

Poi è carino aggiungere un watermark. E non sempre i programmi che usiamo per rinominare i file in modo massivo hanno questa funzionalità.

Per gestire le foto del mio sito usavo questa strategia:

  • rinominavo le foto a mano (con il tasto funzione F2 in ambiente Linux);
  • ho installato un plugin su WordPress in modo da ridimensionare la foto appena caricata in modo da ridimensionarla secondo una certa dimensione massima
  • poi ho installato un altro plugin su WordPress in modo da aggiungere automaticamente un watermark all’immagine. Il problema è che la dimensione del testo del watermark era fissa e non dipendeva dalle dimensioni dell’immagine caricata. Quindi a volte la scritta era microscopica, mentre altre volte enorme

Poi cercando in internet una soluzione migliore (e che magari mi facesse smacchinare un po’) ho trovato ImageMagick e tutti i suoi comandi per realizzare uno script da eseguire. Di seguito trovate il codice dello script perfettamente funzionante e con i commenti delle principali funzioni.

#!/bin/bash
echo "******************************************"
echo "* Script per ridimensionare, rinominare  *"
echo "* e aggiungere un watermark alle foto    *"
echo "* in modo massivo.                       *"
echo "*   Andrea Rustichelli - Dicembre 2019   *"
echo "*      www.andrea.rustichelli.name       *"
echo "******************************************"

echo "Inserisci il nome per i nuovi files..."
read file_name
echo "Ok, procedo a rinominare i file in: " $file_name

count=0
#scorre tutti i file .jpg presenti nella cartella dello script
for each in *.jpg
 do
  echo "Inizio elaborazione file "$each"..."
  #incrementa il contatore da utilizzare come suffisso del nome del file
  count=`expr $count + 1`
  echo $count
  #il contatore viene convertito su 3 cifre in modo da poter ordinare fino a 999 immagini con lo stesso nome
  count3d=$(printf "%03d" $count)
  #viene composto il nome del file di output
  file_out="$file_name"_"$count3d".jpg
  
  #questo comando di ImageMagick converte il file in modo che la dimensione massima del lato più lungo
  #sia impostato a 1024 pixel... il lato più corto viene ridimensinato di conseguenza per mantenere le
  #proporzioni dell'immagine
  convert -resize 1024x1024\> "$each" "$file_out"
  #questo comando di ImageMagick serve per creare il watermark con la scritta "andrea.rustichelli.name"
  #nalla parte bassa dell'immagine ridimensionata
  convert "$file_out" -pointsize 35 -fill white -undercolor '#00000080' -gravity South -annotate +0+5 'andrea.rustichelli.name' "$file_out"

  #il file originale viene spostato nella sottocartella chiamata "original_file", mentre il 
  #file di output viene spostato nella nella sottocartella chiamata "thumb"
  mv "$each" ./original_file
  mv "$file_out" ./thumb
 done
echo "Elaborazione terminata!"
exit

Permanent link to this article: http://www.andrea.rustichelli.name/ridimensionare-rinominare-e-aggiungere-un-watermark-con-uno-script-bash-zh_rrw-sh/

Estrazione dati da vecchi HDD: da SATA a USB

L’opera di recupero dati prosegue… ma considerato che adesso mi sono rimasti solamente dei dischi con interfaccia SATA sia per l’alimentazione sia per i dati, ho deciso di fare un acquisto incauto su Ebay… un adattatore da SATA a USB (doppia USB per garantire una maggiore stabilità) dall’incredibile costo di € 9,90.

Oltre che per questa attività di recupero dati su HDD da 3.5 pollici sarà molto comodo per gestire come unità esterne i miei dischi da 2.5 pollici (ricavati da vecchi pc portatili).

Permanent link to this article: http://www.andrea.rustichelli.name/estrazione-dati-da-vecchi-hdd-da-sata-a-usb/

Estrazione dati da vecchi HDD: il coltellino svizzero

Coltellino svizzero perchè è un tool con tutti gli standard in un unico strumento, ma in realtà, a differenza del coltellino originale, è uno strumento ben poco compatto e portatile. Ma andiamo con ordine.

Ho voluto riesumare tutti i miei vecchi dischi fissi (o HDD o ancora HD) per vedere se riesco ad estrarre i dati cancellati nel corso delle varie formattazioni usando due strumenti come TestDisk e PhotoRec.

Sul mio vecchio computer fisso, nome in codice Giove, erano presenti 3 dischi fissi di dimensioni decenti, che però oggigiorno sembrano completamente sottodimensionati. Avevo 3 dischi da 3.5 pollici da 10, 120 e 320 GB (potrei anche sbagliarmi di qualche GB, ma la sostanza non cambia). Nel disco da 120 GB era installato il sistema operativo (il disco ha ospitato molteplici sistemi operativi, ma quelli ufficiali sono stati Windows 98 e Windows XP) e in una seconda partizioni i dati. Nel disco da 320 GB c’era una unica partizione con i dati “grossi” (musica, film e file di backup), mentre il disco da 10 GB (denominato Limbo) era utilizzato per stoccare i file in attesa di lavorazione.

Bene ciò premesso ho rispolverato un vecchio dispositivo acquistato alla Fiera dell’Elettronica di Gonzaga che permette di alimentare e di collegare i dischi alla porta USB di un computer per poter accedere ai dati contenuti sul disco come se fosse una qualsiasi unità rimovibile.

L’alimentatore termina con un connettore Molex (per alimentare i dischi più vecchi) ma è presente anche una prolunga che permette di alimentare anche i dischi con il connettore SATA (di più recente introduzione).

Invece il cavo USB da collegare al computer si collega ad un adattatore che presenta due attacchi IDE (o ATA) ma che presenta anche una porta per collegarci un cavo dati SATA nel caso si volesse interfacciare un disco con questo standard.

Permanent link to this article: http://www.andrea.rustichelli.name/estrazione-dati-da-vecchi-hdd-il-coltellino-svizzero/

Arcade stick (a.k.a. joystick) DIY con scatola di Barolo

Su Amazon ho comprato un kit con il joystick, i pulsanti e la basetta USB da collegare al pc (o al raspberry) e l’involucro di plastica per il joystick già preforato. Visto che è arrivato prima il kit rispetto all’involucro di plastica, ho deciso di provare comunque ad assemblare l'”arcade stick” utilizzando una scatola di legno di Barolo da tempo giacente in cantina (ovviamente le bottiglie erano già state bevute).

Il kit “arcade stick” comprende 8 pulsanti di circa 3 cm (4 colorati e 4 neri), 2 pulsanti neri più piccoli, il joystick (con 3 adattatori per “guidare” il movimento su 4, 8 direzioni o libero) la basetta con tutti gli attacchi, il cavo di collegamento usb e tutti i altri cavetti per collegare i tasti e il joystick alla basetta.

E’ bastato utilizzare un trapano avvitatore con le punte a tazza di due diverse dimensioni per praticare i fori necessari al montaggio dei pulsanti e del joystick. I pulsanti sono entrati abbastanza facilmente e la scatola di legno essendo abbastanza sottile ha permesso ai pulsanti di incastrarsi nell’apposito fermo senza nessun problema. Solamente per fissare il joystick è stato necessario praticare quattro piccoli fori con il trapano per permettere l’inserimento delle viti e dei dadi per fissare la struttura del joystick alla scatola di legno.

Per il fissaggio ho usato 4 viti, 8 rondelle (una sopra e una sotto la scatola di legno) e 8 bulloncini (perché su consiglio del Maffo ho utilizzato il primo bullone per fissare il joystick al legno ma senza stringere troppo, poi un secondo bulloncino in modo da fissare e bloccare il primo). In questo modo, pur senza fare troppa pressione sulla struttura di legno, il joystick dovrebbe essere sufficientemente saldo da resistere anche alle sessioni di gioco più intense.

Il risultato è quello che si vede in foto. I pulsanti non sono perfettamente allineati (su internet è possibile trovare delle maschere da utilizzare come riferimento per praticare i fori per i pulsanti e per il joystick). I pulsanti però sono stati disposti per soddisfare egregiamente l’ergonomia della mia mano e delle mie dita.

Una volta inseriti i pulsanti e dopo aver fissato il joystick, li ho collegati alla basetta tramite i cavi di sollegamento presenti nel kit. Ho installato i 4 pulsanti colorati alle porte K1, K2, K3 e K4, i due pulsanti neri grandi li ho collegati alle porte K11 e K12, mentre i due pulsanti più piccoli (uno per inserire i gettoni e uno per il player one) li ho collegati alle porte ST e SE. Comunque, a prescindere dalle porte utilizzate, una volta avviato EmulationStation è possibile configurare i tasti a proprio piacimento.

La qualità dei tasti non è eccelsa… dato il prezzo non mi aspettavo nulla di particolare. I tasti sono bombati (l’ideale sarebbero i pulsanti concavi come quelli delle vere sale giochi degli anni ’80 e ’90) e il tutto risulta molto rumoroso a causa dei microswitch. I pulsanti però hanno un ingombro veramente molto ridotto come si può notare anche dalle foto e il joystick sembra ben strutturato (confermato anche dal peso notevole).

Permanent link to this article: http://www.andrea.rustichelli.name/arcade-stick-a-k-a-joystick-diy-con-scatola-di-barolo/

Saponi da barba duri

Mi sono fatto un regalo e ho acquistato i saponi da barba duri della Goodfellas’ in due versioni diverse… Furiah e Abysso. Sono saponi da barba artigianali fatti in Italia.

Furiah, al profumo di cuoio su legno, è perfetto per la stagione invernale, mentre il sapone Abysso ha delle note molto più fresche (note agrumate, bergamotto, ananas) ed è quindi perfetto per la stagione estiva.

Per l’utilizzo, basta versare un po’ di acqua sul sapone e lasciare agire, e poi prelevare il sapone con il pennello e poi terminare il montaggio in ciotola.

Permanent link to this article: http://www.andrea.rustichelli.name/saponi-da-barba-duri/

I DRM in Calibre

Questo post non vuole essere un incitazione a rimuovere i DRM dai file comprati con Adode Digital Edition, bensì vuole essere una guida per chi volesse alcuni chiarimenti tecnici su come rendere compatibile tale formato con gli eBook reader che non supportano questo formato (o i sistemi Linux senza Vine e senza il programma di Adobe installato).

Innanzi tutto, Adobe Digital Edition non è compatibile con Linux (a meno che non si voglia utilizzare Vine, cosa che io non ho fatto), e quindi è necessario lavorare in ambiente Mac o Win. Io ho scelto, ovviamente, Windows 7 per fare queste prove. Sul PC è installato Adobe Digital Edition con relativa attivazione del profilo.

Collegarsi al sito Apprentice Alf’s Blog giusto per capire di cosa stiamo parlando. Sul sito troveremo il collegamento al sito dove scaricare l’apposito plug in per Calibre che, con ogni probabilità, punterà a questo sito. A questo punto è necessario decomprimere il file .ZIP e installare il plug in direttamente da Calibre andando nella sezione Preferenze. Ricordo che per funzionare correttamente sul PC deve essere installato Adobe Digital Edition tramite Vine altrimenti il plugin per Calibre non sarà in grado di funzionare.

Devo essere sincero che non ho trovato nessun utilità nel plug in… però nei file Pyton contenuti nella cartella del plug in sono stati molto utili. Ma vediamo i dettagli.

Ho scaricato il Pyton 2.7 e l’ho installato sul pc. A installazione completata ho scaricato e installato il modulo PyCrypto.

Quindi, ricapitolando, a questo punto abbiamo Windows 7 con installato Adobe Digital Edition attivato, Pyton, il modulo PyCrypto, il plug in DeDRM decompresso e il file in formato .PDF o .EPUB protetto da DRM. Una volta importato il file .acsm all’interno di Adobe Digital,Edition è necessario inserire l’utente e la password per scaricare il file corrispondente. Tutti i libri protetti da copyright si trovano all’interno della sezione Libreria. è necessario selezionare un file e premere il tasto destro per selezionare l’opzione Mostra il file in esplora risorse in modo da aprire la cartella del,computer che contiene i file con estensione .epub con i DRM.

Eseguendo i 3 programmi Pyton presenti nel plug in DeDRM (che è possibile trovare cercando nelle sottocartelle) denominati:

  • adobekey.py
  • ineptpdf.py
  • inptebup.py

è possibile rimuovere il DRM dai file.

Eseguendo il programma adebekey.py viene visualizzato il percorso del file .DER che contiene le informazioni del certificato digitale di Adobe. Una volta individuato il file .DER è possibile copiarlo in un’altra cartella come un normalissimo file.

Rispettivamente i programmi ineptpdf.py e inptepub.py servono per rimuovere il DRM dai file .PDF o ,EPUB. Lanciando ogni programma vengono richiesti 3 parametri: il percorso del file .DER, il percorso del file di input e il percorso del file di output senza il DRM.

Una volta completata l’operazione viene prodotto un file identico al primo ma senza il DRM e quindi utilizzabile su quei dispositivi che non gestiscono correttamente il certificato di Adobe Digital Edition (come ad esempio Calibre per gli ambienti Linux).

Permanent link to this article: http://www.andrea.rustichelli.name/i-drm-in-calibre/

Audio Technica LP120 USB

L’idea c’era da molto tempo Poi però non ho mai trovato il tempo e la voglia di approfondire l’argomento. Ma finalmente, dopo una lunga ricerca, mi sono deciso e ho fatto il passo di acquistare un giradischi.

La scelta è caduta sul modello LP120 USB della Audio Technica. E’ un modello a trazione diretta (in opposizione a quello a cinghia) e imita il famoso modello della Technics di qualche decennio fa.

Ascoltare un disco è una cosa completamente diversa rispetto a quanto siamo abituati a fare. Prima gli mp3 e poi i servizi come Spotify, ci hanno abituato ad avere tutto subito e soprattutto a cambiare canzone con una velocità praticamente istantanea. Con il giradischi il paradigma cambia completamente. Ovviamente per iniziare ho tirato fuori i vecchi vinili di mio padre, ma ben presto ho iniziato a comprare i vinili (nuovi od usati) che mi interessano maggiormente. Ovviamente sto cercando gli album che preferisco e per i quali vado sul sicuro… anche perchè se una canzone non piace, non è proprio agevole passare alla successiva.

Ho scelto questo giradischi anche per la presenza di una porta USB sul retro al quale è possibile collegare il PC tramite l’apposito cavo. Usando il programma gratuito Audacity è possibile rippare e poi salvare e modificare le tracce audio dei dischi.

Ecco, di seguito, le foto dell’unboxing e del montaggio del giradischi.

Specifiche

  • Tipo: Funzionamento a 3 velocità, completamente manuale
  • Motore: Servomotore DC
  • Metodo drive: diretta
  • Velocità: 33-1 / 3 RPM, 45 RPM, 78 RPM
  • Piatto del giradischi: Alluminio pressofuso
  • Starting torque: > 1,0 kgf.cm
  • Sistema di frenata: Freno elettronico
  • Wow e Flutter: <0,2% (WTD) @ 3 kHz (JIS)
  • Rapporto segnale-rumore: > 50 dB
  • Livello di uscita:
    • Pre-amp “PHONO”: 4 mV nominali a 1 kHz, 5 cm / sec
    • Pre-amp “LINE”: 240 mV nominali a 1 kHz, 5 cm / sec
  • Phono Pre-Amp Gain: 36 dB nominali, RIAA equalizzato
  • Funzione USB:
    • A/D, D/A – USB selezionabile a 16 bit / 44,1 kHz o 48 kHz;
    • Interfaccia computer – Compatibile con USB 1.1 Windows 7 o superiore, o MAC OS X o successivo
      Alimentazione: 120 V CA, 60 Hz
  • Consumo di energia: 2,75 W
  • Dimensioni: (LxPxA) 452,0 mm x 352,0 mm  x 141,6 mm
  • Peso: 8 kg (senza coperchio antipolvere)
  • Accessori inclusi: Cartuccia phono AT-VM95E; Headshell AT-HS6; Cavo USB da 1,9 m (6,2 ‘); doppio cavo RCA (maschio) a doppio RCA (maschio) con cavo di messa a terra; contrappeso; feltro opaco; copertura antipolvere; Adattatore 45 giri; obiettivo di tipo stilo plug-type
  • Tipo di braccio: braccio a forma di S bilanciato con guscio staccabile
  • Lunghezza braccio effettiva: 230,5 mm
  • Sporgenza: 16 mm
  • Angolo di inseguimento: meno di 3 gradi
  • Peso cartuccia applicabile: 3,5-8,5 g
  • Campo antislittamento: 0-4 g
  • Stilo di ricambio: AT -VMN95E (venduta separatamente)

Requisiti del sistema operativo per la porta USB

  • PC o Mac con una porta USB disponibile (USB1.1 o successiva)
  • Windows 7 o versione successiva, o Mac OS X o superiore

Manuali

Permanent link to this article: http://www.andrea.rustichelli.name/audio-technica-lp120-usb/

Cosa mi sta succedendo?

Oggi ho vissuto la seguente esperienza.

Un collega, appassionato di montaggi video in 4K registrati con il drone, mi dice che il suo computer scatta ed è parecchio lento nell’aprire e modificare i file video (che hanno la dimensione di circa 1,2/2 GB). Ok, detta così è troppo semplice, gli chiedo di portarmi il portatile così provo a dare un occhio per capire quale sia il reale problema.

Mi porta il suo computer e, nonostante abbia un paio di anni, è equipaggiato con un processore Intel i7, scheda grafica dedicata ATI e 12 GB di ram. Sistema operativo Windows 8 nativo (quello già installato al momento dell’acquisto). Provo a smanettarci un po’ e capisco subito che il sistema operativo è piantatissimo. Ho provato anche ad installare VLC (che generalmente fornisce ottimi risultati in termini di stabilità e velocità rispetto a Media Player) ma il problema è del sistema operativo. Lentissimo, piantatissimo, inutilizzabile.

Svengo

Poi mi riprendo, mi guardo in giro, poi lo fisso negli occhi e gli dico: “Non l’ho mai detto a nessuno, ma se fossi in te comprerei un Mac”.

Sono svenuto nuovamente.

Morale della storia: se uno è uno smanettone può provarci a mettere mano al pc e provare a reinstallare da 0 una versione non OEM di Windows oppure provare a installare una qualsiasi distro di Linux e incrociare le dita per trovare i programmi con le stesse funzionalità di quelli utilizzati in ambiente Microsoft. Però alla fine, comprando un Mac, potrebbe risolvere velocemente il problema visto che i programmi per la gestione dei file multimediali abbondano su questo sistema operativo. Per me è stato un modo per dare un ottimo consiglio senza dover metterci le mani perchè poi ho aggiunto: “Però per il Mac non posso aiutarti perchè è un sistema che non conosco (e che non voglio conoscere)”.

Permanent link to this article: http://www.andrea.rustichelli.name/cosa-mi-sta-succedendo/

Vizi e virtù di un programmatore

Alla facoltà di ingegneria informatica di Modena ho appreso, per la prima volta, che la pigrizia è una dote fondamentale per i programmatori. Il concetto è abbastanza semplice… se c’è già un programma che funziona bene, è inutile cercare di fare un programma che faccia la stessa cosa… o si usa il programma esistente o si cerca di migliorarlo/modificarlo per “piegarlo” alle proprie esigenze. Questa è una caratteristica fondamentale che ha, fra le altre cose, ispirato le librerie per la programmazione (API). Se poi uno usa un ambiente Linux, sa benissimo che utilizzando la shell e i programmi disponibili nel sistema operativo, può fare qualsiasi cosa combinandoli insieme senza dover riscrivere i programmi base.

Facendo qualche ricerca in internet ho trovato questo sito che conferma questa teoria… e inoltre vengono individuate altre due caratteristiche che i programmatori devono possedere che sono l’impazienza e la tracotanza.

L’elenco delle tre virtù di un programmatore sono state codificate da Larry Wall, l’inventore del linguaggio di programmazione Perl (pagina Wiki e sito ufficiale)… programmatore con un grande umorismo…

Permanent link to this article: http://www.andrea.rustichelli.name/vizi-e-virtu-di-un-programmatore/

Radersi come un Uomo Alfa – Capitolo 4: Razorock the other italian one

Avevo voglia di un rasoio nuovo e mi sono fatto invogliare dagli sconti di Novembre per acquistare un rasoio Razorock Lupo Black.

Il rasoio è in alluminio e lavorato al tornio a CNC e quindi garantisce una finitura perfetta ed elegante. La testina copre interamente la lametta e questo secondo me è un plus non indifferente, sia a livello estetico ma anche a livello pratico perchè la particolare conformità dell’alloggiamento garantisce il corretto allineamento della lametta (che quindi risulta sempre perfettamente allineata e perpendicolare al verso del taglio).

La lavorazione in alluminio si fa sentire, tanto è vero che il peso del rasoio con la lametta montata è pari a 32 grammi (quindi nettamente inferiore agli altri rasoi che che utilizzato recentemente). Ricordo che il Fatip pesa 70 grammi, mentre il rasoio Wilkinson Classic 43 grammi.

Insomma, in poco tempo è diventato il mio rasoio preferito e faccio veramente molta fatica a passare agli altri rasoi. E’ molto deciso anche se non l’ho trovato troppo aggressivo sulla pelle. Il baricentro si trova proprio nella parte zigrinata del manico. Con questo rasoio (e la giusta lametta) è possibile tagliare la barba di una settimana senza nessun problema.

Permanent link to this article: http://www.andrea.rustichelli.name/radersi-come-un-uomo-alfa-capitolo-4-razorock-the-other-italian-one/

Il mio rapporto con i social network

Non è che odio i social network.

Cioè… alla fine sono presente su tutti i principali social network, ma non li frequento attivamente.

Il problema è che sono pieni di tag, di slogan, di hastag (che poi non sono altro che tag con un nome più accattivante) e di vuoto.

I social network partono bene, ma poi si perdono… sono pochi quelli che continuano a mantenere un certo “appeal” nel tempo. Un esempio su tutti Facebook (che secondo me tra 3 anni da ora non ci sarà più)… o G+ che non è neanche decollato. All’inizio, su Facebook, tutti postavano qualcosa di originale e personale… adesso ci sono solo dei link a dei link e ad altro materiale spazzatura presente in giro per la rete (che lucra sul traffico generato).

E poi sono drammaticamente vuoti di contenuti interessanti. Se si ricerca qualcosa (ad esempio per interesse personale, per hobby, perchè si vuole trovare una soluzione ad un problema, ecc.), si verrà reindirizzati verso siti, blog, forum, newsgroup ma sicuramente non verso un social network, perché li è impossibile trovare contenuti degni di nota.

Ecco, questo penso che sia il problema principale dei social… devono essere utilizzati solamente per scopo “ludico”.

Quindi massimo rispetto per tutte quelle persone che perdono tempo a scrivere e mantenere attivi i siti e i blog sparsi per la rete. Conosco benissimo quanto tempo e passione ci vuole…

Permanent link to this article: http://www.andrea.rustichelli.name/il-mio-rapporto-con-i-social-network/

Radersi come un Uomo Alfa – Capitolo 3: The Plastic Choice

Ho comprato (in occasione di un regalo per alcuni amici) un rasoio Wilkinson Classic a pettine chiuso in plastica. L’ho pagato circa 5 euro con anche le lamette Wilkinson (che non sono affatto male, anche se le trovo non all’altezza delle altre lamette che uso normalmente).

Questo rasoio è lungo circa 10 cm e quindi risulta più lungo rispetto al Fatip e pesa 43 grammi con la lametta montata. Quindi risulta molto più leggero del Fatip ma risulta comunque un ottimo rasoio nonostante il prezzo praticamente irrisorio. E’ un rasoio a 2 pezzi e rende il montaggio molto facile perchè basta ruotare il manico per avvitare o svitare la testa per montare la lametta. Tra l’altro, a differenza del Fatip, la testa del rasoio protegge completamente la lametta che risulta completamente racchiusa nel corpo del rasoio. E’ una soluzione che trovo molto bella esteticamente oltre che pratica.

Non sarà il rasoio della mia vita, però come alternativa o da portare in vacanza non è affatto male.

Permanent link to this article: http://www.andrea.rustichelli.name/radersi-come-un-uomo-alfa-capitolo-3-the-plastic-choice/

Paolo Villaggio – Fantozzi, rag. Ugo (La tragica e definitiva trilogia)

Dopo aver visto tutti i film del famoso “Ragionier Fantozzi” decido di buttarmi nella lettura dei libri che li hanno ispirati.

Praticamente è un frullato dei film, con gli eventi, i personaggi e i nomi sparsi qua e là tra le pagine dei 3 libri raccolti in un unico eBook.

Carino il primo, bello il secondo, il terzo a tratti diventa imbarazzante. Si ride a tratti. Però rimane una delle migliori e più longeve analisi della società italiana.

Permanent link to this article: http://www.andrea.rustichelli.name/paolo-villaggio-fantozzi-rag-ugo-la-tragica-e-definitiva-trilogia/

Factotum BOT – il sorgente completo e funzionante

Ed ecco finalmente il codice completo del bot perfettamente funzionante. Visto che il codice è particolarmente lungo lo potete trovare continuando a leggere questo post.

Ogni commento o contributo è particolarmente gradito.

Permanent link to this article: http://www.andrea.rustichelli.name/factotum-bot-il-sorgente-completo-e-funzionante/

Factotum BOT – analizza_audio(…)

Ed eccoci all’ultima funzione del bot.

Quella che mi ha dato più problemi e quella che mi ha dato maggiori soddisfazioni.

Quando passiamo al bot un messaggio audio registrato all’interno di Telegram, questa funzione, come prima cosa, converte il file audio dal formato OGG al formato WAV. E per fare questo ho trovato una meravigliosa quanto pratica libreria PYDUB.

Successivamente la funzione passa il file audio in formato WAV all’engine di speech recognition di Google per riconoscere il messaggio vocale ed ottenere una stringa di testo.

Infine, la stringa di testo riconosciuta dal messaggio vocale, viene passata alla funzione formula_risposta(…) per formulare una risposta basata sul testo dettato (direi meraviglioso).

"""
=== ANALIZZA_AUDIO ===
Funzione per convertire in WAV il file audio registrato
in Telegram (nativo in formato OGG) e analizzare il messaggio audio
contenuto nel file WAV
======================
"""
def analizza_audio(bot, chat_id, msg):
    print("Funzione ANALIZZA_AUDIO: START")
    ogg_file_id=msg["voice"] ["file_id"]
    print("Funzione ANALIZZA_AUDIO:",ogg_file_id)
    print("Funzione ANALIZZA_AUDIO: Downloading file in formato OGG...")
    bot.download_file(ogg_file_id, "audio_da_telegram.ogg")
    print("Funzione ANALIZZA_AUDIO: Salvataggio file OGG terminato.")
    file_ogg = AudioSegment.from_ogg("audio_da_telegram.ogg")
    file_handle = file_ogg.export("output.wav", format="wav")
    print("Funzione ANALIZZA_AUDIO: Convesione file WAV terminato.")

    r = sr.Recognizer()
    with sr.WavFile("output.wav") as source:
        audio = r.record(source)

    try:
        domanda=r.recognize_google(audio,language="it_IT")
        print("Trascrizione del file audio: " + domanda)   # recognize speech using Google Speech Recognition
        formula_risposta(bot,chat_id,msg,domanda)
    except LookupError:                                 # speech is unintelligible
        print("Impossibile riconoscere del testo nel file audio analizzato")

    return

Permanent link to this article: http://www.andrea.rustichelli.name/factotum-bot-analizza_audio/