запись в звуковой файл в netlogo : или как настроить netlogo

Пишу простой синтезатор.

Это весь мой код

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 кГц].

Что я делаю не так?


person King-Ink    schedule 15.02.2016    source источник
comment
Из любопытства, какой звуковой редактор воспринимает такой список чисел как звуковой файл?   -  person Bryan Head    schedule 16.02.2016
comment
goldwave использует множество экзотических форматов, включая список с плавающей запятой, разделенный запятыми. Они называют это точным моно ASCII.   -  person King-Ink    schedule 16.02.2016


Ответы (1)


Во-первых, это круто!

Проблема проста. sin в NetLogo используются градусы, а не радианы.

person Bryan Head    schedule 15.02.2016
comment
sin(2 * pi * f * ticks * 0,0174533) по-прежнему составляет около 1 тыс. Гц. я делаю это неправильно? - person King-Ink; 16.02.2016
comment
эмпирически обнаружено, что ответ грех (f * тиков / 122,5) - person King-Ink; 16.02.2016