[#31] Re: Muzyka AdLib (z platformy PC)

@Hexmage960, post #30

Udało się wyeksportować wszystkie instrumenty z pliku muzycznego Dune0.adl do plików z pojedynczymi instrumentami .ins.

Mogę też bez problemów utworzyć plik z bankiem .bnk.

Dźwięki brzmią bardzo dobrze.

Teraz zostaje napisanie programu, który wywoła funkcje biblioteczne klasy AdLibDriver - setupInstrument(), setupNote(), noteOn(), a następnie przekieruje bufor dźwięku do pliku w postaci 8-bitowego sampla (już AdPlug posiada redukcję z 16 bitów). Po czym opakowanie go w format IFF 8SVX.

Zdaję sobie sprawę, że synteza dźwięku to coś innego niż samplowanie, ale tutaj nie powinno słychać znaczącej różnicy. Ba, Amiga ma bardziej jakościowe wyjście dźwiękowe.

W kolejności zostaje odtworzenie zapisu nutowego z pliku Dune0.adl.

Ostatnia aktualizacja: 16.03.2026 20:18:04 przez Hexmage960
1
[#32] Re: Muzyka AdLib (z platformy PC)

@Hexmage960, post #31

Hej,

Kontynuując dokańczanie zadań na przykładzie niedawnej konwersji plików animacji WSA do formatu IFF ANIM na Amidze, udało mi się dokończyć zadanie konwersji muzyki ADL do pliku dźwiękowego IFF 8SVX, będące celem w tym wątku.

Wykonałem dokładnie to co zaplanowałem, ale użyłem metody load do załadowania pliku ADL, playSoundEffect do obrania numeru utworu, a następnie update do uruchomienia replayera i zapisania wynikowych danych dźwiękowych do wybranego bufora.

Wcześniej skonwertowałem dokumentację AdPlug w formacie texinfo do PDF i znalazłem tam m.in. fajny przykład.

Następnie użyłem programu SOX do zgrania pliku WAV i 8SVX. Tworzy on plik nieskompresowany. W planie mam kompresję 8SVX, czyli Fibonacci Delta przy wykorzystaniu istniejącego software (np. SampleE z Aminetu) lub poprzez napisanie własnego programu do tego celu.

Muzyka odgrywana jest na Amidze. Mały, 88 kB sampel z muzyką z Dune 2 pięknie odgrywa się w MultiView i DeliTracker. Natomiast duży sampel (500 kB) odgrywa się w DeliTracker bez problemów. Program rezerwuje niewielki bufor w pamięci CHIP (wystarczy np. 128 kB). MultiView tu nie testowałem.

Po naturalnej kompresji formatu 8SVX te pliki będą znacznie mniejsze. Udostępniam w tym momencie tylko jeden przykładowy plik z muzyką w obu formatach:

https://coreprogramming.pl/Dune2/Dune0_4.wav

https://coreprogramming.pl/Dune2/Dune0_4.8svx

Metody do nutek i instrumentów (setupInstrument, noteOn) są prywatne w klasie sterownika, ale oczywiście można je zamienić na publiczne z racji działania na kodzie źródłowym. Ale konwersja zapisu nutowego z instrumentami, celem stworzenia pliku wielokrotnie mniejszego jest już opcjonalna.

AdPlug wspiera format Protrackera, z jego budową modułową plików wynikowych, ale nie jestem pewien, czy potrafi skonwertować ADL do Protrackera. Z dokumentacji wynika, że ten Protracker jest zbliżony do Amigowej wersji. Efekty na nutach są podobne.

Podsumowując, mamy już WSA i ADL w formacie Amigowym IFF działające na Amidze. Pliki SHP, ICN, czy VOC są już prostsze. Czy będę szedł w to dalej to jeszcze nie wiem. Klon Dune 2 z PC chciałem kiedyś zrobić.

Wydaje się jednak, że zrobienie assetów od podstaw to też ciekawa opcja. Mam też na widoku oczywiście własne gry - w tym grę tekstową. Mam nadzieję, że będę dokańczać kolejne zadania.

Muzyka Franka Klepackiego jest dość specyficzna, ale kilka utworów ma swój klimat i wpada w ucho.
[#33] Re: Muzyka AdLib (z platformy PC)

@Hexmage960, post #32

Tutaj można odsłuchać skonwertowane przeze mnie utwory z Dune II z PC - w postaci WAV (wygodne z przeglądarki). Wszystkie sample są ośmiobitowe w jakości 22050 Hz, gotowe do zapisu w 8SVX i skompresowania.

https://coreprogramming.pl/Dune2/Dune1_7.wav
https://coreprogramming.pl/Dune2/Dune3_6.wav
https://coreprogramming.pl/Dune2/Dune5_6.wav
https://coreprogramming.pl/Dune2/Dune6_6.wav
https://coreprogramming.pl/Dune2/Dune7_6.wav
https://coreprogramming.pl/Dune2/Dune8_6.wav
https://coreprogramming.pl/Dune2/Dune11_7.wav
https://coreprogramming.pl/Dune2/Dune12_7.wav
https://coreprogramming.pl/Dune2/Dune13_7.wav
https://coreprogramming.pl/Dune2/Dune14_7.wav

Niektóre utwory są całkiem melodyjne. Jednak te kompozycje dla AdLiba są troszkę monotonne i odstają od standardów, tych dzisiejszych czy Amigowych.

No ale cieszę się, że udało się temat ogarnąć. A był to najtrudniejszy format do konwersji i adaptacji. Jeśli chodzi o zapis nutowy to chciałbym go jakoś odtworzyć i zapoznać się bliżej, ale raczej lepiej odpalić OctaMEDa lub Protrackera i coś samemu pokomponować, nawet na bazie odsłuchu z tych melodii.

Życzę miłego słuchania i pozdrawiam.

Ostatnia aktualizacja: 12.06.2026 07:25:17 przez Hexmage960
1
[#34] Re: Muzyka AdLib (z platformy PC)

@Hexmage960, post #30

Octamed 6

https://archive.org/details/octamed-6

Octamed 1

https://archive.org/details/octa-med-sound-studio-v-1


Ostatnia aktualizacja: 12.06.2026 07:41:26 przez Amig_OS
[#35] Re: Muzyka AdLib (z platformy PC)

@Amig_OS, post #34

Kontynuując wątek MIDI, który pojawił się w wątku kolegi Raybeeza, chciałem podzielić się informacjami, które udało mi się zebrać:

1. OctaMED Sound Studio dla Amigi ma wsparcie dla instrumentów syntezowanych (synth), czyli polegających na połączeniu wielu fal (waveform). Ma również tzw. instrumenty hybrydowe, czyli łączące instrumenty typu synth i samplowane dźwięki.

2. OctaMED ma oczywiście wsparcie też dla MIDI, dla szczęśliwych posiadaczy osprzętu muzycznego (lub kart dźwiękowych).

3. MIDI fajnie zostało opisane jako "cyfrowy język, który łączy aplikację i instrumenty muzyczne. Pozwala wysyłać wyłącznie nuty i efekty, zamiast samych dźwięków (danych dźwiękowych), dzięki czemu można zmieniać instrumenty, tonację, tempo i inne parametry później".

4. W skrócie MIDI zmniejsza znakomicie rozmiar przesyłanych danych dźwiękowych, ale wymaga instrumentów, by te dane wygenerować. (Zatem pod tym względem jest jak Tracker).

Wiadomo, cyfrowe przetwarzanie sygnałów pozwala też łączyć fale dźwiękowe, co robi właśnie syntezator.

Ciekawym jest jeszcze kilku rzeczy:

- Czy sampel 8SVX z muzyką można skompresować do rozsądnego rozmiaru, np. 512 kB zamiast kilku megabajtów.

- Czy ten zapis nutowy muzyki w formacie ADL (Uwaga: sam zapis nutowy, bez instrumentów) można rozsądnie skonwertować do MED, na 4 lub 8 kanałach z opcją MIDI wyłączoną.

- Czy te opcje "synth oraz hybrid sound" z punktu 1. są też dostępne w OctaMED Sound Studio bez MIDI.

Wbrew pozorom Amiga ma bardzo dobre możliwości dźwiękowe, które ładnie obrazuje Teijo Kinnunen, autor MEDa.

Odpowiedzi na te 3 pytania mogą być ciekawe. Sam jestem w stanie ustalić te odpowiedzi, ale muzykiem nie jestem. Pisząc gry na Amigę warto jednak mieć jakieś pojęcie o każdym aspekcie.

Projekt, który był tematem tego wątku został w zasadzie ukończony, ale zawsze można zbadać czy jest możliwa dalsza kompresja albo konwersja zapisu nutowego do modułu MED z uproszczeniami.

Troszkę myślę o tym by skonwertować pozostałe pliczki z Dune 2 z PC, w tym dźwięki mowy. Do tej pory skonwertowałem muzykę, duże obrazy i animacje (jak również grafikę z wersji amigowej - ale to dawniej). Taka praca z formatami idzie mi dość dobrze.

Ale staram się też troszkę twórczo podchodzić - z różnymi rezultatami. Raz jest lepiej, raz gorzej. Ale walczę.

Ostatnia aktualizacja: 14.09.2026 20:35:40 przez Hexmage960
[#36] Re: Muzyka AdLib (z platformy PC)

@Hexmage960, post #35

Czy sampel 8SVX z muzyką można skompresować do rozsądnego rozmiaru, np. 512 kB zamiast kilku megabajtów.
Oczywiście, że można. To tylko kwestia wymaganej przy dekompresji mocy obliczeniowej.
[#37] Re: Muzyka AdLib (z platformy PC)

@Krashan, post #36

Oczywiście, że można. To tylko kwestia wymaganej przy dekompresji mocy obliczeniowej.

W porządku. Po zastanowieniu zauważyłem, że można to zrobić na dwa sposoby:

1. Głównie mi zależy na tym, by muzyka zajmowała 512 kilobajtów lub mniej na dysku, a nie w pamięci. Tutaj sytuacja jest prostsza.

Muzyka jest zazwyczaj obszerna i w tym przypadku chodzi o to, by w archiwum zajmowała jak najmniej miejsca, szczególnie, gdy utworów jest więcej.

Dekompresja może odbywać się z pliku do pamięci FAST, i można przeznaczyć nawet 2-4 MB pamięci FAST RAM, jeżeli wynikowy sampel tego wymaga.

Nie jest tu wymagana dekompresja w czasie rzeczywistym. Można więc użyć algorytmu o wysokim stopniu kompresji.

Jeżeli muzyka mieści się w zaalokowanym bloku, wystarczy ją rozpakować raz, nawet jeśli troszkę to potrwa.

Następnie odgrywamy z pamięci, kopiując do bufora w CHIP RAM, np. paczkami po 128 kB danych dźwiękowych.

2. Drugi sposób, to dekompresja na bieżąco. Tutaj metoda kompresji musi być mniej złożona.

Można też połączyć oba sposoby. Trzymać na dysku wysoce skompresowane dane muzyczne, a przy odtwarzaniu zastosować algorytm o niskim stopniu kompresji, np. Fibonacci Delta, które jest w standardzie 8SVX.

Dzięki temu mniej pamięci FAST (jak również CHIP) będzie potrzebne na bufor i zadziała w praktyce na każdej Amidze, najlepiej z dostępną pamięcią FAST.

Myślę, że chyba warto zastosować w praktyce kompresję pliku z pakietu XPK, zaś przy odtwarzaniu algorytm Fibonacci Delta. Wygląda to na dobre rozwiązanie.

Nadal ciekawi mnie też zapis nutowy tej muzyki z Dune 2. Myślę, że warto podmienić instrumenty na Amigowe, bo to brzmienie AdLiba nie jest szczególnie atrakcyjne - ale to zadanie dla muzyka.

Sam Frank Klepacki poprawił swoją muzykę, jak również powstały remixy. Powyższa metoda zadziała z każdym tego typu utworem.

Ja się zająłem tym formatem ze względu na to, że konwertuję pliki z Dune 2.

Temat można uznać za rozwiązany, jako, że muzyka już jest skonwertowana oraz ta ustalona metoda ma zastosowanie do dowolnych plików z dźwiękiem.

P.S. Te pytania odnośnie MEDa pozostają, ale odpowiedź nie jest w tej chwili taka ważna. Pewnie to sprawdzę w wolnej chwili.

Ostatnia aktualizacja: 15.09.2026 18:39:38 przez Hexmage960
1
Na stronie www.PPA.pl, podobnie jak na wielu innych stronach internetowych, wykorzystywane są tzw. cookies (ciasteczka). Służą ona m.in. do tego, aby zalogować się na swoje konto, czy brać udział w ankietach. Ze względu na nowe regulacje prawne jesteśmy zobowiązani do poinformowania Cię o tym w wyraźniejszy niż dotychczas sposób. Dalsze korzystanie z naszej strony bez zmiany ustawień przeglądarki internetowej będzie oznaczać, że zgadzasz się na ich wykorzystywanie.
OK, rozumiem