Scheme 使用球拍的算术失配

Scheme 使用球拍的算术失配,scheme,racket,Scheme,Racket,我正在学习学位计划,并使用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 ()

我正在学习学位计划,并使用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])
即使我已经尝试过,bt的上下文,因为它说,我真的不明白哪里是错误的。错误与else子句中是否调用(stop)过程有关

示例呼叫是(琶音10500 0.1)


发生了什么事?

请密切注意括号。缺少使用
信号播放的用法示例。
; stream-time: arity mismatch;
;  the expected number of arguments does not match the given number
;   expected: 0
;   given: 3
; [,bt for context]