ChatGPTify 项目介绍
项目简介
ChatGPTify 项目是一个结合了 ChatGPT 与 Spotify 的音乐玩法。用户通过 ChatGPT 推荐歌曲,而这些推荐的播放清单将直接在你的 Spotify 账号中生成。这样,音乐爱好者不仅可以获得符合他们音乐口味的歌曲推荐,还可以直接在 Spotify 上聆听这些歌曲。
工作原理
项目的核心是利用 Python 编程语言结合 Spotipy 和 ChatGPT 包装器,来生成用户定制的播放列表。通过用户输入的提示,ChatGPT 模型会提供相应的歌曲推荐,这些推荐将自动转换为一个 Spotify 播放列表。
安装步骤
-
创建 OpenAI 账号
需在 OpenAI 上注册账号以获取 API 密钥。 -
获取 Spotify Client ID 与 Secret Key
用户需前往 Spotify 开发者网页,创建应用以获取 Client ID 和 Secret Key,同时设置重定向 URI,例如http://localhost:8080
。 -
安装依赖
用户需在终端中运行以下命令安装必要的依赖:pip install spotipy pip install git+https://github.com/mmabrouk/chatgpt-wrapper@18f3903cc083a794ec1b4e55e82f0e7ac5184f35 playwright install firefox chatgpt install
安装完毕后,将打开一个浏览器窗口,用户需要登录到 ChatGPT。
-
配置凭据
设置 Spotify 的环境变量,或直接在 Python 脚本run.py
中修改:export SPOTIFY_CLIENT_ID="Spotify Client ID" export SPOTIFY_CLIENT_SECRET="Spotify Client Secret" export SPOTIFY_REDIRECT_URI="Redirect URI, e.g. http://localhost:8080"
使用方法
运行以下命令以体验脚本的示例用法:
python3 run.py
自定义播放列表
用户可以通过提供自定义提示创建播放列表。示例:
python3 run.py --PROMPT "falling under the genre downtempo and trip-hop"
这一命令会生成一个带有 ChatGPT 自动命名的播放列表。或者,用户可以使用 --PLAYLIST_NAME
标志自行命名播放列表。
根据用户数据生成播放列表
如果用户希望根据过去的收听历史生成播放列表,可以使用以下命令:
python3 run.py --USER_DATA True --TERM long_term --TOP_GENRE 1
这样生成的播放列表通常会包含过去常听的音乐风格,但通常不包含用户最常听的具体艺术家。
使用实例
以下是如何使用 ChatGPTify 定制播放列表的简单示例:
play = SpotifyPlaylist()
# 要求 ChatGPT 给出播放列表建议,完整提示
play.ask_chatgpt(prompt="similar to the style of Quantic and Thievery Corporation without including these artists", prompt_type="playlist")
# 创建并保存播放列表
play.create_playlist()
play.save_playlist()
此外,用户还可以要求 ChatGPT 解释播放列表中歌曲的共同特征:
play.ask_chatgpt(prompt="What is the common theme, musical elements or features in this playlist? Explain in detail.")
希望用户能从中发现适合他们心情和风格的新音乐!