Torniamo a parlare di AI e di sviluppo di applicazioni dedicate alle varie forme di intelligenze artificiali. L'articolo di oggi infatti sarà dedicato a Picovoice un SDK che permette di realizzare software che possono essere controllati usando i comandi vocali. Sostanzialmente Picovoice fornisce la tecnologie per inserire un sistema di AI vocale privato all'interno dei device o delle piattaforme desiderate.
Picovoice oltre, agli embedded processor, supporta varie board ARM come il Raspberry Pi ma anche OS mobile come Android e iOS oltre ovviamente a Linux, MacOS e Windows. Picovoice può essere poi sfruttato con i principali browser visto che è possibile implementalo come se fosse una Web app, senza contare che è possibile eseguirlo completamente offline visto che non necessita di essere sempre connesso ad un'infrastruttura Cloud.
Il progetto dispone intoltre di algoritmi di deep learning e di diversi cutting-edge model, che tuttavia non richiedono risorse eccessive per essere eseguiti, permettendo dunque di mantenere prestazioni ottimali su più piattaforme possibili.
La voice control di Picovoice funziona in modo simile alle alternative più blasonate, dunque si attiva con una parola che fa da trigger come il famoso "ok Google". L'utente può creare dei modelli personalizzati per l'implementazione dei comandi vocali. Picovice è capace di rilevare più parole chiave, come ad esempio una parole trigger ed un comando concatenato, senza che questo comporti una memory footprint addizionale sulla CPU. Il progetto è stato pensato per essere facile da integrare e da usare con diversi linguaggi di programmazione a secondo della piattaforma preferita dal developer.
E' possibile integrarlo nelle applicazioni Java (Android) e Swift (iOS) oltre a supportare le soluzioni scritte in C/C++, Python, Rust e Web Assembly. Picovoice si divide in 3 componenti:
- Porcupine, ovvero il detection engine animato dagli algoritmi di deep learning che si occupa di rilevare le frasi che attivano l'AI tramite un trigger o una parola chiave.
- wakeword-benchmark: il benchmark framework del wake word engine ovvero il software che si occupa di fornire i benchmark per l'engine delle parole usate per attivare l'AI e i controlli vocali.
- stt-benchmark: lo speech to text benchmark framework, quel componente che si occupa dei benchmark dello speech to text, infatti il riconoscimento vocale si basa appunto sulla traduzione della voce umana in testo che poi puoi essere usato dalle applicazioni per generare dei comandi.
Questi componenti sono disponibili sotto licenza Apache 2.0 e il loro codice è reperibile sulla nota piattaforma di code sharing Github , dunque è possibile contribuire al progetto senza problemi.
Via Picovoice