Nowe brzmienia Atari! by Kaz 2019-08-01 00:33:14



W ostatnich latach kolega Paweł "Pavros" Rosowski, znany przede wszystkim z konwersji na Atari gry "International Karate+", tak dogłębnie zainteresował się tematem uzyskania na naszym komputerze dobrze brzmiących basów (dźwięków o niskiej częstotliwości), że wypracował nową metodę, a nawet kilka metod, ich uzyskiwania. A do tego odkrył ciekawe właściwości układu generowania dźwięku w Atari. Wspominał o tym, przyłapany przeze mnie na Pixel Heaven 2018:



Zgodni z tymi zapowiedziami, artykuł Pavrosa na ten temat pojawił się w szóstym numerze "Atari Fan", który to numer dopiero niedawno pojawił się na rynku. Praca Pavrosa ma charakter naukowego opracowania i w czasopiśmie zajmuje dwadzieścia stron (str. 32-52)! Mogliśmy go opublikować na AOL już w czerwcu 2018, bo Pavros podzielił się z nami tekstem, ale dżentelmeńska umowa między nami była taka, że najpierw artykuł pokaże się w atarowskim piśmie, koniecznie polskim, a dopiero potem w necie. Tak więc dopiero dzisiaj prezentujemy materiały od autora. Kto lubi mieć przed sobą tekst drukowany - odsyłamy do najnowszego "Atari Fana", a kto woli czytać na ekranie - zapraszamy do nas.

W największym skrócie: jak wszem i wobec wiadomo, w Atari mamy układ scalony POKEY, który między innymi służy do generowania dźwięku. Pozwala on uzyskać basy na kilka sposobów, w tym dzięki tak zwanemu "zniekształceniu C". Dzięki temu otrzymujemy "basy C", choć to tylko umowna nazwa, przyjęta z nomenklatury popularnego programu "Raster Music Tracker". Uzyskane w ten sposób basy mają miekką, ładną barwę. Problem z tym zniekształceniem jest taki, że zachowuje się niestabilnie, barwa i częstotliwość dźwięku ulegają zmianom w trakcie odtwarzania muzyki, co utrudnia lub uniemożliwia jego praktyczne wykorzystanie. I na tym kończy się wiedza powszechna.



Pavros przeanalizował POKEY-a na tyle dokładnie, że znalazł sposoby na stabilizację dźwięku, a do tego odkrył właściwości tego scalaka, które opisał jako "złotą" ścieżkę próbkowania, "złoty" kanał 3, a nawet sformułował zasadę zachowania ścieżki próbkowania. Udokumentowanie tych wszystkich właściwości i sposobów otwiera drogę do uzyskania nowych brzmień, pozwoli kolejnym eksperymentatorom na wydobycie z POKEY-a ciekawej muzyki, a programistom na stworzenie nowych narzędzi do dźwięków i muzyki.


Pavros na Wapniaku 2017


Autor napisał również kilka słów komentarza do załączonych materiałów "Niedawno zakończyłem pracę nad opisem wyników moich badań dotyczących zniekształcenia C POKEY-a. Oprócz zasad rządzących wytwarzaniem tego zniekształcenia opis zawiera też sposoby stabilizacji tzw. basów C. Problem ten był już poruszany na forach internetowych: Polycounter reset on Pokey oraz Pokey Question Distortion 12 Donkey Kong bass i tutaj.

Jako uzupełnienie opisu dołączony jest plik excelowy zawierający tablice czętotliwości/nut dla wszystkich zegarów POKEY-a. Dodałem też slajdy, które prezentowałem na WAPNIAK-u 2017 oraz program "Bass Tester", który pozwala pobawić się zniekształceniem C w praktyce. Program jest skompilowany w trzech wersjach różniących się metodą synchronizacji liczników - dwa warianty metody pierwszej i metoda druga. Program dostarczony jest wraz z kompletnym kodem źródłowym. Po uruchomieniu na ekranie wyświetlony jest opis klawiszy zmieniających różne ustawienia. Instrukcja zawarta jest też w slajdach. Jeśli uruchamiamy program pod Altirrą, to warto włączyć Audio Monitor by obserwować oscylogramy. Instrukcja nie wspomina o klawiszu 0, który włącza/wyłącza modulację dokładnego przesunięcia fazowego. Miłego czytania."


A wszystkie wspomniane przez autora materiały są do ściągnięcia tutaj
zbyti 2019-08-01 05:00:17

Ileż to ja czekałem na ten wpis! Dzięki :)

dhor 2019-08-01 09:23:46

Ja wiedziałem, że to tam gdzieś jest ukryte :) Teraz wystraczy tylko dopisać do tej teori trackera :)

Cyprian 2019-08-01 11:42:59

mam ten numer "Atari Fan". Bardzo dobry artykuł.
Fajnie by było by omawiane przykłady były dostępne gdzieś (np. youtube) do posłuchania.

Kaz 2019-08-01 16:37:45

Jeśli Pavros ma chęć, to takie materiały mogę umieścić również na naszym kanale, żeby zasięg był większy.

gorgh 2019-08-01 19:01:04

nie znam się na pokeyu w ogóle, ale chętnie próbkę nowych możliwości bym posłuchał

the fender 2019-08-01 19:13:36

podobnie jak przedmówca, próbkę nowych możliwości pokeya chętnie posłuchał bym.

mgr_inz_rafal 2019-08-01 22:01:25

Popieram :)
Fotki or it didn't happen :D

tdc 2019-08-01 22:03:23

Ciekawe tutaj jest to, że teraz można osiągnąć ładny bas na 8bitowym kanale, czyli mamy ładne basy na 4 kanałach! Do tej pory to było niemożliwe.

I tak oto Atari udowodniło, że jest najlepszym komputerem na świecie, a scena Atarowska również najlepsza! ;)

tdc 2019-08-01 22:21:16

Może jeszcze wyjaśnię tym co jeszcze nie czytali lub muzyką się nie zajmują:

Do tej pory łączyło się dwa kanały w jeden 16bitowy, aby osiągnąć ładne brzmienia (na Atari mamy 4 kanały 8bitowe, czyli mogliśmy dwa łączyć w jeden). W tym brzmienie basu było właśnie takim z ww przyczyn, które tego wymagało w sposób niemożliwy do zastąpienia (do tej pory!;) ).

To ograniczało muzykę na Atari do 1 podwójnego kanału i 2 pojedynczych (8bitowych). Czyli mieliśmy taką sytuację, że jeśli zależało nam na swobodzie i pełnej gamie dźwięków faktycznie mieliśmy do dyspozycji jedynie 3 kanały dźwiękowe - tak jak na Commodore 64 i ZX Spectrum z interfejsem AY.

Ale to już historia !;)

grey / mystic bytes 2019-08-01 23:16:32

Też poproszę o próbki na YT :) Skoro nawet Dhor odezwał się tutaj to temat wart jest uwagi.

alex 2019-08-02 00:43:46

Wszystko ładnie pięknie. Opóźnienia, synchronizacja... ale jak to się ma do zakresu częśtotliwości, a raczej ich dokładności? 8-bitowa rozdzielczość powoduje przekłamania w wyższych rejestrach tak, czy inaczej....

_rocky 2019-08-02 12:03:49

tdc: a mając dwa pokeye możemy mieć 4 kanały 16bit..

the fender 2019-08-03 11:49:44

Pomyśleć, co byłoby mając pokeyów 16 ... ;)

Dobra, pics or it didn't happen.

xxl 2019-08-03 13:30:00

widze prace Pavrosa jako dodatek do ksiazek wdawanych przez Duddiego.

spalenizna mi smierdzi 2019-08-04 18:16:07

pokey jak gra to pierdzi :)

pavros 2019-08-04 18:51:41

Dzięki xxl! To dla mnie komplement.
W kwestii przykładów brzmienia, to muszę przyznać, że brakuje mi czasu, aby przygotować coś sensownego. Ponadto, tu jest potrzebny utwór, który wykorzysta układ bas 8bit + 3 kanały, gdzie przynajmniej jeden gra z zegarem 64kHz. I nawet istnieją takie utwory - przygotowane przez niezmordowanego Mikera, ale trzeba dla nich przygotować spatchowany player RMT. Może znajdzie sie ktoś, kto ma wolne moce przerobowe i jest w stanie przerobić player RMT?

pavros 2019-08-05 23:05:34

Przygotowałem przykład basu. Jest on wycięty z muzyki do IK+. Plik xex znajdziecie pod linkiem: https://we.tl/t-EQOnDXMeiy . Trwa to dobre kilka minut i zapętla się. W przypadku odpalania na Altirze proponuję włączyć też Audio Monitor. Zachęcam też do pobawienia się bass testerem (basstest.xex w paczce dołączonej do newsa, instrukcja na slajdach też w paczce). W szczególności polecam sprawdzić płynną modulację fazy (włączanie przez klawisz "zero") przy co najmniej dwóch grających kanałach w połączeniu z pianinem i skalą chromatyczną (klawisz 9).

gorgh 2019-08-06 04:02:03

ooo pięknie

Adam 2019-08-07 00:26:47

@Pavros, kiedy można się spodziewać prezentacji efektów Twojej pracy na AtariAge? Pytam, bo tam już zaczęli dyskusję bez wersji angielskiej tekstu i mogą być przekłamania ;)

pavros 2019-08-07 20:43:49

@Adam, dzięki za zwrócenie uwagi na AA. Artykuł w wersji angielskiej istnieje również od roku :). Porozumiewam się z Krollem w tej sprawie.

Kaz 2019-08-10 17:47:04

Angielska wersja materiałów właśnie się pojawiła tutaj:
http://atarionline.pl/forum/comments.php?DiscussionID=4853&page=2#Comment_112329

Synthpopalooza 2019-09-01 05:31:12

I documented some other POKEY settings. $8x with 9-bot poly and 1.79 mhz produces buzzy tones in 7 step frequencies and these vary with the STIMER clock.

$4x distortion with 1.79 mhz clock also behaves like $Cx, frequencies can be in 3-divisors and the sound varies like in $cx. Does this method work here too?

Trachu 2019-09-02 11:58:46

Pavroz: Kiedy wreszcie skończysz IK+????????????!!!!!!!!!!!