import pandas as pd
from pathlib import Path

# Конфигурация локальных путей
SOURCE_CSV = Path("../../dataset/DEAM/DEAM_Annotations/annotations/annotations averaged per song/song_level/static_annotations_averaged_songs_1_2000.csv")
OUTPUT_CSV = Path("../../dataset/DEAM/music_db.csv")

def prepare_deam_database():
    if not SOURCE_CSV.exists():
        print(f"Исходный файл аннотаций не найден: {SOURCE_CSV}")
        return

    print("Обработка разметки датасета DEAM...")
    
    # Загрузка сырых данных с очисткой артефактов форматирования
    raw_df = pd.read_csv(SOURCE_CSV, skipinitialspace=True)
    
    # Экстракция координат пространства Рассела (Valence/Arousal)
    processed_df = raw_df[['song_id', 'valence_mean', 'arousal_mean']].copy()
    processed_df.columns = ['song_id', 'valence', 'arousal']
    
    # Приведение идентификаторов к формату файловой системы (int)
    processed_df['song_id'] = processed_df['song_id'].astype(int)
    
    processed_df.to_csv(OUTPUT_CSV, index=False)
    
    print(f"База успешно сформирована. Всего записей: {len(processed_df)}")

if __name__ == "__main__":
    prepare_deam_database()