SuperCollider FreqScope: изменить разрешение частоты

По какой-то причине установка значения, отличного от значения по умолчанию, для аргумента ширины FreqScope только увеличивает окно, а ширина отображаемых частот остается неизменной. Может ли кто-нибудь помочь мне? Я использую SC 3.5.3 на Windows 7. Заранее спасибо!

PS. Только что обновился до 3.6.1, проблема осталась нерешенной. Может быть проблема с размером буфера, но поскольку FreqScope.new автоматически выделяет буфер, я не знаю, как это изменить... если это вообще проблема.

(PPS этот вопрос задан от имени кого-то другого)


person Dan Stowell    schedule 08.12.2012    source источник


Ответы (2)


Да, аргументы конструктора касаются только того, как изменить размер фактического окна, а не частотного анализа. Анализ БПФ в значительной степени жестко закодирован как 2048 бинов.

Если вы посмотрите на исходный код PlusFreqScope, там есть метод initFreqScope, где он устанавливает bufSize = 2048. Возможно, вы сможете отредактировать это и перекомпилировать, но вы, вероятно, не сможете изменить его на лету, потому что номер используется во многих «подготовках» класса, таких как создание синтезаторов и т. д.

person Dan Stowell    schedule 08.12.2012

Я использую SC 3.10.2, и похоже, что теперь это поддерживается на стороне языка с аргументом bufsize: http://doc.sccode.org/Classes/Stethoscope.html

Я использую аргумент bufsize следующим образом: s.scope(bufsize: 128)

(Размер буфера по умолчанию слишком велик, чтобы уловить быстрые перкуссионные события, выпадающие из фазы. Это очень наглядно видно при битбоксе, поэтому я нашел этот вопрос.)

person Chad Cassady    schedule 28.06.2019
comment
Ой, извините, это не FreqScope. У FreqScope по-прежнему нет такой возможности. Я оставлю это для информационных целей, но это неправильный ответ. - person Chad Cassady; 28.06.2019