Scheme 使用球拍的算术失配
我正在学习学位计划,并使用racket 6.10编写了以下代码: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 ()
(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]