integrated suno

This commit is contained in:
Saifeddine ALOUI 2024-12-13 01:41:48 +01:00
parent b16039a41b
commit 739768a61d

View File

@ -63,9 +63,136 @@ def open_and_fill_udio_function():
]
}
#suno
def open_and_fill_suno(song_description: str, lyrics: str, title:str) -> str:
"""
Opens the udio.com page, interacts with the UI to fill in the song description and lyrics fields.
Parameters:
- song_description (str): The description of the song.
- lyrics (str): The lyrics of the song.
Returns:
- str: Success message or exception trace.
"""
try:
# Open the specified webpage
webbrowser.open('https://suno.ai')
time.sleep(5) # Wait for the page to load
# Click the input field near the "Create" button
# Adjust the x, y coordinates based on your screen resolution
pyautogui.click(x=50, y=280)
time.sleep(2) # Wait for the page to load
def is_sufficiently_white(color, threshold=150):
"""
Check if a color is sufficiently white.
:param color: Tuple of (R, G, B) values
:param threshold: Minimum value for each channel to be considered "white"
:return: Boolean indicating if the color is sufficiently white
"""
return all(channel >= threshold for channel in color)
# Define the coordinates of the button
button_x = 220
button_y = 150
# Get the color of the pixel at the button's location
pixel_color = pyautogui.pixel(button_x, button_y)
print(pixel_color)
# Check if the color is not sufficiently white
if not is_sufficiently_white(pixel_color):
# # Select the "Custom" option
pyautogui.click(x=220, y=150)
time.sleep(1) # Wait for the page to load
pyautogui.click(x=250, y=280)
# # Fill the song lerycs field
pyautogui.write(lyrics)
time.sleep(3) # Wait for the lyricsto be written
pyautogui.click(x=370, y=620)
# # Fill the song_description field
pyautogui.write(song_description)
pyautogui.click(x=370, y=440)
# # Fill the song_description field
pyautogui.click(x=370, y=440)
# # Fill the song_description field
pyautogui.write(song_description)
pyautogui.click(x=370, y=770)
# # Fill the song_description field
pyautogui.write(title)
# # Start generation
pyautogui.click(x=370, y=870)
# pyautogui.click(x=500, y=120)
return "Successfully filled the song description and lyrics."
except Exception as e:
return trace_exception(e)
def open_and_fill_suno_function():
return {
"function_name": "open_and_fill_udio",
"function": open_and_fill_udio,
"function_description": "Opens udio.com page and fills in the song description and lyrics fields to start generating the music.",
"function_parameters": [
{"name": "song_description", "type": "str", "description":"a list of tags describing the song style and vibes. Make it short"},
{"name": "lyrics", "type": "str","description":"The lyrics of the song"},
{"name": "title", "type": "str","description":"The title of the song"}
]
}
if __name__ == "__main__":
# Test the function with sample data
song_description = "A beautiful song about nature."
lyrics = "The sun sets over the hills, birds sing their evening song."
result = open_and_fill_udio(song_description, lyrics)
song_description = "Modern hip-hop/rap with electronic beats and a futuristic vibe."
lyrics = """Verse 1:
Yo, listen up, it's time to get smart
Lollms on the scene, it's a brand new start
AI's evolving, changing the game
Open-source power, rising to fame
Chorus:
Lollms, AI, digital revolution
Bringing solutions, tech evolution
Neural networks, learning so fast
The future is now, the die has been cast
Verse 2:
Customizable, flexible, adapt with ease
Lollms got the tools to do as you please
Language models, chatbots galore
Pushing boundaries, opening new doors
(Repeat Chorus)
Verse 3:
From Paris to Tokyo, global connection
Lollms community, no need for correction
Ethical AI, that's how we roll
Empowering humans, that's the ultimate goal
(Repeat Chorus)
Outro:
Lollms and AI, hand in hand
Shaping tomorrow, across every land
The revolution's here, it's time to join in
With Lollms leading, everyone can win
"""
title = "Digital Revolution (Lollms AI Flow)"
result = open_and_fill_suno(song_description, lyrics, title)
print(result)