<commit_before>## audio output  


### [ugen]: dac  

digital / analog converter  
abstraction for underlying audio output device  
  
(control parameters)  

    .left - input to left channel  
    .right - input to right channel  
    .chan( int n ) - returns nth channel (all UGens have this function)  


### [ugen]: adc  

analog / digital converter
abstraction for underlying audio input device  

(control parameters)  

    .left - output of left channel  
    .right - output of right channel  
    .chan( int n ) - returns nth channel (all UGens have this   function)


### [ugen]: blackhole    
  
sample rate sample sucker ( like dac, ticks ugens, but no more )  
see examples: fm.ck  
  

### [ugen]: Gain  
  
gain control unit, all unit generators can change their gain. this is a way to add N outputs together and scale them.  
see examples: i-robot.ck  

(control parameters)  
  
    .gain - ( float , READ/WRITE ) - set gain ( all ugen's have this )
  
[example]  

     Noise n => Gain g => dac;
     SinOsc s => g;
     .3 => g.gain;
     while( true ) { 100::ms => now; }


## wave forms  
  
  
### [ugen]: Noise  

white noise generator  
see examples: wind.ck powerup.ck  
  
  
### [ugen]: Impulse  
  
pulse generator - can set the value of the current sample  
default for each sample is 0 if not set  

(control parameters)  

    .next - ( float , READ/WRITE ) - set value of next sample to be generated. 

> (note: if you are using the UGen.last method to read the output of the impulse, the value set by Impulse.next does not appear as the output until after the next sample boundary. In this case, there is a consistent 1::samp offset between setting .next and reading that value using .last)

[example]
 Impulse i => dac;
 while( true ) {
    1.0 => i.next;
    100::ms => now;
 }
[ugen]: Step
step generator - like Impulse, but once a value is set,
it is held for all following samples, until value is set again
see examples: step.ck
(control parameters)
.next - ( float , READ/WRITE ) - set the step value
[example]
 Step s => dac;<commit_msg>consistency checks<commit_after>## audio output  


### [ugen]: dac  

digital / analog converter  
abstraction for underlying audio output device  
  
(control parameters)  

    .left - input to left channel  
    .right - input to right channel  
    .chan( int n ) - returns nth channel (all UGens have this function)  


### [ugen]: adc  

analog / digital converter
abstraction for underlying audio input device  

(control parameters)  

    .left - output of left channel  
    .right - output of right channel  
    .chan( int n ) - returns nth channel (all UGens have this   function)


### [ugen]: blackhole    
  
sample rate sample sucker ( like dac, ticks ugens, but no more )  
see examples: fm.ck  
  

### [ugen]: Gain  
  
gain control unit  

> all unit generators can change their gain. this is a way to add N outputs together and scale them.  

see examples: i-robot.ck  

(control parameters)  
  
    .gain - ( float , READ/WRITE ) - set gain ( all ugen's have this )
  
[example]  

     Noise n => Gain g => dac;
     SinOsc s => g;
     .3 => g.gain;
     while( true ) { 100::ms => now; }


## wave forms  
  
  
### [ugen]: Noise  

white noise generator  
see examples: wind.ck powerup.ck  
  
  
### [ugen]: Impulse  
  
pulse generator - can set the value of the current sample  
default for each sample is 0 if not set  

(control parameters)  

    .next - ( float , READ/WRITE ) - set value of next sample to be generated. 

> if you are using the UGen.last method to read the output of the impulse, the value set by Impulse.next does not appear as the output until after the next sample boundary. In this case, there is a consistent 1::samp offset between setting .next and reading that value using .last

[example]
 Impulse i => dac;
 while( true ) {
    1.0 => i.next;
    100::ms => now;
 }
[ugen]: Step
step generator - like Impulse, but once a value is set,
it is held for all following samples, until value is set again
see examples: step.ck
(control parameters)
.next - ( float , READ/WRITE ) - set the step value
[example]
 Step s => dac;
{'fraction_non_alphanumeric': 0.08870192307692308, 'fraction_numerical': 0.005288461538461539, 'mean_word_length': 2.6628521126760565, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 24, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '290835', 'n_tokens_mistral': 1316, 'n_tokens_neox': 1249, 'n_words': 569}