Archivio per autore

Common Voice ora parla Italiano, ti va di donare la tua voce?

Cos’è Common Voice

Common Voice (https://voice.mozilla.org) è un progetto di crowdfunding di Mozilla. Non quello classico pensato per raccogliere soldi, bensì dati testuali e vocali basati su lingue specifiche, nato dal progetto Open Source di riconoscimento vocale DeepSpeech (https://github.com/mozilla/DeepSpeech) che funziona grazie alla tecnologia di Machine Learning, imparando a riconoscere le lingue tramite parole e pronunce.

Il sito di Common Voice era già stato localizzato in italiano dalla nostra comunità qualche mese fa, ma mancava il supporto alla lingua della nostra nazione, ora finalmente disponibile. Per poter quindi permettere a Common Voice di progredire, c’è bisogno di quel nutrimento composto dalla partecipazione di volontari che leggono del testo (o che revisionano le registrazioni già eseguite) in una specifica lingua. Con centinaia di letture della stessa frase, il software si occuperà di individuare le somiglianze, è qui che interviene il Machine Learning, il quale isolerà le caratteristiche simili nelle frasi registrate da più persone con accenti diversi, tono, velocità e pronuncia.

Tali somiglianze verranno in seguito aggregate dal software in un modello: uno schema di riconoscimento dei dati (vocali) che gli permetterà di riconoscere frasi mai sentite prima. Ovviamente, il modello si basa su una moltitudine di frasi contenenti parole appartenenti anche ad altri vocabolari (per esempio “feedback”, usato anche nella nostra lingua seppur originario di quella inglese), sigle (che noi italiani pronunciamo spesso in diverse maniere), parole con lettere accentate e non solo. Il modello è il prodotto di questo motore (e progetto) che viene reso poi pubblico, corredato di tutte le registrazioni audio (https://voice.mozilla.org/it/data) fornite sotto libera licenza.

Il supporto dell’Italiano

Puoi facilmente immaginare quanto queste frasi, lette o revisionate dai partecipanti su base volontaria, abbiano richiesto in termini di tempo e lavoro alla nostra comunità. Abbiamo partecipato allo Sprint (https://voice-sprint.mozilla.community) organizzato da Mozilla nel mese di maggio, ma il materiale non era sufficiente per sbloccare la lingua sul portale. Questo perché tutte le frasi devono essere di pubblico dominio, sotto licenza Creative Commons Zero o messe a disposizione con il permesso degli autori, fino a raggiungere un minimo di 5000 per poter sbloccare la lingua. Abbiamo voluto sfidare i nostri limiti e impegnarci, fino a raggiungere le oltre 7700 frasi odierne. Ciascuna di queste è stata estratta da diverse fonti per poter aggregare svariate tipologie di testo:

  • Manualistica di traduzione (per esempio https://mozillaitalia.gitbooks.io/l10n-guide/it/);
  • Manualistica di informatica (per esempio il materiale del Team per la Trasformazione digitale, o nostri articoli precedentemente pubblicati nei nostri siti web e Social);
  • Testi religiosi (discorsi dei Papi del ‘900);
  • Libri gialli (di pubblico dominio);
  • Racconti Fantasy/Sci-Fi;
  • Tesine delle Scuole Superiori;
  • Temi scolastici;
  • Modi di dire e scioglilingua;
  • Resoconti di eventi (scritti dai nostri volontari);
  • Canti popolari;
  • Materiale sportivo;
  • Estratti di messaggi scambiati via chat;
  • Documenti di stampo manageriale (come i verbali di riunioni).

Tutto ciò è stato successivamente revisionato per limitare e correggere quanti più errori grammaticali possibili, eliminare doppioni e accorciare le frasi (poiché il portale impone un tetto massimo per la lunghezza delle registrazioni audio), quindi rimuovere ogni possibile riferimento a dati privati.

Siamo certi di aver tralasciato involontariamente degli errori, e per questo ti invitiamo a segnalarli sul nostro forum (https://forum.mozillaitalia.org/index.php?topic=71027.msg492854), oppure creando una pull request sul nostro fork GitHub (https://github.com/MozillaItalia/voice-web/blob/ita-review/server/data/it/frasi.txt). Al momento non stiamo raccogliendo altre frasi ma preferiamo focalizzarci sul miglioramento del materiale già esistente, per evitare di alzare la soglia di complessità della sua gestione.

Perché partecipare

Realizzare un modello della lingua italiana che sia libero da qualunque licenza commerciale, richiesta di internet e affidato a terzi, ci permette di mantenere sicurezza, privacy ed estensibilità senza limiti, per questo motivo Mozilla ha realizzato il progetto Common Voice.

Il dataset della lingua inglese è stato già reso disponibile (modello incluso), e contiene oltre 1000 ore di registrazione fatte da 20000 volontari diversi (https://blog.mozilla.org/blog/2017/11/29/announcing-the-initial-release-of-mozillas-open-source-speech-recognition-model-and-voice-dataset). Questo modello è liberamente utilizzabile per progetti educativi o personali, e ha un quantitativo di errori inferiore al 10%, per approfondire questo aspetto ti invitiamo a leggere l’articolo ufficiale all’indirizzo https://hacks.mozilla.org/2017/11/a-journey-to-10-word-error-rate/.

Common Voice ti dà la possibilità di integrare questi dataset con altri progetti Open Source, un esempio è https://mycroft.ai (installabile sul proprio computer o utilizzabile tramite dispositivo ufficiale) per ottenere un Alexa libero sfruttando la tecnologia di Mozilla, già integrata di base. In alternativa potremmo citare https://xaero.app, per realizzare correttori grammaticali basati sul modello ottenuto da Common Voice e utile per effettuare controlli di testo ancora più accurati, o ancora dei progetti di Text-to_speech già liberamente ottenibili da GitHub: https://github.com/mozilla/tts.
Altra buona opportunità per gli sviluppatori è il poter sfruttare la raccolte di frasi di pubblico dominio che può essere utilizzata anche per altre tipologie di progetti Machine Learning, il tutto accessibile già da https://github.com/mozilla/voice-web/tree/master/server/data.

Come partecipare

Per partecipare non è necessario lasciare alcun dato personale. Registrando però un account sul sito https://voice.mozilla.org/it/languages, sarà possibile tracciare quanto è stato fatto fino a quel momento, diversamente si rimarrà anonimi. Sfruttando la nuova interfaccia del portale da poco rilasciata, si potrà accedere ai due tipi di attività (disponibili anche da mobile), inserimento o revisione.

Per partecipare non è necessario installare alcun software, basterà il browser e l’abilitazione all’uso del microfono (permesso che verrà richiesto direttamente dal sito web visitato).

Parla

Tramite la scheda “Parla” sarà possibile registrare un file audio leggendo il testo visualizzato. Sarà possibile riascoltare la registrazione e approvarla prima di confermarne il caricamento.

Ascolta

Tramite la scheda “Ascolta” sarà possibile ascoltare le registrazioni fatte da altri utenti, così da approvarle o rifiutarle, quest’ultimo caso è utile nell’eventualità il termine (o l’intera frase) non venga detta in maniera corretta, oppure se sia stata pronunciata troppo velocemente. Si tratta di un’attività ideale da portare a termine quando si è impossibilitati a parlare ma non ad ascoltare (magari durante una visita in biblioteca, con le cuffie sulle orecchie).

Scorciatoie

Alcune scorciatoie da tastiera ti permetteranno di muoverti nell’interfaccia più rapidamente. premi P per mettere in pausa (o riprendere l’ascolto) o S per saltare alla successiva registrazione.

Quando sarà disponibile il modello Italiano?

Il piano di Mozilla è di rilasciare i modelli di ogni lingua intorno al termine dell’anno (Dicembre), ma questo sarà possibile solo se saranno state effettuare tante registrazioni grazie alla partecipazioni di altrettanti volontari. La qualità del riconoscimento vocale sta a noi!

Voglio promuovere il progetto, come posso farlo?

Fantastico! Se sei utilizzatore di , vieni a conoscere la comunità su https://t.me/mozItaHUB, entra quindi nel gruppo “Voglio diventare un volontario” per chiedere maggiori informazioni. Troverai membri della comunità italiana che potranno rispondere alle tue domande e fornirti idee per promuovere il progetto.

Se invece preferisci scambiare quattro chiacchiere dal vivo, ti invitiamo al prossimo evento a cui prenderemo parte, l’Italian Hacker Camp (https://www.ihc.camp). Troverai lì il nostro gazebo, potrai partecipare ai diversi talk organizzati e conoscere alcuni dei volontari presenti. Stiamo ancora definendo i dettagli, ma proveremo a premiare in quella sede tutti coloro che porteranno a termine una (qualitativamente e quantitativamente) alta attività su Common Voice (ma non solo), per te potrebbe esserci una nostra spilla, una maglietta, un adesivo (e tanti altri gadget).

Grazie

Non resta quindi che ringraziare (in ordine sparso) tutti coloro che hanno partecipato alle varie fasi del progetto, quelle che ci hanno portato al risultato di oggi, sperando di non dimenticare nessuno: Edoardo, Giorgio, Simone, Saverio, Daniele, Irene, Giovanni, Sara, Francesco, Stefania e i tanti altri, anche omonimi, che pur non contribuendo in maniera diretta, ci hanno spronato a dare il meglio per raggiungere l’obiettivo.


Testo: Daniele Scasciafratte | Revisione: Giovanni Francesco Solone


Le novità di Firefox 57

Durante quest’ultimo anno, Mozilla ha rivoluzionato molte cose in Firefox, anche se probabilmente non te ne sei accorto. Uno dei progetto principali si chiama Quantum, e porta in dote al browser un nuovo motore già disponibile in alcune sue componenti dalla versione 53. Molti ingegneri in Mozilla hanno lavorato per riscrivere, ottimizzare, rendere asincrone diverse componenti del browser.

Una grande quantità di novità

Finalmente ora Firefox è multi processo, una delle grandi novità che ha richiesto diversi anni di sviluppo e test su più sistemi e installazioni prima di poter essere resa disponibile a tutti gli utenti. Uno dei motivi per cui i componenti aggiuntivi realizzati con il vecchio framework non saranno più compatibili con Firefox 57 è proprio dovuto all’introduzione di questa nuova tecnologia.

Firefox, già dalla versione 48, permette l’installazione di componenti aggiuntivi scritti con un nuovo linguaggio, il Rust, pesantemente sfruttato in componenti importanti dedicati alla grafica al rendering.

Include migliorie per la sicurezza, in special modo dedicate alla sandbox, uno dei moduli più importanti di un browser dato che permette di far girare codice scaricato da Internet, isolandolo e proteggendo la postazione che si sta utilizzando (generalmente il proprio PC).

L’asincronia, ovvero la possibilità di eseguire più cose contemporaneamente senza dover aspettare la loro conclusione, porta con sé un’ulteriore nuova tecnologia per lo zoom delle pagine anch’esso completamente asincrono.

Si è pensato anche agli sviluppatori, infatti Firefox 57 proporrà un nuovo set di API per la realtà virtuale, le WebVR API, e un nuovo modo di creare componenti aggiuntivi, le già troppo odiate WebExtensions. Non si può non menzionare anche il supporto per un nuovo linguaggio web già compreso nel browser, WebAssembly.

Maggiore rapidità nei rilasci e nell’utilizzo

Tutti questi cambiamenti hanno portato a un rilascio di funzionalità più rapido, miglioramenti nella telemetria dell’uso di Firefox, introduzione del supporto per nuovi tipi di campi input, nuova interfaccia per le opzioni e l’abbandono della release Aurora, che servirà a saltare uno dei passaggi che fanno parte del rilascio di Firefox.

La velocità di rilascio non è però l’unica voce che risponde all’appello di Quantum, poiché già disponibile in un ormai superato Firefox 55, e ancora più presente e prepotente nella prossima versione 57. Già le prime versioni non stabili di Firefox 57 (quando era in versione Nightly) hanno battuto Google Chrome nel suo stesso benchmark (Speedometer v2).

Per altre statistiche e grafici riguardo lo stato attuale delle cose, puoi dare un’occhiata agli approfondimenti disponibili in questa pagina web. Alcuni dei miglioramenti presenti in quella pagina non saranno però già disponibili nella versione 57 di Firefox, visti i tempi richiesti per lo sviluppo, ma lo saranno certamente nelle versioni successive.

Il progetto Quantum è stato fondamentale per la riscrittura e identificazione dei vari colli di bottiglia presenti in Firefox, ed è a lui che è stata dedicata una newsletter settimanale, per tenere traccia di ogni modifica. A oggi ci sono ancora molti ticket aperti e in cerca di qualcuno in grado di contribuire.

Design

Il design in Firefox 57 è diverso dalle versioni precedenti, ciò è dovuto al progetto Photon, il quale ha portato alla riscrittura di molti elementi grafici, come le animazioni, utilizzando tecniche più veloci, sostituzione delle immagini scalari con immagini vettoriali e molto altro. Per vederlo in azione è sufficiente aprire –e giocare con– questa pagina e il manuale di design. Anche per Photon è disponibile una newsletter settimanale che racconta ogni sua novità, con l’ausilio di screenshot e altro materiale che, per chi utilizzava già la versione Nightly, ha potuto provare in tempo reale.

Anche gli strumenti per gli sviluppatori hanno subito uno svecchiamento, e sono “rivisitati” con l’aiuto di tecnologie web moderne. Se l’argomento ti interessa particolarmente, ti rimandiamo al Mozilla Developer Network.

Test Pilot e conclusioni

Per chi ancora non lo conoscesse, Test Pilot è il progetto (con relativo componente aggiuntivo da installare nel browser) che permette di provare in anteprima le funzionalità ancora in sviluppo, di fornire dati telemetrici in maniera anonima e di partecipare a dei sondaggi che permettono a Mozilla di capire in che direzione andare.

Una delle funzionalità più apprezzate è certamente quella che permette di catturare screenshot dei siti web che si stanno visitando, utilizzando direttamente Firefox, e di caricarli online con scadenza predefinita. Nato come progetto sperimentale, fa parte del set di novità della versione 57. Chi invece non sarà presente e rimarrà esclusivamente nella versione Nightly è Container, ovvero la possibilità di condividere specifiche sessioni di navigazioni tra gruppi di schede.

Ulteriore progetto in incubazione Test Pilot è Send, che permette di condividere dei file criptandoli e cancellandoli dopo un giorno o dopo un solo download, trovi qui maggiori informazioni.

Tutto questo lavoro non sarebbe stato possibile senza gli utenti e i volontari che si occupano di traduzione, supporto, segnalazione dei bug e promozione del prodotto.

Se vuoi unirti a noi puoi farlo in diversi modi, in base al tempo libero a tua disposizione. Puoi cominciare utilizzando Firefox Nightly, il quale riceve aggiornamenti quotidiani, così da provare nuove funzionalità prima che arrivino nella versione stabile, segnalando i problemi riscontrati via Bugzilla, Telegram o IRC. Il nostro consiglio è però quello che forniamo da sempre all’interno del nostro forum: se non sai cos’è un Profile Manager, se non effettui backup regolari dei tuoi dati e non sai come cavartela in caso di problemi o perdite dati, non scaricare una Nightly.

Lo staff di Mozilla Italia è presente sul forum ufficiale in lingua italiana, alcuni di noi sono reperibili anche sul forum internazionale, dove troverai anche diverse altre sezioni dedicate ai vari progetti collaterali, come Voice (dedicato alla raccolta di dati vocali per migliorare il riconoscimento vocale), o la nuova area pensata per gli sviluppatori di MDN.

Ti aspettiamo!


Questo articolo si basa sull’originale di Zbigniew Braniecki, disponibile all’indirizzo diary.braniecki.net/2017/09/01/all-hands-on-deck-how-you-can-use-your-skills-to-contribute-to-firefox-57-success

Revisione dell’articolo a cura di Giovanni Francesco Solone.


Imparare a sviluppare per Firefox OS: la guida veloce

Firefox OS è il progetto Mozilla nato per portare il Web in tutte le tasche grazie al suo essere veloce, semplice e intuitivo. Durante lo scorso anno sono stati organizzati diversi eventi in Italia dedicati al nuovo sistema operativo, anche senza la nostra partecipazione diretta, dimostrandoci che c’è un reale interesse per un qualcosa che non sia il solito iOS o Android. Si tratta di una reale alternativa open source a questi sistemi basata su nuove tecnologie sempre fruibili come HTML5.

Uno dei progetti della nostra community dedicato a Firefox OS è finalmente a disposizione del grande pubblico: la traduzione della Guida veloce allo sviluppo per Firefox OS.

firefoxos-dev-quickguide

Scritto originariamente da Andre Alves Garzia in portoghese e inglese, è stato completamente tradotto da alcuni membri della nostra comunità. Alla localizzazione sono stati aggiunti nuovi materiali e le ultime novità che la guida originale -per ovvi motivi- non contiene. Il lavoro ha richiesto un anno di revisioni e di valutazioni ma ha portato a un risultato indubbiamente valido per qualsiasi sviluppatore HTML, CSS e JavaScript che voglia sperimentare Firefox OS. Durante questo processo abbiamo cercato di rendere il documento semplice e intuitivo come il sistema che intende descrivere e rendere accessibile a tutti.

Questo un estratto completo del nuovo materiale incluso:

  • Linee guida per il Marketplace dove è possibile pubblicare la propria app.
  • Informazioni sul manifest, vera e propria carta d’identità di ogni app.
  • Capitolo sul Boilerplate e su l10n.js per lavorare al meglio.
  • Elenco delle webActivity per capire immediatamente le potenzialità del sistema.
  • Web Component, Moz Polyfill, Firefox Developer Edition sono solo alcune delle tecnologie spiegate.
  • Come sfruttare al meglio le pagine su Github.
  • I nuovi strumenti per gli sviluppatori come il WebIDE.
  • Come usare un telefono Firefox OS per il debug con Firefox.

Tutto il materiale è revisionato e aggiornato all’anno corrente.

Per maggiori informazioni potrete fare riferimento alla pagina su Leanpub in cui scaricare gratuitamente questo ebook nei diversi formati disponibili.

Per lasciare commenti e opinioni potete trovarci e contattarci su GitHub, dove potrete inoltre contribuire attivamente al progetto. È anche possibile partecipare alla discussione nel nostro forum all’interno della discussione dedicata al progetto.

Vorrei personalmente ringraziare tutti i volontari che mi hanno permesso, dopo oltre un anno di lavoro, di arrivare alla pubblicazione di questa versione beta: GiammyJet, Michro, Sara_t, Miki64, Gialloporpora, Edoput e Nicokant. Senza di loro non sarei mai riuscito a portare avanti questo lavoro che spero permetterà di promuovere sempre più questo sistema.

Non dimenticate però che il Mozilla Developer Network è e rimane il riferimento per lo sviluppo di Firefox OS e che questa guida è pensata per coloro che decideranno di provare a sviluppare la propria idea senza perdersi nella moltitudine di pagine pubblicate, una sorta di primi passi verso una più ampia conoscenza del prodotto.

Prima di concludere vorrei invitare tutti a incontrare alcuni dei volontari durante il meetup al CodeMotion del prossimo 27 Marzo dove potrete porre le vostre domande e scoprire i nostri progetti come community, oltre ad accaparrarvi qualche gadget che cerchiamo di non far mancare mai! 🙂

Testo di Daniele Scasciafratte, revisione di Giovanni Francesco Solone