Converti testo d’immagini in audio

Riconoscimento ottico dei caratteri (OCR) e conversione audio: una soluzione pratica

L’OCR è una tecnologia innovativa che trasforma il testo delle immagini in un formato digitale. Questo apre molte possibilità, come l’accessibilità migliorata e nuovi modi di archiviare e analizzare i dati. Un’applicazione interessante è la conversione del testo estratto da un’immagine in un file audio.

In questo articolo, ti mostriamo un semplice programma che utilizza l’OCR per estrarre testo da immagini e convertirlo in audio, concentrandoci sulla lingua inglese, la lingua predefinita per la sintesi vocale.

Come funziona il programma

Il programma ha tre funzioni principali:

  1. Caricamento e visualizzazione dell’immagine Gli utenti caricano un’immagine, che viene subito mostrata con una larghezza massima di 750px. Questo permette di verificare se è l’immagine giusta prima di procedere.
  2. Riconoscimento ottico dei caratteri (OCR) Il programma usa la libreria Tesseract.js per estrarre il testo dall’immagine. Questa libreria supporta molte lingue, tra cui italiano e inglese.
  3. Sintesi vocale Il testo estratto viene convertito in un file audio usando la sintesi vocale del browser. Il programma è configurato per leggere il testo in inglese, garantendo una pronuncia accurata.

Vantaggi principali

  • Facile da usare: Carica un’immagine e clicca per trasformarla in audio.
  • Conferma visiva: L’immagine caricata viene subito mostrata, così puoi confermare la selezione.
  • Multilingue: Anche se l’audio è ottimizzato per l’inglese, l’OCR può leggere testi in diverse lingue.
  • Accessibilità: Trasformare testo in audio aiuta chi ha difficoltà a leggere.
  • Portabilità: Il programma funziona su qualsiasi browser moderno senza installazioni.

Possibili utilizzi

  • Accessibilità: Aiuta persone con disabilità visive o difficoltà di lettura a “leggere” il testo ascoltandolo.
  • Apprendimento delle lingue: Gli studenti possono ascoltare la pronuncia del testo in inglese.
  • Archiviazione: Il testo estratto può essere salvato come audio per creare archivi vocali.
  • Applicazioni fotografiche: I fotografi possono aggiungere una componente audio alle immagini, migliorando l’esperienza narrativa.

Come usare il programma

  1. Carica un’immagine: Seleziona un’immagine dal tuo dispositivo.
  2. Controlla l’immagine: Verifica se è quella giusta.
  3. Converti: Clicca su “Converti in Audio” per estrarre il testo e convertirlo.
  4. Scarica: Dopo la conversione, puoi scaricare il file audio.

Provalo ora e scopri quanto può essere utile nella tua vita quotidiana… Showtime!

Nota: La prova del programma è stata fatta utilizzando un’immagine contenente il titolo del brano celebre di Paul e Linda McCartney, “Listen to What the Man Said”, singolo del 1975 che ha raggiunto il primo posto nelle classifiche statunitensi, tratto dall’album Venus and Mars.

Converti Testo Immagine in Audio #imagePreview { max-width: 750px; width: 100%; display: block; margin: 20px 0; } #downloadButton { display: none; margin-top: 20px; }

Converti Testo Immagine in File Audio


const fileInput = document.getElementById('fileInput'); const imagePreview = document.getElementById('imagePreview'); const convertButton = document.getElementById('convertButton'); const downloadButton = document.getElementById('downloadButton'); let imgSrc = ''; let audioBlob = null; let fileName = "output"; fileInput.addEventListener('change', () => { const file = fileInput.files[0]; if (file) { const reader = new FileReader(); reader.onload = function(event) { imgSrc = event.target.result; imagePreview.src = imgSrc; imagePreview.style.display = 'block'; }; reader.readAsDataURL(file); } }); convertButton.addEventListener('click', () => { if (!imgSrc) { alert('Seleziona prima un file immagine.'); return; } const img = new Image(); img.src = imgSrc; img.onload = function() { Tesseract.recognize( img, 'ita', { logger: m => console.log(m) } ).then(({ data: { text } }) => { convertiTestoInAudio(text); }); }; }); downloadButton.addEventListener('click', () => { if (audioBlob) { saveAs(audioBlob, `${fileName}.wav`); } }); function convertiTestoInAudio(testo) { const synth = window.speechSynthesis; const utterance = new SpeechSynthesisUtterance(testo); utterance.lang = 'it-IT'; const audioContext = new (window.AudioContext || window.webkitAudioContext)(); const dest = audioContext.createMediaStreamDestination(); const recorder = new MediaRecorder(dest.stream); // Estrai la prima parola del testo per il nome del file const firstWord = testo.split(/\s+/)[0]; if (firstWord) { fileName = firstWord; } utterance.onstart = () => { const source = audioContext.createMediaStreamSource(dest.stream); source.connect(audioContext.destination); recorder.start(); }; utterance.onend = () => { recorder.stop(); }; recorder.ondataavailable = (event) => { audioBlob = new Blob([event.data], { type: 'audio/wav' }); // Mostra il bottone di download dopo che l'audio è stato registrato downloadButton.style.display = 'block'; }; synth.speak(utterance); }