Wav 在netlogo中写入声音文件:或如何调整netlogo
我正在写一个简单的合成器 这是我的全部代码Wav 在netlogo中写入声音文件:或如何调整netlogo,wav,netlogo,synthesizer,Wav,Netlogo,Synthesizer,我正在写一个简单的合成器 这是我的全部代码 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-clos
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赫兹的音调,但实际上,它是一个相当高的一秒钟[超过16千赫兹]
我做错了什么?首先,这太棒了
问题很简单。NetLogo中的sin使用度,而不是弧度。出于好奇,什么声音编辑器会将这样的数字列表作为声音文件?goldwave采用了许多奇特的格式,包括逗号分隔的浮点列表。他们称之为ASCII精确单声道。sin2*pi*f*ticks*0.0174533仍然在1k htz左右。我做错了吗?根据经验发现答案是sinf*ticks/122.5