Spaces:
Sleeping
Sleeping
import streamlit as st | |
import streamlit_pianoroll | |
from datasets import load_dataset | |
from piano_dataset import PianoTasks | |
from fortepyan import MidiPiece | |
def main(): | |
st.write("# PIANO dataset task review") | |
available_tasks = PianoTasks.list_tasks() | |
task_name = st.selectbox( | |
label="Select PIANO task", | |
options=available_tasks, | |
) | |
piano_task = PianoTasks.get_task(task_name=task_name) | |
dataset = load_dataset("epr-labs/maestro-sustain-v2", split="test+validation") | |
record_idx = st.number_input( | |
label="Record ID", | |
min_value=0, | |
max_value=len(dataset) - 1, | |
value=123, | |
) | |
record = dataset[record_idx] | |
piece = MidiPiece.from_huggingface(record) | |
piece_split = piano_task.prompt_target_split(piece.df) | |
source_piece = MidiPiece(df=piece_split.source_df) | |
target_piece = MidiPiece(df=piece_split.target_df) | |
streamlit_pianoroll.from_fortepyan( | |
piece=source_piece, | |
secondary_piece=target_piece, | |
) | |
st.json(piece.source) | |
if __name__ == "__main__": | |
main() | |