] > Karol „Zal” Zalewski - Blog - http://blog.4zal.net/kategoria/hardware/commodore-c64/

GoatTracker: Podstawy

2009-04-09, Czwartek 18:41:26 +0200, autor Karol „Zal” Zalewski, licencja LPRCTKC

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.

Commodore C64: Wstęp do tworzenia muzyki

2009-04-05, Niedziela 12:35:37 +0200, autor Karol „Zal” Zalewski, licencja LPRCTKC

Jako, iż od niedawna interesuję się tworzeniem muzyki na legendarnym 8-bitowym mikrokomputerze, czyli Commodore C64, postanowiłem odszukać poradniki, podręczniki oraz narzędzia, które ułatwią mi realizację tego zadania. Okazuje się, iż pomimo upłynięcia 15 lat od zakończenia produkcji nadal jest on popularny pośród pewnej grupy osób, a znajdujący się w nim chip dźwiękowy o nazwie SID osiąga całkiem wysokie ceny ze względu na jego możliwości oraz niską dostępność na rynku. Oto, co posłuży mi do nauki tego, w jaki sposób można go wykorzystać do tworzenia muzyki:

  • tutorial z The New Dimension oraz rozdział 8 (rozpoczynającego się od linii 3588) podręcznika użytkownika C64 pozwolą na zapoznanie się z technikami sterowania SID-em oraz stworzenie pierwszego, prostego utworu,
  • VICE, czyli Versatile Commodore Emulator, wielosystemowy emulator m.in. C64, posłuży do uruchamiania obrazów dysków z demami oraz aplikacji do tworzenia muzyki przeznaczonych dla tego mikrokomputera,
  • obraz dyskietek w formacie D64 programów Demo Music Creator (wykorzystywanego w ww. turorialu) oraz The Great Giana Sisters, aby móc się odstresować i sprawdzić, czy działa generowanie dźwięku,
  • GoatTracker, czyli wielosystemowy tracker C64 będzie kolejnym krokiem podczas zabawy z muzyką na Commodore.

Mając taki zestaw oprogramowania i dokumentacji możemy się zabrać za stworzenie odpowiedniego stanowiska pracy. Zapraszam zatem do dalszej lektury.

Commodore Logo

Zaczniemy od instalacji VICE, którego zainstaluję na systemie operacyjnym Ubuntu 9.04. Ze względu na ograniczenia licencyjne paczki znajdujące się w repozytoriach dystrybucji Linuksa (Ubuntu, jak i wszystkich innych) nie posiadają istotnych obrazów ROM np. Commodore BASIC-a. Są one niezbędne do uruchomienia m.in. x64, czyli interesującej nas aplikacji do emulacji mikrokomputera Commodore C64. Niemniej jednak ograniczenie to nie dotyczy samego VICE - po instalacji wersji z paczek wystarczy ściągnąć tarballa z aktualnymi źródłami i np. przekopiować zawartość folderu /vice-2.x/data/ do ~/.vice/. Po takiej operacji emulator powinien się bezproblemowo uruchomić. W przypadku Windowsa można pobrać binarną wersję instalacyjną przeznaczoną dla niego bezpośrednio ze strony projektu VICE.

VICE ma całkiem spore możliwości i równie rozbudowane menu konfiguracyjne. Tuż po uruchomieniu programu x64 najprawdopodobniej będzie koniecznym wybranie odpowiedniego źródła dźwięku tak, aby móc usłyszeć to, co tworzymy. W przypadku Ubuntu i jego PulseAudio całkiem nieźle sprawdza się wybór ESD (Ustawienia->Ustawienia dźwięku->Sound device name). VICE bezproblemowo obsługuje popularny format D64, który służy do przechowywania obrazów dyskietek Commodore. Co ciekawe - w momencie, gdy są one spakowane ZIP-em to nie zachodzi konieczność ich rozpakowywania. Dobrym wstępem do zabawy z Commodore C64 będzie uruchomienie kultowej gry The Great Giana Sisters. Jak to zrobić, dowiecie się poniżej. Nim to jednak uczynicie polecam włączyć oraz skonfigurować klawiaturową emulację joysticków (Ustawienia->Ustawienia joysticków). Będzie zabawniej.

Niebieski ekran, który widzicie tuż po uruchomieniu x64 to wbudowany w C64 interpreter BASIC-a. Słówko "READY." oznacza, iż czeka on na Wasze polecenia. Ale jakie to będą komendy? Nie martwcie się, poniżej znajdują się podstawowe polecenia wykorzystywane podczas pracy z Commodore C64. Nim jednak przystąpicie do działania pamiętajcie, aby umieścić w wirtualnym napędzie (wirtualna stacja dyskietek 1582) obraz dyskietki (Plik->Włóż obraz dyskietki->Napęd #8) - dwuklik na pliku z obrazem załaduje go do wirtualnego napędu, a kliknięcie na nazwie programu, który pojawi się w okienku po prawej stronie okna wyboru plików po jednokrotnym kliknięciu w plik z obrazem, spowoduje uruchomienie na C64 konkretnego programu.

LOAD"*",8
RUN

Pierwsza komenda (LOAD) ładuje do pamięci pierwszy program ("*"), który znajduje się na dysku w stacji o numerze 8. Tak załadowany program (jego ładowanie może trochę potrwać) można uruchomić poleceniem RUN. Programy można też uruchomić przy pomocy polecenia LOAD"*",8,1 (nie jest wymagane późniejsze polecenie RUN), ale musimy mieć pewność, że to, co załadujemy jest programem.

LOAD"$",8
LIST

Powyższa komenda umożliwia załadowanie katalogu głównego ("$") z napędu 8 do pamięci mikrokomputera. Kolejna komenda listuje zawartość tego katalogu umożliwiając wybranie nazwy programu, który chcemy uruchomić. Robimy to tak, jak widoczne jest to powyżej.

Więcej komend można znaleźć na angielskiej Wikipedii oraz na C64-Wiki.

GoatTracker (powyżej widać CyberTrackera i próbkę jego możliwości) to wielosystemowy tracker Commodore C64 stworzony na licencji GPL. Z mojego punktu widzenia wydaje się być całkiem niezłym rozwiązaniem z tego względu, iż jest to jeden z nielicznych trackerów przeznaczonych dla C64, który działa poza środowiskiem C64 (sprzętowym, czy też emulowanym). Dzięki temu zapewnia on stosunkowo wygodny interfejs użytkownika z wykorzystaniem obecnych technologii, ale w duchu 8-bitowców.

Pamiętajcie, iż zarówno VICE oraz GoatTracker korzystają z silnika reSID, czyli programowego emulatora chipów SID. GoatTracker dodatkowo obsługuje karty dźwiękowe z SID-em na pokładzie, czyli np. popularne w środowisku miłośników C64 HardSID i Catweasel. Co ciekawe, umożliwia on eksport (importuje jedynie swój własny format SNG) stworzonych utworów do formatów SID, BIN oraz Commodore PRG, co pozostawia otwartą drogę w przyszłości do wykorzystania oryginalnego, "czysto sprzętowego" C64.

Na samo zakończenie, po uruchomieniu środowiska do zabawy z muzyką na Commodore, nie pozostaje nam nic innego, jak załadowanie na emulatorze ww. programu Demo Music Creator i rozpoczęcie lektury tutoriala z The New Dimension. W miarę mojej własnej nauki postaram się stworzyć własny poradnik przeznaczony od razu dla GoatTracker. Do tego czasu zapraszam do samodzielnej lektury ww. poradnika!

MOS Technology 6581/8580 SID & Google Summer of Code 2009

2009-04-04, Sobota 16:43:49 +0200, autor Karol „Zal” Zalewski, licencja LPRCTKC

Dlaczego nigdy nie byłem genialnym dzieckiem? Dlaczego zamiast ślęczeć nad Commodore C64 i pisać dema w BASIC-u, a później Assemblerze dla MOS 6510, zagrywałem się w Pirates! oraz The Great Giana Sisters? Teraz, gdy marzę o stworzeniu muzyki z wykorzystaniem SID-a, okazuje się, że te wszystkie lata spędzone nad grami będę musiał nadrobić.

Powoli zapoznaję się z interfejsem użytkownika trackera GoatTracker i wygląda na to, że bez podstaw teoretycznych oraz zapoznania się z samym SID-em nie mam co marzyć o napisaniu nawet najprostszego utworu. Sam podręcznik do C64 (HTML / ZIP-TXT) może być wystarczający do nauki, ale jeszcze nie jestem tego pewny.

Co do Google Summer of Code 2009 to wygląda na to, że szanse na akceptację mam niewielkie. Jest to jednak moja świadoma decyzja. Oto, czego chcę się podjąć:

  • Stworzenie klienta oraz trackera BitTorrenta w Tcl-u - jest to projekt przedstawiony grupie zajmującej się rozwojem narzędzi związanych z Tcl-em, a ma on na celu m.in. stworzenie Tcl-owych bindingów dla biblioteki napisanej w C (Rasterbar libtorrent), a następnie stworzenie na ich bazie aplikacji w Tcl/Tk,
  • Graficzna aplikacja do zarządzania serwerem MyServer - MyServer jest projektem rozwijanym w ramach GNU, a moim celem byłoby napisanie graficznej aplikacji w Pythonie/PyGTK (na bazie tego, co napisał do tej pory Ignacy Moryc) do jego konfiguracji.

Do ogłoszenia wyników (20 kwietnia) zostało jeszcze sporo czasu. Niemniej jednak, już teraz chciałbym przekazać kilka wskazówek dla uczestników przyszłych edycji GSoC. Oto i one...

Wybór organizacji. Lista organizacji, które dostają się do GSoC pojawia się na kilka dni przed możliwością aplikacji do GSoC. Należy jednak pamiętać, że przygotowania do GSoC trwają we wspomnianych organizacjach już na długo przed ukazaniem się ostatecznej listy zaakceptowanych grup. Warto zatem spojrzeć na dane z ubiegłych lat i sprawdzić, które z nich miały już okazję uczestniczyć w GSoC. Istnieje spora szansa na to, że w tym roku również się dostaną. Co do samego wyboru - wybór dużych organizacji mających wiele slotów (tj. mogących zaakceptować wielu studentów do GSoC) jest o tyle miły, iż zawsze znajdzie się coś, co daną organizację zainteresuje. Nawet jeżeli dany pomysł ma niski priorytet to jest duża szansa na to, że poświecą na to ten jeden slot - o ile oczywiście ich zainteresujemy. Problemem jest natomiast duża konkurencja (pod postacią wielu chętnych studentów) oraz konieczność znalezienia sobie mentora. W przypadku małych organizacji konkurencja jest zazwyczaj niewielka, ale... Rzadko kiedy można sobie pozwolić na wybór jakiegokolwiek tematu. Organizacje takie mają swoje listy priorytetów i często muszą wybierać, który z nich jest ważniejszy (na wszystkie i tak nie wystarczy slotów). Może to być spory problem, jeżeli napiszemy dobre zgłoszenie do GSoC, ale na projekt, który znajduje się na ostatnim miejscu na liście "ważnych spraw". Odpadamy wtedy jeszcze w przedbiegach.

Wybór projektu. Najczęściej na stronach danej organizacji można znaleźć listę projektów, które z chęcią rozdałyby w danym roku studentom uczestniczącym w GSoC. Oprócz krótkiego opisu znajduje się tam zazwyczaj namiar na potencjalnego mentora. To bardzo ważna informacja! Warto przeprowadzić wywiad na liście dyskusyjnej oraz bezpośrednio u mentora - sprawdzić, czy dany projekt jest organizacji bardzo potrzebny, czy też został on wprowadzony na listę "na doczepkę". Ocena tego, czy jest on postrzegany, jako trudny, czy też prosty bywa równie pomocna. Te pierwsze są zazwyczaj bardzo oblegane. Własny projekt również ma spore szanse na zaakceptowanie, o ile wcześniej zostanie odpowiednio dobrze obgadany na listach mailingowych organizacji oraz znajdą się osoby chętne pozostać mentorami.

Komunikacja z organizacją. Jak już wspomniałem - to niezwykle istotna sprawa. Im wcześniej, tym lepiej (nawet przed ogłoszeniem list zaakceptowanych jednostek). Warto pojawić się na listach mailingowych i w osobistych mailach do potencjalnych mentorów. Nie należy się bać ujawniania własnych pomysłów oraz pisania o tym, co się do tej pory zrobiło. Bycie komunikatywnym, pokazanie, iż jest się aktywnym i zainteresowanym projektem, bardzo pozytywnie wpływa na ocenę naszej osoby i znacząco zwiększa możliwość dostania się do GSoC. Przy okazji można poznać potrzeby danej organizacji, doszlifować pomysł na projekt, a nawet rozpocząć wybór narzędzi oraz potrzebnych do jego realizacji bibliotek/kodu itp.

Składanie aplikacji. Aplikacji można złożyć w sumie dwadzieścia, ale jest to fizycznie niemożliwe. Stawiamy na jakość, nie na ilość! Przed rozpoczęciem pisania należy zrealizować ww. punkty oraz zapoznać się z kodem do tej pory już napisanym. Nawet jeżeli popełnimy gdzieś błąd, ale z naszej aplikacji wynikać będzie, iż mamy pomysł na projekt oraz to, iż poświęciliśmy trochę czasu na zapoznanie się z tym, co do tej pory zostało już napisane, to mamy dużego plusa. Równie ważny jest szczegółowy harmonogram tego, kiedy i co mamy zamiar zrealizować wraz z celami, które chcemy osiągnąć. Tutaj wyjdzie nasza znajomość tematu oraz umiejętność zorganizowania sobie czasu. Pamiętajcie, aby wszystko, co piszecie było możliwe do realizacji. Nie obiecujmy złotych gór, ani nie sugerujmy, że napisanie połowy systemu operacyjnego zajmie nam zaledwie dwa dni. Jeżeli macie jakieś doświadczenie, jakiekolwiek, to też się nim pochwalcie. Musicie umieć sprzedać nie tylko swój pomysł, ale i samych siebie.

I najważniejsze - nie bać się pisać po angielsku! Należy pamiętać, iż większość mentorów nie wykorzystuje j. angielskiego, jako swego ojczystego języka. Nie będą zatem nikogo karcić za to, jak pisze po angielsku, o ile to, co pisze jest zrozumiałe. Wykazują oni najczęściej sporo dobrej woli i zrozumienia w tej kwestii - najważniejsze jest to, aby być komunikatywnym.

Mam nadzieję, że moje uwagi przydadzą się komuś w przyszłości. Ech... Co też się ze mną ostatnimi czasy dzieje. Nawet Earl Greya zacząłem z mlekiem pijać.

Muzyka inspirowana 8-bitowcami

2009-04-03, Piątek 01:39:06 +0200, autor Karol „Zal” Zalewski, licencja LPRCTKC

Ostatnio naszła mnie ochota na muzykę inspirowaną ośmiobitowcami. Jako, iż czasy Commodore wspominam z sentymentem, równie miło odebrałem twórczość Press Play On Tape (bitpop). Grają głównie motywy przewodnie z gier minionej epoki, niekiedy wykonane w bardzo interesujący sposób, czego dowodem jest wykonanie utworu z intra do Cannon Foddera. Wada? Tylko bardzo niewielką część własnej twórczości udostępniają za darmo.

Co innego ma miejsce w przypadku zespołu Machinae Supremacy. To, co tworzą mocno odbiega od tego, co można usłyszeć w przypadku Press Play On Tape. Niemniej jednak, jest to z pewnością muzyka na wysokim poziomie, tworzona na bazie 8-bitowych wspomnień i z użyciem legendarnego SID-a (wbudowanego obecnie w SidStation). Muzyka z wykopem! A do tego duża jej część jest dostępna za darmo - zarówno utwory stworzone do gry Jets'n'Guns, jak i niezwiązane z nią (boskie wykonanie utworu autorstwa Chrisa Huelsbecka do gry Gianna Sisters). Prawdziwy SID metal, który mogę polecić z ręką na sercu!

Jak się okazuje, wspomnianych gatunków muzyki można również posłuchać na Last.fm, czy też Jamendo. W przypadku tego pierwszego wystarczy posłużyć się tagami: bitpop, chiptune, demoscene, czy też 8-bit. Szkoda tylko, że słuchając muzyki w ten sposób można natknąć się na utwory, które posiadają cechy zarówno popu, rocka, jak i czystego techno. Zapewne nie opisuję tego najlepiej, ale słuchając łatwo wyczuć, co miałem na myśli.

Co do Jamendo to trzeba przyznać, iż poziom bywa mocno nierówny. Najlepiej sami oceńcie, słuchając np. utworów z albumu 8-bit lagerfeuer zespołu pornophonique. Zapraszam!

Należy też pamiętać, iż w Sieci nadal można spotkać sporo utworów będących wytworem demosceny. Najczęściej są towarzystwem dla animacji (perełek), ale nie jest to zasadą. Niestety, sam jeszcze nie orientuję się zbyt dobrze w tej dziedzinie, dlatego polecam samodzielne rozpoznanie. Jedyne, co mogę powiedzieć to to, iż naprawdę warto!

Od jakiegoś czasu zastanawiam się nad lepszym poznaniem linuksowych trackerów i syntezatorów. Mam ogromną ochotę na stworzenie nawet prostej muzyki, ale zrealizowanej w duchu ośmiobitowym. Może warto przeznaczyć na to trochę wolnego czasu?

A przy okazji zrobię rozpoznanie w grafice 3D i np. powalczę z POV-Rayem? Nie wiem, czy to kwestia lewoskrętnej tyroksyny, czy może nadchodzącej wiosny, ale mam ochotę tworzyć - kod, muzykę, czy też grafikę. Cokolwiek, byleby się samorealizować.

Commodore C64

2008-09-15, Poniedziałek 10:20:03 +0200, autor Karol „Zal” Zalewski, licencja LPRCTKC

Udało nam się ostatnio z Psycholem dorwać aukcję na Allegro z Commodore C64. Uznaliśmy, że na całość złożymy się pół na pół, a sprzęt będzie świetny na różnego rodzaju imprezy studenckie ;-D I kupiliśmy!

Commodore C64 - jednostka centralna

Okazuje się, iż Psychol znalazł u siebie stację dysków 1541-II. Jeszcze tylko kabelek XE1541 do połączenia PC-ta ze stacją dysków C64 lub samym Commodore i możemy się brać za nagrywanie ROM-ów na dyski 5 i 1/4 cala. Tylko gdzie my je znajdziemy? :-D Może warto szarpnąć się na stację 1581?

Commodore C64 - całość

Zawsze można wrócić do kaset magnetofonowych i nagrywania metodą głośnik-mikrofon lub line in/line out.

A czy Wy pamiętacie swoją przygodę z C64? Pamiętacie River Raid, The Great Giana Sisters, North and South, Pirates, Boulderdash, Defender of the Crown czy też Ghosts 'n Goblins? :-D

Commodore C64 / SID

2007-11-26, Poniedziałek 10:58:47 +0100, autor Karol „Zal” Zalewski, licencja LPRCTKC

Ze względu na to, iż ostatnimi czasy fascynuję się muzyka tworzoną z wykorzystaniem chipa SID (na last.fm jest to głównie tag chiptune, a twórcami są m.in. Machinae Supremacy, czy też Press Play On Tape) postanowiłem zająć się samodzielnym jej tworzeniem. Pierwszym moim krokiem było ściągnięcie GoatTrackera, ale po pierwszym uruchomieniu doszedłem do wniosku, iż nie obejdzie się bez emulatora C64 pod nazwą Vice oraz książki Commodore C64 Programmer's Reference Guide. Bez znajomości podstaw funkcjonowania chipa muzycznego w C64 trudno cokolwiek stworzyć.

Teraz, w przerwach między studiowaniem, pisaniem projektu w Javie oraz chorowaniem, czytam ww. książkę - bajeczna lektura. Jednakże, gdy już mam wszystkiego dosyć, a zmęczenie nie pozwala na sprawniejsze działanie, zabieram się za grę z dawnych lat - The Great Giana Sisters (opis) z muzyką Chrisa Huelsbecka. Polecam!

|