E.V.A. aspirante assistente virtuale in python

Home > eva

Ho migrato questo sito dal'italiano all'inglese, questo è uno dei primi articoli scritti in italiano, che ho deciso di mantenere. Se preferisci leggere la versione in inglese la trovi qui.

Credo nell'imparare facendo, così quando ho iniziato a studiare python ho dato subito vita al mio primo progetto, E.V.A., Elementary Virtual Assistant.

C'era una volta

All'inizio si trattava di un loop che attendeva input nel terminale, potevo chiedere l'ora - sì, molto utile - ed il meteo del giorno.
Dopo la lezione sulla lettura dei file, ho inserito la possibilità di salvare delle note in un file txt, di stamparle nel terminale e di poterle rimuovere.

Sono passato poi ad un'interfaccia grafica che sfruttava le notifiche di sistema per dare informazioni sui compleanni in arrivo, sulle mail arrivate, sulle notifiche meteo, con una rubrica interna che mi dava la possibilità di cercare informazioni sui contatti.

Mi sono divertito a fare tutto questo e ho messo le basi per la nuova versione a cui sto lavorando, riscritta da zero come molte delle precedenti. Ora la "V." non significa più solo "virtuale" ma anche "vocale" - un'assistente vocale, un'idea pionieristica -.

Per aspera ad astra

Non voglio reinventare la ruota, ci sono diverse soluzioni open source - il primo link che ho trovato - commerciali e non, fatte da persone molto più competenti di me, in alcuni casi con team numericamente capaci di fornire assistenza e proporre roadmap realistiche.
Il mio obiettivo, oltre imparare e divertirmi, è creare un software per me, in italiano, che giri in locale, capace di eseguire offline i passaggi di speech-to-text e text-to-speech. Questo sia per un discorso di indipendenza da una connessione internet, sia per una questione di proprietà dei dati, che vorrei mantenere il più possibile centralizzati nel dispositivo.
Farò girare tutto in un raspberry, una soluzione abbastana diffusa.

Sto dedicando un po' di tempo per organizzare il lavoro, creare il progetto su Trello e studiare i dettagli necessari per costruire la struttura portante del progetto, ma già non vedo l'ora di poter lavorare sulle varie skill.

L'organizzazione

La cosa più sfidante sarà proprio l'organizzazione, dovrò riuscire a dedicarmi con costanza al progetto.

Sto definendo la milestone, individuo le caratteristiche che saranno presenti e cerco di identificare i passaggi necessari per implementarle. Divido poi tutto in task brevi, per renderli il più possibile lavorabili in slot di tempo ridotto.
Ogni task concluso deve aggiungere un tassello stabile, dal quale partire per le nuove integrazioni.

Come ho scritto sopra uso Trello per l'organizzazione, non padroneggio la metodologia Kanban ma, per quanto ne so, la trovo flessibile per gestire progetti in singolo.

Comunque vada, sarà un successo

Riorganizzo un po' le idee e metto giù un programma di lavoro realistico. Spero di avere presto qualche novità da raccontare.
Intanto grazie per essere passato e aver letto fin qui, ci sentiamo alla prossima.

Elementary Voice Assistant. Developed in Python, it can be activated with voice commands in order to facilitate daily activities.

Data marketer, product management, python and agile methodologies. This space is my single source of truth.
Here I share #thoughts and #buildinpublic, waiting for the A.I. to conquer the world.
Personal opinions and considerations.