Audio 使用rsound播放正弦波信号
我在阅读Racket中的rsound文档后编写了以下代码:Audio 使用rsound播放正弦波信号,audio,lisp,racket,Audio,Lisp,Racket,我在阅读Racket中的rsound文档后编写了以下代码: #lang racket (provide (all-defined-out)) (require rsound) (define (sunet) (sine-wave 880)) (signal-play sunet) (stop) 我在880 Hz的频率上使用了“正弦波”功能,并将其存储到函数“sunet”中。然后我在它上应用了“信号播放”功能,它将信号作为声音播放。我得到了这个错误: application: not
#lang racket
(provide (all-defined-out))
(require rsound)
(define (sunet)
(sine-wave 880))
(signal-play sunet)
(stop)
我在880 Hz的频率上使用了“正弦波”功能,并将其存储到函数“sunet”中。然后我在它上应用了“信号播放”功能,它将信号作为声音播放。我得到了这个错误:
application: not a procedure;
expected a procedure that can be applied to arguments
given: #<network/s>
arguments.:
880
>
应用:不是程序;
应为可应用于参数的过程
鉴于:#
论据。:
880
>
“正弦波”不是一个函数吗?它不是以频率为参数吗?我读了更多关于rsound和网络的文档。显然,你需要用输入信号和输出信号创建一个网络,输出信号类似于信号播放 这就是我昨天需要的代码:
(define sunet
(network ()
[A5 <= sine-wave 880]
[out = A5]))
(signal-play sunet)
(sleep 3)
(stop)
(定义太阳光)
(网络)
[A5这比我预期的要难。结果表明,正弦波
不是一个函数,而是一个网络。下面将播放正弦波
#lang racket
(require rsound)
(define s (network ()
[a <= sine-wave 880]
[out = a]))
(signal-play s)
如果你在标题中提到这是rsound
的一个问题,也许会更清楚些?这是一个很好的问题,我很高兴你找到了答案(我认为文档中的某个地方有示例代码)。我也知道这会让很多人感到困惑;如果你有更好的错误消息的想法,我很乐意听到。@john clements?有什么想法吗?尽管如此:#lang racket(require rsound)(定义s(网络()[out])
#lang racket
(require rsound)
(define s (network ()
[a <= sine-wave 880]
[out = a]))
(signal-play s)
#lang racket
(require rsound)
(define s (network ()
[out = sine-wave 880]))
(signal-play s)