如何以編程方式讀取 .pdf 文件並將其轉換為音頻(.mp3 格式)? (How to read a .pdf file programmatically and convert it into audio (.mp3 format)?)


問題描述

如何以編程方式讀取 .pdf 文件並將其轉換為音頻(.mp3 格式)? (How to read a .pdf file programmatically and convert it into audio (.mp3 format)?)

I want to parse a PDF file from my C# app and create an audio file off it. How would I do that ?

I'm particularly looking for a good pdf to text library or a way to strip a pdf file off its text.


參考解法

方法 1:

You preferably have a tagged PDF document as your input document. This means that the document contains tags to mark up the logical structure of the document (typically a PDF document will only contain visual information).

This PDF could then be converted into DAISY format, which is a standard for digital talking books, i.e. an intermediate XML format storing the text of books along with the logical structure and navigation features.

This Daisy XML format can be either converted to an audio format, or you could be using a Daisy reader, a physical device like an MP3 player to listen to the book.

There is a presentation available at the Daisy web site explaining the principles of this toolchain: 

  

Accessible PDF to DAISY/NIMAS Conversion

方法 2:

Use Festival for the text to speech. Various pdf to text api's exist...

方法 3:

You need the Speech SDK from Microsoft. Read an instruction here 

方法 4:

As the other posters outlined, first you have to extract the text from the .pdf file.   pdf files are an open format now, so you can probably find a parser through Google.

Then you have to extract the text you want to convert to speech from the file, ignoring things like figure titles, page headers, table of contents etc.

Once you've got the text, you need to convert it to speech.   This is probably the hardest part.

A while ago I was fiddling around with generating voice files for a gaming mod, since I'm a rotten voice actor.

Cepstral had the best TTS converters I could find.   (The free ones had an annoying tendency to insert Cepstral advertisements in the speech, but I could manually edit this out for what I was doing.)

It turns out that there's a speech synthesis markup language which can be used to provide clues to the TTS converter about which syllable to place accents, etc.  Here's a linky:

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

How you go about automatically adding the SSML to the text is a bit beyond me.

Anyway, the TTS converter will produce an audio file, and the final step would be to compress the audio at the desired bit rate in mp3 format.

方法 5:

If your sole task is to listen to speech synthesized text from a PDF, how about the Acrobat "Read out loud" function at the bottom of the "View" menu?

(by AttilahDirk Vollmardicrocejaobillmccspender)

參考文件

  1. How to read a .pdf file programmatically and convert it into audio (.mp3 format)? (CC BY-SA 3.0/4.0)

#text-to-speech #mfc #.net #C++ #C#






相關問題

在 Text-to-Speech C# 應用程序中操作“speaker voicer” (Manipulate "speaker voicer'' in Text-to-Speech C# Application)

android:手機處於睡眠狀態時等待的正確方法(使用 TTS) (android: proper way to wait while phone is in sleep state (using TTS))

音頻樣本庫(口語文本) (Libraries of audio samples (spoken text))

文字轉語音:葡萄牙語不可用? (Text to speech: Portuguese language not available?)

嵌入式應用的語音識別引擎 (Voice recogntion engines for embedded applications)

C# SpeechSynthesizer - “系統上沒有安裝語音” (C# SpeechSynthesizer - "No voice installed on the system")

任何 TTS 引擎都可以改變聲音的語言,進而改變它的音素嗎? (Can any TTS engine change a voice's language, and subsequently its phoneme?)

將 SAPI Text-To-Speech 本地化為西班牙語 (Localizing SAPI Text-To-Speech to spanish)

如何以編程方式讀取 .pdf 文件並將其轉換為音頻(.mp3 格式)? (How to read a .pdf file programmatically and convert it into audio (.mp3 format)?)

如何將 AudioRecord 類中識別的語音保存在文件中? (How can I save recognized voice from AudioRecord class in a file?)

SpeechToText synthesizeToFile 不排隊 (SpeechToText synthesizeToFile not queuing)

Flutter - 下劃線或繪製文字到語音(TTS) (Flutter - underline or paint words text to speech (TTS))







留言討論