6

我想从我的 C# 应用程序中解析一个 PDF 文件并从中创建一个音频文件。我该怎么做?

我特别在寻找一个好的 pdf 到文本库或从文本中剥离 pdf 文件的方法。

4

8 回答 8

5

您最好将带标签的 PDF文档作为输入文档。这意味着文档包含用于标记文档逻辑结构的标签(通常 PDF 文档将仅包含视觉信息)。

然后可以将该 PDF 转换为DAISY格式,这是数字有声书籍的标准,即存储书籍文本以及逻辑结构和导航功能的中间 XML 格式。

这种 Daisy XML 格式可以转换为音频格式,或者您可以使用 Daisy 阅读器,一种类似于 MP3 播放器的物理设备来听书。

Daisy 网站上有一个演示文稿,解释了该工具链的原理:

可访问的 PDF 到 DAISY/NIMAS 的转换

于 2009-06-06T13:52:42.800 回答
4

Festival用于文本到语音。存在各种 pdf 到文本 api...

于 2009-06-06T13:42:30.543 回答
2

您需要来自 Microsoft 的语音 SDK。在此处阅读说明

于 2009-06-06T13:42:10.513 回答
2

正如其他海报所述,首先您必须从 .pdf 文件中提取文本。pdf 文件现在是一种开放格式,因此您可能可以通过 Google 找到解析器。

然后,您必须从文件中提取要转换为语音的文本,忽略图形标题、页眉、目录等内容。

获得文本后,您需要将其转换为语音。这可能是最难的部分。

前段时间我在为一个游戏模组生成语音文件,因为我是一个烂配音演员。

Cepstral 有我能找到的最好的 TTS 转换器。(免费的有在演讲中插入倒谱广告的恼人倾向,但我可以手动将其编辑出来以适应我正在做的事情。)

事实证明,有一种语音合成标记语言可用于向 TTS 转换器提供关于放置重音的音节等的线索。这是一个链接:

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

您如何自动将 SSML 添加到文本中有点超出我的理解。

无论如何,TTS 转换器将生成一个音频文件,最后一步是以 mp3 格式以所需的比特率压缩音频。

于 2009-06-06T13:59:10.573 回答
2

如果您的唯一任务是收听 PDF 中的语音合成文本,那么“查看”菜单底部的 Acrobat“朗读”功能怎么样?

于 2009-06-06T14:17:22.970 回答
0

我想这是一件很难的事情。首先,您需要阅读该 pdf 中的文本,然后使用某种合成语音生成机制来创建音频内容。然后,您必须将其存储为 mp3。

于 2009-06-06T13:40:34.930 回答
0

在 Mac OS X 上,您可以提取 pdf 的文本,然后将其输入“say”。您应该在其他操作系统上找到等效的合成器。

于 2009-06-06T13:44:30.070 回答
0

只要您不重新发明轮子,而是简单地重用现有技术(例如节日等文本到语音引擎)以及 OCR 引擎来处理 PDF 文件,这并不是那么复杂。

最复杂的事情可能是使用不同的 PDF 布局(列、行、嵌入图形、脚注、URL 等),这可能会混淆文本识别过程。

但是,总的来说(如果这不应该是一种学习体验),使用现有的软件解决方案当然更容易:

于 2009-06-06T13:46:39.350 回答