2

我正在写一个简单的合成器。

这是我的代码的全部

turtles-own [f]
  to setup
    ca
    file-close
    file-open "tune.snd"
    crt 1 [set f 100]
    reset-ticks
 end

to go
   file-write mean [sin(2 * pi * f * ticks)] of turtles
   tick
 end

当我跑步时

Repeat 44100 [go] file-close

并将输出加载到 44100 赫兹的声音编辑器中,我得到一秒钟的声音。到目前为止一切都很好。不幸的是,它本来应该是 100 Hz 的音调,但实际上它比 1 秒要高得多 [超过 16k Hz]。

我究竟做错了什么?

4

1 回答 1

2

首先,这太棒了!

问题很简单。sin在 NetLogo 中使用度数,而不是弧度。

于 2016-02-15T21:43:24.517 回答