LINUX.ORG.RU

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


0

3

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

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

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

Вот новый файл с частотами там где нужно, но с грубым методом оценки амплитуды: http://dl.dropbox.com/u/6121480/synth/synth_c4_40_new.ogg. Звучит почти как оригинал.

Самое интересное, что в исходном фрагменте 47 гармоник и дальше они обрваются и все. Так что скорее всего там настоящий синтез.

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

Так что скорее всего там настоящий синтез.

Я сравнил с настоящей записью (но тем не менее сделаной с ценлью изготовления сэмплов). Там старших гармоник не видно вообще, они в шумах. Так что тут или ОЧЕНЬ качественная запись или одно из двух :)

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

CSound (без привязки к питону) уже рекомендовали выше, это не то. Тут по сути задача взять как можно меньше из записи и как можно больше всего смоделировать, но чтобы при этом не решать системы из 100 ДУ. С генерацией звука как таковой задача соприкасается весьма поверхностно.

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

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

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

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

> При синтезе-же я беру ровную сетку частот n*F, где n - номер гармоники (1 - основная частота), F - частота основного тона, и применяю к этой сетке амплитуды, полученные при анализе. И тут все ломается, так как в реальном сигнале гармоники не в сетке n*F, а в какой-то своей.

Естественно, что так ничего не получится, надо хранить не только амплитуды но и сами гармоники (их частоты). И потом именно эти частоты воспроизводить, а не n*F, которое к исходному сигналу никакого отношения не имеет и иметь не может.

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

Естественно, что так ничего не получится, надо хранить не только амплитуды но и сами гармоники (их частоты). И потом именно эти частоты воспроизводить, а не n*F, которое к исходному сигналу никакого отношения не имеет и иметь не может.

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

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

> почему гармоники не на своих местах

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

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

Нет, они не на месте. Вот цитата с вики:

However, for high overtones with very short wavelengths, the thin string behaves more like a thick metal bar. The mechanical resistance of the string to bending becomes an additional force. Unless this bending force is much smaller than the tension of the string, it will raise the wave speed. This raises the frequency of the overtones above the harmonics of the fundamental, producing an unpleasant effect called «inharmonicity».

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

Кроме того я уже нашел несколько статей рассматривающих эту тему, там-же есть и формулы для вычисления реальной частоты. Вот кусочек: http://dl.dropbox.com/u/6121480/synth/formula.png

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

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

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

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