Rooni's picture
Update app.py
1df2dd0
import gradio as gr
from transformers import AutoTokenizer, AutoModel
def generate_music(prompt, duration):
# Загрузка модели и токенизатора
tokenizer = AutoTokenizer.from_pretrained("facebook/musicgen-small")
model = AutoModel.from_pretrained("facebook/musicgen-small")
# Предобработка промпта
inputs = tokenizer(prompt, return_tensors="pt")
# Генерация музыки
# ВАЖНО: Вам нужно будет заменить этот код на код, который использует модель для генерации музыки
# Это может включать в себя использование метода generate модели и передачу необходимых параметров
output = model.generate(**inputs, max_length=int(duration*32*50)) # это предположение основано на частоте дискретизации 32kHz и 50Hz
# Возвращение сгенерированной музыки
# ВАЖНО: Вам нужно будет заменить этот код на код, который обрабатывает и визуализирует сгенерированную музыку
# Вам нужно будет преобразовать сгенерированный аудиофайл в формат, который может быть воспроизведен в браузере (обычно это WAV или MP3)
return output
# Создание интерфейса Gradio
iface = gr.Interface(
fn=generate_music,
inputs=[gr.inputs.Textbox(label="Prompt"), gr.inputs.Slider(minimum=5, maximum=350, step=1, default=30, label="Duration (seconds)")],
outputs=gr.outputs.Audio(type="auto", label="Generated Music")
)
iface.launch()