如何以编程方式读取.pdf文件并将其转换为音频(.mp3格式)?

问题描述 投票:5回答:9

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

我特别是在寻找优质的pdf文本库或从文本中剥离pdf文件的方法。

c# .net c++ mfc text-to-speech
9个回答
5
投票

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

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

此Daisy XML格式可以为converted to an audio format,也可以使用Daisy阅读器,这是一种物理设备,例如MP3播放器,可以听书。

[菊花网站上有一个演示文稿,解释了此工具链的原理:

Accessible PDF to DAISY/NIMAS Conversion


4
投票

使用Festival进行语音朗读。存在各种pdf文本api ...


2
投票

您需要Microsoft的Speech SDK。阅读说明here


2
投票

与其他张贴者一样,首先您必须从.pdf文件中提取文本。 pdf文件现在是一种开放格式,因此您可能可以通过Google找到解析器。

然后您必须从文件中提取要转换为语音的文本,而忽略诸如图形标题,页面标题,目录等之类的东西。>>

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

前一段时间,由于我是一个烂的配音演员,我在摆弄游戏模版的语音文件。

倒谱具有我能找到的最好的TTS转换器。 (免费的人倾向于在语音中插入倒谱广告,但是我可以根据自己的需要手动编辑它。)

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

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

您如何自动将SSML添加到文本中超出了我。

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


2
投票

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


0
投票

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


0
投票

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


0
投票

要做的并不是那么复杂,只要您不重新发明轮子,而是简单地重用现有技术(例如,文本到类似Festival的语音引擎,以及OCR引擎来处理PDF文件。] >

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


0
投票

这是您可以用于此目的的python API。

© www.soinside.com 2019 - 2024. All rights reserved.