atarionline.pl Atari przebiegi - ile? - 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.  
    Hej,
    Nie jestem specem od dźwięku, więc pewne kwestie ciężko mi zrozumieć. Ile różnych przebiegów dźwięku może wygenerować Atari? W jednym miejscu znalazłem, że szum i prostokątny. W Innym: ->link<- jest podane:

    POKEY has 6 waveforms:
    $0x - pink noise, can use 9-bit
    $2x triangle
    $4x - 5 plus 4 bit ... two iterations
    $8x - white noise, can use 9-bit
    $Ax - square wave
    $Cx - saw wave, 2 iterations

    Three clocks: 64 khz, 15 khz, 1.79 mhz

    Four filters:
    Hi pass (2 --> 0, 3 --> 1)
    16- bit (0 --> 1, 2 --> 3)
    Reverse 16-bit (1 --> 0, 3 --> 2)
    Two tone (1 --> 0)

    I teraz, czym jest tajemnicze "$4x - 5 plus 4 bit ... two iterations", bo jak widać czegoś brakuje?

    I czy mówienie o 4 filtrach nie jest trochę naciągane? Czy dobrze mi się zdaje, że jedynym prawdziwym filtrem jest hi pass (też nie jest to pełny analogowy filtr, wieć takim pseudo filtrem) a reszta jest trochę naciągana? Czy jednak te dodatkowe byście potraktowali też jako filtry i dlaczego?

    I na koniec o SIDdzie mówi się, że jest to cyfrowy sytezator z analogowymi filtrami (hybryda). Natomiast, czy dobrze się orientuje POKEY nie ma analogowych filtrów? Czy też należałoby go określić jako cyfrowy syntezator z analogwymi filtrami?
    • 2:
       
      CommentAuthorAlex
    • CommentTime24 Feb 2021
     
    Mało kto mi tutaj przyzna rację, ale parametrycznie SID wypada zdecydowanie lepiej. Przede wszystkim daje większe możliwości, nie fałszuje i bliżej mu do profesjonalnych syntezatorów :)

    Majstersztykiem ostatnio była muzyka i efekty z konwersji Super Mario Bros, które brzmiały jak oryginalny NES :)

    A w skrócie:
    - 3 tone generators (voices), frequency 0-4 kHz (16 Bit decomposition)
    - 4 forms of waves (sawtooth, triangle, rectangle pulse width modulation, (white) noise /rush)
    - 3 amplitude modulator, until 48 dB
    - 3 envelope generators
    - Synchronization of the oscillators
    - Ring modulation
    - Programmable filters (low pass, bandpass, high pass)
    - Master volume in 16 steps
    - Random generator
    - Audio input (cannot be used for sampling, but the signal can be routed through the SID filter)
    • 3:
       
      CommentAuthorpirx
    • CommentTime24 Feb 2021
     
    SID to prawdziwy syntezator w chipie, następna wersja poszła do kiborda Ensoniq ESQ-1 (kuuuurna, mogłem taki za $100 kupic, ale nie miałem $100 akurat :((((((( )
  2.  
    $4x and $Cx have two waveforms: mod 3 and non mod 3. In $Cx they are known as RMT C and RMT E. In $4x you use these with the 1.79 mhz clock but they work like $Cx
  3.  
    In the case of 16-bit ..

    It's normal usage lets you increase note resolution. But if you reverse it (play channel 0 and silence 1) it makes interesting effects. You can get 25% pulse wave in $Ax distortion and warbling guitars in $4x

    Two tone filter SKCTL=$8B also has interesting uses too.
  4.  
    AUDCTL=$61
    SKCTL=$8B

    0 - $Ax high pitched saw
    1 - silent
    2 - $2x bell @1.79
    3 - $Ax bass

    I will have .xex when I finish this. :)
    • 7:
       
      CommentAuthorCOR/ira4
    • CommentTime25 Feb 2021
     
    @Alex co do SIDa to w moim przypadku jego brzmienie na dłuższą metę jest takie same i męczące a przy Pokeyu takich odczuć nie mam.
  5.  
    Nadal jestem trochę zagubiony... Czy dobrze mówię, że POKEY ma standardowo szum i przebieg kwadratowy a dodając zniekształcenia można osiągnąć coś podobnego do piły, trójkąta?

    @Alex, czy POKEY też ma synchronizację oscylatorów? Wydaje mi się, że tak, ale z pewnymi ograniczeniami.
    • 9: CommentAuthorpyniek9999
    • CommentTime28 Feb 2021
     
    @Alex

    Jestem wychowany na Commodorku od VC-20,Ale jeśli chodzi o brzmienie,to Sid jest bardziej mięki niż Pokey.Pokey w moim odczuciu jest bardziej taki cyfrowy.I tak jak pisałeś wcześniej muza w konwersji Super Mariana jest super.I mam takie odczucie,że Pokey by nie wydolił(jego brzmienie jest za twarde).
    • 10: CommentAuthorrosomak
    • CommentTime28 Feb 2021
     
    Tak jak i Sid nie wydoli wielu brzmień czy kawałków z pokeya, to raczej normalne
  6.  
    Panowie, a odpowiedź na moje pytania? :P
    • 12: CommentAuthorpyniek9999
    • CommentTime28 Feb 2021
     
    @rosomak

    Zgadzam się z Tobą w 100%.Każdy układ ma swoje plusy i minusy(Nie chciałem rozpętywać żadnej g burzy) :)
    • 13: CommentAuthorpyniek9999
    • CommentTime28 Feb 2021
     
    @itguyinaction

    Znalazłem coś takiego ->link<-
    • 14:
       
      CommentAuthorpirx
    • CommentTime28 Feb 2021 zmieniony
     
    @itguyinaction może napisz, o co Ci chodzi, bo jak widać różne techniczne odpowiedzi, które dostajesz tu i na fb Cię nie satysfakcjonują.
    Pewnie chcesz zrobić jakieś porównanie w filmiku na swój kanał, ale to naprawdę ciężko porównać - na pewno SID od samego początku powstawał jako syntezator dźwięku, POKEY generuje dźwięki na sposób absolutnie nie-muzyczny, ale inżynieryjny i w pewnym sensie jest rozwinięcięm TIA z A2600. Przypuszczam, że podstawowym zadaniem POKEY'a było generowanie efektów dźwiękowych - przecież wczesne gry Atari nie miały muzyczek w ogóle!
    Przez te 30+ lat ludzie nauczyli się cuda z tych chipsetów wyciągać i jakieś zestawionko "tyle i tyle oktaw, filtry takie i śmakie" nie powie zupełnie nic o tym, co się da na tych chipach zagrać. Zobacz, dopiero kilka lat temu goście tacy jak makary i triace zaczęli na serio używać "audio clock" 15kHz, co otwarło nowy rozdział w basach :]

    poza tym to wszystko jest "moot point", bo już w latach 80. powstał Softsynth, który "generuje sample", w latach 90 playery mod'ów z Amigi a w dwutysięcznych emulator SIDa (demo Reditus Zelaxów), więc jak się ma czas procka to można na pokeyu zagrać "prawie wszystko".
    • 15: CommentAuthoritguyinaction
    • CommentTime28 Feb 2021 zmieniony
     
    @pyniek9999 dzięki, ale to dość ogólne.

    @pirx, przejrzałeś mnie. :) Poważniej cały czas nie dają mi do końca te przebiegi. Wiem, że w wielu miejscach pisze, że dwa: szum i prostokątny i finito. Ale cały czas nie daje mi spokoju wspomniany post, do którego dawałem linka. Pamiętam, że jeszcze w daaaaaawnych czasach, czyli ze 35 lat temu dorwałem jakąś książkę (teraz już za chiny nie mogę skojarzyć jaką, nawet szukałem w różnych tytułach, ale zupełnie nie mogę skojarzyć, może to był jakiś tytuł robiony prawie na ksero jak to w dawnych dziejach), gdzie dość dokładnie był opisany POKEY. W większości ksiąg jest zwykle napisane, że 10 i 14 przy zniekształceniach dla POKEY daje czysty dźwięk, a reszte eksperymentuj i koniec. A w tamtem publikacji było to opisane duuuuużo dokładniej. Pamiętam, że tłumaczono sposób działania tych zniekształceń i że dzięki temu można otrzymać inne przebiegi, nie idealne ale całkiem znośne. Były dwa rodzaje szumu to na pewno i kilka przebiegów. Instrukcja Altirry do której nawiązujesz też niewiele pisze. W zasadzie nie widzę nigdzie dokładnego opisu jak te różne zniekształcenia i różne dane wpisane do generowania zniekształceń wpływają na finalny przebieg. (A jeśli to gdzieś jest to podaj proszę dokładną stronę).

    Zresztą gdybyś mógł jasno odpisać, bo ciągle unikasz jasnej odpowiedzi, czy z POKEY po odpowiednim ustawieniu zniekształceń, da się uzyskać przebieg zbliżony do trójkątnego czy piły, czy też nie?

    Bo dla mnie sprzętowe możliwości POKEY to nie to jaki sygnał generuje jeden element (czyli szum i prostokątny), tylko co finalnie można otrzymać z całego układu (czyli po przejściu przez element dodający zniekształcenia).

    P.S. Tu jest jakiś niby emulator POKEY. Nie wiem na ile dobry, ale też podaje możliwość uzyskania wielu różnych przebiegów nie tylko tych dwóch ->link<- i jeszte tu ciekawa dyskusja ->link<-
    • 16: CommentAuthoritguyinaction
    • CommentTime28 Feb 2021 zmieniony
     
    @pirx, jeszcze może spróbujmy wspólnie przeanalizować tę instrukcję od altirry.

    Wydaje mi się, że kluczowy jest fragment ze strony 89-90:

    Waveform selection
    Bits 5-7 of AUDCx control the waveform used by the audio circuitry for a channel. This allows each channel to
    produce a flat level (no output), a square wave, or a more complex wave driven by the polynomial noise
    generators.
    Bit 5 selects either noise (0) or a square wave (1). When the square wave is enabled, each time the timer
    expires and the output circuitry is clocked, the output toggles, resulting in a square wave with a frequency half
    that of the timer. When noise is enabled, bit 6 selects either the 9/17-bit generator (0) or the 4-bit generator (1).
    Bit 7 controls the sampling mode. If it is set, the timer output directly clocks the output waveform. If it is cleared,
    however, the 5-bit generator masks out some of the clock pulses, omitting pulses that would cause the output to
    toggle or sample the 4/9/17-bit noise generators. This gives a rougher sound.
    Due to the short periods of most of the pseudorandom noise generators, it is possible to have undesirable
    interactions between the period of the countdown timer and the period of the noise generator. For instance, a
    channel using the 64KHz clock and an AUDFx value of $CC has a period of 5740 clocks. When used with the 4-
    bit noise generator, five different sounds can result because the 4-bit generator has a period of 15 and the timer
    period is divisible by 5, meaning that only three bits of the pattern are used. Exactly which three are used
    depends on when the sound is started. In a more extreme case, $D1 would produce no noise at all, because the
    period is 5880 clocks, which is divisible by 15 – meaning that it will always sample the same bit from the noise
    pattern

    Ja to rozumiem tak.

    Bit 5
    wartość 0 szum
    wartość 1 przebieg prostokątny

    ale dalej jeśli bit 5 = 0 to dwie opcje
    bit 6 ma
    wartość 0 generator 9/17 bitów
    wartość 1 generator 4-bitowy

    czyli mam już tak naprawdę dwa rodzaje szumów, ale instrukcja ich nie nazywa, wygląda na to, że tu chodzi zapewne o szum biały i różowy, niech mnie ktoś mądrzejszy poprawi. Tak by zresztą potwierdzały podane przez tego gościa wartości $0x i #8x. Pytanie jeszcze czy jakoś możemy wpływać na te generatory?

    Czyli póki co mamy już 3 możliwe przebiegi.

    Ale teraz mamy jeszcze bit 7.
    wartość 1 dźwięk idzie bez zmian, czyli prostokątny, co znów potwierdza podana przez tego gościa wartość $Ax
    wartość 0 i tu zaczyna się zabawa to dzwięk wynikający z tego co napisano wcześniej jest modyfikowany jakimś 5-bitowym generatorem maskującym. I generalnie instrukcja altirry za dużo o tym nie mówi. Czy te "maski" pozwalają jakoś zmodyfikować przebieg prostokątny by uzyskać coś więcej? Wspomiane w przytoczonym poście przebiegi trójkątny i piłokształtny? I czy tą maskę może jakoś zdefiniować programista?

    Z podanych wartości przez tego gościa wydaje się, że zabawa 0 w bicie 7 oraz bitem 4 (hi pass filter, też nie prawdziwy a oszukany pseudo filtr) pozwala właśnie na przebiegi trójkątny i piłokształtny. Jestem ciekawe czy tak jest. Pewnie nie są to idealne przebiegi, ale coś zbliżonego.
  7.  
    Here is my understanding ...

    $8x distortion samples a 17-bit pattern. This produces white noise. $0x adds a 4 bit sampling to it, which makes pink noise.

    If you set last bit of AUDCTL, the 17-bit sampling gets changed to 9-bit, which produces a more regular pattern. It's especially useful musically in $8x distortion with 1.79 mhz set, you get a set of two scales ... one of them has a differing timbre every 7 frequencies, so it behaves like the $Cx distortion with it's timbre change every 3 steps.

    As for oscillator sync: This is done through the wrongly named hi-pass filter. You set bit 2 (for channels 2 and 4) or bit 3 (for channels 1 and 3). In both channels, set the same frequency, $Ax distortion on the first channel and silence the second one. By delaying the start of second frequency, it puts the oscillators out of phase and lets you have variable duty cycle. So you put 0 in second channel for a number of cycles, and then play the frquency you want. If you are in 15 khz mode, it takes longer to sync the oscillators.

    If you have frequencies offset by 1 step, you get a swirling sound, like in SID. Interesting things also happen if the second frequency is up or down an octave or two, or up and down by 5 semitones.
  8.  
    The $2x distortion (AUDC=$2x) does produce a sort of triangle wave, but with a lot of resonance. It's really different from triangle on the NES 2A03 chip.

    $Cx as mentioned above also does saw waves, and it's dependent on the frequency you used, due to the way the 5-bits in this setting are sampled.

    There are other ways to get saw waves, but they require some advanced programming of POKEY. One method I came across, is by setting 1.79 on first and third channels, and engage hi-pass (AUDCTL=$64) and use the $Ax distortion. at ultra high frequencies, the oscillators are manipulated so fast that they will produce very nice saw waves. You can get up into C7 range without tuning errors, but as you get down into 2nd to 3rd octave, a high pitched sound artifact appears.
    • 19:
       
      CommentAuthorjhusak
    • CommentTime1 Mar 2021
     
    Najprościej jak można.
    POKEY to chip logiczny (logika 0-1, 0V-5V) zbudowany na bramkach (w dużym uproszczeniu)
    Pokey generuje randomowe liczby (17, 9 lub 5 bitowe) wg standardowego algorytmu (mamy parametry do tego algorytmu). Ostatni z tych bitów idzie na wyjście. Kropka. Przebiegi są ZAWSZE prostokątne + jakaś tam na tym LOGIKA CYFROWA

    ALE.
    w wyniku nakładania dźwięków generatorów powstają dodatkowe tony różnicowe. I te tony mogą być sinusoidami zwlaszcza, jeśli bazowe tony puścimy w ultradźwiękach. To zwykła fizyka, nie właściwość POKEYA. Używane w kilku demkach i grach.

    Zupełnie innym tematem jest cyfrowa synteza bez używania generatorów.
  9.  
    @Synthpopalooza Thanks a lot for this explaination.
    @jhusak i dla Ciebie też wielkie dzięki. :)

    Ok so concluding we have white and pink noise and square waveform and indirectly also sine, saw, triangle (not perfect but close to).

    And now if you compare this with C64 SID?
  10.  
    I jeszcze jedno mi przyszło, czy ten prostokątny przebieg z wypełnieniem 50% (square) jest na pewno taki, czy może być ogólnie inny prostokątny z innym wypełnieniem?
  11.  
    Unmodified, it is always a 50% square. Modifying it through the hi pass filter will change the pulse width. And there's other ways of shaping the sound too.
  12.  
    @Synthpopalooza, more or less it's clear, the question is if more or if less. :P Thanks a lot. :)
  13.  
    Swoją drogą co robi w POKEY tor analogowy? Tam jest wzmacniacz i coś jeszcze?