2009-06-06 11 views
5

Voglio analizzare un file PDF dalla mia app C# e creare un file audio. Come potrei farlo?Come leggere un file .pdf a livello di codice e convertirlo in audio (formato .mp3)?

Sono particolarmente alla ricerca di una buona libreria di testo in formato PDF o un modo per eliminare dal testo un file PDF.

+1

All'inizio pensavo fosse uno scherzo, e poi ho capito che intendevi ascoltare il testo :) – Zifre

+0

Preferirei usare il lettore Acrobat! –

+1

@ Zifre - grazie a Dio hai chiarito che stavo per scoppiare in lacrime con questo !! – joshcomley

risposta

0

Immagino sia una cosa difficile da fare. In primo luogo è necessario leggere il testo in tale pdf e quindi utilizzare un meccanismo di generazione di voci sintetiche per creare il contenuto audio. Quindi devi memorizzarlo come un mp3.

2

È necessario l'SDK vocale di Microsoft. Leggere un'istruzione here

4

Utilizzare Festival per la sintesi vocale. Esistono varie API di pdf to text ...

+0

Come si può usare Festival per generare file audio? Sto ancora cercando di capirlo. –

0

Su Mac OS X, è possibile estrarre il testo del pdf e quindi inserirlo in "say". Dovresti trovare sintetizzatori equivalenti su altri sistemi operativi.

0

Non è poi così complicato, a condizione di non reinventare la ruota, ma semplicemente di riutilizzare la tecnologia esistente (ad esempio, motori di sintesi vocale come festival), nonché i motori OCR per elaborare i file PDF .

La cosa più complicata probabilmente è lavorare con diversi layout PDF (colonne, righe, grafica incorporata, note a piedi, URL ecc.), Che possono offuscare il processo di riconoscimento del testo.

Tuttavia, in generale (se questo non dovrebbe essere un'esperienza di apprendimento), è certamente più facile ricorrere solo per utilizzando le soluzioni software esistenti:

5

Preferibilmente si dispone di un documento tagged PDF come documento di input. Ciò significa che il documento contiene tag per contrassegnare la struttura logica del documento (in genere un documento PDF conterrà solo informazioni visive).

Questo PDF può quindi essere convertito nel formato DAISY, che è uno standard per i libri di conversazione digitale, vale a dire un formato XML intermedio che memorizza il testo dei libri insieme alla struttura logica e alle funzioni di navigazione.

Questo formato Daisy XML può essere sia converted to an audio format, oppure si potrebbe utilizzare un lettore Daisy, un dispositivo fisico come un lettore MP3 per ascoltare il libro.

C'è una presentazione disponibile presso il sito web della margherita che spiega i principi di questa toolchain:

Accessible PDF to DAISY/NIMAS Conversion

2

Come gli altri manifesti delineati, in primo luogo è necessario estrarre il testo dal. file PDF. i file pdf sono ora un formato aperto, quindi puoi probabilmente trovare un parser tramite Google.

Quindi devi estrarre dal file il testo che vuoi convertire in parlato, ignorando cose come titoli di figure, intestazioni di pagine, sommari ecc.

Una volta ottenuto il testo, è necessario convertirlo in parlato. Questa è probabilmente la parte più difficile.

Qualche tempo fa stavo armeggiando con la generazione di file vocali per un mod di gioco, dal momento che sono un doppiatore maleducato.

Cepstral ha avuto i migliori convertitori TTS che ho trovato. (Quelli gratuiti avevano una fastidiosa tendenza a inserire annunci Cepstral nel discorso, ma potevo modificarlo manualmente per quello che stavo facendo.)

Si scopre che esiste un linguaggio di markup di sintesi vocale che può essere utilizzato per fornire indizi per il convertitore TTS su quale sillaba di inserire accenti, ecc Ecco un linky:

http://www.w3.org/TR/speech-synthesis/

Come si fa a automaticamente aggiungendo la SSML al testo è un po 'al di là di me.

In ogni caso, il convertitore TTS produrrà un file audio, e il passo finale sarebbe quello di comprimere l'audio al bit rate desiderato in formato mp3.

2

Se il tuo unico compito è ascoltare il testo sintetizzato dal parlato da un PDF, che ne dici della funzione "Leggi ad alta voce" di Acrobat nella parte inferiore del menu "Visualizza"?

Problemi correlati