Herrpaule

euxoloti 1v/oct test #1

Feb 20th, 2016
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.90 KB | None | 0 0
  1. int step = 0;
  2. int oct = 0;
  3. uint32_t note;
  4. uint32_t smoothNote;
  5. uint32_t oldNote;
  6.  
  7. void setup(void){
  8.    
  9.     }
  10.  
  11. void loop(void){
  12.  
  13. uint32_t smoothNote;
  14.  
  15.     if (in1 <= 26869759) {
  16.         step = in1/2233685;
  17.         oldNote = in1;
  18.  
  19.         switch(step){
  20.             case 0: note = 0xFF800000; break;  // -4 = C4
  21.             case 1: note = 0xFFA00000; break;   // -3 = C4#
  22.             case 2: note = 0xFFC00000; break;   // -2 = D4
  23.             case 3: note = 0xFFE00000; break;   // -1 = D4#
  24.             case 4: note = 0x00000000; break;   // 0 = E4
  25.             case 5: note = 0x00200000; break;   // 1 = F4
  26.             case 6: note = 0x00400000; break;   // 2 = F4#
  27.             case 7: note = 0x00600000; break;   // 3 = G4
  28.             case 8: note = 0x00800000; break;   // 4 = G4#
  29.             case 9: note = 0x00A00000; break;   // 5 = A4
  30.             case 10: note = 0x00C00000; break;  // 6 = B4
  31.         }  
  32.     }
  33.     else if (in1 > 26869759 && in1 < 53739519) {
  34.         step = (in1-26869759)/2233685;
  35.         oldNote = in1;
  36.  
  37.         switch (step) {
  38.             case 0: note = 0x00E00000; break;   // 7 = C5
  39.             case 1: note = 0x01000000; break;   // 8 = ...
  40.             case 2: note = 0x01200000; break;   // 9
  41.             case 3: note = 0x01400000; break;   // 10
  42.             case 4: note = 0x01600000; break;   // 11
  43.             case 5: note = 0x01800000; break;   // 12
  44.             case 6: note = 0x01A00000; break;   // 13
  45.             case 7: note = 0x01C00000; break;   // 14
  46.             case 8: note = 0x01E00000; break;   // 15
  47.             case 9: note = 0x02000000; break;   // 16
  48.             case 10: note = 0x02200000; break;  // 17
  49.             case 11: note = 0x02400000; break;  // 18
  50.         }
  51.     }
  52.     else if (in1 > 53739519 && in1 < 80543743) {
  53.         step = (in1-53739519)/2233685;
  54.         oldNote = in1;
  55.  
  56.         switch (step) {
  57.             case 0: note = 0x02600000; break;   // 19
  58.             case 1: note = 0x02800000; break;   // 20
  59.             case 2: note = 0x02A00000; break;   // 21
  60.             case 3: note = 0x02C00000; break;   // 22
  61.             case 4: note = 0x02E00000; break;   // 23
  62.             case 5: note = 0x03000000; break;   // 24
  63.             case 6: note = 0x03200000; break;   // 25
  64.             case 7: note = 0x03400000; break;   // 26
  65.             case 8: note = 0x03600000; break;   // 28
  66.             case 9: note = 0x03800000; break;   // 29
  67.             case 10: note = 0x03A00000; break;  // 30
  68.             case 11: note = 0x03C00000; break;  // 31
  69.         }      
  70.     }
  71.     else if (in1 > 80543743 && in1 < 107413503) {
  72.         step = (in1-80543743)/2233685;
  73.         oldNote = in1;
  74.  
  75.         switch (step) {
  76.             case 0: note = 0x03E00000; break;   // 32
  77.             case 1: note = 0x04000000; break;   // 33
  78.             case 2: note = 0x04200000; break;   // 34
  79.             case 3: note = 0x04400000; break;   // 35
  80.             case 4: note = 0x04600000; break;   // 36
  81.             case 5: note = 0x04800000; break;   // 37
  82.             case 6: note = 0x04A00000; break;   // 38
  83.             case 7: note = 0x04C00000; break;   // 39
  84.             case 8: note = 0x04E00000; break;   // 40
  85.             case 9: note = 0x05000000; break;   // 41
  86.             case 10: note = 0x05200000; break;  // 42
  87.             case 11: note = 0x05400000; break;  // 43
  88.         }      
  89.     }
  90.  
  91.     out1 = note;
  92.     dejitter(in1, oldNote);
  93.     // chThdSleepMilliseconds(1);
  94. }
  95.  
  96. int dejitter(int v, int test){
  97.     if (abs(v - test) > 2) { return v; }
  98.     return test;
  99. }
Advertisement
Add Comment
Please, Sign In to add comment