บางทีคุณอาจลองขอคำแนะนำเพลงถึง CHATGPT แล้ว แต่จะไม่ดีถ้าคุณสามารถฟังเพลย์ลิสต์ที่แนะนำตามรสนิยมเพลงของคุณโดยตรงในบัญชี Spotify ของคุณ?

การให้เหตุผลเพลย์ลิสต์ของแชท แทร็กเหล่านี้มีลักษณะเป็นจังหวะจังหวะจังหวะการสะกดจิตและการขับเบสไลน์ที่สร้างประสบการณ์การฟังที่เข้มข้นและดื่มด่ำ ชุดรูปแบบทั่วไปหนึ่งในเพลย์ลิสต์นี้คือการใช้การทำซ้ำซึ่งเป็นจุดเด่นของดนตรีอิเล็กทรอนิกส์ แทร็กมักจะมีการวนซ้ำท่วงทำนอง, Arpeggios ที่ถูกสะกดจิตและองค์ประกอบซ้ำ ๆ อื่น ๆ ที่สร้างความรู้สึกของแรงผลักดันและความก้าวหน้า การทำซ้ำนี้มักจะใช้ในการสร้างความตึงเครียดและพลังงานนำไปสู่หยดยาระบายและช่วงเวลาที่ยอดเยี่ยม คุณสมบัติทั่วไปอีกประการหนึ่งของแทร็กเหล่านี้คือการใช้ synthesizers และเครื่องมืออิเล็กทรอนิกส์อื่น ๆ เพื่อสร้างเสียงและพื้นผิวที่หลากหลาย แทร็กมักจะมีแผ่นรองที่เขียวชอุ่มโอกาสในการขายและการเพอร์คัชชันที่ซับซ้อนซึ่งเป็นชั้นและจัดการเพื่อสร้างเสียงที่ซับซ้อนและพัฒนา
ที่เก็บนี้สร้างขึ้นด้วย Python และใช้ Spotipy และ Chatgpt-Wrapper สำหรับการสร้างเพลย์ลิสต์ตามพรอมต์ของผู้ใช้ผ่านโมเดล ChatGPT
ขั้นตอนที่ 1: สร้างบัญชี OpenAI
ขั้นตอนที่ 2: สร้างรหัสลูกค้า Spotify และรหัสลับและตั้งค่าการเปลี่ยนเส้นทาง 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
หมายเหตุ: หากคุณพบปัญหาใด ๆ เกี่ยวกับการติดตั้ง wrapper 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 หากคุณต้องการบันทึกด้วยชื่อที่กำหนดเองแทนสิ่งนี้สามารถให้ได้ด้วย -Flag --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.")
สนุกกับเพลย์ลิสต์ใหม่ของคุณ!