You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

57 lines
2.1KB

  1. <Cabbage>
  2. form size(230, 120), caption("Lo Fi"), pluginID("lofi")
  3. image pos(-40,-10), size(300,300), colour(0, 130,230,0), shape("ellipse"), outline(200, 30,100, 80), line(70)
  4. image pos( 0, 0), size(300,300), colour(200, 30, 30,0), shape("ellipse"), outline( 0,130, 30, 80), line(70)
  5. image pos( 40, 10), size(300,300), colour(250, 0, 30,0), shape("ellipse"), outline( 0, 0, 30, 50), line(70)
  6. image pos( 80, 20), size(300,300), colour( 0, 0,255,0), shape("ellipse"), outline( 0, 0,255, 50), line(70)
  7. image pos(120, 30), size(300,300), colour( 0,255,255,0), shape("ellipse"), outline( 0,255,255, 50), line(70)
  8. image pos(160, 40), size(300,300), colour(255,255, 0,0), shape("ellipse"), outline(255,255, 0, 50), line(70)
  9. image pos(0, 0), size(230, 120), colour("Chocolate"), shape("rounded"), outline("white"), line(5)
  10. rslider bounds( 5, 31, 80, 80), text("Bits"), channel("bits"), range(1, 16, 16), fontcolour("White"),colour("orange"), tracker("brown")
  11. rslider bounds( 75, 7, 80, 80), text("Foldover"), channel("fold"), range(1, 1024, 0, 0.25), fontcolour("White"),colour("orange"), tracker("brown")
  12. rslider bounds(145, 31, 80, 80), text("Level"), channel("level"), range(0, 1.00, 1), fontcolour("White"),colour("orange"), tracker("brown")
  13. }
  14. </Cabbage>
  15. <CsoundSynthesizer>
  16. <CsOptions>
  17. -d -n
  18. </CsOptions>
  19. <CsInstruments>
  20. sr = 44100
  21. ksmps = 32
  22. nchnls = 2
  23. 0dbfs = 1
  24. ;Iain McCurdy, 2012
  25. ;http://iainmccurdy.org/csound.html
  26. opcode LoFi,a,akk
  27. ain,kbits,kfold xin ;READ IN INPUT ARGUMENTS
  28. kvalues pow 2, kbits ;RAISES 2 TO THE POWER OF kbitdepth. THE OUTPUT VALUE REPRESENTS THE NUMBER OF POSSIBLE VALUES AT THAT PARTICULAR BIT DEPTH
  29. aout = (int((ain/0dbfs)*kvalues))/kvalues ;BIT DEPTH REDUCE AUDIO SIGNAL
  30. aout fold aout, kfold ;APPLY SAMPLING RATE FOLDOVER
  31. xout aout ;SEND AUDIO BACK TO CALLER INSTRUMENT
  32. endop
  33. instr 1
  34. kbits chnget "bits"
  35. kfold chnget "fold"
  36. klevel chnget "level"
  37. a1,a2 ins
  38. kporttime linseg 0,0.001,0.01
  39. kfold portk kfold,kporttime
  40. a1 LoFi a1,kbits*0.6,kfold
  41. a2 LoFi a2,kbits*0.6,kfold
  42. a1 = a1 * klevel
  43. a2 = a2 * klevel
  44. outs a1,a2
  45. endin
  46. </CsInstruments>
  47. <CsScore>
  48. i 1 0 [60*60*24*7]
  49. </CsScore>
  50. </CsoundSynthesizer>