sounds:zoia

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
sounds:zoia [2023-04-23 21:18] asdfsounds:zoia [2024-02-13 23:40] (current) – [Bluebox MIDI sync] remove section, as it is not feasible asdf
Line 10: Line 10:
  
 ===== Patch notes ===== ===== Patch notes =====
 +
 ==== Turing Machine ==== ==== Turing Machine ====
 To imitate the Music Thing Turing Machine, we use a ring of sample and hold modules as our shift register. The output of the last is fed into both the output and an input switch. The switch is controlled by a comparator whose inputs are the write probability (positive) and a triggered random value (negative). When the latter exceeds the former, the ring continues to loop unchanged; otherwise, a new note is inserted into the start of the loop. Thanks to the module's versatile I/O options, the final output can be sent to an oscillator, a MIDI device, or through the control port as CV.   To imitate the Music Thing Turing Machine, we use a ring of sample and hold modules as our shift register. The output of the last is fed into both the output and an input switch. The switch is controlled by a comparator whose inputs are the write probability (positive) and a triggered random value (negative). When the latter exceeds the former, the ring continues to loop unchanged; otherwise, a new note is inserted into the start of the loop. Thanks to the module's versatile I/O options, the final output can be sent to an oscillator, a MIDI device, or through the control port as CV.  
Line 43: Line 44:
 </graphviz> </graphviz>
  
-My first idea was to use a sequencer module. Each step can be set with input from another module, and the sequencer has a reset inputBy using counter as a triggerI had hoped to be able to make the number of steps easily adjustableI had to walk away from that attempt for several reasonsand I'm only now realizing that the Zoia has no built-in counter modulelet alone the ability to count beyond 1. +An alternative idea would be to use a sequencer as the shift registerThis arrangement requires connection to each step of the sequencebut it allows us to dynamically adjust the number of steps (and program an initial sequence) 
 + 
 +<graphviz> 
 +digraph G { 
 +  rankdir=LR; 
 +   
 +  seq; 
 +  lfo_ramp [shape="circle"label="Ramp"]; 
 +  rand1 [shape="circle",label="Random"]; 
 +  rand2 [shape="circle",label="Random"]; 
 +  quant; 
 +  dmux; 
 +  mux; 
 +  comp1 [shape="triangle", orientation="270"]; 
 +  comp2 [shape="triangle", orientation="270"]; 
 +  var_steps [shape="cds", label="Steps"]; 
 +  var_pwrite [shape="cds", label="Pwrite"]; 
 +  out; 
 +   
 +  var_pwrite -> comp1; 
 +  rand1 -> comp1; 
 +  rand2 -> quant -> mux; 
 +  comp1 -> mux [headlabel="sel"]; 
 +   
 +  mux -> dmux; 
 +  dmux -> seq [penwidth=2,label="one for each step"
 +   
 +  lfo_ramp -> dmux [headlabel="sel"]; 
 +  var_steps -> comp2 [headlabel="-"]; 
 +  lfo_ramp -> comp2 [headlabel="+"]; 
 +  comp2 -> lfo_ramp [headlabel="phase reset"]; 
 +  comp2 -> seq [headlabel="reset"]; 
 +   
 +  seq -> mux; 
 +  seq -> out; 
 +
 +</graphviz>
  
 ===== Module reference ===== ===== Module reference =====
Line 164: Line 201:
 === Cabinet sim === === Cabinet sim ===
  
 +{{tag>needswork}}
  • sounds/zoia.1682284713.txt.gz
  • Last modified: 2023-04-23 21:18
  • by asdf