Dove6 / WIMU10

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

WIMU10 - Opracowanie nowych metryk do ewaluacji muzyki symbolicznej w formacie MIDI

Zespół w składzie:

  • Moroz Bartłomiej,
  • Motyka Jakub,
  • Sygocki Dawid,
  • Walczak Jan.

Design proposal Dokumentacja online

Raporty

Użytkowanie

Stworzenie wirtualnego środowiska i zainstalowanie zależności:

python -m venv .venv
.venv/Scripts/activate  # `Activate.ps1` jeżeli PowerShell, `activate.bat` jeżeli wiersz polecenia
python -m pip install -r requirements.txt

Uruchamianie skryptów:

.venv/Scripts/activate  # `Activate.ps1` jeżeli PowerShell, `activate.bat` jeżeli wiersz polecenia
python -m notebooks.<katalog>.<plik>

Pobieranie zbiorów danych MusPy:

.venv/Scripts/activate  # `Activate.ps1` jeżeli PowerShell, `activate.bat` jeżeli wiersz polecenia
python -m setup_dataset <nazwa>  # Nazwa zbioru danych małymi literami

Lokalne budowanie dokumentacji:

cd docs
make html  # Lub `.\make.bat html`, jeżeli Make nie jest zainstalowany (tylko Windows)

Struktura projektu

  • data/: Katalog na pobrane lub przetworzone zbiory danych,
  • docs/: Konfiguracja generatora dokumentacji Sphinx i pliki dokumentacji projektu,
    • api/: Dokumentacja API,
    • research/: Raporty z eksperymentów,
    • conf.py: Plik konfiguracyjny Sphinx,
    • DESIGN_PROPOSAL.md: Design proposal projektu,
  • images/: Katalog na rysunki i wykresy dołączane do dokumentacji,
  • notebooks/: Skrypty do eksperymentów,
    • chords_*: Pliki do metryk harmonicznych,
    • dynamics_*: Plik do metryk dynamicznych,
    • clamp/: Eksperyment o embeddingach CLaMP,
    • tokenizers/: Eksperyment o tokenizatorach MidiTok,
    • self_similarity/: Eksperyment o samopowtarzalności utworów,
  • tests/: Katalog na testy modułu i dane testowe,
  • wimu10/: Moduł zawierający funkcje do obliczania metryk.

Stopień zrealizowania harmonogramu

  • 23.10 - 27.10 - etap 1 ✔️: zgłoszenie propozycji rozwiązania, wstępna ogólna konfiguracja środowiska,
  • 30.10 - 03.11
    06.11 - 10.11
    13.11 - 17.11 20.11 - 24.11 - etap 2 ✔️: postęp analizy literaturowej, konfiguracja środowiska eksperymentalnego,
  • 27.11 - 01.12
    04.12 - 08.12
    11.12 - 15.12 - ✔️ implementacja metryk, wypróbowanie metryk dla zestawów danych,
  • 18.12 - 22.12
    03.01 - 05.01 - ⏳ analiza wyników metryk oraz ich porównanie wraz z wynikami innych metryk,
  • 08.01 - 12.01
    15.01 - 19.01 - ❌ sprawdzenie potencjalnych współzależności między metrykami naszymi a już istniejącymi,
  • 22.01 - 26.01 - ✔️ etap finałowy

Stopień zrealizowania zakresu (i późniejszych alternatyw)

  • Prototyp pierwszego etapu:
    • Badanie powtarzalności/samopodobieństwa utworu: ✔️,
  • Oryginalnie proponowane metryki:
    • wysokościowa/harmoniczna (przejścia akordów): ✔️,
    • rytmiczna (synkopy): ❌,
    • wysokościowa/harmoniczna (zmiany tonacji): ❌,
    • dynamiczna (zmiany głośności): ✔️,
    • agogiczna (zmiany tempa): ❌,
    • rytmiczna (zmiany metrum): ❌,
  • Później zaproponowane:
    • MIDI, ABC i model CLaMP:
      • Konwersja MIDI -> ABC: ✔️,
      • Otrzymanie/Zbadanie embeddingów: ✔️,
    • Porównanie tokenizatorów MidiTok: ✔️,
      • Ilościowe: ✔️,
      • Jakościowe: ❌,
      • Wydajnościowe: ✔️,
    • Zbadanie wpływu Byte Pair Encoding na tokenizatory: ✔️,
    • Sprawdzenie/Zastosowanie AquaTK: ❌,
    • Porównywanie zbiorów danych:
      • MAESTRO: ✔️,
      • MusicNet: ✔️.

About

License:MIT License


Languages

Language:Jupyter Notebook 89.5%Language:Python 10.3%Language:Makefile 0.2%