LINUX.ORG.RU

Колебание струны -> амплитуда звука


0

3

В научных статьях колебания струн (конкретно музыкального инструмента) выводят в виде зависимости (Y) отклонения точки X струны в момент времени T после удара по струне: Y(X, T).

Как зная эту зависимтсть получить аналог записи звучания такой струны с микрофона, то-есть A(T)?

★★★★

Задача навряд ли решается тривиально. Из простых «инженерных» решений можно попробовать усреднение Y по длине струны X по какой-либо области. Стоит учитывать, что звучание струны в музыкальном инструменте определяется не только самой струной, но ещё и резонаторами.

mashina ★★★★★
()

ммм.. сложно. Ну то есть сферической струны в вакууме можно. Но вот если тебе еще нужно учесть вибрацию остального интсрумента, то тут уже сложно

Waterlaz ★★★★★
()
Ответ на: комментарий от Waterlaz

>сферической струны в вакууме можно

сферической электромагнитной волны в вакууме

dimon555 ★★★★★
()

>Как зная эту зависимтсть получить аналог записи звучания такой струны с микрофона, то-есть A(T)?

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

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

dmitry_vk ★★★
()

Да, поняно, сложно. В общем-то мне это не для дела, для развлечения нужно. Набрел на вот такую контору http://www.pianoteq.com, они дают скачать демо версию их синтезатора фортепиано (есть под Linux, 32, 64 бит). Он совершенно реалистично делает синтез.

Для самообразования и чтобы было чем заняться на праздниках я решил попробовать насколько реально минимальными ресурсами сделать свой синтезатор, может и не идеальный, но и не просто пищалку. По простоте лидирует воспроизведение заранее записанных семплов, но поигрывает по памяти, очевидно. Вот я и начал смотреть на чистые синтезаторы.

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

alexru ★★★★
() автор топика
Ответ на: комментарий от alexru

Чтобы не с нуля начинать, рекомендую посмотреть на уже существующие открытые проекты: csound, puredata, supercollider.

Laz ★★★★★
()

В звучании струны кроме основного тона, ещё присутствуют обертоны. Обертоны гармонические. Потому, достаточно генерировать основной тон и несколько обертонов. Они строятся из натурального звукоряда, на сколько я помню. А дальше сложить их.

EvilX
()
Ответ на: комментарий от Laz

Чтобы не с нуля начинать, рекомендую посмотреть на уже существующие открытые проекты: csound, puredata, supercollider.

Посмотрю, но они наверняка большие и серьезные. Мне-же поиграться и бросить.

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

alexru ★★★★
() автор топика

Введем функцию R(X) - расстояние от точки X на струне до приемника. Предположим наличие дисперсии, т.е. существование зависимости скорости распространения волн от частоты v(Ω), не равной тривиально константе.

Нужно разложить функцию Y(X, T) в ряд Фурье по времени, полученные fY(X,Ω) умножить на запаздывание по фазе exp(i(R(X)-R(0))Ω/v(Ω)), связанное с длиной струны, и проинтегрировать по X. Получим спектр fA(Ω) в точке приемника. Применим Фурье опять - восстановим A(T).

mclaudt
()
Ответ на: комментарий от EvilX

Обертоны гармонические.

Я в курсе, но в реальном инструменте присутствуют и не гармонические составляющие. Если синтезировать только гармоническимим, то получается звук как из синтезатора Casio.

alexru ★★★★
() автор топика

Только учти, что это не амплитуда а отклонение пластинки микрофона, м.б. больше и меньше нуля.

mclaudt
()

Есть ещё более глупый способ, генерировать не тон, а щелчок. А потом сделать к нему угасающей делей с повторением, например, раз в 2 миллисекунды. Получится не совсем равномерный тон, с гармониками, отдалённо напоминающими звучание струны.

alexmaru
()
Ответ на: комментарий от mclaudt

Это поможет, вот только функции Y нормальной все-равно нигде нет, если не зарываться в системы ДУ с частными производными, чего делать совсем не хочется.

alexru ★★★★
() автор топика
Ответ на: комментарий от alexru

Если говорить о струне, то только гармонические. Если говорить об инструменте в целом, то тут появляются негармонические обертоны от оболочки. А они у каждого инструмента разные и по своему уникальные. Математическая модель слишком сложна. Даже в вышеприведённом программном синтезаторе, думаю, для их генерации используются семплы хитрые.

EvilX
()
Ответ на: комментарий от EvilX

Даже в вышеприведённом программном синтезаторе, думаю, для их генерации используются семплы хитрые.

Он весит весть 19 Мб (после распаковки UPX-ом) и при этом моделирует довольно много разных клавишных инструментов и их разновидностей, разные пложения микрофона.

Если там и есть сэмплы, то очень небольшие.

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

alexru ★★★★
() автор топика
Ответ на: комментарий от alexru

>>функции Y нормальной все-равно нигде нет, если не зарываться в системы ДУ с частными производными

Помилуй, зачем тебе ДУ с частными производными? Если для данного струнного инструмента известен его тембр из какой-нибудь базы (фактически дискретный спектр) то Y(X,T) получается автоматом безо всяких дифуров - сумма стоячих волн с соответствующими амплитудами.

mclaudt
()
Ответ на: комментарий от alexru

Зачем тогда пишешь что у тебя есть функция Y(X, T)? Её можно получить только через решение уравнения колебания струны.

mashina ★★★★★
()
Ответ на: комментарий от mclaudt

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

Не выйдет так. Спектр чего нужен? Колебания затухают и по мере того как они затухают спктр меняется и именно это изменение придает инструменту специфичный тембр.

alexru ★★★★
() автор топика
Ответ на: комментарий от mclaudt

Такой подход неправильный. Сумма «стоячих» волн это уже установившееся состояние, всего лишь одна из компонент колебаний. Настоящее звучание даже у простой материальной струны имеет ещё и динамику.

mashina ★★★★★
()
Ответ на: комментарий от mashina

Зачем тогда пишешь что у тебя есть функция Y(X, T)?

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

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

Её можно получить только через решение уравнения колебания струны.

Да, и решений как грязи. Но этого не достаточно для синтеза. То-есть во всех этих работах не хватает следующего шага.

alexru ★★★★
() автор топика
Ответ на: комментарий от alexru

>>Колебания затухают и по мере того как они затухают спктр меняется и именно это изменение придает инструменту специфичный тембр.

Тембр - спектральный состав. Динамика этого тембра - скорее оттенок или просто звучание. Но это термины.

Если спектр меняется нерезко (время ослабления в e раз велико по сравнению с периодом) то можно руками учесть временную зависимость коэффициентов перед стоячими волнами.

mclaudt
()
Ответ на: комментарий от alexru

Кстати, я одно время увлекался написание музыки на Yamaha XG. Софтварный синтезатор весил всего 5МБ. А умело оно много.

EvilX
()
Ответ на: комментарий от mashina

>>Сумма «стоячих» волн это уже установившееся состояние, всего лишь одна из компонент колебаний. Настоящее звучание даже у простой материальной струны имеет ещё и динамику.

Что мешает учесть динамику весовых коэффициентов в этой сумме?

mclaudt
()
Ответ на: комментарий от mclaudt

Если спектр меняется нерезко (время ослабления в e раз велико по сравнению с периодом) то можно руками учесть временную зависимость коэффициентов перед стоячими волнами.

Ну по-сути да, но в этом случае нет и смысла получать Y(X, T). Можно из записи настоящего фортепиано определить эту динамику (как?) и синтезировать сразу A(T). Примерно в этомм направлении и идет ход моих мыслей сейчас.

alexru ★★★★
() автор топика
Ответ на: комментарий от mashina

>>Дай уагадаю. Нелинейность уравнения?

Какого? Волнового с затуханием? И что? Решения вида C_1(t)*Стоячая_волна_1(x,t)+...+C_n(t)*Стоячая_волна_n(x,t) вполне годное приближение.

mclaudt
()
Ответ на: комментарий от mashina

> «Оно» аналитически не решается.

Марш в школу уроки учить. Д'Аламбер ещё в середине 18 века его проинтегрировал

anonymous
()
Ответ на: комментарий от anonymous

не путай «академическое» топорное волновое уравнение с уравнениями колебаний материальных струн.

mashina ★★★★★
()
Ответ на: комментарий от mashina

>>не путай «академическое» топорное волновое уравнение с уравнениями колебаний материальных струн.

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

mclaudt
()
Ответ на: комментарий от balodja

Если не хочешь быть несправедливо посланым в пешее эротическое, то да.

mclaudt
()

Посмотри известный алгоритм колеблющейся струны, если ещё не. Вкратце — сэмпл длиной 1/f заполняется белым шумом и пропускается через фильтр НЧ много раз, пока не затихнет. Получившаяся последовательность и будет синтезируемым звуком. Можно поэкспериментировать с типом фильтра, частотой среза, формой АЧХ, учитывающей всякие там форманты, навешай фильтров на выход и т.п. Чтобы звучало «как в микрофоне» — напиши ревербератор или используй готовый.

Чтобы синтезировать звук как описанов оп-посте — думаю, надо будет описывать модель комнаты и инструмента, использовать метод конечных элементов и прочий моделирующий матан, которым в сапрах напряжения в конструкциях рассчитывают. Если напишешь такое — выкладывай, приделаем к какому-нибудь GPL-каду и сделаем свободный SolidWorks.

prischeyadro ★★★☆☆
()
Ответ на: комментарий от mclaudt

А месье и невдомек, что до появления аппарата обобщенных функций даже «академическое топорное волновое уравнение» не было решено. Гугли «спор о струне» и просвещайся.

anonymous
()
Ответ на: комментарий от anonymous

Что за ахинея? Какие обобщенные функции тебе понадобились чтобы записать решения уравнения колебаний струны с закрепленными концами? Все частоты, отличные от гармоник, будут затухать, для надежности можно включить диссипацию - все негладкие куски сольются мигом.

mclaudt
()
Ответ на: комментарий от mclaudt

При чем тут вообще затухание? Я говорю о простейшем варианте волнового уравнения - однородном, без внешнего воздействия. Какие там у тебя будут частоты при негладких НУ?

anonymous
()
Ответ на: комментарий от anonymous

Ты формалист что-ли упернутый? Бесконечно малой и несущественной физически поправкой любые негладкие НУ сводятся к гладким, черт тебя дери.

Зачем тут строгая теория когда физически все равно остаются только гармоники?

mclaudt
()
Ответ на: комментарий от mclaudt

> Бесконечно малой и несущественной физически поправкой любые негладкие НУ сводятся к гладким, черт тебя дери.

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

Зачем тут строгая теория когда физически все равно остаются только гармоники?

Да ты в какое уравнение не ткни - в нем остаются только гармоники, потому что мы решение разложим в ряд Фурье. И что дальше?

anonymous
()
Ответ на: комментарий от anonymous

А если к бабушке приделать бесконечно малый и несущественный физически х*й, то она сразу станет дедушкой.

Нет, учи анатомию.

А чтобы получить решение без поправки надо решить уравнение с негладкими НУ.

Физику не интересуют негладкие НУ. Нет их в природе, это просто глюки модели. Метод стоячих волн для данной ситуации более чем достаточен.

mclaudt
()
Ответ на: комментарий от anonymous

>>Да ты в какое уравнение не ткни - в нем остаются только гармоники, потому что мы решение разложим в ряд Фурье. И что дальше?

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

mclaudt
()
Ответ на: комментарий от mclaudt

> Нет

http://ru.wikipedia.org/wiki/Первичные_половые_признаки

Физику не интересуют негладкие НУ. Нет их в природе

В природе как раз только негладкие НУ и есть, потому что материальная струна дискретна. Именно по-этому Бернулли вопил, что «все ваши негладкие НУ можно в тригонометрический ряд разложить из физических соображений, мамой клянусь», хотя ему все равно никто не верил.

Бред, иди доучивайся.

Меня будет слать доучиваться человек, который рассуждает о волновом уравнении, основываясь на почерпнутой из школьного учебника информации? Очень смешно.

Гармоники останутся, очевидно, не потому что любое решение в ряд можно разложить

Именно по-этому. Решение раскладывается в ряд Фурье, который и есть не более, чем сумма гармоник. То есть кроме гармоник ничего остаться не может просто потому, что кроме гармоник там вообще ничего нету.

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

Там ВСЕ частоты кратные, ты ряд Фурье в глаза-то видел хоть раз?

anonymous
()
Ответ на: комментарий от anonymous

>>http://ru.wikipedia.org/wiki/Первичные_половые_признаки

http://ru.wikipedia.org/wiki/%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA_%D0%B3%D0%B...

В природе как раз только негладкие НУ и есть, потому что материальная струна дискретна.

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

основываясь на почерпнутой из школьного учебника информации?

Нет, на институтском курсе ФТТ в МИФИ. Хотя доучивать тебе нужно именно школьную программу.

Там ВСЕ частоты кратные, ты ряд Фурье в глаза-то видел хоть раз?

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

mclaudt
()
Ответ на: комментарий от mclaudt

> http://ru.wikipedia.org/wiki/%D0%A1%D0%BF%D0%B8%D1%81%D0%BE%D0%BA_%D0%B3%D0%B...

и?

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

Загугли «некорректная задача».

Нет, на институтском курсе ФТТ в МИФИ.

Нда, сраная рашка действительно катится в сраное говно, если студент МИФИ не знает столь базовых вещей.

Рядом он станет
а пока нет затухания - нет гарантий

Это выходит за пределы всякого невежества, по-твоему решение однородного уравнения струны непредставимо в виде тригонометрического ряда? Уже даже не смешно. К чему ты вообще приплел затухание?

anonymous
()
Ответ на: комментарий от anonymous

>>по-твоему решение однородного уравнения струны непредставимо в виде тригонометрического ряда?

Ряда по какой переменной, чудень малограмотный? Там две переменных, дубина, причем по одной заведомо периодические условия (координата x), а по времени периодичность откуда возьмется? Открой хоть учебник и не позорься.

К чему ты вообще приплел затухание?

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

mclaudt
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.