PDF2Audio-PDF文件转换为音频-开源项目


这个仓库是一个名为 PDF2Audio 的项目,主要功能是将PDF文件转换为音频,如播客、讲座、摘要等。以下是对该仓库的详细介绍:

项目概述

PDF2Audio 利用OpenAI的GPT模型进行文本生成和文本到语音的转换。用户可以上传多个PDF文件,选择不同的指令模板,还能对生成的草稿转录进行多次编辑,并提供特定的评论或整体指导意见。

主要特性

  • 上传多个PDF文件:支持一次性上传多个PDF文件进行处理。
  • 多种指令模板:提供不同的指令模板供用户选择,如播客、讲座、摘要等。
  • 自定义模型:用户可以自定义文本生成和音频模型。
  • 选择不同的语音:可以为不同的演讲者选择不同的语音。
  • 迭代草稿:通过特定或一般性的评论、对转录的编辑以及对模型的具体反馈来迭代草稿。

使用方式

在Colab中使用

点击 Open In Colab 徽章,可在Colab中打开该项目的Notebook文件(PDF2Audio.ipynb)进行使用。

本地安装

  1. 克隆仓库bash git clone https://github.com/lamm-mit/PDF2Audio.git cd PDF2Audio
  2. 安装Miniconda(若未安装)
    • Miniconda官网 下载安装程序。
    • 按照操作系统的安装说明进行安装。
    • 验证安装: bash conda --version
  3. 创建Conda环境bash conda create -n pdf2audio python=3.9
  4. 激活Conda环境bash conda activate pdf2audio
  5. 安装依赖bash pip install -r requirements.txt
  6. 设置OpenAI API密钥: 在项目根目录下创建一个 .env 文件,并添加你的OpenAI API密钥: OPENAI_API_KEY=your_api_key_here

运行应用

  1. 激活Conda环境: bash conda activate pdf2audio
  2. 运行Python脚本启动Gradio界面: bash python app.py
  3. 打开浏览器,访问终端中提供的URL(通常是 http://127.0.0.1:7860)。
  4. 使用Gradio界面上传PDF文件并将其转换为音频。

使用步骤

  1. 上传一个或多个PDF文件。
  2. 选择所需的指令模板。
  3. 根据需要自定义指令。
  4. 点击“Generate Audio”生成音频内容。

通过Hugging Face Spaces访问

可通过 lamm-mit/PDF2Audio 访问该项目。

注意事项

  • 该应用需要OpenAI API密钥才能正常运行。

引用信息

该项目受 https://github.com/knowsuchagency/pdf-to-podcasthttps://github.com/knowsuchagency/promptic 的代码启发并基于其开发。提供了两篇相关论文的引用信息:

@article{ghafarollahi2024sciagentsautomatingscientificdiscovery,
    title={SciAgents: Automating scientific discovery through multi-agent intelligent graph reasoning}, 
    author={Alireza Ghafarollahi and Markus J. Buehler},
    year={2024},
    eprint={2409.05556},
    archivePrefix={arXiv},
    primaryClass={cs.AI},
    url={https://arxiv.org/abs/2409.05556}, 
}
@article{buehler2024graphreasoning,
    title={Accelerating Scientific Discovery with Generative Knowledge Extraction, Graph-Based Representation, and Multimodal Intelligent Graph Reasoning},
    author={Markus J. Buehler},
    journal={Machine Learning: Science and Technology},
    year={2024},
    url={http://iopscience.iop.org/article/10.1088/2632-2153/ad7228},
}

项目文件结构

该仓库包含以下主要文件和文件夹:

LICENSE
PDF2Audio.ipynb
README.md
SciAgents discovery summary - example.mp3
app.py
logo.png
requirements.txt

依赖项

项目的依赖项在 requirements.txt 文件中列出,主要包括:

gradio
pandas
openai
pypdf
loguru
promptic
tenacity