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 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
     
    dużo ciekawych efektów. W jakimś trackerze to robiłeś?
    • 3: CommentAuthorantrykot
    • CommentTime30 Jan 2019
     
    W żadnym, większość jest napisana w asemblerze, parę w C, jeden w Pascalu.
    • 4: CommentAuthorpin
    • CommentTime30 Jan 2019
     
    trochę się tego spodziewałem ;)
    • 5: CommentAuthorpin
    • CommentTime30 Jan 2019
     
    przy odsłuchu na real H/W strasznie upierdliwe jest to, że programy nie wracają do dos.
    • 6:
       
      CommentAuthorKaz
    • CommentTime30 Jan 2019 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
     
    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
     
    @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
     
    @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
     
    hertel1 i hertel4 - jak to czysto brzmi :)
    • 11: CommentAuthormakary
    • CommentTime31 Jan 2019
     
    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
     
    @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
     
    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
     
    w kilku przypadkach... atari tak potrafi?

    :D
    • 15: CommentAuthortatqoo
    • CommentTime31 Jan 2019
     
    @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
     
    chyba zainstaluję sobie emulator ...
    • 17: CommentAuthorantrykot
    • CommentTime31 Jan 2019
     
    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 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
     
    święte słowa
    • 20: CommentAuthorantrykot
    • CommentTime2 Feb 2019 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
     
    @antrykot: to ja bardzo poproszę taki crosstracker :D bardzo.
    • 22: CommentAuthorxxl
    • CommentTime2 Feb 2019
     
    to jest dobry pomysl. porownaj ilosc utworow stworzonych na natywnych trackerach i na RMT od czasu powstania RMT :-)
    • 23:
       
      CommentAuthorIRATA4
    • CommentTime2 Feb 2019
     
    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
     
    antrykot basy są naprawdę cacy.

    pwm też robi wrażenie.

    czekamy na trackera
    • 25: CommentAuthorpirx
    • CommentTime3 Feb 2019
     
    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
     
    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
     
    @Antrykot - tak przy okazji, to efekty całkowicie poprawnie grają przy @20MHz ;)
    • 28: CommentAuthortebe
    • CommentTime4 Feb 2019
     
    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
     
    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
     
    @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 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
     
    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
     

    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 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
     
    Sprawdzę na real hw o czym mowa.
    • 36: CommentAuthortebe
    • CommentTime8 Feb 2019
     
    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
     
    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
     
    @antrykot python 3.6.6 aktualnie, generalnie 3.x ;]
    • 39: CommentAuthormakary
    • CommentTime23 godzin temu
     
    @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 godzin temu 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 godzin temu zmieniony
     
    Odnośnie kwantyzacji wysokości dla tego brzmienia, to wygląda to tak jak na załączonym obrazku.
    • 42: CommentAuthortebe
    • CommentTime8 godzin temu
     
    chyba tego brakuje dla POKEY-a / Atari XL-XE

    ->link<-