项目简介:Spotify Transcripts
Spotify Transcripts 是一个创新项目,专注于为播客提供自动生成的字幕和分章节功能,使播客内容更加易于访问和浏览。
✨ 主要功能
- 转录功能:利用语音识别技术将音频内容转化为对应的文本,并附有时间标记。
- 搜索功能:在转录文本中进行搜索,可以直接跳转到对话的特定部分。
- 章节功能:根据主题自动将播客内容分割为多个章节。
- 字幕功能:为听力有困难的人士提供字幕支持,使更多人能够访问播客内容。
📖 项目背景
此项目是两个早期开发成果的结合与延续:
- Spotify 主题:在 2020 年夏季参加 Spotify 编程马拉松期间开发的工具,该工具允许用户快速跳转到讨论某些主题的时间节点。
- Spotify 字幕:在 2022 年基于 Spotify 社区内备受支持的一个功能点子(在社区论坛获得了4500多票支持)开发的用于播客的字幕功能。
在 2023 年,受到 ChatGPT 热潮的启发,项目负责人决定将之前的两项成果结合成一个播客播放器,并借助 Open AI 的 API 进一步提升功能。
⚙️ 使用技术
项目所用技术包括:
- React:用于构建前端框架。
- Tailwind CSS:用于界面样式设计。
- Python:负责后台转录逻辑处理。
- Flask:用于连接 Python 后端和 React 前端。
- Spotify API:获取播客集的信息。
- Google Speech Recognition API:将音频转化为文本。
- Open AI's GPT 3.5 API:基于转录文本分章节。
该项目还作为学习机会,实现了 React 前端与 Python 后端的连接,并自建 API 进行音频转录,而非简单调用前端可用的 API。
🚫 项目限制
目前 Spotify 的 API 仅允许下载播客节目的 30 秒预览,因而限制了项目的使用,该项目目前只作为概念验证使用。
🚀 快速入门
第一步:注册 API 密钥
用户需要在以下网站注册以获取密钥:
- Spotify 开发者平台
- Open AI 平台
第二步:添加 API 密钥到 .env
文件
在项目根目录创建一个 .env
文件,并添加相应的 API 密钥:
REACT_APP_SPOTFY_CLIENT_ID=YOUR_SPOTIFY_CLIENT_ID_GOES_HERE
REACT_APP_OPEN_AI_KEY=YOUR_OPEN_AI_KEY_GOES_HERE
第三步:运行项目
在不同终端中分别运行前端和后端:
后端运行命令:
export FLASK_APP=backend
export FLASK_DEBUG=1
flask run
前端运行命令:
cd frontend
npm start
📸 项目截图
项目界面包括主页面、发现页面、加载屏幕、集锦页面、字幕全屏、章节概览以及按章节划分的音频播放器等。每个界面都经过精心设计以提高用户体验。
通过 Spotify Transcripts 项目,播客变得更易于理解与导航,使用户能在更短时间内获取价值信息。