RESONANCE

  1. SCTWEET LATCH - bash
    log.001

    Tags
    re
    By AKIRA BASHO il 6 May 2023
     
    0 Comments   107 Views
    .
    85iz5JI



    play{AY.ar((Hasher.ar(Latch.ar(AY.ar((1..3)!2),Impulse.ar([7/3,1])))*337+317).round(73),0,LFNoise2.ar(3,1/3,1/3))/7}//#supercollider

    AY.ar(tonea: 1777, toneb: 1666, tonec: 1555, noise: 1, control: 7, vola: 15, volb: 15, volc: 15, envfreq: 4, envstyle: 1, chiptype: 0, mul: 1, add: 0)

    Emula lo strumento AY-3-8910 (a.k.a. the Yamaha YM2149) a tre voci, tre suoni chip.

    i tre suoni chip :

    tonea :
    (Hasher.ar(Latch.ar(AY.ar((1..3)!2),Impulse.ar([7/3,1])))*337+317).round(73)
    toneb : 0
    tonec : LFNoise2.ar(3,1/3,1/3)

    Latch.ar(in: 0.0, trig: 0.0)

    Il Latch mantiene l'input quando viene triggherato e genera zero all'inizio fino a quando non viene triggherato; nel nostro caso è triggherato da un doppio generatore di impulsi; quindi probabilmente il Latch campiona due valori secondo frequenze diverse;

    questo è il segnale che viene campionato sui due canali stereo secondo il trig dei due impulsi; è un segnale costituito da 3 suoni generati dalla UGen AY, con tonea settato a 1,2 e 3; il tutto poi viene spalmato sui due canali stereo e quindi intercettato dalla UGen Latch.ar triggherata dai due generatori di impulsi

    {AY.ar((1..3))}.plot

    lBgJkuV

    r7YNU9q

    4TSvsXO

    ;questo segnale viene poi dato in pasto alla UGen Hasher.ar che lo trasforma

    {(Hasher.ar(Latch.ar(AY.ar((1..3)!2),Impulse.ar([7/3,1])))*337+317).round(73)}.plot(10)

    G23geBa

    Hasher.ar(in: 0.0, mul: 1.0, add: 0.0)

    L'Hasher è un generatore Hash, che genera valori tra -1 e 1 a seconda dell'input che riceve secondo una funzione Hash; lo stesso valore di input genererà lo stesso valore hash in output; il segnale di input non ha bisogno di essere nel range di -1 e 1.

    Impulse.ar(freq: 440.0, phase: 0.0, mul: 1.0, add: 0.0)

    Genera in output impulsi non limitati in banda; in teoria quindi se si superano i 22050 Herz di frequenza avremo un mirror nello spettro in frequenza?

    round

    round(a, b)
    a round: b
    a.round(b)

    Arrotonda al più vicino multiplo di b;

    LFNoise2.ar(freq: 500.0, mul: 1.0, add: 0.0)

    {LFNoise2.ar(3,1/3,1/3)}.plot(10)

    uRsA5P3

    ;questo è il tonec della UGen AY.ar principale, che ha il toneb settato a 0; la UGen LFNoise2.ar genera valori casuali interpolati quadraticamente ad una velocità data dalla divisione intera più vicina della frequenza di campionamento freq.

    Edited by AKIRA BASHO - 18/1/2024, 12:46
      Share  
     
    .