Main Menu
» General » ModFM
Recently updated topics
Recent comments
Oneliner
Maniac
wrzuce ponownie
[26.04.2025 20:54]
Maniac
Ok, przyszedł ale ja rzadko sprawdzam pocztę
[26.04.2025 20:54]
AceMan
Nie przyszedł email? Plik się nie dosłał, wrzuć jeszcze raz
[25.04.2025 10:42]
Maniac
AceMan uploadowałem jeszcze FBY "Pinked", gdzieś go zgubiłeś ;)
[22.04.2025 19:32]
muflonpl
pomyśleć że si tu zarejestrowałem 20 lat temu xD
[16.03.2025 23:00]
muflonpl
hello sukinsysny
[16.03.2025 22:59]
Maniac
a nie Barry Leitch ;)
[04.02.2025 15:49]
Maniac
Baz "Alicia" to Blair Zuppicich
[04.02.2025 15:48]
AceMan
Trzeba zezwolić na odtwarzanie dźwięku i "niebezpieczne połączenia" dla serwisu w ustawieniach :)
[02.12.2024 15:25]
Kilos
Player niestety nie hula u mnie na Chromie.
[08.11.2024 18:42]
muflonpl
Ciesze się że nadal działa stronka
[01.11.2024 21:07]
muflonpl
byłem*
[01.11.2024 21:07]
muflonpl
o dawno tu btlem
[01.11.2024 21:07]
lis6502
"preview"ajka wyrzuca randowy http 500, przepraszam za robienie śmietnika ;p
[18.09.2024 22:28]
lis6502
chalo, "preview
[18.09.2024 22:27]
rafamiga
Halo?
[07.07.2024 14:48]
Maniac
1
[17.01.2024 20:14]
Maniac
Fasttracker ;)
[17.01.2024 20:14]
Maniac
Rage "Amiga" = Fastracker .mod
[17.01.2024 20:13]
AceMan
O, no to trochę zeszło
[28.12.2023 13:57]
» History
GoatTracker: Podstawy


Wstęp

Jak już jakiś czas temu wspomniałem o tym, iż postanowiłem przyjrzeć się możliwościom mikrokomputera Commodore C64 (i wbudowanemu w niego chipie SID) w zakresie możliwości tworzenia muzyki z jego wykorzystaniem. Jak się okazuje, muzyk chcący skorzystać z SID-a nie tylko musi się wykazać słuchem, ale również znajomością SID-a oraz technik jego programowania. Wykorzystanie odpowiedniego oprogramowania (tzw. trackerów) znacząco ułatwia pracę jednak większość z nich wymaga obecności przynajmniej emulatora Commodore C64. Nieco inaczej jest w przypadku GoatTrackera - najprawdopodobniej jedynego trackera przeznaczonego do pisania muzyki dla Commodore C64, który pracuje na komputerach typu PC pod systemami Windows/Linux/MacOS. Posiada jednak jedną podstawową wadę - został stworzony dla osób, które miały już doświadczenie z innymi trackerami i programowaniem chipa SID.

Jeżeli jednak chcielibyście tworzyć perliście brzmiącą muzykę rodem z 8-bitowców zapraszam Was do dalszej lektury. Poniżej znajduje się pierwsza część tworzonego przeze mnie poradnika, który wprowadzi Was w świat muzyki C64.

W niniejszej części poradnika opisuję pokrótce interfejs użytkownika GoatTrackera.

Interfejs użytkownika

GoatTracker

Powiększenie zrzutu ekranowego jest możliwe po kliknięciu na obrazek.

To, co widzicie powyżej to interfejs użytkownika GoatTrackera w wersji 2.x. Można się po nim poruszać zarówno myszą, jak i skrótami klawiaturowymi, niemniej jednak ja zakładam, iż domyślnie korzystać będziemy z klawiatury. Przed przystąpieniem do opisu interfejsu oraz funkcji z nim związanych proponuję wydrukować "zgapkę" udostępnioną przez Ravenspirala, a znajdującą się w archiwum GoatTrackera (plik o nazwie goat_tracker_commands.pdf) lub poniżej. Nie zaszkodzi też poczytać o specyfikacji C64 (w szczególności tej związanej z SID-em) oraz o samym chipie SID.

Sam interfejs celowo podzieliłem na 5 głównych części pomijając przy tym górne i dolne menu. Obecność tych ostatnich obecnie nie ma dla nas większego znaczenia. Między elementami znajdującymi się w ramach danej grupy poruszamy się korzystając z klawiszy strzałek. Chcąc przejść do innej grupy należy skorzystać z klawisza TAB. Pomoc, o której wspominam później, to F12, a wyjście z niej lub samego programu to ESC. Pamiętajcie, że ten sam klawisz, lub skrót klawiaturowy może się różnie zachowywać w zależności od grupy w której jest wykonywany, jednakże powyższe działają tak samo w całym programie.

Pattern editor

Ravenspiral GoatTracker Command Chart

Powiększenie "Ravenspiral GoatTracker Command Chart" jest możliwe po kliknięciu na obrazek.

Pierwsza część interfejsu to tzw. edytor wzorów (ang. pattern editor). Każda z trzech kolumn odpowiada jednemu z trzech kanałów, jakie obsługuje SID. Nim przejdziemy do ich opisu chciałbym zwrócić uwagę na klawisze F1 oraz F4, które umożliwiają rozpoczęcie odtwarzania załadowanego utworu od samego początku (F1) lub zakończenie odtwarzania (F4). Działają tutaj również klawisze F10 i F11. Pierwszy służy do załadowania pliku z muzyką (*.SNG) do programu. Drugi zaś do jego zapisu (również format *.SNG). Na dobry początek proponuję pobrać Goat Compo SID Pack i uruchomić dowolną z melodii. Zauważcie, że GoatTracker nie umożliwia odczytu plików *.SID, ale bezproblemowo radzi sobie z ich generowaniem (klawisz F9).

Kontynuując, wiemy już, iż SID obsługuje w tym samym momencie trzy kanały, co znajduje odzwierciedlenie w GoatTrackerze pod postacią trzech kolumn o nazwach CHN 1, CHN 2 oraz CHN 3. Po nazwach następuje napis PATT. wraz z szesnastkową liczbą (od 00 do CF) oznaczającą numer edytowanego wzorca. Wzorce są wspólne dla wszystkich kanałów, co oznacza, iż możemy stworzyć 207 wzorców, a nie 3 x 207. Numer edytowanego wzorca zmieniamy przy pomocy klawiszy < oraz >. Przejdźmy teraz do opisu pojedynczej kolumny.

Kolumna danego kanału składa się z trzech węższych kolumn. W pierwszej znajdują się liczby porządkowe. Najważniejsze dla nas (w przyszłości) będzie druga i trzecia kolumna. Druga kolumna oznacza grany dźwięk (instrument wybieramy klawiszami + oraz -, oktawę / i *, a dźwięk wstawiamy klawiszami opisanymi poniżej), zaś trzecia to 5 cyfr szesnastkowych będących tak właściwie połączeniem dwóch grup. Pierwsze dwie cyfry składają się na liczbę będącą numerem wykorzystywanego aktualnie instrumentu (są wypełniane automatycznie przy wstawianiu dźwięku). Trzy ostatnie to kod tzw. "track effect". Ich opis można znaleźć we wspomnianej "zgapce" - Ravenspiral GoatTracker Command Chart - w tabelce "Track effects".

Ravenspiral GoatTracker Command Chart

Powiększenie obrazka stworzonego przeze mnie jest możliwe poprzez kliknięcie na nim. Stworzony na bazie "Klawiatura komputerowa [online]. Wikipedia : wolna encyklopedia, 2009-03-11 01:10Z [dostęp: 2009-04-9 13:51Z]. Dostępny w Internecie"

Channel orderlist

Jak sama nazwa wskazuje jest to grupa w której to możemy przyporządkować kolejne wzory do kanałów. Każdy z trzech wierszy reprezentuje jeden kanał. Zmienna POS określa aktualną pozycję na której znajduje się kursor (licząc od początku utworu), a SUBTUNE to określenie aktualnej "podmelodii". Tak, dobrze rozumiecie, jeden plik może zawierać kilka utworów, o czym można się przekonać odtwarzając pliki SID związane z popularnymi grami na C64.

To właściwie wszystko, co obecnie musimy wiedzieć na temat tej grupy. Zainteresowanych zapraszam do pomocy GoatTrackera oraz kolejnej części poradnika.

Instrument

Trzecia grupa to jedna z dwóch interesujących nas obecnie grup. Wymaga nieco wiedzy na temat sposobu działania SID-a (np. ADSR), ale spokojnie - ze wszystkim sobie poradzimy. Odnośnie klawiatury - potrzebujemy + i - do zmiany instrumentów, spacji do testowania stworzonego instrumentu (zagranie nuty) i spacji połączonej z shiftem w celu wyłączenia testu.

ADSR (Attack, Decay, Sustain, Release)

Obrazek stworzony przeze mnie przedstawia model ADSR (Attack, Decay, Sustain, Release) wykorzystywany w syntezatorze SID.

To, co widzicie powyżej to model ADSR wykorzystywany przy programowaniu SID-a. Są to też pierwsze parametry, jakie można podać przy tworzeniu własnego instrumentu. Pierwsze pole dotyczy Attack/Decay i składa się z dwóch cyfr szesnastkowych (0...F) - lewa odpowiada za Attack (czas potrzebny do osiągnięcia maksymalnej głośności, im większa wartość tym wolniej), a prawa za Decay (czas od osiągnięcia maksymalnej głośności do normalnej). Drugie pole odpowiada za Sustain/Release i też składa się z dwóch cyfr - lewa odpowiada za Sustain (głośność dźwięku - od 0, czyli ciszy do najgłośniejszego poziomu, czyli F), a prawa za Release (podobne do Release - czas od osiągnięcia normalnej głośności do ciszy).

Wavetable Pos oznacza miejsce od którego rozpocznie się czytanie danych z Wavetable zawierającej informacje m.in. o typie wykorzystywanej fali. Wartość 00 wyłącza korzystanie z tejże tablicy, co jest równoznaczne z ciszą. Szerszy opis zamieszczę nieco dalej.

Pulsetable Pos wskazuje na miejsce w Pulsetable. Przy wartości 00 nie jest ona wykorzystywana. Dokładniejszy opis zamieszczę poniżej.

Filtertable Pos tak, jak i poprzednie opcje wskazuje na pozycję w Filtertable. 00 sprawia, iż nie jest ona wykorzystywana. Warto pamiętać, iż w tym samym czasie lepiej nie korzystać z instrumentu skojarzonego z filtrami na więcej, niż jednym kanale.

Vibrato Param to odnośnik do Speedtable, który określa zachowanie się efektu wibracji (częstotliwości i amplitudy).

Vibrato Delay to parametr, który wskazuje na to po jakim czasie od początku wygenerowania dźwięku pojawi się efekt wibracji. Wartość 00 oznacza, iż nie pojawi się w ogóle.

HR/Gate Timer określa na ile czasu przed zagraniem nuty nastąpi przechwycenie nuty, gateoff oraz twardy restart. Wartość ta uzależniona jest od obecnego tempa utworu i nie może być wyższa, niż TEMPO-1. Maska bitowa 80 wyłącza twardy restart, a maska 40 wyłącza gateoff. W obecnym momencie cytuję instrukcję GoatTrackera ze względu na to, iż jeszcze nie poznałem sposobu działania tego parametru.

1stFrame Wave określa typ fali (do odczytania ze "ściągi" z tabelki Wavetable), jaki zostanie użyty do wygenerowania nuty. Zazwyczaj 09 (gate + testbit). Wartości 00, FE oraz FF posiadają specjalne znaczenie - pozostawiają falę niezmienioną oraz dodatkowo włączają bramę (FE), wyłączają bramę (FF) i pozostawiają ją niezmienioną (00).

Wave, pulse, filter and speed tables

Czwarta grupa i cztery tablice. Tutaj zaczyna się najlepsza zabawa. Ich znajomość, przynajmniej częściowa jest niezbędna do stworzenia własnych instrumentów i wykorzystania ich we własnym utworze. W tym miejscu niezbędne jest również zajrzenie do Ravenspiral GoatTracker Command Chart lub do pomocy programu. Są one dostępne wyłącznie w anglojęzycznych wersjach, ale w najbliższym czasie postaram się dokonać ich spolszczenia.

Pierwszą i najważniejszą tablicą jest Wavetable wpływająca bezpośredni sposób na brzmienie instrumentów. Przy pomocy odpowiednich wartości (powstałych m.in. z nałożenia masek bitowych) jesteśmy w stanie zmieniać typ fali (fala trójkątna, piłokształtna, prostokątna i szum), wykonać skok do innego pola, czy też wykorzystać odpowiedni efekt. Informację o samej komendzie niesie druga kolumna (pierwszą jest liczba porządkowa). Trzecia zaś jest niejako uzupełnieniem drugiej niosąc informacje o tym, gdzie wykonać skok, jaki efekt wykorzystać, czy też o zmianie nuty.

Druga tablica - Pulsetable - umożliwia określenie szerokości impulsu i kroku modulacji.

Filtertable, jako trzecia tablica, oferuje możliwość konfiguracji i wyboru trybów filtrów (np. dolnoprzepustowy, górnoprzepustowy, czy też środkowozaporowy oraz konfiguracja rezonansu i przyporządkowania do kanałów).

Speedtable to czwarta tablica z danymi do której odnoszą się komendy odpowiedzialne za konfigurację vibrato, portamento i funktempo.

Info

W piątej grupie możemy podać nazwę utworu, autora i informację o prawach autorskich. Całość w celach informacyjnych zostanie zapisana w pliku *.SNG.

Pomoc

Więcej informacji na temat "klawiszologii" można pozyskać korzystając z klawisza F12, który wywołuje pomoc GoatTrackera. Jest to też świetne miejsce do osób, które już mają nieco doświadczenia w pracy z SID-em, a chcą przyzwyczaić się do pracy z ww. trackerem. Prawdziwa kopalnia wiedzy w połączeniu z "Ravenspiral GoatTracker Command Chart" umożliwiająca bezproblemowe tworzenie muzyki.

Ciąg dalszy nastąpi...

Życzę Wam powodzenia i mam nadzieję, że zajrzycie tutaj za jakiś czas w celu zapoznania się z kolejną częścią niniejszego poradnika! Jeżeli macie jakieś uwagi, porady lub nawet poprawki dot. tego, co napisałem piszcie śmiało. Sam dopiero zaznajamiam się ze światem Commodore C64 i z chęcią nauczę się czegoś od bardziej doświadczonych osób.

W kolejnej części nauczymy się tworzyć proste instrumenty. Postaram się też w przystępny sposób opisać funkcje, przy których opisie pożytkowałem się obecnie pomocą programu, oraz udostępnić polskojęzyczną wersję Ravenspiral GoatTracker Command Chart.



Karol „Zal” Zalewski, licencja CC BY-NC-SA 3.0
http://blog.4zal.net/

Log in

LOGIN:


PASSWORD:


Remember for 1 year

Logged users
Quick Search
 
TOP 10
Top Downloads
Recently Rated
pator rated Jungle
pator rated The Final Boss
pator rated Lupus Reditus
pator rated Notes!
pator rated Break Out
pator rated Skywards
pator rated Crystal Oscillator
SuperNoise rated Dawn Mosaic
Maniac rated Genetic MUd
Filippp (Urbanoiz) rated Crystal Oscillator
Recently added links
[ Rainkissed Memory ]
YouTube
[ OPM - We come in peace ]
Track @ Soundcloud
[ Bizarre Compression ]
Code of the algorithm
[ Celtic waves... ]
Original tune
[ Czaroziele ]
YouTube
[ Razzberry Cupcake ]
YouTube
[ New Mecca ]
YouTube
Stats
Modules:9260
Users:831
Downloads:6947282
Votes:53509
Comments:13438
Topics:322
Posts:4983
Articles:41
Fanpage
ModFM