ещё вопрос. если моделировать просто упругое взаимодействие частиц в струне, то это звучит даже не знаю как.. примерно как металлическая пластинка - слишком много гармоник помимо основной. ещё примерно так звучит, к примеру, резиновый натянутый жгут, но никак не струна. я посчитал, необходимо моделировать ещё какой-то тип взаимодействия и дал струне вязкость - каждый узел стремится занять не просто положение своих соседей, но и принять их скорость. ты так делал? может, ты моделировал ещё какой-то аспект взаимодействия узлов?
и ещё небольшая проблемка с ладами. узлов ведь в струне всего конечное количество. сколько бы их взять и как их расположить, чтобы их можно было зажимать на любом ладу? вроде можно было бы при зажимании струны на любом ладу просто перераспределять узлы по всей мензуре, но это гейство, потому что не понятно, как в таком случае делать pull-off'ы, hammer-on'ы и флажолеты.
Suslik
> дробные узлы лучше не брать? или как?
Это точно, гармонику потеряешь. По опыту 1/7 - нормально, эту гармонику всё равно почти не слышно.
Suslik
> фазу звукоснимателя ты считал прямо пропорциональной скорости узла или квадрату?
Зачем же квадрату? Первая степень скорости, как и ЭДС в катушке звукоснимателя.
Можно ещё брать квадрат силы, прилагаемой к нулевому узлу, и примешивать, как имитацию продольного натяжения струны для акустического звучания.
Suslik
> дал струне вязкость - каждый узел стремится занять не просто положение своих
> соседей, но и принять их скорость
Да, что-то такое делал, позже дома гляну точнее.
Ещё одна фишка - если в массы узлов внести небольшой рэндом, то звук сразу становится живым.
добавил вопрос про лады в предыдущий пост. актуально - не знаю, как располагать узлы. ещё проблема в том, что я не знаю, как конкретно они располагаются на нормальной гитаре. в смысле я знаю, что там 12 лад делит мензуру пополам, но это всё, лол.
ещё можно попробовать зажимать струну прямо между узлами. по идее не очень сложно сделать.
Suslik
> ещё проблема в том, что я не знаю, как конкретно они располагаются на
> нормальной гитаре. в смысле я знаю, что там 12 лад делит мензуру пополам, но
> это всё, лол.
Каждый лад отжирает \(1-\sqrt[12]{\frac12}\) от остатка струны.
}:+()___ [Smile]
спасибо, с положениями ладов разобрался. теперь как их корректнее зажимать?
Suslik
Я бы начал с нулевого граничного условия на положении лада. Потом можно экспериментировать с изменением натяжения струны из-за зажимания.
Кстати, тут подумал, что у акустики есть тяжелый для моделирования эффект -- взаимное влияние струн. Т. е. когда одна струна играет, другие резонируют, может быть важный эффект.
}:+()___ [Smile]
> у акустики есть тяжелый для моделирования эффект -- взаимное влияние струн. Т.
> е. когда одна струна играет, другие резонируют
Я это сделал в демке SpainGuitar, принцип простой - нулевой узел общий у всех струн, но он значительно тяжелее остальных узлов. В свою очередь он связан вязкой связью с неподвижным дополнительным узлом, символизирующим корпус.
я когда на реальной гитаре впервые сыграл "smoke on the water", получил примерно такой же объём восторга, как сейчас : D
у меня пока правда всего одна струна, но моя штука с зажиманием ладов между узлами, кажется, прекрасно работает. скорее бы добавить ещё пять струн и Am Dm Am Dm Am Dm Am Dm Am Dm Am Dm A Dm. ну вы поняли закономерность. чувствую, меня не оторвать будет, лол.
сев "настраивать" свою гитару с тюнером, обнаружил неприятный момент - частота колебания струны несколько "гуляет". как только струну дёргаешь, частота несколько ниже, чем когда она какое-то время прозвучит. как быть? звук похож на колокола.
Suslik
> звук похож на колокола
Это бывает от завышенного рэндома.
Suslik
> как только струну дёргаешь, частота несколько ниже, чем когда она какое-то
> время прозвучит
А должно быть наоборот, в начале несколько выше частота из-за того, что к натяжению струны добавляется доп. величина за счёт её удлиннения из-за волн.
в общем проблему с гуляющей частотой решил увеличением количества узлов, звук "колоколов" это тоже немного исправило. в общем я доволен! сделал бренчалку тачпадом, которая позволяет играть прямо по тачпаду хоть беребором хоть боем, сделал переключалку аккордов и, надеюсь, моим студентам понравится ^^
очень трудно было синтезировать звук с минимальной задержской, так как это существенно при быстрой игре боем, мне удалось снизить задержку примерно до <0.1 секунды - играть вполне можно.
А нам заценить?
дайте мне пару дней, чтобы ей смог пользоваться ещё кто-нибудь. такого реалистичного звучания как у тебя мне добиться не удалось, зато работает реалтайм, можно пальцем по тачпаду играть хоть боем хоть перебором ^^
В тред разыскиваются математики.
Узлы на струне располагаются следующий образом:
|o------o------o------o|
Крайние узлы жёстко закреплены. Рассмотрим простейший случай, когда к каждому узлу прикладывается ускорение следующего вида:
acceleration[i] = (( pos[i - 1] - pos[i]) + ( pos[i + 1] - pos[i])) * stiffness / mass[i];
Опытным путём было установлено, что струна звучит с одинаковой частотой, если
stiffness ~ n - 2 mass[i] ~ 1 / n
Допустим, второе требование понятно - масса равномерно распределяется между всеми узлами, включая статичные. Но откуда n - 2 в пропорциональности жёсткости, почему не n? Допустим, что жёсткость струны распределяется только на те узлы, что могут колебаться(их всего n - 2). Но тогда почему масса распределяется на все n, а не на n - 2?
В точности эвристического закона уверен процентов на 90.
Тема в архиве.