Advertisement
Guest User

Untitled

a guest
Jun 25th, 2017
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scheme 8.91 KB | None | 0 0
  1. (require (planet "main.rkt" ("clements" "rsound.plt" 1 7)))
  2. (require (planet "draw.rkt" ("clements" "rsound.plt" 1 7)))
  3.  
  4. (define samplerate 44100)
  5. (define o (* samplerate 0.1))
  6. (define q (* samplerate 0.25))
  7. (define h (* samplerate 0.5))
  8. (define w (* samplerate 1))
  9. (define ei 5512)
  10. (define si 2756)
  11. (define ts 1378)
  12. (define four (* samplerate .75))
  13. (define pitch 440)
  14.  
  15. (define (threshold t)
  16.   (cond [(> t 1) 1]
  17.         [(< t -1) -1]
  18.         [else t]))
  19.  
  20. (define (sinewtf t f)
  21.   (* 1 (threshold
  22.   (+ (* 1 (sin (* twopi t f 1/44100)))
  23.      (- 1 (sin (* twopi t 1/44100)))
  24.      (+ 1 (sin (* twopi f 1/44100)))
  25.  
  26. ))))
  27.  
  28. (define (horn t f)
  29.   (* 1
  30.   (+ (* 1 (sin (* twopi t f 1/44100)))
  31.      (- 1 (sin (sin (* twopi t 1/44100)))))))
  32.  
  33. (define test (fun->mono-rsound q samplerate (sawtooth-wave 110 h)))
  34. (define testa (fun->mono-rsound o samplerate (sawtooth-wave 82 h)))
  35. (define testb (fun->mono-rsound q samplerate (sawtooth-wave 98 four)))
  36. (define testc (fun->mono-rsound q samplerate (sawtooth-wave 123 samplerate)))
  37. (define s (make-tone 1 0.5 q samplerate))
  38.  
  39. (define sine1 (fun->mono-rsound (+ w h) samplerate (signal horn pitch)))
  40. (define sine2 (fun->mono-rsound (+ w h) samplerate (signal horn (* (expt 2 (/ -2 12)) pitch))))
  41. (define sine3 (fun->mono-rsound (+ w h) samplerate (signal horn (* (expt 2 (/ -3 12)) pitch))))
  42. (define sine4 (fun->mono-rsound (+ w h) samplerate (signal horn (* (expt 2 (/ -7 12)) pitch))))
  43. (define sine5 (fun->mono-rsound w samplerate (signal horn (* (expt 2 (/ -5 12)) pitch))))
  44.                
  45. (define test2 (fun->mono-rsound w samplerate (signal sinewtf 250 )))
  46. (define test3 (fun->mono-rsound w samplerate (signal sinewtf 268 )))
  47.  
  48. (define test2a (fun->mono-rsound w samplerate (signal sinewtf 130) ))
  49. (define test3b (fun->mono-rsound w samplerate (signal sinewtf 134) ))
  50.  
  51. (define test2afour (fun->mono-rsound q samplerate (signal sinewtf 150) ))
  52. (define test3bfour (fun->mono-rsound q samplerate (signal sinewtf 200) ))
  53.  
  54. (define test4 (make-tone 260 0.5 q samplerate))
  55. (define test5 (make-tone 262 0.5 q samplerate))
  56.  
  57. (define test6 (make-tone 270 0.5 q samplerate))
  58. (define test7 (make-tone 272 0.5 q samplerate))
  59.  
  60. (define test8 (make-tone 246 0.5 q samplerate))
  61. (define test9 (make-tone 248 0.5 q samplerate))
  62.  
  63. (define t1 (make-tone 400 0.4 2500 samplerate))
  64. (define t2 (make-tone 600 0.4 2500 samplerate))
  65. (define t3 (make-tone 200 0.4 1025 samplerate))
  66.  
  67. (define (zap t) (* (tan (sqrt t) ) t t))
  68. (define (yut dur) (fun->mono-rsound dur 44100 zap ))
  69.  
  70. (define (rsound-reverse t rsound)
  71.   (rsound-ith/left rsound (- (rsound-frames rsound) 1 t)))
  72. (define yutrev (fun->mono-rsound w samplerate (signal rsound-reverse (yut w))))
  73. (define yutrev2 (fun->mono-rsound h samplerate (signal rsound-reverse (yut h))))
  74. (define yutrev3 (fun->mono-rsound q samplerate (signal rsound-reverse (yut q))))
  75. (define yutrev4 (fun->mono-rsound ei samplerate (signal rsound-reverse (yut ei))))
  76. (define yutrev5 (fun->mono-rsound si samplerate (signal rsound-reverse (yut si))))
  77. (define yutrev6 (fun->mono-rsound ts samplerate (signal rsound-reverse (yut ts))))
  78.  
  79. ;(rsound-draw test2)
  80. ;(rsound-play t1)
  81.  
  82. (define trans1
  83.   (rsound-overlay* (list
  84.                     (list sine5 0)
  85.                     (list test 40000)
  86. )))
  87.  
  88. (define t
  89.   (rsound-overlay* (list
  90.                     (list t1 0)
  91.                     (list t2 0))))
  92. (define poi
  93.   (rsound-clip
  94.   (rsound-overlay* (list
  95.                     (list test2a 0)
  96.                     (list test3b 0)))11000 22000))
  97.  
  98. (define poipoi
  99.   (rsound-clip
  100.   (rsound-overlay* (list
  101.                     (list test 0)
  102.                     (list poi 0)))0 11000))
  103.  
  104. (define a
  105.   (rsound-clip
  106.   (rsound-overlay* (list
  107.                     (list test2 22050)
  108.                     (list test3 22050)))40000 60000))
  109.  
  110. (define b
  111.   (rsound-overlay* (list
  112.                     (list test4 0)
  113.                     (list test5 0))))
  114. (define c
  115.   (rsound-overlay* (list
  116.                     (list test6 0)
  117.                     (list test7 0))))
  118.  
  119. (define tt (rsound-append* (list
  120.                              t3 t3 t3 t3 t3 t3)))
  121.  
  122. (define m (rsound-append* (list
  123.                              test testa test testa test testa)))
  124.  
  125. (define d
  126.   (rsound-overlay* (list
  127.                     (list tt 0)
  128.                     (list m 0))))
  129.  
  130.  
  131. ;(rsound-play (rsound-append* (list sine1 sine2 sine3 sine4 d bc bc d bc bc bc a a a bc bc bc d t
  132. ;                                   t1 t2 t t t1 t2 t t1 t2 t t t1 t2 t t1 t2 t t t1 t2 t t1 t2 t t t1 t2 t t1 t2 t t t1 t2 t t1 t2 t t t1 t2
  133. ;                                   t t2 t t t1 t1 d bc bc d bc bc bc a a a bc bc bc d t)))
  134.  
  135. (define part2 (rsound-append* (list
  136.                                test
  137.                                testa
  138.                                test
  139.                                testb
  140.                                test
  141.                                testb
  142.                                s
  143.                                test
  144.                                s
  145.                                testb
  146.                                s
  147.                               (yut h)
  148.                               (yut q)
  149.                               (yut q)
  150.                               poi
  151.                               s
  152.                               poi
  153.                               (yut h)
  154.                               (yut h)
  155.                               (yut w)
  156.                               yutrev
  157. )))
  158.  
  159. (define ending (rsound-append* (list
  160.                               yutrev2
  161.                               yutrev3
  162.                               yutrev4
  163.                               yutrev5
  164.                               yutrev6
  165.                               yutrev6
  166.                               yutrev6
  167.                               yutrev6
  168.                               yutrev6
  169. )))
  170.  
  171. (define part1 (rsound-append* (list
  172.                                    sine1
  173.                                    sine2
  174.                                    sine3
  175.                                    sine4
  176.                                    sine5
  177.                                    trans1
  178.                                    test
  179.                                    s
  180.                                    test
  181.                                    s
  182.                                    test
  183.                                    s
  184.                                    test
  185.                                    s
  186.                                    test
  187.                                    testa
  188.                                    test
  189.                                    testa
  190.                                    s
  191.                                    testa
  192.                                    s
  193.                                    testa
  194.                                    s
  195.                                    testa
  196.                                    s
  197.                                    testb
  198.                                    s
  199.                                    testa
  200.                                    s
  201.                                    testa
  202.                                    s
  203.                                    testa
  204.                                    s
  205.                                    testc
  206.                                    s
  207.                                    test
  208.                                    testa
  209.                                    test
  210.                                    s
  211.                                    test
  212.                                    testa
  213.                                    test
  214.                                    testa
  215.                                    testa
  216.                                    test
  217.                                    testa
  218.                                    test
  219.                                    testa
  220.                                    test
  221.                                    testa
  222.                                    s
  223.                                    poi
  224.                                    s
  225.                                    poi
  226.                                    s
  227.                                    poi
  228.                                    s
  229.                                    poi
  230.                                    poi
  231.                                    poi
  232.                                    test
  233.                                    s
  234.                                    test
  235.                                    testa
  236.                                    test
  237.                                    testb
  238.                                    test
  239.                                    s
  240.                                    test
  241.                                    s
  242.                                    testc
  243.                                    s
  244.                                    testb
  245. )))
  246.  
  247. (rsound-play (rsound-append* (list
  248.                               part1
  249.                               part2
  250.                               part2
  251.                               ending
  252. )))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement