Na początku, jako że to mój debiut na łamach AtariOnline, chciałbym się przywitać i przedstawić. Atarowcem jestem od bodaj 1990 roku, a moim "stałym" komputerem było 130XE ze stacją dysków CA2001. Dzięki temu komputerkowi zostałem programistą oraz... muzykiem. Bo właśnie za pomocą "Chaos Music Composera", "SoundTrackera" i "Automatu Perkusyjnego" tworzyłem pierwsze swoje utwory i udźwiękowiałem pisane przez siebie gry. Potem był jeszcze okres Atari 1040STFM i "Cubase 3.01". A potem... to już pecet. I tak zostało do tej pory, więc z Atari mogę się cieszyć jedynie w formie emulatora - ale dobre i to.
Jakiś czas temu poznałem cykl "Gramy na gazie" Larka i Borsuka, co nieco ożywiło moje wspomnienia i odświeżyłem sobie parę ulubionych gier ("Chuckie Egg", jee!), jednocześnie dochodząc do wniosku, że jednak refleks już nie ten, a i nerwy zawodzą. Postanowiłem jednak pozostać w klimatach Atari i przygotować zestaw coverów muzyczek z gier. Pierwsza była - chciałoby się napisać "oczywiście", "Lasermania", potem "Fred", "Jet Set Willy" i... dalej już poszło. Pełną playlistę możecie znaleźć na SoundCloud.
Tu jednak chciałbym mniej muzycznie, a bardziej technicznie nawiązać do sposobów realizacji takich coverów. Przygotowuję je na pececie, zwykle w programie "Cubase", do którego wejściem jest spreparowany plik MIDI. Skąd jednak wziąć plik MIDI z gry z Atari? Otóż jest sposób i o tym chciałbym opowiedzieć.
Być może część (albo i wszyscy) z Was znają stronę asma.atari.org, skąd pobrać można spore archiwum muzyki zripowanej z gier, w formacie SAP. I właśnie taką muzykę można skonwertować na format MIDI, w celu dalszego wykorzystania do przygotowania coveru (do bezpośredniego słuchania raczej to MIDI się nie nadaje). Poniżej znajdziecie opis, jak zrobić to samodzielnie, jednak dla osób chcących sobie oszczędzić roboty, istnieje gotowe archiwum ponad 5000 SAP-ów zamienionych na MIDI (uwaga, zmiana! Poprzednio był to plik około 48 MB wrzucony na serwer AtariOnline.pl, po poprawkach Gadesa to samo, ale lepiej ma 25MB).
SAP na MID
Aby dokonać takiej konwersji, potrzeba kilku składników:
pełnego pakietu ASAP (aktualnie w wersji 5.0.1), do pobrania ze strony projektu;
kompresora obsługującego format BZ2, na przykład popularnego 7-Zip;
Używam systemu Windows 10, więc wersje na ten system będę omawiał, jednak wszystkie omawiane programy da się znaleźć także w wersjach dla Maca i Linuksa, więc można próbować uruchamiania także tam. ASAP, 7-Zip i Pythona instalujemy, przy czym poprawność instalacji Pythona można sprawdzić, uruchamiając linię poleceń (cmd) i wpisując tam:
python -V
"V" koniecznie wielką literą. W odpowiedzi powinniśmy uzyskać coś w rodzaju:
Python 3.9.0
Na koniec pozostaje gdzieś umieścić plik konwertera, czyli pokey2midi.py - proponuję ten sam folder, w którym zainstalował się ASAP i są w nim pliki asapconv.exe oraz asapscan.exe. Teraz można już dokonać konwersji, nawet ręcznie. Wrzucamy do katalogu z asapscan.exe i pokey2midi.py plik SAP do konwersji. Trzeba następnie uruchomić asapscan.exe z parametrami, a ten utworzy nam plik tekstowy:
W efekcie powinniśmy otrzymać gotowy do dalszej obróbki plik MID.
Wiele SAP na wiele MID
Oczywiście, jeśli chcemy skonwertować tylko pojedynczy plik, to można to robić na piechotę, jeśli jednak planujemy więcej pracy w tym zakresie, warto przygotować sobie plik wsadowy i umieścić go w tym samym miejscu, co asapscan i konwerter: @set sap=%1.sap @set txt=samples\dump\con_%1.txt @set bz2=samples\dump\con_%1.txt.bz2 @set mid=samples\midi\con_%1.txt.mid
"c:\Program Files\asap\asapscan.exe" -d %sap% > %txt% "c:\Program Files\7-zip\7z.exe" a %bz2% %txt% del %txt% pokey2midi.py %bz2% %mid% copy %sap% samples\sap\con_%sap%
Naturalnie, odpowiednie ścieżki dostępu należy skorygować, jeśli u nas są inne. Jeśli plik wsadowy nazwiemy przykładowo convert.bat, to teraz konwersja będzie wyglądała tak, że wrzucamy (jak poprzednio) plik SAP i będąc w katalogu, gdzie mamy te wszystkie skrypty i pliki, wydajemy polecenie:
convert.bat nazwa_pliku_sap_ale_bez_rozszerzenia
Skrypt sam sobie doda rozszerzenie, a potrzebuje "czystej" nazwy pliku, żeby później ponazywać odpowiednio pliki wynikowe. Pliki wynikowe mają dodany prefiks "con_", bo zrobiłem tak, aby konwertowane pliki SAP były kopiowane w to miejsce, gdzie ASAP trzyma swoje pliki demonstracyjne i by można było łatwo rozpoznać te pliki, których używaliśmy.
Co dalej?
Tak spreparowane pliki MID są zaledwie punktem wyjścia do dalszej pracy, ponieważ - jak zapewne wiecie - muzycy na Atarynce często stosowali (i stosują pewnie po dziś dzień) różne sztuczki, typu łączenie dwóch generatorów w jeden, aby uzyskać pełniejszy dźwięk, mieszanie na jednym kanale różnych brzmień (na przykład raz gra bas, a raz perkusja) i tak dalej. Często dźwięki w pliku MID są poszatkowane (co ma pewnie odzwierciedlić efekt vibrato), więc pracy z ogarnianiem tego jest całkiem dużo. Dodatkowo, rzadko kiedy nuty są prawidłowo dopasowane do siatki taktów i trzeba sobie poszczególne klipy porozciągać albo pościskać. Jest z tym nieco zabawy, no ale nie może być za łatwo, prawda? Tak czy owak, jest to jakaś dodatkowa droga dla tych, którzy kochają te stare melodyjki i chcieliby przerobić je po swojemu, więc zachęcam do eksperymentów!
----- Tyle od Konrada, a ja zachęcam również do odwiedzenia jego bloga, poświęconego muzyce, na którym od czasu do czasu pojawiają się właśnie tematy związane z Atari. (Kaz)
----- I jeszcze krótki filmik dla leniwych, co tylko z YT słuchają muzyki. Pięć cover-ów Gadesa do posłuchania:
Witamy na pokładzie Gades! A pomysł z opisem konwersji SAP na MIDI super - daje podstawy do tego, jak się do tego zabrać, a na końcu... i tak liczą się indywidualne zdolności muzyczne, więc jest szansa na powstanie większej liczby ciekawych interpretacji atarowskich muzyczek.
mono @2020-11-07 01:08:55
Co, jak co, ale takiego artykułu na AtariOnline się nie spodziewałem :) Dzięki Gades! Przyda się to, bo temat MIDI jeszcze przed nami.
Dope @2020-11-07 01:29:29
Tak bardzo szanuję i za playlistę i za instrukcję konwersji. <3
Dzisiaj słucham tych coverów Gadesa na okrągło. Mam już kilka ulubionych. Na przykład Warhawk, Moutain Bike, Storm, Red Max... po prostu miodzio. Klasyki takie jak Fred czy Lasermania też świetne, ale te melodie już mi się trochę osłuchały, a te rzadziej cover-owane gry są tu świetnie przetworzone.
Jummaja - faktycznie, poprawione, dzięki za sygnał. Już da się ściągnąć całe archiwum, o którym mowa.
stRing @2020-11-07 10:56:31
Ciekaw jestem efektu aranżacji jednego z moich kawałków w Twoim wydaniu Gades. Kiedyś robiłem eksperymenty w FL studio ale nie do końca byłem zadowolony z efektu.
Konrad Gades Lesniak @2020-11-07 11:29:48
@Atarka - na peceta piszę głównie programy użytkowe i to dla korpo, więc raczej nieznane ;) Z popularniejszych popełniłem kiedyś kEDa (edytor HTML) i Zicco (taryfikator internetowy) :)
@stRing - ale o którym kawałku mówisz, masz ich w tym archiwum ponad 90! :)
stRing @2020-11-07 12:32:31
To może coś z konkursowych? Wybierz coś co Ci najłatwiej się zrobi z najlepszym efektem :)
Lub imo "gorsze": demozoo.org/music/165118/ demozoo.org/music/271796/
Służę źródłami jeśli trzeba.
stRing @2020-11-07 12:51:15
Z Fresh Meat'a też powinno się łatwo konwertować. demozoo.org/music/127875/
stRing @2020-11-07 12:55:15
Tylko że w tym linku powyżej FM jest nie wiedzieć czemu za szybko odgrywany, tu gra poprawnie. youtube.com/watch?v=I75-cz9-7eY
Konrad Gades Lesniak @2020-11-07 12:59:35
@stRing - no popatrzę, ale nie obiecuję niczego i raczej nie szybko, bo muzyką zajmuję się wyłącznie z doskoku i w tak zwanym wolnym czasie, z którym krucho :) ale jeden utwór zabrzmiał mi obiecująco, więc nie mówię "nie" ;)
stRing @2020-11-07 13:05:50
Super! Jestem ciekaw efektu. Oczywiście nic na siłę i nic na szybko.
Mq @2020-11-07 15:42:35
Gades robi kawał dobrej roboty i w tym słychać, że gość wie co robi i że to potrafi. O to chodziło mi jak się przyczepiałem do muzy w innych wątkach. Tu w przeciwieństwie do tamtych wspomnianych wątków słychać i pewien warsztat, i styl, i pracę nad każdym brzmieniem. Po prostu bierzcie Panowie przykład z Gadesa, bo muzyka to nie jest tylko matematyka na ekranie komputera. Brawo Gades, super muza.
gades @2020-11-07 16:05:08
@Mq - dziękuję za uznanie, ale jednak nie byłbym aż tak kategoryczny :) Muzyka to dość delikatna dziedzina i każdy tworzy ją tak, jak czuje - i bardzo dobrze, że są różne podejścia :) A ja jestem chyba ostatnią osobą, która powinna być komukolwiek stawiana za muzyczny wzór - no panie, ja tam jestem programista! ;)
Ale dziękuję wszystkim za słowa uznania i cieszę się, że te moje nagrania dają się słuchać :) Teraz bierzcie te skonwertowane MIDI i róbcie swoje aranże! :)
stRing - a z ciekawości: przecież Ty robiłeś współczesne dżingle ze swojej muzyki do gry Kolony2106. To znaczy, że potrafisz! Nie kusi Cię, by porobić trochę cover-ów własnych utworów?
stRing @2020-11-07 18:56:02
Tak nawet caly utwór. Ale to oficjalnie jednorazowy cover. Były jeszcze projekty związane z pewną sławną grą, ale póki co projekt jest w zawieszeniu. Ogólnie kusi ale czasu brak. Poza tym zawsze lepiej robi się coś nowego niż poprawia stare.
xxl @2020-11-07 22:19:43
swietny pomysl i wykonanie. wreszcie mamy ataroskie klaski (ogolnie fajny trend, inne platformy: youtube.com/watch?v=qlnrRRMBZhA )
MDW2 @2020-11-08 01:09:52
Gades, zepsułeś mi testament! Znów muszę iść do prawnika i zmienić zapis. ;) Na pewno tego nie wiesz więc wyjaśnię. Dawno temu zdecyowałem, że na moim pogrzebie mają być grane utwory z hitów z Atari XL/XE. Najpierw chciałem żeby to były oryginały ale potem pomyślałem, że "niekumaci" mogą to źle odebrać. Dlatego poszedłem na kompromis i zdecydowałem, że będą to remixy czy covery. No i gdy (dzięki Kazowi) przesłuchałem Twoją kolekcję Atarowych coverów na SoundClound to teraz mam wielki problem, bo nie wiem, które wybrać. Stypy nie będzie, a na pogrzebie poleca najwyżej dwa. Muszę coś wybrać.
Świetna robota! Siedzę, słucham i płaczę ze wzruszenia. :) Na pewno cały następny tydzień playlista będzie wałkowana 8 godzin dziennie. :) Już teraz zamiast iść spać to słucham...
Mariusz - ha ha, dobry motyw z testamentem :D. Ale w takim razie proponuję Ci jego modyfikację: a) załóż wątek z aktualnie wybranymi utworami, które mają być puszczane w czasie Twojego ostatniego pożegnania, b) zadeklaruj w testamencie link do tego wątku :D. Zaleta: będziesz mógł zmieniać utwory nie biegając do prawnika.
A wracając do tematu muzyki Gadesa - warto też posłuchać innych kawałków z jego profilu.
svoy @2020-11-08 10:22:07
wow, mega. Skojarzylo mi sie (niektore aranzacje) w pozytywnym sensie z takim japonskim elektronikiem (z lat 80tych) - Kitaro.
szacun!
gades @2020-11-08 10:27:08
@MDW2 - :D bardzo się cieszę, że Ci się podobają te moje przeróbki, nawet nie wiesz, jak to podbudowuje! :)
@Kaz - fajny filmik - Ty to specjalnie ogrywałeś, żeby mieć materiał wideo? :)
@svoy - o, dziękuję! Kitaro bardzo cenię i takie porównanie jest dla mnie nobilitujące! :)
Miało nie być szybko! ;) no ale żarty na bok. Fajnie to wyszło. Ciekawie wkomponowane motywy wokalne (+ ten "motyw wschodni" na początku, miodzio). Masz duże doświadczenie w tym co robisz. Szacun.
Gades @2020-11-08 13:23:19
@stRing, nie mogłem się powstrzymać i siedziałem pół nocy 😁
R.Dudek @2020-11-08 15:42:13
swietna robota, az nilo sie pracuje sluchajac tej muzyki
odislaw @2020-11-08 17:56:48
MIAZGA! Covery klasyków w klimatach jakie lubię. Gratulacje gades.
Gades - zobacz sobie jeszcze komentarze na YT, bardzo pozytywne recenzje zbierasz, gratulacje!
BaX @2020-11-09 21:37:07
A weź się Pan zajączkuj, teraz chodzę po domu, a muzyczka ze Storm-a za mną, w sumie może i ten koleś z nożem też bo boję się obejrzeć... ;)
gades @2020-11-10 08:22:53
@odislaw, @xeen - co mogę powiedzieć? dzięki! :) @Kaz - widziałem, widziałem - serce rośnie, serio :) @BaX - nic mi nie mów, mnie przez weekend prześladowała muzyka z "Siedmiu wspaniałych", aż w końcu też musiałem nagrać, żeby się odczepiła :D
Witamy Rafał na AOL, fajnie, że brat xxl-a też się wciągnął w klimat! (o ile to Ty).
LucaVB @2020-11-11 08:38:44
Hey, I'm the creator of POKEY2MIDI! Thanks for letting the word out about this, I'm happy to know others find it useful. :)
A few remarks:
- You don't really need to bzip2 the .txt dumps before conversion. I added that feature just to prevent the git repository from being huge with the sample dumps.
- You can mak MIDIs with the notes aligned to the bars! Here's how:
1) Run the script with the --findbpm option. It will convert to a MIDI file but in the process gives some estimated (super-precise) BPMs for the track.
2) If you check them manually (using a BPM tapping tool, search online for one) you can usually find the correct one.
3) Then you can run the script again with the --bpm option and specify the number it found previously (make sure to use the full precision!)
4) The resulting MIDI file should have everything aligned to the bars!
But this doesn't work if the track changes tempo throughout.
Anyway, if you guys have suggestions feel free to send a push request on github or contact me through Twitter or Reddit. Cheers!
It's great to hear the author's voice. Thanks for the supplementary information. I think they are important enough that I will create a thread about POKEY2MIDI and paste your post there.
Jeśli ktoś chce sobie zaoszczędzić czasu na dopasowywanie tempa, polecam ten sposób - wypróbowałem, działa :)
r.Dudek @2020-11-16 19:28:30
re: @Kaz.. tak Krzysiek to moj brat. Scisle rzecz ujmujac to xxl wciagnal mnie w Arati8bit ponad 30 lat temu... jako starszy brat mial wiekszy wplyw jaki komputer bedzie stal w domu .. a wracajac do wspolczesnosci to strone atarionline czytam czesto .. malo kiedy komentuje co nie znaczy ze nie czytam wnikliwie wszystkiego :D pozdrawiam.
r.Dudek - super, w takim razie pozdrowienia dla Ciebie i brata, fajnie, że w końcu komentujesz! Widziałem Twoje grafiki do okładek - zgrabne, powabne, dobrze narysowane. Widać rękę profesjonalisty :)
Panowie, aktualizacja pliku z plikami MIDI! Gades napisał:
"nie dawało mi spokoju to, co napisał autor konwertera pokey2midi, więc najpierw napisałem posta z opisem, jak jego porady wykorzystać do pojedynczych plików, a potem - jako że nadal mi to nie dawało spokoju - skonwertowałem te 5k plików jeszcze raz, z uwzględnieniem zdobytych informacji. Na dodatek udało mi się lepiej upakować te pliki, więc archiwum ma teraz 26MB:"