Proudly debugging the system since 1981

Tag: trascrizione

Audio To Text: rilascio ufficiale su Google Play

Audio To Text è ora disponibile in produzione su Google Play: chiunque può scaricare l’app, provarla e inviare feedback direttamente dalla scheda dello store.

👉 Pagina dello store:
https://play.google.com/store/apps/details?id=net.b0sh.audiotext

Da questa fase in poi non è più necessario alcun gruppo o canale separato per i tester: l’open test è aperto a tutti direttamente dallo store.


Cos’è Audio To Text

Audio To Text è un’utilità Android per trascrivere file audio in testo direttamente dal menu Condividi:

  1. Apri un file audio (MP3, M4A, WAV, ecc.) da qualsiasi app (Gestore file, Registratore, WhatsApp, ecc.).
  2. Premi Condividi.
  3. Scegli Audio To Text.
  4. L’app decodifica l’audio e lo trascrive interamente in locale, usando modelli on-device (sherpa-onnx).
  5. Il testo risultante è visibile a schermo e pronto per essere copiato o condiviso a tua volta.

Nessun audio lascia il tuo dispositivo: la trascrizione avviene offline, sul telefono. L’unica attività di rete è il download dei modelli dall’interno dell’app.

Il progetto, nato come fork di phone-whisper, è stato progressivamente riprogettato per focalizzarsi sulla trascrizione di file audio condivisi, con un’architettura, un’interfaccia e un flusso d’uso ormai molto diversi rispetto alle origini. Il repository rimane il riferimento principale per dettagli tecnici e storico del progetto.


Cosa c’è di nuovo (v1.0.3)

L’open test parte con la release v1.0.3 (19 settembre 2026), che consolida il lavoro delle versioni 0.9.x e 1.0.x. Le novità più rilevanti rispetto alle prime build di testing:

Trascrizione: ultime parole non più perse

  • Tail padding a 2.0s per il modello streaming (Kroko Zipformer2): test empirici hanno mostrato che 1.0s e 1.5s potevano ancora far perdere le ultime parole; con 2.0s la trascrizione finale è sempre completa. Si tratta di silenzio aggiunto dopo i campioni reali, quindi non può corrompere l’output, solo garantire il flush finale.
  • Decoder MediaCodec: drain completo fino a EOS in output: il ciclo di decodifica in AudioDecoder prosegue finché il decoder non segnala EOS sull’output, svuotando anche gli ultimi chunk in coda, invece di fermarsi all’EOS in input e chiamare subito stop() (che in alcuni casi scartava la fine dell’audio).

UI e informazioni versione

  • Schermata “More info”: versione installata: in fondo alla schermata compare “Installed version: <versionName>”, letta a runtime da PackageManager, evitando duplicazioni manuali della versione nel codice.
  • Version bump: 1.0.2 → 1.0.3 (versionCode 26).

Per il dettaglio completo di tutte le modifiche dalle 0.9.x in poi (Jetpack Compose Material 3, navigation bar, download in foreground service, correzioni varie, nuovi modelli, ecc.) puoi consultare il changangelog completo nel README del progetto.


Come partecipare all’open test

  1. Apri la pagina dello store:
    https://play.google.com/store/apps/details?id=net.b0sh.audiotext
  2. Installa o aggiorna l’app dallo store.
  3. Usa l’app come di consueto: condividi file audio e trascrivi.
  4. Invia feedback e segnalazioni di anomalie tramite le GitHub Issues del progetto:
    https://github.com/b0sh-net/phone-whisper/issues

Non è richiesta alcuna configurazione particolare: basta avere un account Google e un dispositivo Android compatibile.


Prossimi passi

Con l’apertura dell’open test, l’obiettivo è:

  • Validare la stabilità della trascrizione su una gamma più ampia di dispositivi, formati audio e condizioni d’uso reali.
  • Raccogliere feedback su UX, prestazioni e consumo batteria.
  • Consolidare il comportamento dei modelli (in particolare quelli streaming) prima di eventuali release “stabili” al di fuori dei programmi di testing.

Se hai già usato le build di closed testing, l’esperienza è la stessa; la differenza è che ora il canale è aperto a tutti e il feedback può arrivare direttamente da chiunque installi l’app dallo store o apra una issue su GitHub.


Link utili

Da phone-whisper a Audio To Text: rebrand, local-only e UI più chiara

C’è stato un cambiamento importante: nasce Audio To Text

Ad aprile avevo raccontato la nascita di phone-whisper, l’app Android per trascrivere audio offline sul dispositivo usando sherpa-onnx (potete rileggere il post originale). Da allora il progetto è cresciuto, e con la versione 0.6.1 arriva un cambiamento che va oltre il semplice numero di release: l’app cambia nome e diventa Audio To Text.

Cosa cambia davvero

Il progetto nasceva già con un forte focus sulla privacy, ma manteneva un’integrazione opzionale con OpenAI per la trascrizione cloud e il post-processing del testo. Con la 0.6.0 questa parte è stata rimossa completamente: niente più chiamate cloud, niente API key da gestire, nessun dato che lascia il telefono. L’app oggi funziona esclusivamente con i modelli sherpa-onnx scaricati e installati in locale, il che significa anche una base di codice più semplice da mantenere — sono stati eliminati interi componenti come TranscriberClient, PostProcessor e WavWriter, insieme ai relativi test.

Questa scelta ha richiesto anche una riscrittura della privacy policy, per rimuovere ogni riferimento alla gestione delle chiavi API e alle modalità cloud che non esistono più.

Il rebrand: da phone-whisper a Audio To Text

Il nome phone-whisper aveva senso quando il progetto era ancora legato all’idea di Whisper e a un’integrazione cloud. Ora che l’app è diventata a tutti gli effetti uno strumento locale, ho deciso di rinominarla Audio To Text, un nome più diretto e descrittivo di quello che fa realmente. Il cambiamento non è solo estetico: il package dei sorgenti è stato spostato da com.kafkasl.phonewhisper a net.b0sh.audiotext, con la cronologia Git preservata grazie a un git mv mirato invece di una semplice riscrittura dei file.

Miglioramenti all’esperienza utente

Con la 0.6.0 e la 0.6.1 ho lavorato molto anche su come l’app comunica il proprio stato all’utente:

  • Durante l’installazione di un modello, ora viene mostrato il progresso di estrazione con numero di file completati e file corrente in lavorazione, così sai esattamente a che punto è il processo.
  • È stata aggiunta una sezione informativa sullo stato del modello nella schermata principale, per capire a colpo d’occhio se un modello è installato, pronto o ancora da scaricare.
  • Con la 0.6.1 arriva il supporto multilingua dell’interfaccia: l’app segue automaticamente la lingua del dispositivo tra inglese e italiano. Nome dell’app e nomi dei modelli restano invariati, per evitare ambiguità.

Perché questo cambiamento

L’obiettivo originale di phone-whisper era offrire una trascrizione privata e locale, ma la presenza di un’opzione cloud era in qualche modo in contrasto con quella filosofia. Rimuoverla non è stata solo una semplificazione tecnica: è stata anche una scelta di coerenza. Audio To Text è oggi un’app che fa una cosa sola, la fa completamente offline, e non ha bisogno di chiedere permessi di rete o gestire credenziali di terzi.

Changelog completo

v0.6.1 (2026-08-25)

  • Interfaccia multilingua: supporto inglese e italiano, in base alla lingua del dispositivo. Nome app e nomi modelli non tradotti.
  • Aggiornamento versione: 0.6.0 → 0.6.1 (versionCode 8).

v0.6.0 (2026-08-25)

  • Rimossa l’integrazione OpenAI: eliminate trascrizione cloud e post-processing. L’app supporta ora solo la trascrizione locale con modelli sherpa-onnx scaricati.
  • Rebrand: l’app è stata rinominata Audio To Text, package spostato in net.b0sh.audiotext.
  • Aggiornamento versione: 0.5.0 → 0.6.0 (versionCode 7).

Link utili

Audio To Text resta un progetto piccolo, ma ora è coerente al 100% con la sua promessa iniziale: nessun dato lascia il tuo telefono, mai.

Bot Voice To Text

Nella sua semplicità è il bot (gestito da un workflow N8N) che uso più spesso. I messaggi vocali sono lenti e inefficienti, l’accelerazione 1.5x o 2x risolve solo in parte il problema. Poter leggere velocemente, o scansionare, il contenuto di un vocale senza dover essere bloccato due minuti per ascoltarlo tutto è una fantastica comodità.

Ho migliorare un pochettino il workflow per gestire correttamente anche l’inoltro, sempre tramite telegram, di una MP3. Il motivo scatenante è stato che non volevo ascoltare un podcast di un ora per una piccola frazione di informazione, durata 5 minuti, annegata chissà dove.

Ho per cui modificato la gestione dell’input, cambiato i timeout di risposta, e gestito l’output di più di 2000 caratteri con lo stesso sistema del bot assistente personale.

Per trascrivere un ora di podcast l’hardware a mia disposizione ha impiegato 22 minuti, ma va bene. Non avevo fretta. E’ comunque una velocità superiore al doppio e mentre il silicio lavorava io potevo fare altro.

Il punto di partenza è stato quanto descritto in questo articolo. Il bot è sempre disponibile pubblicamente su http://t.me/b0sh8_bot anche se non tutti i giorni e non H24.

Di seguito il workflow aggiornato.

N8n e un caso d’uso

N8n è un bel progettino per realizzare workflow automatizzati, mettendoci dentro un po di AI.

Come da esperienze precedenti ho provato a farlo funzionare utilizzando il meno possibile servizi su cloud, più che altro per essere consapevole di come funziona ogni passaggio.

Per cui, primo passo installo N8N con una immagine che gira in locale su docker. Niente di difficile. Le istruzioni sul repository sono facili. N8N parte, richiede una mail di registrazione per sbloccare un po’ di funzionalità in modo gratuito. Va bene, anche se non ho verificato bene la differenza tra con e senza registrazione.

A questo punto mi pongo il problema di cosa fargli fare. Ce ne sarebbero mille ma di cose ma provo ad implementare una trascrizione di audio mediante telegram. L’obbiettivo è avere facilmente la trascrizione di messaggio audio provenienti da varie piattaforme di messaggistica, non necessariamente solo telegram.

Continua a leggere

© 2026 b0sh.net

Tema di Anders Noren — Su ↑