使用球拍进行不匹配

时间:2018-07-12 13:50:18

标签: scheme racket

我正在研究学位课程,并使用球拍6.10编写了以下代码:

(require rsound)
(define (arpeggio n fs q) (if(eq? 0 n) (stop)
((signal-play (mysound fs))(sleep q)(stop)(arpeggio (- n 1) (+ fs 100) q))))

其中fs是递归遍历中更新的起始频率,q是时间偏移,n是播放的声音数。 mysound定义为:

(define mysound (network ()
        [a <= sine-wave 500]
        [out = a])

代码运行良好,但是在播放结束时出现以下错误:

; stream-time: arity mismatch;
;  the expected number of arguments does not match the given number
;   expected: 0
;   given: 3
; [,bt for context]

即使我已经尝试过,bt也可以作为上下文,因为它说我真的不知道错误在哪里。该错误会导致在else子句中是否调用(停止)过程。

样本调用为(琶音10 500 0.1)

怎么回事?

0 个答案:

没有答案