Caricamento automatico ed elaborazione in cloud dei file di una lista

Se vogliamo utilizzare le funzioni che il fornitore di cloud ci mette a disposizione tramite API, in molti casi abbiamo la necessità di trasferire file da elaborare nel cloud.

Per esempio, ho una trentina di file audio in formato MP3 contenenti degli interessanti interventi di professionisti e vorrei ottenere le corrispondenti trascrizioni. Ciascun file contiene circa 15-20 minuti di discorsi.

Lo storage su cloud è organizzato in contenitori univocamente individuabili da un nome. Tali contenitori si chiamano: “bucket” e, al loro interno, seguono la tradizionale struttura a cartelle e sotto-cartelle alla quale siamo tutti abituati.

Per la nostra procedura, si può presupporre che sia già stato preparato un bucket. Oltre a questo, ci serve un elenco di percorsi completi di file effettivamente disponibili. Infine, abbiamo bisogno di un percorso di destinazione (cartella, sotto-cartella etc) nel bucket.

L’accesso al cloud è la parte più complicata: occorre accreditarsi come sviluppatori, preparare un progetto, autorizzare un utente di servizio ed ottenere delle credenziali da mettere a disposizione dell’applicazione.

Ecco dunque la procedura.

La si articola in piccoli moduli:

  • caricamento nel cloud: dati un percorso su filesystem locale, un bucket ed un percorso nel bucket, questo modulo copia il file locale nel bucket al percorso indicato
  • elaborazione nel cloud (es. trascrizione): dati un bucket, un percorso nel bucket ed un percorso locale, questo modulo effettua l’elaborazione desiderata (es. la trascrizione) sul file trovato nel cloud e crea un file locale

L’algoritmo principale è questo:

  • recupero delle credenziali di accesso al servizio cloud, autenticazione;
  • preparazione di un client per il servizio di storage e di uno per il servizio di elaborazione (es. trascrizione)
  • accesso all’elenco dei file da elaborare
  • verifica dell’esistenza del percorso locale di destinazione e della possibilità di crearvi dei file
  • per ciascuno dei file elencati:
    • caricamento nel cloud
    • elaborazione nel cloud
    • creazione del file prodotto.

Per esempio, un file di circa 25MB contenente 27 minuti di audio è stato caricato e trascritto in meno di 4 ½ minuti. Avendo una trentina di file simili da trascrivere, devo dire che il risultato è stato soddisfacente!

Se ti interessa automatizzare proprio la trascrizione di audio, tieni conto di un aspetto importante: occorre configurare il trascrittore del fornitore del servizio indicando alcune caratteristiche del file audio (tipo di codifica e frequenza di campionamento) che si possono recuperare dai programmi che si usano per ascoltare.

Il prossimo passo consisterà nel predisporre un’interfaccia Web pubblica per offrirti l’uso di questo servizio in totale autonomia, i cui costi sono tali da rendere sensato il ricorso a questa procedura anche in situazioni poco importanti.

Nel frattempo, se ne hai bisogno, contattami pure!


Pubblicato

in

da

Commenti

Rispondi