Я работаю над математически смоделированным фортепианным синтезатором.Прямо сейчас я использую модальный подход, где звук формируется суммой экспоненциально затухающих синусоид (гармоник).
Прямо сейчас я могу вычислить частоты синусоид (конечно, с учетом негармоничности).Для начальных значений амплитуды я использую данные, полученные из реальных сэмплов фортепиано, поскольку сейчас это проще.Мне плевать на фазы, только струи.
Моя главная проблема - скорость распада.Для симуляции биения и двухступенчатого затухания я использую 2 или 3 показателя примерно одинаковой частоты (в зависимости от количества строк для конкретной ноты).
Для случая 3 струн теория предполагает, что один из показателейбудет затухать быстрее, а два будут распадаться примерно с одинаковой скоростью, но из-за небольшой разницы в частотах они будут вызывать биения.
Этот метод описан в литературе, но алгоритм получения фактических значений не приведен.
В настоящее время я использую простые формулы, которые я создал сам, и они не основаны на каких-либофизика вообще, но производит много звука после многих проб и ошибок.
Мой вопрос: есть ли метод для расчета этих скоростей затухания, основанный на более физическом подходе?
Ключевой момент- метод должен производить значения скоростей распада до того, как произойдет сам синтез, поэтому методы, основанные на построении системы с обратной связью, которые воспроизводят это поведение, не будут работать для меня.