也许您已经尝试要求chatgpt的歌曲建议,但是如果您可以直接在Spotify帐户上收听音乐品味的播放列表,那不是很好吗?

CHATGPT播放列表推理:播放列表“电子奥德赛”由电子舞蹈音乐曲目组成,这些曲目具有共同的几个共同主题,音乐元素和功能。这些曲目的特征是它们的脉动节拍,催眠节奏和驱动贝司线,从而创造了激烈而沉浸式的聆听体验。该播放列表中的一个共同主题是使用重复,这是电子音乐的标志。这些曲目通常具有循环旋律,催眠杂志和其他重复的元素,这些元素会产生动力和进步感。这种重复通常用于建立张力和能量,导致宣泄的下降和高潮时刻。这些曲目的另一个共同特征是它们使用合成器和其他电子仪器来创建各种声音和纹理。这些轨道通常具有郁郁葱葱的垫子,高耸的导线和复杂的打击乐器,这些打击乐经过分层和操纵,以产生复杂而不断发展的音景。
该存储库是由Python构建的,并使用Spotipy和Chatgpt-Wrapper通过ChatGPT模型根据用户提示来创建播放列表。
步骤1:创建一个OpenAI帐户
步骤2:生成Spotify客户端ID和秘密键,并在应用程序设置下设置重定向URI,例如http://localhost:8080 。
步骤3:安装依赖项
pip install spotipy
pip install git+https://github.com/mmabrouk/chatgpt-wrapper@18f3903cc083a794ec1b4e55e82f0e7ac5184f35
playwright install firefox
chatgpt install
然后,这将打开一个浏览器窗口。登录到浏览器窗口中的chatgpt,浏览所有介绍屏幕,然后退出。
1> /exit
注意:如果您遇到有关CHATGPT包装器安装的任何问题,请参阅Chatgpt-wrapper。
步骤4:设置凭据
这可以通过在终端执行以下命令来完成。
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"
或者,可以在python脚本中修改, run.py :
os.environ['SPOTIFY_CLIENT_ID'] = "Spotify Client ID"
os.environ['SPOTIFY_CLIENT_SECRET'] = "Spotify Client Secret"
os.environ['SPOTIFY_REDIRECT_URI'] = "Redirect URI"
重要的是:确保将相同的重定向URI设置在您的Spotify开发人员帐户上。可以在Dashboard > App > Edit Settings > Redirect URIs下完成。
对于脚本的示例使用,请运行
python3 run.py
自定义用户提示可以通过完成以下句子的方式提供: "Provide a playlist containing songs..."
python3 run.py --PROMPT "falling under the genre downtempo and trip-hop"
这将创建播放列表,并使用Chatgpt生成的名称保存。如果您想用自定义名称保存它,则可以为其提供--PLAYLIST_NAME标志。
注意:使用此选项将不使用或与Chatgpt共享您先前听过的艺术家。
如果您想分享以前听过的艺术家并获得新艺术家建议的播放列表,请使用:
python3 run.py --USER_DATA True --TERM long_term --TOP_GENRE 1
这将创建与过去几年相似的播放列表,但(主要)不包括您的顶级艺术家。时间范围(术语)和顶级流派选择可以以下方式进行:
--TERM "long_term" # past years
"medium_term # past 6 months
"short_term # past 4 weeks
--TOP_GENRE 1 # top (most-listened) genre
2 # second most listened genre
3 # third most listened genre
注意:如果您想拥有更好的质量预测,请尝试执行pkill firefox ,然后偶尔chatgpt install 。
随意插电!
play = SpotifyPlaylist()
通过设置prompt_type="playlist"来询问播放列表建议。然后,提示将自动从短语开始: "Provide a playlist containing songs "
您可以根据需要完成提示,请参见示例:
"similar to the style of Quantic and Thievery Corporation without including these artists""falling under the genre downtempo and trip-hop" play.ask_chatgpt(prompt="similar to the ones created by Daniel Avery", prompt_type="playlist")
然后,您可以创建并保存播放列表:
play.create_playlist()
play.save_playlist()
此外,您可以要求播放列表名称并使用此名称保存播放列表,提供prompt_type="name" :
play.ask_chatgpt(prompt="", prompt_type="name")
play.save_playlist(name=play.name)
您还可以通过询问这些歌曲中的共同元素来询问此播放列表背后的原因,而无需prompt_type :
play.ask_chatgpt(prompt="What is the common theme, musical elements or features in this playlist? Explain in detail.")
享受您的新播放列表!