
AURORA Music Workstation
Lokalna stacja muzyczna: synteza, sampler, DAW, sekwencer, notacja, OMR i modular lab.
- PROJECT
- LAB-034
- JĘZYK
- C++20 · CMAKE · NINJA
- SYNTEZA
- SUBTRACTIVE · FM · GRANULAR
- MODULAR
- 19 MODUŁÓW · 55 PATCHY
- TESTY
- 352 + 54 ASERCJE
- STATUS
- W TRAKCIE
- DATA
- 29 sierpnia 2026
Syntezator, sampler, DAW, sekwencer, edytor nutowy, rozpoznawanie nut ze skanu, mikser, efekty, lokalny kompozytor AI i laboratorium modularne w jednej aplikacji. Praca w 100% lokalna — bez chmury i bez abonamentów.
Rolka przesuwa się pod nieruchomą głowicą odtwarzania — dokładnie tak, jak w sekwencerze programu. Każdy prostokąt to jedna nuta: pozycja pozioma to moment w takcie, długość to czas trwania, wiersz to ścieżka instrumentu. Po prawej mierniki wysterowania skaczą osobno dla każdej ścieżki, bo mikser liczy wartość skuteczną i szczytową per ścieżka, nie sumarycznie.
PROBLEM
Praca z muzyką rozkłada się na kilka programów, z których każdy ma własny format i własny abonament: jeden do syntezy, drugi do nut, trzeci do miksu, czwarty do transkrypcji. Przenoszenie materiału między nimi zabiera więcej czasu niż sama muzyka.
POMYSŁ
Jedna aplikacja, w której nuty, dźwięk, patch modularny i miks są tym samym projektem. Wszystko lokalnie — także asystent AI, który proponuje wyłącznie strukturę w JSON, a nuty i dźwięk generuje już sama AURORA.
To ograniczenie ma konkretny powód. Model językowy nieźle radzi sobie ze strukturą utworu — formą, następstwem części, charakterem odcinków — a fatalnie z konkretnymi wysokościami dźwięków. Rozdzielenie tych dwóch ról daje wynik lepszy niż powierzenie modelowi całości.
PROJEKT
Rdzeń realtime obsługuje audio i MIDI. Nad nim: pełny silnik syntezy, sampler z automatycznym tworzeniem instrumentu z nagrania, rack efektów, sekwencer z pianorollem edytowalnym w trakcie odtwarzania, mikser z miernikami RMS i szczytu na ścieżkę oraz własny renderer notacji (klucze, tonacje, belki, łuki, pauzy, kasowniki).
Laboratorium modularne kompiluje graf poza wątkiem audio i podmienia go atomowo — sprzężenie zwrotne jest możliwe wyłącznie przez moduł opóźniający, co czyni pętle bezpiecznymi z definicji. Polifonia do 16 głosów w jednym kablu.
Ta jedna zasada — kompilacja poza wątkiem audio i atomowa podmiana — rozwiązuje problem, który wykłada większość amatorskich syntezatorów: zmiana patcha w trakcie grania powoduje trzask albo ciszę. Tutaj stan węzłów DSP przeżywa przebudowę grafu, więc patchować można na żywo.
REALIZACJA
Ukończone etapy 1–12, trzynasty (Modular Lab) gotowy w rdzeniu. Silnik kompozycji operuje harmonią funkcyjną z kadencjami, prowadzeniem głosów i motywem rozwijanym po łuku kulminacyjnym — ten sam seed daje ten sam utwór.
Doszły funkcje, których nie było w planie: Video Score dopasowujący tempo i formę do cięć montażowych w materiale wideo oraz transkrypcja audio→nuty (YIN, segmentacja, warstwy RAW/DETECTED/QUANTIZED, metronom, pre-roll, loop record).
Trójwarstwowy zapis transkrypcji (surowa detekcja, rozpoznane nuty, wersja skwantyzowana) pozwala cofnąć się do materiału źródłowego, gdy kwantyzacja zjadła rubato. Bez tej warstwy transkrypcja jest jednorazowa: albo trafiła, albo trzeba nagrywać od nowa.
Skanowanie nut oraz eksport i import MusicXML domykają obieg z programami zewnętrznymi — projekt zapisuje się we własnym formacie .aurora, ale nie zamyka w nim materiału.
EFEKT
Zakładka bibliotek rozpoznaje darmowe biblioteki instrumentów: te w formatach otwartych AURORA gra własnym samplerem, zamknięte steruje przez MIDI, dobierając keyswitche artykulacji oraz CC1 i CC11 automatycznie z zapisu nut. Testów: 352 asercje plus 54 dodatkowe i automatyczny test UI sprawdzający, że patch modularny naprawdę wydaje dźwięk.
WNIOSKI
Determinizm okazał się ważniejszy od bogactwa brzmień. Kompozycja, która przy tym samym ziarnie brzmi tak samo, daje się poprawiać; generator losowy za każdym razem inny — nie.
Drugą lekcją była kolejność prac: interfejs powstał po silniku, ale testy UI dopiero po interfejsie i to one wyłapały najwięcej regresji. Automat sprawdzający, że patch modularny naprawdę wydaje dźwięk, znalazł błędy, których nie widać w żadnym teście jednostkowym.


