﻿titolo:NasoSanMorse
descrizione:App Android che riceve segnali ritmici (microfono, file audio, fotocamera, file video), riconosce da sola se sono Morse o codice a colpi (tap code 5x5) e li converte in testo. Funzione inversa: trasforma un testo in segnale (suono, flash, schermo).
linguaggio:Kotlin, Jetpack Compose (Android 17, minSdk 36)
nota:
novita:v0.147 - 04/10/2026
- "Confronta i 5 motori" ora sceglie e IMPOSTA da solo il motore migliore: dopo il confronto, l'app segna il risultato piu' leggibile come "migliore", lo imposta automaticamente (per Tono ed Energia) e rilegge subito l'audio con quel motore. Puoi sempre cambiarlo dalle Impostazioni.
- Nuovo pulsante "Confronta i 5 motori": a ricezione ferma, prende l'ultima registrazione e la decodifica con tutti e 5 i motori, mostrando i 5 risultati insieme. Cosi' vedi a colpo d'occhio quale motore legge meglio quel tipo di suono e lo imposti dalle Impostazioni.
- Nuovo: 5 "motori" di decodifica selezionabili. Nella scheda Ricevi restano i 3 pulsanti Auto / Tono / Energia; in Impostazioni ora scegli QUALE motore usare per "Tono" e per "Energia", con il consigliato gia' impostato. I motori: Tono bloccato, Tono inseguito, Energia, Ritmo per parola, Raggruppamento. Se un audio non viene letto bene con un motore, puoi provarne un altro. Le impostazioni di partenza lasciano tutto come prima (nessun cambiamento se non tocchi niente).
- Tolte le lettere spurie causate dai suoni "tenuti": se un suono dura molto piu' di una linea (oltre 5 volte il punto) non e' piu' considerato Morse, ma una pausa/separazione. Cosi' un beep tenuto prima o dopo un segnale non aggiunge piu' lettere finte (N/M/T) attorno al testo vero.
- Ridotte le lettere spurie attorno ai segnali a toni diversi: l'app ora ignora i "lampi" di suono troppo brevi (meno di ~45 millesimi di secondo) che comparivano nei vuoti e sporcavano il testo.
- Lettura molto piu' robusta quando nello stesso audio ci sono piu' segnali con suoni (toni) diversi fra loro, anche molto acuti (es. piu' "CQ" di seguito, ciascuno con un fischio/beep diverso): il metodo "Auto" ora segue automaticamente il tono piu' forte istante per istante, qualunque sia la sua frequenza, senza doversi "agganciare" a un tono fisso. Cosi' legge sia i segnali a tono unico (come prima) sia quelli a toni diversi. Se un caso particolare non dovesse funzionare restano i metodi manuali "Tono puro" ed "Energia".
- (Diagnostica, nascosto) Il pulsante "Pacchetto diagnostico" ora apre una finestra con due scelte, come il log: "Salva su cartella..." e "Condividi" (piu' Annulla). Prima decideva da solo (salvava o condivideva), ora scegli tu ed eviti il doppio passaggio.
- Corretta la lettura di piu' segnali di seguito con tono (frequenza) molto diverso e pause brevi (es. quattro "CQ" veloci, ognuno con un suono diverso): ora a ogni pausa tra una parola e l'altra l'app si ri-aggancia subito al tono della parola seguente, fin dal suo primo elemento, invece di restare sul tono del primo segnale. Prima i segnali a tono diverso dal primo uscivano illeggibili.
- Alzato il limite alto di frequenza ascoltata (da 4.000 a 8.000 Hz): ora l'app sente e legge anche i segnali Morse fischiati o generati molto acuti, che prima venivano tagliati.
- I segnali a tono unico (es. HELP, HELLO) e i file restano invariati.
- Corretta la lettura quando si analizzano di fila due segnali con tono (frequenza) diverso separati da una pausa breve (meno di 5 secondi): prima l'app restava agganciata al tono del primo e il secondo usciva illeggibile; ora, se compare un tono nuovo stabile, si ri-aggancia subito al nuovo tono senza aspettare la fine trasmissione. I toni puliti a frequenza unica e i file restano invariati.

v0.132 - 02/10/2026
- Il selettore file (audio/video) ora si apre direttamente sulla navigazione a cartelle del telefono, invece che sulla lista "Recenti".

v0.131 - 30/09/2026
- (Diagnostica, nascosto) Quando il registro diagnostico e' attivo compare nella scheda Ricevi un pulsante "Pacchetto diagnostico": con un tocco crea uno ZIP con il registro, l'audio in memoria e il testo a video, e lo salva nella cartella del registro (o lo condivide). Serve solo per i test.
- Migliorata la lettura col metodo Energia dei suoni "veri" (voce, click): la soglia non viene piu' forzata troppo in alto, cosi' una voce che scandisce il Morse si legge meglio. Per ambienti con molta eco basta abbassare la sensibilita' (Bassa).
- Il "Tipo di codice" (Automatico / Morse / Colpi) ora si sceglie al volo direttamente nella scheda Ricevi (prima solo in Impostazioni): al cambio rilegge subito l'audio in memoria col nuovo tipo. Il valore di partenza resta in Impostazioni.
- Nuovo "Metodo suono" nella scheda Ricevi (Auto / Tono puro / Energia): l'app parte in Auto e prova da sola; se il testo non ha senso, con un tocco scegli Tono puro (per beep/fischi puliti) o Energia (per qualunque suono: voce ta-taaa, click, ronzatore, anche con eco) e rilegge subito l'audio gia' sentito col nuovo metodo.
- Modalita' Energia (banda larga) resa robusta: legge il Morse da qualunque suono, non serve un tono preciso.
- Volume del microfono regolabile direttamente nella scheda Ricevi.
- La ricezione da microfono ora registra in memoria quello che sente (barra che mostra il riempimento): serve per rileggerlo con un altro metodo e per salvarlo.
- Nuovo pulsante "Salva registrazione": microfono -> file audio WAV; file audio/video -> il file di partenza.
- Tutti questi controlli hanno un valore di partenza in Impostazioni (metodo suono, volume microfono, durata della registrazione): alla riapertura l'app parte da quelli.
- Lettura piu' costante nelle trasmissioni lunghe: agganciato il tono, l'app non torna piu' alla lettura "a banda larga" a meta' strada (che nelle parti deboli o rumorose rovinava il testo). Resta sul tono per tutta la trasmissione e riparte pulita, ri-agganciando il tono, solo dopo una pausa lunga di fine trasmissione. Mantenuto l'inseguimento morbido del tono che ignora i falsi picchi del rumore.
- Lettura piu' robusta nelle parti deboli o rumorose: quando l'audio si abbassa o compare del rumore, l'app non "insegue" piu' i falsi picchi di frequenza (che le facevano perdere il tono vero e fondere una parola). Ora resta agganciata al tono del segnale e legge anche i passaggi piu' difficili.
- Soglia di lettura adattiva vera: ora si regola sul livello reale delle pause tra i punti (misurato su una finestra breve) invece che sul silenzio profondo tra le parole. Cosi' la soglia si riposiziona da sola parola per parola e legge bene sia le parti forti sia quelle piu' piano della stessa registrazione (prima una parola su quattro poteva uscire sbagliata).
- Lettura Morse piu' stabile tra una parola e l'altra: durante le pause lunghe l'app non abbandona piu' la modalita' "tono puro" (prima poteva farlo dopo 2 s, e la parola successiva veniva letta peggio, con i punti fusi). Ora resta agganciata al tono per tutta la trasmissione.
- Corretta la lettura Morse dai file audio e dalle registrazioni con silenzi molto profondi: prima la soglia poteva finire sotto il livello delle pause e i punti si fondevano in un unico segnale (il testo usciva illeggibile o scambiato per codice a colpi). Ora il fondo di rumore e' limitato rispetto al picco, la soglia si posiziona bene tra suono e pausa e gli elementi si separano.
- Diagnostica interna estesa (nascosta): registrata la modalita' audio Tono/Volume con la frequenza agganciata, una traccia livello/soglia/rumore e il testo finale decodificato, per individuare i casi di lettura errata.
- Lettura Morse dal microfono molto piu' robusta con l'eco/riverbero: i punti vicini non si saldano piu' in una linea (la "H" non diventa piu' un'altra lettera). Reso piu' rapido il rilascio del suono in ingresso, cosi' le pause brevi tra i punti vengono sempre viste. Verificato su registrazione reale (testo HELP letto correttamente) senza peggiorare i segnali gia' puliti.
- Rimosso un passaggio sperimentale sul primo carattere che non portava benefici reali.

v0.113 - 29/09/2026
- Migliorato il riconoscimento Morse/Colpi: il codice a colpi si distingue dal Morse per l'assenza di toni lunghi, quindi un Morse non viene piu' scambiato per colpi.
- Stabilizzate le soglie del codice a colpi con lo stesso metodo del Morse (un riferimento unico), lettura piu' costante.
- Lettura Morse piu' robusta: i toni anomali (tenuti/fusi) non falsano piu' la stima della velocita', e la soglia audio prende anche gli ultimi cali piccoli tra i punti (parole piu' spesso corrette).
- Riscritta la stima della velocita' del Morse con il metodo standard dei decoder radioamatoriali (un unico riferimento del "punto" adattivo): lettura piu' stabile e meno lettere sbagliate.
- Affinata la soglia adattiva di lettura dei suoni: eliminate le ultime fusioni residue di punti vicini (parole lette in modo piu' completo e corretto).
- Corretta la condivisione del registro diagnostico: condividendolo (es. verso un'altra app) il file non viene piu' perso e il registro non si spegne piu' da solo alla pressione successiva.
- Corretto il Morse ricevuto dall'audio (microfono e audio dei video) che a volte veniva scambiato per codice a colpi: ora il tono Morse non viene piu' scartato per errore.
- Migliorata la lettura dei suoni con soglia adattiva (a meta' tra silenzio e picco): le pause corte tra punto/linea vengono sempre riconosciute e i suoni vicini non si saldano piu' in uno solo (molte meno lettere sbagliate).
- Diagnostica interna estesa (decisione e decodifica, incluse le pause tra gli elementi) per individuare i caratteri letti male: non visibile all'utente.
- Icona dell'app ora nitida su tutti i telefoni: generate tutte le dimensioni e la versione adattiva (Android 8+), niente piu' icona sgranata o tagliata nella cornice.
- Riconoscimento ora in tempo reale: il testo compare durante l'ascolto, non piu' solo quando si ferma.
- Video con audio: il testo decodificato dall'audio non resta piu' nascosto dietro il canale luce vuoto.
- Piede firma di nuovo su una sola riga: il testo si adatta alla larghezza dello schermo.
- Nuova sezione Permessi in Impostazioni: microfono e fotocamera con pallino verde/rosso, si abilitano con un tocco; avviso nella scheda Ricevi se manca un permesso.
- Corretta la cronologia con i video (luce e audio insieme): non si perdono piu' voci.
- Migliorata la precisione dei tempi nel passaggio iniziale della decodifica.
- Aggiunto l'indicatore "scorri" quando c'e' altro contenuto sotto (Ricevi, Trasmetti, Impostazioni, Aiuto, Cronologia).
- Librerie di sistema aggiornate all'ultima versione stabile.
- Finestre (avvisi, cronologia, aiuto) ora a tema scuro coerente con l'app, con pulsanti colorati.
- Schermata Impostazioni riorganizzata a gruppi apribili (Ricezione, Trasmissione).
- Registro diagnostico piu' completo (avvii, arresti, avvisi ed errori).
- Funzione di log diagnostico interna resa uguale a quella delle altre app NasoSan (piu' robusta: scrittura sicura, recupero in caso di interruzione, salvataggio e condivisione affidabili).
- Nell'aiuto "?" aggiunti gli alfabeti Morse e a colpi, ciascuno in una sezione a fisarmonica.
- Aggiornate le librerie e la piattaforma all'ultima versione (Android 17).
- Nuova icona dell'app.
- Aggiunto il cursore del volume del suono direttamente nella scheda Trasmetti.
- Nuova intestazione con logo NasoSan cliccabile (apre il sito), nome app e pulsante di aiuto "?".
- Aggiunto il piede firma in fondo alle schermate (autore, versione, licenza).
- Schermata Impostazioni completata con il blocco informazioni in fondo.
- Colori riorganizzati nella palette NasoSan condivisa (aspetto piu' coerente con le altre app).
- Progetto reso compilabile: ripristinati i file Gradle (settings/build/app, wrapper Gradle 9.7.0) e gli script di servizio, tenuti fuori dal pacchetto pubblicato tramite excl_NasoSanMorse.txt.
- app.json completato come manifesto di consegna (apk, package it.nasosan.morse); dipendenze allineate al codice (Compose, CameraX, coroutine, DataStore).
- Build APK verificata con esito positivo.
- Rimossi dal pacchetto script di build e file Gradle: restano codice, manifest, risorse e documenti.

v0.005 - 28/09/2026
- Prima versione: ricezione da microfono, file audio, fotocamera e file video.
- Riconoscimento automatico Morse / codice a colpi, velocita' e affidabilita'.
- Trasmissione testo: suono, flash, schermo.
- Grafico del segnale, cronologia, copia e condividi.
