Биение и двухэтапное затухание звука пианино

Я работаю над математически смоделированным фортепианным синтезатором. Прямо сейчас я использую модальный подход, где звук формируется суммой экспоненциально затухающих синусоид (гармоник).

Прямо сейчас я могу вычислить частоты синусоид (конечно, с учетом негармоничности). Для начальных значений амплитуды я использую данные, полученные из реальных сэмплов для фортепиано, поскольку сейчас это проще. Мне плевать на фазы, только струя.

Моя главная проблема - скорость распада. Чтобы симулировать биение и двухэтапное затухание, я использую 2 или 3 показателя примерно одинаковой частоты (в зависимости от количества строк для конкретной ноты).

Для случая 3 струн теория предполагает, что один из показателей будет затухать быстрее, а два - затухать примерно с одинаковой скоростью, но из-за небольшой разницы в частотах они будут вызывать биение.

Этот метод описан в литературе, но не приведен алгоритм для получения фактических значений.

На данный момент я использую простые формулы, которые я создал сам, и они не основаны на какой-либо физике, а выдают приличный звук после многих проб и ошибок.

Мой вопрос: есть ли метод для расчета этих скоростей распада на основе более физического подхода?

Ключевой момент - метод должен производить значения скоростей распада до того, как произойдет сам синтез, поэтому методы, основанные на построении системы с обратной связью, которые воспроизводят это поведение, не будут работать для меня.

1 ответ

Если вы синтезируете свои строковые партиалы с несколькими перекрывающимися режимами (с незначительной отстройкой) и запускаете свои партиалы с одной и той же фазы, вы, естественно, получите 2-х ступенчатое затухание - сначала громкое, так как ваши приставки синхронизированы, затем произойдет быстрое затухание когда ваши частички выходят из фазы.

Другие вопросы по тегам