atarionline.pl POKEY - nowe dźwięki? - Forum Atarum

    Jeśli chcesz wziąć udział w dyskusjach na forum - zaloguj się. Jeżeli nie masz loginu - poproś o członkostwo.

    • :
    • :

    Vanilla 1.1.4 jest produktem Lussumo. Więcej informacji: Dokumentacja, Forum.

      • 1: CommentAuthorantrykot
      • CommentTime30 Jan 2019 23:01 zmieniony
       
      Postanowiłem opublikować moje pokeyowe eksperymenty, bo inaczej pewnie by się zmarnowały.

      Programiki (w załączniku) odgrywają proste sekwencje dźwięków, używając technik, które, nie wiedzieć czemu, nie cieszą się dużą popularnością wśród muzyków atarowskich.

      Przeznaczone są dla systemu PAL (na NTSC będą grały zbyt szybko). Wyłącza się je za pomocą guzika RESET (lub przez odcięcie zasilania).

      UWAGA, badania naukowe dowodzą, że dźwięki POKEYA mogą uszkodzić słuch, dlatego nie należy słuchać zbyt głośno ani zbyt długo!

      UWAGA 2, kto wie, być może programy te mogą uszkodzić POKEYA, więc uruchamiacie na własne ryzyko!
      • 2: CommentAuthorpin
      • CommentTime30 Jan 2019 23:01
       
      dużo ciekawych efektów. W jakimś trackerze to robiłeś?
      • 3: CommentAuthorantrykot
      • CommentTime30 Jan 2019 23:01
       
      W żadnym, większość jest napisana w asemblerze, parę w C, jeden w Pascalu.
      • 4: CommentAuthorpin
      • CommentTime30 Jan 2019 23:01
       
      trochę się tego spodziewałem ;)
      • 5: CommentAuthorpin
      • CommentTime30 Jan 2019 23:01
       
      przy odsłuchu na real H/W strasznie upierdliwe jest to, że programy nie wracają do dos.
      • 6:
         
        CommentAuthorKaz
      • CommentTime30 Jan 2019 23:01 zmieniony
       
      Genialne! Niektóre rewelacyjne. A opublikujesz źródła?

      PS. Niektóre zgłaszają potrzebę włączenia stereo, gdy u mnie jest stereo włączone...
      • 7: CommentAuthorpin
      • CommentTime30 Jan 2019 23:01
       
      Musisz pogadać z Mono - są po prostu zakusy na nowy tracker na Atari (nie na PC! - ufff), bo efekty są faktycznie zadziwiające. Niektórych nigdy na POKEYu nie słyszałem.
      • 8: CommentAuthormono
      • CommentTime31 Jan 2019 00:01
       
      @antrykot: Mnóstwo tego. Dzięki! Zapowiada się ciekawy weekend :)
      @pin: Zakusy są, ale kiedy to się uda zrealizować i czy w ogóle tego nie wie nikt.
      • 9: CommentAuthorantrykot
      • CommentTime31 Jan 2019 01:01
       
      @Kaz, nie mam stereo, więc nie mogłem sprawdzić na prawdziwym sprzęcie, a w Altirzrze moje wykrywanie stereo działa.

      Źródła wrzucę jutro, to znaczy dzisiaj, ale za dnia.
      • 10: CommentAuthortatqoo
      • CommentTime31 Jan 2019 10:01
       
      hertel1 i hertel4 - jak to czysto brzmi :)
      • 11: CommentAuthormakary
      • CommentTime31 Jan 2019 11:01
       
      Dzięki za udostępnienie. Kawał dobrej roboty i inspiracji. Nie zmarnuje się.

      "Programiki (w załączniku) odgrywają proste sekwencje dźwięków, używając technik, które, nie wiedzieć czemu, nie cieszą się dużą popularnością wśród muzyków atarowskich."

      Muzycy mogą ich nie znać, mogą nie mieć narzędzi ułatwiających korzystanie z tych technik, mają swoje nawyki... Poza tym, od interesującego dźwięku do muzyki długa droga, która czasami okazuje się ślepą uliczką.
      • 12: CommentAuthortomaswoj
      • CommentTime31 Jan 2019 11:01
       
      @antrykot

      super paczka! parę naprawdę niezłych, zwłaszcza że eksploruje teraz temat udźwiękowienia prodki w ok. 200-220b :)
      • 13:
         
        CommentAuthormav
      • CommentTime31 Jan 2019 12:01
       
      sync-sweep2 bardzo kojarzy mi się z soundtrackiem z super hexagon.
      c64 już swojego ma, to może czas na Atari? ;)
      • 14: CommentAuthorxxl
      • CommentTime31 Jan 2019 14:01
       
      w kilku przypadkach... atari tak potrafi?

      :D
      • 15: CommentAuthortatqoo
      • CommentTime31 Jan 2019 14:01
       
      @xxl: od dłuższego czasu czekam na kogoś, kto nie wiedział, że się nie da i przyjdzie i pokaże, że jednak można wycisnąć coś jeszcze.

      Na mnie duuże wrażenie zrobiły: hertel1, hertel4, memories i ostatnie podrygi
      • 16: CommentAuthorrosomak
      • CommentTime31 Jan 2019 14:01
       
      chyba zainstaluję sobie emulator ...
      • 17: CommentAuthorantrykot
      • CommentTime31 Jan 2019 16:01
       
      Udostępniam źródła.

      I jeszcze wyjaśnienie, autorami oryginalnych melodii są:
      Giorgio Moroder - bass1, bass2, bass3
      Mikołaj Hertel - hertel1, hertel4
      George Fenton i Ken Freeman - memories (of the future)

      Resztę wymyśliłem sam.
      • 18: CommentAuthortebe
      • CommentTime1 Feb 2019 10:02 zmieniony
       
      dziękuję za UNIT POKEY :)

      masz wszelkie predyspozycje Antrykot aby napisać tracker korzystający z takich rozwiązań, może KK albo Epi mogliby pomóc, KK stworzył dla A2600 tracker, Epi jest autorem EnoTrackera ->link<-
      • 19: CommentAuthormakary
      • CommentTime1 Feb 2019 15:02
       
      święte słowa
      • 20: CommentAuthorantrykot
      • CommentTime2 Feb 2019 18:02 zmieniony
       
      POKEY jest dziwny i skomplikowany, niełatwo jest zaprojektować tracker, który będzie dawał pełną kontrolę nad POKEYEM, a zarazem będzie łatwy do zrozumienia dla użytkowników. Ja nie mam pomysłu jak to powinno wyglądać.

      Poza tym gdybym to ja napisał tracker, to byłyby to crosstracker działający w MS Windows.
      • 21:
         
        CommentAuthorbocianu
      • CommentTime2 Feb 2019 19:02
       
      @antrykot: to ja bardzo poproszę taki crosstracker :D bardzo.
      • 22: CommentAuthorxxl
      • CommentTime2 Feb 2019 19:02
       
      to jest dobry pomysl. porownaj ilosc utworow stworzonych na natywnych trackerach i na RMT od czasu powstania RMT :-)
      • 23:
         
        CommentAuthorCOR/ira4
      • CommentTime2 Feb 2019 21:02
       
      zajebongo , niektóre dźwięki jakby znajome ,inne nieznane , super :-) ,chętnie posłuchałbym więcej takich zestawień .
      • 24:
         
        CommentAuthorCyprian
      • CommentTime3 Feb 2019 00:02
       
      antrykot basy są naprawdę cacy.

      pwm też robi wrażenie.

      czekamy na trackera
      • 25:
         
        CommentAuthorpirx
      • CommentTime3 Feb 2019 12:02
       
      piękne, it's beautiful.

      co do trakera - pomogłeś mi z odpalaniem pokeya w pytongu (thxxx) bo właśnie wtedy zacząłem dłubać nowego trakkera opartego o rozdzielne programy, które mogłyby być całkiem oddzielnie developowane. szkieletem by był format songu zawierający wszystkie definicje dźwięków (bez tablic w playerze). miałoby to wyglądać jakoś tak:
      --- # pirx music tracker example
      notes: #[ pitch(AUDF), volume(AUDC && $0f,|distortion (AUDC && $F0)>>4 >|, |AUDCTL|]
      - C: [ [121, 15], [121, 10], [121, 9], [121, 8], [121, 7], [121, 3], [121, 0] ]
      - C#: [ [114, 15], [114, 10], [114, 9, 12], [114, 8, 10], [114, 7], [114, 3], [114, 0] ]
      - D: [ [108, 15], [108, 10], [108, 9], [108, 8], [108, 7], [108, 3], [108, 0] ]
      - D#: [ [102, 15], [102, 10], [102, 9], [102, 8], [102, 7], [102, 3], [102, 0] ]

      ---
      note_templates:
      - snd1: [[000, 15], [000, 10], [000, 9], [000, 8], [000, 7], [000, 3], [000, 0]]
      - snd2: [[000, 5, 12], [000, 10], [000, 15], [000, 10], [000, 5], [000, 3], [000, 0]]
      ---
      tracks:
      - track1:
      - name: vocal
      - speed: 4 #tick every 4 frames
      - type: one_channel
      - sounds: [ [C#], [D], [D, 10], [C], [D]]
      - track2:
      - name: percussion
      - speed: 2
      - type: one_channel
      - sounds [ [snd2, 121], [snd2, 114] ]
      ---
      songs:
      - song1:
      - name:
      - tracks: [ [track1, channel1], [track2, channel2, repeat]]


      To akurat yaml, bo ładniejszy niż json, ale to kwestia podrzędna, kluczowy pomysł polega na zdefiniowaniu każdej nuty jak "sampla", co by pozwoliło na dowolne sterowanie pokeyem. taki pierwotny zamysł pochodzi z uświadomienia sobie, że playery to w rzeczywistości dekompresory streamu bajtów (9/18 na frame) używające tablic na modłę deflate. cała reszta służy wyłącznie ułatwieniu muzykom grania.

      niestety za mało pałeru, żeby kontynuować.
      • 26: CommentAuthorpin
      • CommentTime3 Feb 2019 13:02
       
      no cóż, ja z kolei wyłącznie muzę piszę na Atari i na PC w tej materii się już nie przeniosę

      Mono - pisz trackera na Atari :)
      • 27: CommentAuthorpin
      • CommentTime3 Feb 2019 13:02
       
      @Antrykot - tak przy okazji, to efekty całkowicie poprawnie grają przy @20MHz ;)
      • 28: CommentAuthortebe
      • CommentTime4 Feb 2019 11:02
       
      czy problem z okiełznaniem POKEY-a nie wynika z tego że w zadanej ramce chcemy odegrać np. 4-y instrumenty które mają różne ustawienia dla AUDCTL ?

      można w jednym tracku używać naprzemiennie instrumentów 16 bit (dwa połączone kanały) z 8 bit (pojedyńcze kanały) ?

      czy AUDCTL nie wymaga ciągłości działania dla jakichś swoich ustawień, czy przełączanie go próbując odegrać np. kolejno 4-y instrumenty które "mieszają" w AUDCTL nie zniekształci dźwięku ?

      bo jeśli nie to droga do takiego strumieniowego playera stoi otworem, trzeba tylko wydzielić konkretny czas CPU do zapisu kolejnych rejestrów sprzętowych POKEY-a i wywoływać taki player z tym samym miejscu ramki
      • 29: CommentAuthorxxl
      • CommentTime4 Feb 2019 12:02
       
      z doswiadczenia wyniesionego z odgrywania muzy podczas I/O zmiana w AUDCTL moze i najczesciej spierniczy instrumenty :/ trzeba zachowywac pewne organiczenia, niestety. ale... moze czegos nie dopilnowalem.
      • 30: CommentAuthormakary
      • CommentTime6 Feb 2019 17:02
       
      @tebe: w trackerach (RMT, TMC, MPT) można naprzemiennie w jednym tracku korzystać z instrumentów 16 bit / 8 bit, można nawet naprzemiennie w jednym instrumencie z tego korzystać.

      Kolejno grające instrumenty, dość zróżnicowane pod kątem ustawień AUDCTL, nie powodują kłopotów. Kilkakrotnie RMT mi jakieś ustawienie AUDCTL 'zawiesił' i wpływało to na kolejny instrument, ale to wygadało mi na buga.

      Różne ustawienia AUDCTL mają różną 'siłę oddziaływania' - mogą wpłynąć na wszystkie kanały, na jeden, na dwa... Dla muzyka oznacza to, że musi sensownie 'dystrybuować' instrumenty po kanałach. Względnie ciągłe ustawienie to jest chyba 15 kHz / 64kHz, chociaż są muzycy, którzy eksperymentowali z szybkim przełączaniem dzielnika w trakcie grania.

      @xxl: z ciekawostek, kiedyś robiłem w TMC efekt PWM i odtrąbiłem szybko sukces, bo jak grałem klawiaturą Atari to efekt pięknie przebiegał. Tyle, że kiedy instrument był wywoływany z patternu to efekt ten stawał się nieprzewidywalny. Flip-flop się nie synchronizował i efekt (oraz mnie) trafiał szlag :D
      • 31:
         
        CommentAuthorhospes
      • CommentTime6 Feb 2019 19:02 zmieniony
       
      Jak już jesteśmy w tematach nowych dźwięków. Mi sie marzy odegranie takiego utworu z C64



      na Atari XE
      start od 7m55s.
      Cudowna gra z czasów Amigi;)
      • 32: CommentAuthortebe
      • CommentTime7 Feb 2019 08:02
       
      czy największym problemem z uzyskaniem ciekawych efektów na POKEY-u jest interfejs trackerów, który nie daje 100% kontroli nad wszystkimi kombinacjami ?

      najlepiej aby instrumenty były w postaci skryptów, jak antrykot-a przykłady, generujące strumień danych dla N-tej liczby wywołań ?
      • 33: CommentAuthorantrykot
      • CommentTime7 Feb 2019 11:02
       

      Kaz:

      PS. Niektóre zgłaszają potrzebę włączenia stereo, gdy u mnie jest stereo włączone...


      Czy komuś udało się uruchomić, przykłady: hertel1-bass.com, hertel1-echo2.com, hertel1-echo3.com na prawdziwym sprzęcie stereo?
      • 34: CommentAuthorantrykot
      • CommentTime7 Feb 2019 22:02 zmieniony
       

      pin:

      efekty całkowicie poprawnie grają przy @20MHz ;)

      To niemożliwe. Kilka efektów zależy od zapisu do rejestrów POKEYA z dokładnością do jednego cyklu. Np.: hf-pwm, hf-pwm-linked, memories, bass10b, bipolar-pwm. Sprawdzałem je w Altirze z zegarem 21.48 MHz i nie działały prawidłowo (bass10b nie działa nawet w 1.77 MHz, za to bass13 działa w 21.48 MHz, chyba przez przypadek).

      @pirx
      Której wersji Pythona używasz?
      • 35: CommentAuthorpin
      • CommentTime7 Feb 2019 23:02
       
      Sprawdzę na real hw o czym mowa.
      • 36: CommentAuthortebe
      • CommentTime8 Feb 2019 08:02
       
      Altirra działa trochę inaczej niż Rapidus który zwalnia do 1.7 MHz przy zapisie do rejestrów sprzętowych
      • 37: CommentAuthormakary
      • CommentTime8 Feb 2019 11:02
       
      Problemem z uzyskaniem ciekawych efektów, nawet jeżeli interfejs trackera da pełną kontrolę, może być po prostu brak / nikła znajomość technik uzyskiwania tych efektów. Architektura pokeya dla większości muzyków, jak podejrzewam, jest mało czytelna, tzn. jej cechy nie przekładają się w oczywisty sposób na ciekawe efekty.
      • 38:
         
        CommentAuthorpirx
      • CommentTime9 Feb 2019 02:02
       
      @antrykot python 3.6.6 aktualnie, generalnie 3.x ;]
      • 39: CommentAuthormakary
      • CommentTime21 Feb 2019 20:02
       
      @antrykot: jak robisz tego synca? W sensie wiem na czym w ogóle polega ten efekt, tyle że źródeł nie umiem czytać, ale może jakoś opisowo czy coś mógłbyś podprowadzić?
      • 40: CommentAuthorantrykot
      • CommentTime21 Feb 2019 22:02 zmieniony
       
      A o który sync ci chodzi? Tam jest wiele technik, które się opierają na jakimś syncu, np. pwm.

      Zakładam że chodzi o sync-sweep-1,2,3.

      A więc, na wstępie włączasz tryb dwutonowy z wymuszoną przerwą, tzn. wpisujesz 139 do SKCTL i tryb 15.6 kHz, czyli wpisujesz 1 do AUDCTL.

      Do AUDF2 wpisujesz liczbę n od której zależy wysokość dźwięku, przy czym n+1 musi być podzielne przez 5. To znaczy dozwolone są liczby: 254,249,244,239,234, itd... To niestety oznacza znaczną kwantyzację wysokości dźwięków, czyli POKEY fałszuje.

      Do AUDF1 wpisujesz liczbę m od której zależy barwa dźwięku, tym razem m+1 nie może być podzielne przez 5, używaj następujących liczb: 6,7,8,10,11,12,13,15,16,17,18,20,21,22,23,25,26,27,28,30,31,32,33,35,36,37,38. Większych lub mniejszych nie ma raczej sensu używać.

      Do AUDC1 wpisujesz $Cx gdzie x to amplituda właściwego dźwięku, a do AUDC2 $Ay gdzie y to amplituda suboscylatora, który gra przebiegiem kwadratowym oktawę niżej niż ten pierwszy.

      Generatory 3 i 4 (rejestry AUDF3, AUDC3, AUDF4, AUDC4) są wolne do twojej dyspozycji.
      • 41: CommentAuthorantrykot
      • CommentTime21 Feb 2019 22:02 zmieniony
       
      Odnośnie kwantyzacji wysokości dla tego brzmienia, to wygląda to tak jak na załączonym obrazku.
      • 42: CommentAuthortebe
      • CommentTime22 Feb 2019 11:02
       
      chyba tego brakuje dla POKEY-a / Atari XL-XE

      ->link<-
      • 43: CommentAuthormakary
      • CommentTime22 Feb 2019 20:02
       
      Dzięki Antrykot. Tak, o te dokładnie efekty mi chodziło. Po prostu tu na moje ucho blisko jest do konkretnego efektu, który przyjęło się nazywać 'sync' i uzyskiwanego w tradycyjnych syntezatorach. Przez ustawianie oscylatorów w trybie master / slave i modulowanie częstotliwości resetowania / retriggerowania slave'a.
      • 44: CommentAuthorZlew
      • CommentTime25 Feb 2019 07:02
       
      no i ta cala paczka efektow to jest czego pokejowi tyle brakowalo :D
      chociaz drzemie jeszcze potencjal w manipulowaniu wiecej niz 1 raz na ramke

      swoja droga, jak zrobiles tego ladnego sida w plikach hertel?
      • 45: CommentAuthorantrykot
      • CommentTime26 Feb 2019 18:02 zmieniony
       
      Makary, hertel4 i bass7,7b,7c też używają sync jak w tradycyjnym syntezatorze, tylko częstotliwość slave'a jest w stałej relacji do częstotliwości mastera (na tyle ile Pokey pozwala).

      Zlew, hertel1 używa tego co popularnie i błędnie nazywane jest filtrem górnoprzepustowym, ale z zegarem 1.77 MHz i 16-bitowymi timerami, co daje dużo większą precyzję niż zwykle. Wadą tego sposobu jest, że na Pokeyu nie da się już nic więcej zagrać w tym samym czasie.


      tebe:

      Altirra działa trochę inaczej niż Rapidus który zwalnia do 1.7 MHz przy zapisie do rejestrów sprzętowych

      Jak obrazki z RastaConvertera nie działają to moje procedury też nie.
      • 46: CommentAuthormakary
      • CommentTime26 Feb 2019 20:02 zmieniony
       
      'Filtrem' to chyba projektanci w dataszitach to ochrzcili i poszło w świat (niestety, bo nie ułatwia to pokumania co się dzieje w Pokey'u i korzystania z tego). Wydaje mi się, że zaprojektowali to z grubsza tak (przerzutnik i XOR), jak w tamtych czasach robiono budżetowo modulatory kołowe np. w Korgu MS-20 czy Arp Odyssey'u.
      • 47: CommentAuthorrosomak
      • CommentTime27 Feb 2019 07:02
       
      Możecie coś z tych dzwięków wrzucić na YT, nie mam nic na czym mógłbym odtworzyć je nawet EMU mi nie działa, a ten który jest na stronie nie istnieje, a ciekawość ogromna
      • 48:
         
        CommentAuthorKaz
      • CommentTime27 Feb 2019 12:02
       
      nawet EMU mi nie działa, a ten który jest na stronie nie istnieje,


      Co to znaczy, że emulator na stronie nie istnieje? Istnieje, da się ściągnąć i odtwarza co ma odtwarzać.
      • 49: CommentAuthortebe
      • CommentTime27 Feb 2019 15:02
       
      emulator samoczynnie powinien się zassać i zainstalować na najbliższym urządzeniu ;)
      • 50: CommentAuthormakary
      • CommentTime27 Feb 2019 18:02
       
      Antrykot, a ten programik / pokeyowe laboratorium, z którego skrinami kiedyś zajawiałeś, to myślisz wprowadzić na rynek ;) ?