diff --git a/pbr-vision.adoc b/pbr-vision.adoc new file mode 100644 index 0000000..e13089a --- /dev/null +++ b/pbr-vision.adoc @@ -0,0 +1,130 @@ += Dokument wizji projektu Harmonia +:toc: +:author: Robert Bendun +:email: robben@st.amu.edu.pl +:revnumber: 0.1.0 +:revdate: 2023-10-25 +:nofooter: +// Polish translation, courtesy of Łukasz Dziedziul with updates via Matthew Blissett +:appendix-caption: Dodatek +:appendix-refsig: {appendix-caption} +:caution-caption: Uwaga +:chapter-signifier: Rozdział +:chapter-refsig: {chapter-signifier} +:example-caption: Przykład +:figure-caption: Rysunek +:important-caption: Ważne +:last-update-label: Ostatnio zmodyfikowany +ifdef::listing-caption[:listing-caption: Listing] +ifdef::manname-title[:manname-title: Nazwa] +:note-caption: Notka +:part-signifier: Część +:part-refsig: {part-signifier} +ifdef::preface-title[:preface-title: Wstęp] +:section-refsig: Sekcja +:table-caption: Tabela +:tip-caption: Sugestia +:toc-title: Spis treści +:untitled-label: Bez tytułu +:version-label: Wersja +:warning-caption: Ostrzeżenie + +== Historia wersji + +[cols="1,2,3,2"] +|=== +| Osoba | Data | Zmiany | Wersja + +| Robert Bendun | 2023-10-25 | Pierwszy zarys dokumentu | 0.1.0 +|=== + +Stosowane jest https://semver.org/lang/pl/::[wersjonowanie semantyczne] oraz format dat https://en.wikipedia.org/wiki/ISO_8601::[ISO 8601]. + +== Wymagania biznesowe + +=== Kontekst + +TODO: Wspomnieć o orkiestrze laptopowej Lambda Ensamble, Musique, jaką klasę utworów może wykonywać aktualnie orkiestra laptopowa. + +=== Cele biznesowe i kryteria sukcesu + +Celem Harmonii jest umożliwienie wykonywania utworów muzyki algorytmicznej przez orkiestry laptopowe. Utwory dedykowane do wykonywania w Harmoni posiadają następującą charakterystykę: + +- konieczność wykonywania zdarzeń muzycznych w sposób równoczesny przez wielu członków orkiestry laptopowej z niezaleznymi komputerami +- brak centralnej jednostki sterującej +- wykorzystanie warstwy sieciowej do dynamicznego tworzenia utworu + +Utwory posiadające jedną z cech powyżej nie są możliwe do satysfakcjonującego wykonania bez mechanizmu synchronizacyjnego. +Jest to kluczowa funkcjonalność oferowana przez Harmonię. + +Sukces można zdefiniować przez pomyślne wykorzystanie Harmonii w ramach działalności artystycznej orkiestry laptopowej Lambda Ensamble. + +=== Ryzyka + +- klasa utworów, których implementacja jest możliwa dzięki Harmonii jest na tyle mała, by móc pozostać artystycznie interesującą dla grupy docelowej +- wykorzystywanie dynamicznej warstwy sieciowej może mieć zbyt wysoki koszt implementacji w stosunku do dedykowanych rozszerzeń istniejących środowisk muzyki algorytmicznej +- brak integracji z istniejącymi środowiskami muzyki algorytmicznej zwiększa niszowość rozwiązania + +== Wizja rozwiązania + +=== Podstawowy zarys rozwiązania + +Harmonia jest muzycznym odtwarzaczem umożliwiającym interaktywne wykonywanie synchronicznych utworów muzyki algorytmicznej dla orkiestr laptopowych. + +=== Główne funkcjonalności + +==== Synchronizacja + +==== Webowy interfejs użytkownika + +==== Odtwarzacz + +==== Rozszerzalność + +=== Założenia i zależności + +== Zakres i ograniczenia + +=== Zakres kolejnych wydań + +[cols="1,2,2,2"] +|=== +| Funkcjonalność | Wydanie alpha | Wydanie beta | Wydanie pełne + +| Synchronizacja +a| +- synchronizacja startu utworu (i jego kolejnych fragmentów) +- synchronizacja lini czasowej odtwarzania (synchronizacja kolejnych momentów) +a| +- synchronizacja wielu ścieżek czasowych w ramach wspólnej sesji wykonywania utworu +| + +| Webowy interfejs użytkownika +a| +- podstawowy interfejs użytkownika +- monitorowanie podstawowych parametrów systemu +- uruchamianie odtwarzania +- konfiguracja odtwarzacza i dostarczanie plików audio +- konfigurowalne skróty klawiszowe przypisywane +a| +- przyjazny interfejs użytkownika +a| +- monitorowanie urządzeń w sieci + +| Odtwarzacz +a| +- odtwarzanie plików MIDI zgodnie z rytmem wyznaczanym przez mechanizm synchronizacji +a| +- odtwarzanie plików audio (WAV, Ogg) zgodnie z rytmem wyznaczanym przez mechanizm synchronizacji +| + +| Rozszerzalność +| +| +a| +- Proof-of-concept utwór z wykorzystaniem dodatkowych interakcji sieciowych poprzez środowisko +|=== + +=== Ograniczenia + +- zależność od infrastruktury sieciowej i jej możliwości