Zamówienie na stworzenie oprogramowania
Notice description
Powstaje w kontekście projektu:
FEPW.01.01-IP.01-0921/25 - AIP Drums. Wprowadzenie na rynek pierwszego na świecie elektrycznego zestawu perkusyjnego, łączącego analogową artykulację i ekspresję z cyfrową kontrolą i przetwarzaniem dźwięku w czasie rzeczywistym
Stworzenie oprogramowania firmware do obsługi perkusji AIP (Firmware Development). Przedmiotem zamówienia jest opracowanie, implementacja, uruchomienie, testowanie i udokumentowanie firmware oraz powiązanej warstwy software dla Procesora Perkusyjnego AIP.
Zakres obejmuje w szczególności:
stworzenie i implementację zoptymalizowanego kodu źródłowego w języku C/C++ do obsługi układu AIP Drums
przygotowanie firmware dla platformy sprzętowej opartej o procesor DSP Analog Devices SHARC / ADSP-SC598 SOM
obsługę podstawowych funkcji urządzenia, wejść/wyjść, komunikacji wewnętrznej oraz komunikacji z komputerem
opracowanie i integrację graficznego interfejsu użytkownika pozwalającego na kontrolę parametrów instrumentu
wykorzystanie frameworka JUCE przy tworzeniu warstwy software / GUI / aplikacji sterującej
implementację lub integrację algorytmów przetwarzania sygnału audio w czasie rzeczywistym
obsługę komunikacji USB
zarządzanie presetami, kalibracją i funkcjami diagnostycznymi
testy funkcjonalne, optymalizację wydajności, eliminację błędów i przygotowanie kodu do dalszego wdrożenia w produkcji seryjnej
Wymóg użycia frameworka JUCE
Zamawiający wymaga wykorzystania frameworka JUCE jako podstawowego środowiska dla warstwy software / GUI / aplikacji sterującej. Wykonawca powinien posiadać praktyczne doświadczenie w tworzeniu aplikacji audio w C++, pracy z JUCE, projektowaniu GUI dla aplikacji lub urządzeń audio, obsłudze parametrów audio, presetów i konfiguracji użytkownika, integracji GUI z warstwą DSP oraz przygotowywaniu aplikacji dla środowisk Windows i macOS. Zamawiający nie dopuszcza wykonania aplikacji sterującej w technologii, która utrudniałaby dalszą integrację z warstwą audio, DSP, firmware lub kodem C/C++.
Zakres techniczny
Zakres techniczny zamówienia obejmuje w szczególności:
przygotowanie firmware bazowego dla Procesora Perkusyjnego AIP
konfigurację podstawowych mechanizmów uruchomieniowych urządzenia
obsługę komunikacji wewnętrznej pomiędzy modułami urządzenia
obsługę elementów sterujących (przyciski, enkodery, inne elementy interfejsu użytkownika)
integrację wyświetlacza lub przygotowanie warstwy komunikacji z interfejsem graficznym urządzenia
przygotowanie logiki obsługi parametrów instrumentu, presetów, funkcji kalibracji i diagnostyki
obsługę komunikacji USB i współpracy z komputerami PC oraz macOS
integrację algorytmów DSP lub przygotowanie środowiska do ich wdrażania
przygotowanie aplikacji sterującej / GUI oraz pluginów w JUCE
optymalizację działania systemu pod kątem stabilności, niskiej latencji i pracy w czasie rzeczywistym
testy funkcjonalne i integracyjne, usunięcie błędów krytycznych i blokujących
przygotowanie kodu oraz dokumentacji do dalszego rozwoju produktu i wdrożenia produkcyjnego
Logika obsługi parametrów instrumentu
Logika obsługi parametrów Procesora Perkusyjnego AIP musi być projektowana jako skalowalna warstwa systemowa, uwzględniająca specyfikę platformy SHARC / ADSP-SC598 SOM, pracę w czasie rzeczywistym oraz wymagania systemu audio/DSP. Zakres obejmuje w szczególności:
opracowanie struktury parametrów (globalne, kanałów audio, modułów DSP, wejść/wyjść, użytkownika, presetów, diagnostyczne) dla minimum czterech niezależnych torów sygnałowych odpowiadających elementom zestawu AIP Drums 4CH
mapowanie parametrów użytkownika na wewnętrzne wartości robocze wykorzystywane przez algorytmy DSP
mechanizmy kontroli parametrów takich jak gain, input/output level, czułość, próg reakcji, dynamika, EQ, kompresja, nasycenie, poziom efektu, routing, panorama, wysyłki, charakterystyka reakcji instrumentu
warstwę pośrednią pomiędzy interfejsem użytkownika (GUI / aplikacja sterująca / panel) a silnikiem DSP
bezpieczną aktualizację parametrów w czasie rzeczywistym, bez artefaktów audio, trzasków, przerw w sygnale ani zakłóceń pracy toru audio
niską latencję (max 5 ms) oraz deterministyczną pracę systemu, z oddzieleniem logiki sterowania od krytycznej ścieżki przetwarzania próbek
wygładzanie zmian parametrów, rampowanie i interpolację zapobiegające skokowym zmianom wartości
obsługę trybów Basic i Advanced zgodnie z założeniami produktu AIP Drums
domyślne zakresy, jednostki, wartości min/max i startowe oraz walidację zabezpieczającą przed nieprawidłowymi ustawieniami
synchronizację parametrów pomiędzy firmware, aplikacją JUCE, panelem urządzenia i warstwą DSP
skalowalną strukturę umożliwiającą późniejsze dodawanie parametrów, modułów DSP, kanałów lub trybów pracy bez przebudowy architektury
współpracę rdzeni SHARC z rdzeniem systemowym, pamięcią zewnętrzną/wewnętrzną, buforami audio i komunikacją międzyprocesorową
zapis i odczyt parametrów w ramach presetów, przywracanie wartości domyślnych oraz obsługę błędów konfiguracji
warstwę komunikatów sterujących pomiędzy aplikacją a urządzeniem (USB lub inny zaakceptowany interfejs)
pracę urządzenia bez komputera po zapisaniu konfiguracji lokalnie
dokumentację struktury parametrów oraz testy funkcjonalne potwierdzające stabilność systemu przy dynamicznych zmianach ustawień
Zmiany ustawień muszą być natychmiast odczuwalne dla użytkownika, ale nie mogą powodować niestabilności dźwięku, opóźnień, artefaktów ani utraty naturalnej dynamiki gry.
Dostęp do materiałów, danych i infrastruktury firmy
Ze względu na poufny charakter projektu, ochronę know-how oraz prototypowy charakter urządzenia, część materiałów projektowych, dokumentacji technicznej, danych testowych, prototypów, schematów i wyników pomiarów może być udostępniana wyłącznie z wykorzystaniem infrastruktury Zamawiającego lub w środowisku przez niego wskazanym. Wykonawca powinien uwzględnić, że pełny dostęp do prototypów może być ograniczony, część danych nie będzie przekazywana poza zaakceptowane środowisko, a testy, uruchomienia, debugowanie i odbiory będą wymagać pracy z fizycznym urządzeniem na infrastrukturze Zamawiającego. Kopiowanie, wynoszenie lub przetwarzanie wybranych materiałów poza środowiskiem Zamawiającego może być niedopuszczalne. Wykonawca powinien przewidzieć pracę w trybie mieszanym i bezpośrednią współpracę techniczną z zespołem Zamawiającego.
Dokumentacja techniczna
Wykonawca przekaże dokumentację obejmującą co najmniej: opis architektury firmware/software, opis struktury projektu, instrukcję konfiguracji środowiska developerskiego, instrukcję kompilacji firmware oraz frameworka JUCE, opis komunikacji pomiędzy urządzeniem, GUI i warstwą DSP, opis obsługi parametrów, presetów, kalibracji i diagnostyki, opis zastosowanych bibliotek, narzędzi i zależności, opis procedur testowych, dokumentację odbiorową dla poszczególnych etapów oraz opis znanych ograniczeń i ryzyk technicznych. Dokumentacja musi umożliwiać Zamawiającemu lub wskazanemu przez niego wykonawcy dalszy rozwój projektu bez konieczności pozyskiwania wiedzy wyłącznie od pierwotnego Wykonawcy.
Kod źródłowy i pliki projektowe
Wykonawca przekaże Zamawiającemu pełny kod źródłowy firmware oraz aplikacji / GUI, pliki projektowe, konfiguracje kompilacji, pliki konfiguracyjne, dokumentację techniczną oraz instrukcję uruchomienia projektu na stanowisku developerskim. Zamawiający nie dopuszcza przekazania wyłącznie plików binarnych, wersji demonstracyjnych, zamkniętych modułów ani kodu, którego dalsza modyfikacja byłaby niemożliwa lub istotnie utrudniona.
Przeniesienie praw
Wykonawca przeniesie na Zamawiającego całość autorskich praw majątkowych do rezultatów prac, w tym do kodu źródłowego firmware i software / GUI, elementów interfejsu użytkownika, dokumentacji technicznej, materiałów testowych i odbiorowych oraz rozwiązań integracyjnych. Przeniesienie praw musi umożliwiać dalszy rozwój, modyfikację i wdrożenie. W przypadku wykorzystania bibliotek open-source, narzędzi firm trzecich lub elementów wymagających licencji, Wykonawca wskaże je, opisze warunki licencyjne i uzyska akceptację Zamawiającego.
Odbiór zamówienia
Odbiór realizowany jest etapowo po osiągnięciu rezultatów KM1, KM2 i KM3. Podstawą odbioru każdego etapu będzie: przedstawienie działającego rezultatu, demonstracja działania na prototypie lub w środowisku zaakceptowanym przez Zamawiającego, weryfikacja zgodności z zakresem etapu, przekazanie kodu źródłowego, plików projektowych i dokumentacji oraz usunięcie błędów krytycznych i blokujących dalszy rozwój. Samo przedstawienie deklaracji wykonania prac, makiet graficznych, materiałów poglądowych lub wersji demonstracyjnej niedającej się dalej rozwijać nie stanowi podstawy odbioru.
Kryterium oceny ofert
Kryterium oceny ofert: cena. Zamawiający zastrzega możliwość wezwania Wykonawcy do wyjaśnienia zakresu oferty, doświadczenia, przyjętych założeń technicznych, harmonogramu oraz sposobu spełnienia wymagań dotyczących JUCE, SHARC/ADSP-SC598, dokumentacji, przeniesienia praw i korzystania z infrastruktury Zamawiającego.
Informacje wymagane w ofercie
Oferta powinna zawierać: dane Wykonawcy, cenę netto i brutto, proponowany harmonogram realizacji, opis doświadczenia w projektach podobnych oraz w C/C++, DSP, embedded audio i JUCE, opis proponowanego sposobu realizacji zamówienia, potwierdzenie gotowości do korzystania z infrastruktury Zamawiającego (jeżeli niezbędne), potwierdzenie gotowości do przekazania pełnego kodu źródłowego, przygotowania dokumentacji technicznej oraz przeniesienia autorskich praw majątkowych, a także wskazanie ewentualnych komponentów zewnętrznych, bibliotek, licencji lub narzędzi.
Postanowienia końcowe
Przedmiot zamówienia ma charakter specjalistyczny i wymaga połączenia kompetencji sprzętowo-programowych. Rezultatem prac ma być rozwiązanie umożliwiające dalsze rozwijanie Procesora Perkusyjnego AIP w ramach produktu AIP Drums 4CH. Brak pełnego kodu źródłowego, brak dokumentacji, brak możliwości samodzielnej kompilacji lub ograniczenia licencyjne uniemożliwiające dalszy rozwój będą traktowane jako niespełnienie przedmiotu zamówienia.
Miejsce realizacji
Cała polska
FEPW.01.01-IP.01-0921/25 - AIP Drums. Wprowadzenie na rynek pierwszego na świecie elektrycznego zestawu perkusyjnego, łączącego analogową artykulację i ekspresję z cyfrową kontrolą i przetwarzaniem dźwięku w czasie rzeczywistym
Stworzenie oprogramowania firmware do obsługi perkusji AIP (Firmware Development). Przedmiotem zamówienia jest opracowanie, implementacja, uruchomienie, testowanie i udokumentowanie firmware oraz powiązanej warstwy software dla Procesora Perkusyjnego AIP.
Zakres obejmuje w szczególności:
stworzenie i implementację zoptymalizowanego kodu źródłowego w języku C/C++ do obsługi układu AIP Drums
przygotowanie firmware dla platformy sprzętowej opartej o procesor DSP Analog Devices SHARC / ADSP-SC598 SOM
obsługę podstawowych funkcji urządzenia, wejść/wyjść, komunikacji wewnętrznej oraz komunikacji z komputerem
opracowanie i integrację graficznego interfejsu użytkownika pozwalającego na kontrolę parametrów instrumentu
wykorzystanie frameworka JUCE przy tworzeniu warstwy software / GUI / aplikacji sterującej
implementację lub integrację algorytmów przetwarzania sygnału audio w czasie rzeczywistym
obsługę komunikacji USB
zarządzanie presetami, kalibracją i funkcjami diagnostycznymi
testy funkcjonalne, optymalizację wydajności, eliminację błędów i przygotowanie kodu do dalszego wdrożenia w produkcji seryjnej
Wymóg użycia frameworka JUCE
Zamawiający wymaga wykorzystania frameworka JUCE jako podstawowego środowiska dla warstwy software / GUI / aplikacji sterującej. Wykonawca powinien posiadać praktyczne doświadczenie w tworzeniu aplikacji audio w C++, pracy z JUCE, projektowaniu GUI dla aplikacji lub urządzeń audio, obsłudze parametrów audio, presetów i konfiguracji użytkownika, integracji GUI z warstwą DSP oraz przygotowywaniu aplikacji dla środowisk Windows i macOS. Zamawiający nie dopuszcza wykonania aplikacji sterującej w technologii, która utrudniałaby dalszą integrację z warstwą audio, DSP, firmware lub kodem C/C++.
Zakres techniczny
Zakres techniczny zamówienia obejmuje w szczególności:
przygotowanie firmware bazowego dla Procesora Perkusyjnego AIP
konfigurację podstawowych mechanizmów uruchomieniowych urządzenia
obsługę komunikacji wewnętrznej pomiędzy modułami urządzenia
obsługę elementów sterujących (przyciski, enkodery, inne elementy interfejsu użytkownika)
integrację wyświetlacza lub przygotowanie warstwy komunikacji z interfejsem graficznym urządzenia
przygotowanie logiki obsługi parametrów instrumentu, presetów, funkcji kalibracji i diagnostyki
obsługę komunikacji USB i współpracy z komputerami PC oraz macOS
integrację algorytmów DSP lub przygotowanie środowiska do ich wdrażania
przygotowanie aplikacji sterującej / GUI oraz pluginów w JUCE
optymalizację działania systemu pod kątem stabilności, niskiej latencji i pracy w czasie rzeczywistym
testy funkcjonalne i integracyjne, usunięcie błędów krytycznych i blokujących
przygotowanie kodu oraz dokumentacji do dalszego rozwoju produktu i wdrożenia produkcyjnego
Logika obsługi parametrów instrumentu
Logika obsługi parametrów Procesora Perkusyjnego AIP musi być projektowana jako skalowalna warstwa systemowa, uwzględniająca specyfikę platformy SHARC / ADSP-SC598 SOM, pracę w czasie rzeczywistym oraz wymagania systemu audio/DSP. Zakres obejmuje w szczególności:
opracowanie struktury parametrów (globalne, kanałów audio, modułów DSP, wejść/wyjść, użytkownika, presetów, diagnostyczne) dla minimum czterech niezależnych torów sygnałowych odpowiadających elementom zestawu AIP Drums 4CH
mapowanie parametrów użytkownika na wewnętrzne wartości robocze wykorzystywane przez algorytmy DSP
mechanizmy kontroli parametrów takich jak gain, input/output level, czułość, próg reakcji, dynamika, EQ, kompresja, nasycenie, poziom efektu, routing, panorama, wysyłki, charakterystyka reakcji instrumentu
warstwę pośrednią pomiędzy interfejsem użytkownika (GUI / aplikacja sterująca / panel) a silnikiem DSP
bezpieczną aktualizację parametrów w czasie rzeczywistym, bez artefaktów audio, trzasków, przerw w sygnale ani zakłóceń pracy toru audio
niską latencję (max 5 ms) oraz deterministyczną pracę systemu, z oddzieleniem logiki sterowania od krytycznej ścieżki przetwarzania próbek
wygładzanie zmian parametrów, rampowanie i interpolację zapobiegające skokowym zmianom wartości
obsługę trybów Basic i Advanced zgodnie z założeniami produktu AIP Drums
domyślne zakresy, jednostki, wartości min/max i startowe oraz walidację zabezpieczającą przed nieprawidłowymi ustawieniami
synchronizację parametrów pomiędzy firmware, aplikacją JUCE, panelem urządzenia i warstwą DSP
skalowalną strukturę umożliwiającą późniejsze dodawanie parametrów, modułów DSP, kanałów lub trybów pracy bez przebudowy architektury
współpracę rdzeni SHARC z rdzeniem systemowym, pamięcią zewnętrzną/wewnętrzną, buforami audio i komunikacją międzyprocesorową
zapis i odczyt parametrów w ramach presetów, przywracanie wartości domyślnych oraz obsługę błędów konfiguracji
warstwę komunikatów sterujących pomiędzy aplikacją a urządzeniem (USB lub inny zaakceptowany interfejs)
pracę urządzenia bez komputera po zapisaniu konfiguracji lokalnie
dokumentację struktury parametrów oraz testy funkcjonalne potwierdzające stabilność systemu przy dynamicznych zmianach ustawień
Zmiany ustawień muszą być natychmiast odczuwalne dla użytkownika, ale nie mogą powodować niestabilności dźwięku, opóźnień, artefaktów ani utraty naturalnej dynamiki gry.
Dostęp do materiałów, danych i infrastruktury firmy
Ze względu na poufny charakter projektu, ochronę know-how oraz prototypowy charakter urządzenia, część materiałów projektowych, dokumentacji technicznej, danych testowych, prototypów, schematów i wyników pomiarów może być udostępniana wyłącznie z wykorzystaniem infrastruktury Zamawiającego lub w środowisku przez niego wskazanym. Wykonawca powinien uwzględnić, że pełny dostęp do prototypów może być ograniczony, część danych nie będzie przekazywana poza zaakceptowane środowisko, a testy, uruchomienia, debugowanie i odbiory będą wymagać pracy z fizycznym urządzeniem na infrastrukturze Zamawiającego. Kopiowanie, wynoszenie lub przetwarzanie wybranych materiałów poza środowiskiem Zamawiającego może być niedopuszczalne. Wykonawca powinien przewidzieć pracę w trybie mieszanym i bezpośrednią współpracę techniczną z zespołem Zamawiającego.
Dokumentacja techniczna
Wykonawca przekaże dokumentację obejmującą co najmniej: opis architektury firmware/software, opis struktury projektu, instrukcję konfiguracji środowiska developerskiego, instrukcję kompilacji firmware oraz frameworka JUCE, opis komunikacji pomiędzy urządzeniem, GUI i warstwą DSP, opis obsługi parametrów, presetów, kalibracji i diagnostyki, opis zastosowanych bibliotek, narzędzi i zależności, opis procedur testowych, dokumentację odbiorową dla poszczególnych etapów oraz opis znanych ograniczeń i ryzyk technicznych. Dokumentacja musi umożliwiać Zamawiającemu lub wskazanemu przez niego wykonawcy dalszy rozwój projektu bez konieczności pozyskiwania wiedzy wyłącznie od pierwotnego Wykonawcy.
Kod źródłowy i pliki projektowe
Wykonawca przekaże Zamawiającemu pełny kod źródłowy firmware oraz aplikacji / GUI, pliki projektowe, konfiguracje kompilacji, pliki konfiguracyjne, dokumentację techniczną oraz instrukcję uruchomienia projektu na stanowisku developerskim. Zamawiający nie dopuszcza przekazania wyłącznie plików binarnych, wersji demonstracyjnych, zamkniętych modułów ani kodu, którego dalsza modyfikacja byłaby niemożliwa lub istotnie utrudniona.
Przeniesienie praw
Wykonawca przeniesie na Zamawiającego całość autorskich praw majątkowych do rezultatów prac, w tym do kodu źródłowego firmware i software / GUI, elementów interfejsu użytkownika, dokumentacji technicznej, materiałów testowych i odbiorowych oraz rozwiązań integracyjnych. Przeniesienie praw musi umożliwiać dalszy rozwój, modyfikację i wdrożenie. W przypadku wykorzystania bibliotek open-source, narzędzi firm trzecich lub elementów wymagających licencji, Wykonawca wskaże je, opisze warunki licencyjne i uzyska akceptację Zamawiającego.
Odbiór zamówienia
Odbiór realizowany jest etapowo po osiągnięciu rezultatów KM1, KM2 i KM3. Podstawą odbioru każdego etapu będzie: przedstawienie działającego rezultatu, demonstracja działania na prototypie lub w środowisku zaakceptowanym przez Zamawiającego, weryfikacja zgodności z zakresem etapu, przekazanie kodu źródłowego, plików projektowych i dokumentacji oraz usunięcie błędów krytycznych i blokujących dalszy rozwój. Samo przedstawienie deklaracji wykonania prac, makiet graficznych, materiałów poglądowych lub wersji demonstracyjnej niedającej się dalej rozwijać nie stanowi podstawy odbioru.
Kryterium oceny ofert
Kryterium oceny ofert: cena. Zamawiający zastrzega możliwość wezwania Wykonawcy do wyjaśnienia zakresu oferty, doświadczenia, przyjętych założeń technicznych, harmonogramu oraz sposobu spełnienia wymagań dotyczących JUCE, SHARC/ADSP-SC598, dokumentacji, przeniesienia praw i korzystania z infrastruktury Zamawiającego.
Informacje wymagane w ofercie
Oferta powinna zawierać: dane Wykonawcy, cenę netto i brutto, proponowany harmonogram realizacji, opis doświadczenia w projektach podobnych oraz w C/C++, DSP, embedded audio i JUCE, opis proponowanego sposobu realizacji zamówienia, potwierdzenie gotowości do korzystania z infrastruktury Zamawiającego (jeżeli niezbędne), potwierdzenie gotowości do przekazania pełnego kodu źródłowego, przygotowania dokumentacji technicznej oraz przeniesienia autorskich praw majątkowych, a także wskazanie ewentualnych komponentów zewnętrznych, bibliotek, licencji lub narzędzi.
Postanowienia końcowe
Przedmiot zamówienia ma charakter specjalistyczny i wymaga połączenia kompetencji sprzętowo-programowych. Rezultatem prac ma być rozwiązanie umożliwiające dalsze rozwijanie Procesora Perkusyjnego AIP w ramach produktu AIP Drums 4CH. Brak pełnego kodu źródłowego, brak dokumentacji, brak możliwości samodzielnej kompilacji lub ograniczenia licencyjne uniemożliwiające dalszy rozwój będą traktowane jako niespełnienie przedmiotu zamówienia.
Miejsce realizacji
Cała polska
Time limit for receipt of tenders
Wed May 13 21:59:59 GMT 2026
Location
Kraj: Polska
Category assortment
Software development
Buyer details
AIP Audio Innovations Platform Sp. z o.o.
Boruty 17 lok.4/3
15-157 Białystok
Województwo: podlaskie
Kraj: Polska
NIP: 9662201162
Boruty 17 lok.4/3
15-157 Białystok
Województwo: podlaskie
Kraj: Polska
NIP: 9662201162