|
|
  |
Аномалии с обертонами |
|
|
|
Jan 4 2011, 17:58
|

Профессионал
    
Группа: Участник
Сообщений: 1 014
Регистрация: 8-01-07
Из: San Jose, CA
Пользователь №: 24 202

|
На рисунке изображен спектр ноты До первой октавы фортепиано (C4). Красным изображены места, где ожидаются обертоны (на частотах кратных основному тону). Видно, что реальность расходится с теорией. Одно из объяснений - это то, что реальная струна на высоких частотах - это уже не струна, а брусок или что-то не идеальное. Вопрос: почему так происходит на самом деле и есть-ли модель или способ рассчетным путем получить частоты обертонов?
Эскизы прикрепленных изображений
|
|
|
|
|
Jan 4 2011, 18:33
|

Профессионал
    
Группа: Участник
Сообщений: 1 014
Регистрация: 8-01-07
Из: San Jose, CA
Пользователь №: 24 202

|
QUOTE (Rst7 @ Jan 5 2011, 00:26)  В каких единицах шкала? Все в попугаях, чисто для иллюстрации, по Y - в логарифмических. Кординаты обертонов в Гц: 261.6, 523.3, 785.6, 1048, 1312, 1577, 1844, 2112, 2381, 2654, 2928, 3204, 3483, 3767, 4051, 4340, 4633, 4933, 5233, 5533, 5841, 6152, 6475, 6792, 7120, 7452, 7796, 8132, 8487, 8834, 9193, 9560, 9927, 10310, 10690, 11080, 11490, 11880, 12310, 12710, 13140, 13560, 14020, 14450, 14900, 15360, 15820. QUOTE (Rst7 @ Jan 5 2011, 00:26)  Где взят исходный семпл? Конкретно этот от синтезатора с http://www.pianoteq.com/, но ситуация абсолютно аналогична и для семплов записанных с настоящего фортепиано. Более того, если при синтезе расположить их правильно, то звучит что-то напоминающее фортепиано, но не "оно".
|
|
|
|
|
Jan 4 2011, 18:41
|

Йа моск ;)
     
Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610

|
QUOTE Более того, если при синтезе расположить их правильно, то звучит что-то напоминающее фортепиано, но не "оно". Семпл-результат синтеза в студию, послушаем. А вообще не следует забывать, что До-1 - это три струны, а не одна, да еще и не бесконечно жесткая рама, да плюс конечность размера струны тоже играет роль. Да еще и завышение тона при ударе... Какой именно момент звука на спектрограмме? Не атака, понятно (ибо мало шума), но где именно? Удержание, затухание?
--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
|
|
|
|
|
Jan 4 2011, 18:50
|

Профессионал
    
Группа: Участник
Сообщений: 1 014
Регистрация: 8-01-07
Из: San Jose, CA
Пользователь №: 24 202

|
QUOTE (Rst7 @ Jan 5 2011, 00:41)  Семпл-результат синтеза в студию, послушаем. Оригинал., Синтез по ровной сетке, Синтез по кривой сеткеОчень похожи, но я слушаю их уже 3 дня подряд и разницу слышу  Разница именно в атаке, так как все высокие частоты там. Синтез происходит следующим образом: от реального сигнала берется динамика изменения амплитуды первых 40 гармоник (на их нормальном месте). Далее по этой динамике генерируются новые синусы соответствующих частот и складываются. QUOTE (Rst7 @ Jan 5 2011, 00:41)  А вообще не следует забывать, что До-1 - это три струны, а не одна, да еще и не бесконечно жесткая рама, да плюс конечность размера струны тоже играет роль. Вот я и о том-же, есть способ предсказать, или только снимать с реальных записей? Может на основании упрощенных моделей... QUOTE (Rst7 @ Jan 5 2011, 00:41)  Да еще и завышение тона при ударе... Какой именно момент звука на спектрограмме? Не атака, понятно (ибо мало шума), но где именно? Удержание, затухание? Все от атаки до затухания до 0. Сейчас проверю только затухание, но судя по сонограмме будет то-же самое. LE: Только удержание и затухание - абсолютно тоже, только спектр не такой богатый, верхних частот почти нет.
Сообщение отредактировал Taradov Alexander - Jan 4 2011, 18:57
|
|
|
|
|
Jan 4 2011, 19:00
|

Йа моск ;)
     
Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610

|
QUOTE Вот я и о том-же, есть способ предсказать, или только снимать с реальных записей? Может на основании упрощенных моделей... Боюсь, упрощенные модели тут не катят... Очень много зависит от звукоизвлечения - например, на pp и на ff спектрограммы будут разные. Легато/стаккато - тоже разные. Хотите еще и механику моделировать? Возможно, некий набор исходных данных, снятых с хорошего инструмента даст какой-то средний результат для не сильно привередливого музыканта. Кстати, зря семплы подписали - лично я сторонник слепых тестов  Послушаю завтра - под рукой нет мониторных наушников. Кстати, Вы бы более глобальную задачу огласили
--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
|
|
|
|
|
Jan 4 2011, 19:08
|

Профессионал
    
Группа: Участник
Сообщений: 1 014
Регистрация: 8-01-07
Из: San Jose, CA
Пользователь №: 24 202

|
QUOTE (Rst7 @ Jan 5 2011, 00:59)  Боюсь, упрощенные модели тут не катят... Я в общем-то хотел увидеть пример как так получается в реальной жизни, безотносительно инструмента. Я думал это какое-то известное явление, для которого существует хотя-бы инженерное объяснение. QUOTE (Rst7 @ Jan 5 2011, 00:59)  Очень много зависит от звукоизвлечения - например, на pp и на ff спектрограммы будут разные. Легато/стаккато - тоже разные. Изучение зависимости от звукоизвлечения - это следующий шаг  QUOTE (Rst7 @ Jan 5 2011, 00:59)  Кстати, зря семплы подписали - лично я сторонник слепых тестов  Послушаю завтра - под рукой нет мониторных наушников. Всегда можно переименовть и перемешать  Проверил на С7, там уж точно одна струна, картина аналогична, причем гармоник меньше и они дальше друг от друга (что логично) и разбег к последним гармоникам примерно такой-же по абсолютной величине, то- есть он не зависит от частоты и определяется чем-то еще. QUOTE (Rst7 @ Jan 5 2011, 01:00)  Кстати, Вы бы более глобальную задачу огласили  Провожу новогодние каникулы с пользой - делаю синтезатор фоно с претензией как можно больше всего моделировать математически и как можно меньше брать из записей. То-есть простой сэмплер не подойдет. Чисто для развлечения и узнавания нового, вот типа того, что в оригинальном посте  Ultimate goal - сделать midi синтезатор на процессоре уровня cortex-m3 с приличным звучанием, но это больше зависит от того как пойдет сбор и анализ исходных данных. Мысли в слух: в принципе, если синтез того, что выше считать приемлимым (уровень самоиграек Casio), то выходит, что вместо семплов можно хранить динамику амплитуд гармоник, а она очень гладкая и легко (теория, не проверял!) представима полиномами или сплайнами. Но генерировать сетку кратных частот программно легко, а вот такой набор странных частот - уже может быть сложнее. Посмотрим что будет дальше.
Сообщение отредактировал Taradov Alexander - Jan 4 2011, 19:24
|
|
|
|
|
Jan 5 2011, 06:20
|

Профессионал
    
Группа: Свой
Сообщений: 1 003
Регистрация: 20-01-05
Пользователь №: 2 072

|
Цитата(Taradov Alexander @ Jan 5 2011, 02:08)  Я в общем-то хотел увидеть пример как так получается в реальной жизни, безотносительно инструмента. Я думал это какое-то известное явление, для которого существует хотя-бы инженерное объяснение. Много народу исследовало это явление. Вот, например, одно из объяснений: http://www.speech.kth.se/music/5_lectures/hall/compare.html. Цитата(Taradov Alexander @ Jan 5 2011, 02:08)  Ultimate goal - сделать midi синтезатор на процессоре уровня cortex-m3 с приличным звучанием, но это больше зависит от того как пойдет сбор и анализ исходных данных. Ох не знаю, моя старая ямаха XG очень хорошо передает характер звучания в зависимости от силы/скорости нажатия, наличия других звучащих нот и педалирования, но там стоят несколько узкоспециализированных DSP. Не уверен, что полноценная полифония будет кортексу по силам.
|
|
|
|
|
Jan 5 2011, 06:36
|

Профессионал
    
Группа: Участник
Сообщений: 1 014
Регистрация: 8-01-07
Из: San Jose, CA
Пользователь №: 24 202

|
QUOTE (halfdoom @ Jan 5 2011, 12:20)  Много народу исследовало это явление. Вот, например, одно из объяснений: Статья немного не про то, она про нелиненую зависимость поведения струны в зависимости от силы удара. И объясняется это тем, что войлочная прокладка на молоточке играет роль демпфера и поэтому звучание форте - это не то-же самое что и пианиссимо, но усиленное. Это понятно, хотя за объяснение этого эффекта спасибо. Но тем не менее в статье оперируют понятием "мода", не указывая, что они у них "съехали" куда-то. QUOTE (halfdoom @ Jan 5 2011, 12:20)  Не уверен, что полноценная полифония будет кортексу по силам. Согласен, кортекс просто потому, что под боком парочка LPC-шек лежит, если будет результат, то можно что и посерьезней сделать. Но до этого далеко и даже думать не стоит сейчас.
|
|
|
|
|
Jan 5 2011, 07:54
|
Группа: Участник
Сообщений: 12
Регистрация: 4-01-11
Пользователь №: 62 005

|
Кстати, если рассматривать колебания стержня, а не струны, то там собственные частоты как раз не совсем кратны основной...
|
|
|
|
|
Jan 5 2011, 08:00
|

Профессионал
    
Группа: Участник
Сообщений: 1 014
Регистрация: 8-01-07
Из: San Jose, CA
Пользователь №: 24 202

|
Вот как отличается реальная частота (синий) от теоретической (красный). По х - номер гармоники, по y - частота в Гц. Цитата из статьи Piano acoustics: QUOTE 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". То-есть исходное предположение верно.
Сообщение отредактировал Taradov Alexander - Jan 5 2011, 08:20
Эскизы прикрепленных изображений
|
|
|
|
|
Jan 6 2011, 13:41
|

Йа моск ;)
     
Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610

|
QUOTE Проверить их прямо сразу возможности нет, так как неизвестны модуль Юнга и прочие параметры струны. Буду сейчас их искать Попробуйте просто подобрать коэффициент B для одной струны - посмотреть, хорошо ли ложится расчетная кривая на измеренную. Послушал семплы. При синтезе по ровной сетке звук очень похож на p, а по кривой - на f. Но атака, конечно, самая жирная в оригинале. Тут похоже вот какой момент - частота колебаний струны зависит от амплитуды. На атаке цинично проявляется. Я бы оценил завышение основного тона на 0.5...1Гц на атаке относительно конца семпла. QUOTE С4 - не уверен, может и с навивкой. Нет. Три стальных струны.
--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
|
|
|
|
|
Jan 6 2011, 14:25
|

Профессионал
    
Группа: Участник
Сообщений: 1 014
Регистрация: 8-01-07
Из: San Jose, CA
Пользователь №: 24 202

|
QUOTE (Rst7 @ Jan 6 2011, 19:41)  Попробуйте просто подобрать коэффициент B для одной струны - посмотреть, хорошо ли ложится расчетная кривая на измеренную. Уже. Идеально ложится. Чуть позже буду проверять для всех остальных клавиш. Но коэффициент B очень чувствителен к диаметру струны, так что скорее всего подогнать получится. Для витых струн и придется подгонять, так как модуль Юнга для них я точно не найду  QUOTE (Rst7 @ Jan 6 2011, 19:41)  Но атака, конечно, самая жирная в оригинале. Это скорее всего из-за того, что собственно момент атаки для амплитуд гармоник я воспроизводил искусственно (простая экспонента), чтобы на глаз совпадало с оригиналом, так как метод определения амплитуд не позволял "увидеть" начало. Сейчас я работаю над метолом, который позволит увидеть все что нужно.
|
|
|
|
Guest_orthodox_*
|
Jan 6 2011, 18:53
|
Guests

|
Негармоничность обертонов - и есть самое вкусное в звучании струнных. Известно давно и учитывается даже при настройке ф-но, если конечно настройщик уж очень тщательный. При попытках синтезировать желательно это делать, иначе мертвый звук будет. FM-синтез при относительно малых вычислительных затратах это как-то там умеет, не обязательно натурально, но по крайней мере живо.
|
|
|
|
|
Jan 6 2011, 19:23
|

Йа моск ;)
     
Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610

|
QUOTE что приобретеный это навык (других-то инструментов нет) или что-то встроенное природой. И прямого ответа нет, а интересно было бы узнать. Что-то я не понял смысла сей фразы... Струна имеет конечный размер, следовательно, на высоких гармониках ближе к бруску. Плюс зависимость частоты от амплитуды. Плюс отнюдь не идеальная упругость (просто нелинейность). Гистерезисные дела. Пожалуй, это в порядке уменьшения значимости. QUOTE Негармоничность обертонов - и есть самое вкусное в звучании струнных. Отучаемся (особенно на техническом форуме) кушать звук ("вкусно звучит") и смотреть на него ("а я так вижу") и начинаем использовать слуховые анализаторы, как предназначенные природой непосредственно для восприятия акустической информации
--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
|
|
|
|
|
Jan 6 2011, 19:34
|

Йа моск ;)
     
Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610

|
QUOTE Это уже про психологию восприятия. Теперь понятно. QUOTE Это нужно искать людей не слышавших струнных и двавть им слушать А смысл? Думаете, такие люди дадут адекватную оценку звука?
--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
|
|
|
|
|
Jan 8 2011, 03:50
|
;
     
Группа: Участник
Сообщений: 5 646
Регистрация: 1-08-07
Пользователь №: 29 509

|
Цитата(Taradov Alexander @ Jan 5 2011, 16:01)  Нашел несколько статей по теме. В одной из них есть вот такие формулы. Проверить их прямо сразу возможности нет, так как неизвестны модуль Юнга и прочие параметры струны. Буду сейчас их искать  Модуль Юнга - посчитать, данные в Кузнецове со стр.118 (может, где-то рядом, ибо держу в руках оригинал 89 года) Цитата(Taradov Alexander @ Jan 7 2011, 02:26)  Это уже про психологию восприятия. Навеяло байку. Был один мужичок, решил автозвук доработать. У него была мадам, с мадамой в юношестве случился несчастный случай, с повреждением слуха. И итоге ее слух отказывался, до боли, принимать звуки с некачественной природы, типа от гуаноакустики, а также от электронных инструментов типа синтезатора. Так что бывает и физиология восприятия.
|
|
|
|
|
Jan 9 2011, 19:01
|

Профессионал
    
Группа: Участник
Сообщений: 1 014
Регистрация: 8-01-07
Из: San Jose, CA
Пользователь №: 24 202

|
QUOTE (Oldring @ Jan 10 2011, 00:27)  Струна стальная? Тогда модуль Юнга известен. От марки стали сильно зависит только прочность. E = 200-210 ГПа. Дело в том, что формула ОЧЕНЬ чувствительна к значению параметров, приходится подбирать десятитысячные доли. Так что рассчитывать по ней можно только для "виртуального", вновь синтезируемого фоно. Для реального, того для которого есть записи рассчетный путь бесполезен, нужно просто подбирать значение B и все. На текущий момент я использую B = 0.0002973, изменение в последнем разряде влияет на результат весь ма заметно, так что 200-210 ГПа - это сесьма существенный вопрос. Но это не важно, для анализа и ручной метод сойдет, а синтезировать можно и по формуле уже. В настоящий момент для определения амплитуд гармоник я использую следующий метод: для каждой гармоники входные данные фильтруются через согласованный фильтр, коэффициенты которого - это синус нужной частоты и амплитуды 1, для первой гармоники один период, для второй - два, и т.д., несколько периодов нужно, чтобы избежать влияния младших гармоник, кроме того в этом случае все фильтры получаются одинаковой длинны, что упрощает совмещение выходов. На выходе получается "звон" с частотой фильтра и амплитудой соответствующей амплитуде гармоники в данном месте. Проблема в том, что старщие гармоники получаются "зашумленными", качественно они похожи на то, что ожидается, но разумного способа фильрации мне придумать не удалось. Соответственно после синтеза получается все тот-же "сухой" звук. Потом при таком синтезе непонятно что делать с фазой гармоник. Не похоже, чтобы они оказывали сильное влияние на качество звука, сейчас подставляются случайно и все результаты синтеза звучат одинаково. ---------------- Соответственно, так как я не могу понять что именно в этом сигнале отвечает за звонкий, красивый звук, то возникала (бредова, интересная - кому как  ) идея: Придумать метод, который позволит восстановить из исходного сигнала информацию о фазе и мгновенной амплитуде гармоник. Мне пока это видится как что-то сильно переборное, то-есть выделяем небольшой кусок сигнала, сначала ищем фазы и амплитуды чистых синусов, получается некое приближение. Потом начинаем немного изменять амплитуды, чтобы более точно подогнать результат к оригиналу. Криерии - минимум СКО, фазы, амплитуды должны быть гладкими, как в пределах анализируемого куска, так и на стыках. Может есть более простое решение? Или известны стандартные алгоритмы для этого?
|
|
|
|
|
Jan 9 2011, 19:03
|

Гуру
     
Группа: Свой
Сообщений: 3 041
Регистрация: 10-01-05
Из: Москва
Пользователь №: 1 874

|
Цитата(Taradov Alexander @ Jan 10 2011, 00:54)  На текущий момент я использую B = 0.0002973, изменение в последнем разряде влияет на результат весь ма заметно, так что 200-210 ГПа - это сесьма существенный вопрос. Интересно, насколько велики температурные эффекты? Цитата(Taradov Alexander @ Jan 10 2011, 00:54)  Соответственно после синтеза получается все тот-же "сухой" звук. Хм... А лучшие образцы электронных фортепьяно дают несухой звук? То, что там три струны, и, кажется, слегка расстроенные, вы учитываете? Цитата(Taradov Alexander @ Jan 10 2011, 00:54)  Потом при таком синтезе непонятно что делать с фазой гармоник. Не похоже, чтобы они оказывали сильное влияние на качество звука, сейчас подставляются случайно и все результаты синтеза звучат одинаково. Хорошо известно, что ухо нечуствительно к фазе. Вот только что скажет по этому поводу профессиональный музыкант - не знаю.
--------------------
Пишите в личку.
|
|
|
|
|
Jan 9 2011, 19:13
|

Профессионал
    
Группа: Участник
Сообщений: 1 014
Регистрация: 8-01-07
Из: San Jose, CA
Пользователь №: 24 202

|
QUOTE (Oldring @ Jan 10 2011, 01:03)  Интересно, насколько велики температурные эффекты? Скорее всего велики, но мне не нужен метод который позволит препарировать любую запись, достаточно записи одного звука одной клавиши. QUOTE (Oldring @ Jan 10 2011, 01:03)  Хм... А лучшие образцы электронных фортепьяно дают несухой звук? То, что там три струны, и, кажется, слегка расстроенные, вы учитываете? Ну самых лучших я не слышал, но я сравниваю с софтверным финтезатором, звук которого меня устраивает и у меня есть запись одной ноты синтезированной на нем. По сути задача состоит в том, чтобы проанализировав эту запись выжать из нее как можно больше информации и по этой информации восстановить запись. Результат восстановления должен звучать максимально близко к оригиналу, так чобы в слепом тесте не отличить было. Тркбование к собранной информации - что-бы можно было аггрегировать и обобщить на всю клавиатуру, ну то-есть нельзя сказать, что записанный сэмпл - это и есть собранная информация  QUOTE (Oldring @ Jan 10 2011, 01:03)  Хорошо известно, что ухо нечуствительно к фазе. Вот только что скажет по этому поводу профессиональный музыкант - не знаю.  Это в принципе логично, так как иначе все инструменты звучали-бы по-разному с разных углов. Но в то же время есть "улучшители" звучания, которые вроде как что-то химичат с фазой.
|
|
|
|
|
Jan 9 2011, 21:58
|
Частый гость
 
Группа: Участник
Сообщений: 131
Регистрация: 30-11-10
Пользователь №: 61 268

|
Цитата(Taradov Alexander @ Jan 10 2011, 00:00)  Мама в детстве обижала? Линуксом пользоваться заставляла? PS: для справки, на скриншотах Matlab, стоит столько, что мало не покажется  Не обижала мама - я сирота от рождения Но есть вопрос - на ваших графиках видно что до 10 килогерц совпадение практически идеальное а сигнал записан и анализируется до 60 кГц Меня терзают смутные сомнения способен ли даже профессиональный музыкант отличить 5% сдвиг частоты в диапазоне выше 10 кГц? И еще просто из любопытства - -как вы записывали сигнал струны? - ваша задача уточнение теории или синтез сигнала с заданным сдвигом по частоте в ВЧ диапазоне?
|
|
|
|
|
Jan 10 2011, 08:31
|

Профессионал
    
Группа: Участник
Сообщений: 1 014
Регистрация: 8-01-07
Из: San Jose, CA
Пользователь №: 24 202

|
QUOTE (Andrey_1 @ Jan 10 2011, 03:58)  Но есть вопрос - на ваших графиках видно что до 10 килогерц совпадение практически идеальное а сигнал записан и анализируется до 60 кГц Меня терзают смутные сомнения способен ли даже профессиональный музыкант отличить 5% сдвиг частоты в диапазоне выше 10 кГц? Даже не проффессиональный может, я первый раз по ошибке синтезировал на кратных частотах, потом ошибку заметил и переделал - звук стал заметно лучше. Но это возможно потому, что снимал данные маплитуд я всегда на правильных местах, а может и нет. QUOTE (Andrey_1 @ Jan 10 2011, 03:58)  И еще просто из любопытства - -как вы записывали сигнал струны? - ваша задача уточнение теории или синтез сигнала с заданным сдвигом по частоте в ВЧ диапазоне? Запись с синтезатора Pianoteq. Я не знаю на каком принципе он построен (семплер или настоящий синтезатор), но звучит от потрясающе. Судя по многим косвенным признакам там настоящий синтезатор. Задача с синтезировать звук, который будет звучать так же, извлекая информацию из имеющейся записи. То-есть не нужно строить мат. модели струн, резонатора, молоточков, комнаты и микрофона, всю требуюемую информацию для синтеза нужно извлечь из записи. QUOTE (yakub_EZ @ Jan 10 2011, 12:24)  Уравнение струны в формуле 1 выглядит несколько сложнее ранее упомянутых Да, уравнений струны учитывающих много факторов можно нарыть много. Но к ним добавится уравнение молоточка (нелинейный элемент с гистерезисом) и потом уравнение резонатора (так как в противном случае получатся стандартные решения, одинаковые для всех струнных инструментов). Это сильно сложно. Хотя в статье все это учитывается в других уравнениях, есть смысл почитать, я пока такой "комплексной" статьи еще не видел - все по частям рассмвтривают.
Сообщение отредактировал Taradov Alexander - Jan 10 2011, 08:40
|
|
|
|
|
Jan 10 2011, 10:41
|
Частый гость
 
Группа: Участник
Сообщений: 131
Регистрация: 30-11-10
Пользователь №: 61 268

|
Цитата(Oldring @ Jan 10 2011, 11:14)  Мне всегда казалось, что локализация зависит от разности фаз в двух ушах. Ошибался? Не ошибались, но таки есть разница в понятии локализации источника звука и качестве звучания как функции от фазовых соотношений между гармониками в сигнале - важна не фаза, а квадраты амплитуд гармоник сиречь - энергия К сведению: Неопределенность по фазе в горизонтальной плоскости для ушей составляет 10 град В вертикальной уже 20 градусов Именно по разнице фаз и соотношению амплитуд левое/правое ухо и определяется направление на источник ПС Ну а изучение колебания струны до 60 кГц это кич или спец заказ для ветеринарной клиники Цитата Задача с синтезировать звук, который будет звучать так же, извлекая информацию из имеющейся записи. То-есть не нужно строить мат. модели струн, резонатора, молоточков, комнаты и микрофона, всю требуюемую информацию для синтеза нужно извлечь из записи. А чтоб благородному дону не сгонять обратно во временную область путем обратного Фурье и синтезировать во времени используя Кул Эдит Про 2.0 ? Еще странный вопрос - а в реальности чем вы собрались излучать звук в диапазоне 20-60 кГц? Таки ухо у Вас слышит выше 20 кГц? Очень сомневаюсь - гляньте ка на кривые Флетчера-Монсона (погуглите) И еще интересно ограничить спектр с 20 кГц и сравнить с тем что звучит в оригинале вслепую Интереснай результат будет я думаю
|
|
|
|
|
Jan 10 2011, 10:53
|

Йа моск ;)
     
Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610

|
QUOTE Так что все нормально Именно. А господину Andrey_1 рекомендую внимательнее читать обсуждение. Moderator to Andrey_1: А так же выбирать выражения и не переходить на личности.
--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
|
|
|
|
|
Jan 15 2011, 01:27
|
Участник

Группа: Участник
Сообщений: 70
Регистрация: 15-10-07
Из: Ιθάκη
Пользователь №: 31 371

|
Цитата(Taradov Alexander @ Jan 10 2011, 00:01)  Придумать метод, который позволит восстановить из исходного сигнала информацию о фазе и мгновенной амплитуде гармоник. Мне пока это видится как что-то сильно переборное, то-есть выделяем небольшой кусок сигнала, сначала ищем фазы и амплитуды чистых синусов, получается некое приближение. Потом начинаем немного изменять амплитуды, чтобы более точно подогнать результат к оригиналу. Криерии - минимум СКО, фазы, амплитуды должны быть гладкими, как в пределах анализируемого куска, так и на стыках. Может есть более простое решение? Или известны стандартные алгоритмы для этого? Если известны частоты гармоник, то нахождение их амплитуд и фаз сводится к линейной задаче метода наименьших квадратов относительно комплексных амплитуд, которая дает решение с наименьшим СКО.
|
|
|
|
|
Jan 15 2011, 11:43
|

Профессионал
    
Группа: Участник
Сообщений: 1 014
Регистрация: 8-01-07
Из: San Jose, CA
Пользователь №: 24 202

|
QUOTE (Ulysses @ Jan 15 2011, 07:27)  Если известны частоты гармоник, то нахождение их амплитуд и фаз сводится к линейной задаче метода наименьших квадратов относительно комплексных амплитуд, которая дает решение с наименьшим СКО. Проблема в том, что амплитуды меняются со временем. Я пока не могу сообразить как правильно работать с таким сигналом. Я попробовал брать отрезки сигнала длинной равной периоду текущей гармоники и прсто перебором фазы от 0 до 2*Pi с шагом 0.01 рад и амплитуды от 0 до 1 с шагом 0.001 искать параметры при которых СКО минимально. Это дает общее представление о форме амплитуды (как и множество других методов), но амплитуда иногда изменяется бысрее периода. Кроме того фаза получается не точной, так как оценка идет для независимых кусков, хотя она и изменяется плавно. Видимо этот метод подойдет для грубой оценки и нужно что-то придумать для более точной. Кроме того часота немного изменяется со временем, но это можно выразить как набег фазы.
|
|
|
|
|
Jan 15 2011, 14:53
|
Участник

Группа: Участник
Сообщений: 70
Регистрация: 15-10-07
Из: Ιθάκη
Пользователь №: 31 371

|
Оценки амплитуд могут убывать со временем из-за затухания гармоник. Чтобы учитывать затухания необходимо проводить нелинейное оценивание комплексных частот (это в самом деле сложная проблема и для большого числа учитываемых гармоник метод перебора не подойдет). Можно было бы сказать что-то больше, если бы посмотреть сами данные.
|
|
|
|
|
Jan 15 2011, 15:07
|

Профессионал
    
Группа: Участник
Сообщений: 1 014
Регистрация: 8-01-07
Из: San Jose, CA
Пользователь №: 24 202

|
QUOTE (Ulysses @ Jan 15 2011, 20:53)  Оценки амплитуд могут убывать со временем из-за затухания гармоник. Они естественно затухают, грубо я их с помощью сонограммы построил, но это грубо и из сонограммы информацию о фазе трудно тоже извлечь (можно из результатов БПФ, но так как размер окна БПФ не кратен периоду, то получается набор фаз для кусков, но они не связанны между собой). Грубую оценку должно быть можно использовать, чтобы уменьшить число вариантов в переборе. QUOTE (Ulysses @ Jan 15 2011, 20:53)  Можно было бы сказать что-то больше, если бы посмотреть сами данные. Собственно данные я могу предоставить в любом удобном формате.
|
|
|
|
|
Jan 15 2011, 15:41
|
Участник

Группа: Участник
Сообщений: 70
Регистрация: 15-10-07
Из: Ιθάκη
Пользователь №: 31 371

|
Цитата(Taradov Alexander @ Jan 15 2011, 20:07)  Собственно данные я могу предоставить в любом удобном формате. В файле *.mat (для MATLAB): вектор со значениями сигнала и вектор с временными отсчетами.
|
|
|
|
|
Jan 16 2011, 01:17
|
Частый гость
 
Группа: Участник
Сообщений: 131
Регистрация: 30-11-10
Пользователь №: 61 268

|
Цитата(Taradov Alexander @ Jan 15 2011, 18:43)  Проблема в том, что амплитуды меняются со временем. Я пока не могу сообразить как правильно работать с таким сигналом. выделите гармоники гребенчатым фильтром например и на каждой частоте выполните преобразование Гильберта для узкополосного процесса, которое даст амплитуду и фазу гармоники Найдите частоту и коэффициент затухания каждой гармоники и представьте в виде x(t)=A*e(-alfa*t)*sin(w*t) далее суммируйте их все. Как уже было сказано начальная фаза не должна влиять на качество звука Кстати а что у Вас там на спектрограмме такой высокий уровень шума - это так сам сигнал синтезируется или звуковая карта на которую писали дерьмовенькая?
|
|
|
|
|
Jan 16 2011, 08:18
|

Профессионал
    
Группа: Участник
Сообщений: 1 014
Регистрация: 8-01-07
Из: San Jose, CA
Пользователь №: 24 202

|
QUOTE (Andrey_1 @ Jan 16 2011, 07:17)  x(t)=A*e(-alfa*t)*sin(w*t) далее суммируйте их все. В процессе колебания струны частота основного тона немного меняется. никакие преобразования, работающие над всей выборкой сразу не способны заметить этого изменения. А замечать его нужно. QUOTE (Andrey_1 @ Jan 16 2011, 07:17)  Как уже было сказано начальная фаза не должна влиять на качество звука Должна-не должна - это сейчас не важно. Я хочу восстановить сигнал с минимаьными отклонениями от исходного. А для этого нужна фаза. QUOTE (Andrey_1 @ Jan 16 2011, 07:17)  Кстати а что у Вас там на спектрограмме такой высокий уровень шума - это так сам сигнал синтезируется или звуковая карта на которую писали дерьмовенькая? Еще раз: сигнал получен с программного синтезатора, это самый чистый сигнал из всех которые я видел за это время. Это не шумы, это так выглядит спектр фортепиано.
|
|
|
|
|
Jan 16 2011, 09:14
|

Гуру
     
Группа: Свой
Сообщений: 3 041
Регистрация: 10-01-05
Из: Москва
Пользователь №: 1 874

|
Цитата(Taradov Alexander @ Jan 15 2011, 21:07)  Они естественно затухают, грубо я их с помощью сонограммы построил, но это грубо и из сонограммы информацию о фазе трудно тоже извлечь (можно из результатов БПФ, но так как размер окна БПФ не кратен периоду, то получается набор фаз для кусков, но они не связанны между собой). Я уже спрашивал про "три струны". По ссылке в Википедии выше упоминалось их влияние.  Три труны дают три моды колебаний со слегка отличающимися частотами и с сильно отличающимися скоростями отдачи энергии и, следовательно, затухания. В результате имеем не затыхающую экспоненту, а некоторую сложную огибающую. Вы это учитываете в модели?
--------------------
Пишите в личку.
|
|
|
|
|
Jan 16 2011, 09:22
|

Профессионал
    
Группа: Участник
Сообщений: 1 014
Регистрация: 8-01-07
Из: San Jose, CA
Пользователь №: 24 202

|
QUOTE (Oldring @ Jan 16 2011, 15:14)  Я уже спрашивал про "три струны". По ссылке в Википедии выше упоминалось их влияние.  Три труны дают три моды колебаний со слегка отличающимися частотами и с сильно отличающимися скоростями отдачи энергии и, следовательно, затухания. В результате имеем не затыхающую экспоненту, а некоторую сложную огибающую. Вы это учитываете в модели? Да, я увлекся нотой C4. Видимо можно посмотреть на однострунные ноты. Вопрос: с какой ноты начинается одна струна обычно? Не хочется брать самые высокие - очень все быстро затухает. Но с другой стороны, наличие 3-х струн не должно помешать построению такого-же сигнала, как и оригинальный (максимально близкого) из огибающих гармоник. Да, сама форма огибающих будет сложнее, но какое это имеет значение.
|
|
|
|
|
Jan 16 2011, 18:34
|
Участник

Группа: Участник
Сообщений: 70
Регистрация: 15-10-07
Из: Ιθάκη
Пользователь №: 31 371

|
Цитата(Taradov Alexander @ Jan 15 2011, 17:54)  Вот. d - запись ноты C4, t - время, freq - частоты 47 гармоник (старшие гармоники не кратны нулевой), F- основная частота, Fs - частота дискретизации. Для этих данных результаты подгонки модели a*exp(j*2*pi*f*t) здесь (a = |a|*exp(j*arg(a)) и f = freq+j*ext - комлексные параметры):
Estimation_result.rar ( 20.11 килобайт )
Кол-во скачиваний: 273Рядом с результатами нелинейного оценивания параметров модели приведены результаты использования линейного метода наименьших квадратов по значениям частот гармоник, которые были в файле с данными. Реализуется линейный МНК в MATLAB очень просто: F = [-freq(end:-1:1)'; freq']; E = exp(j*2*pi*F*t).'; H = E'*E; g = E'*s; a = H\g; Вектор амплитуд дает вам абсолютное значение амплитуды |a| и ее фазу. Приведенные результаты показывают, что для небольшого интервала времени (50 мс) затухание слабо проявляется и можно обойтись без трудоемкого и времязатратного нелинейного оценивания, чтобы получить параметры модели, позволяющие имитировать исходный сигнал с отклонением не более десятых долей единиц процентов от общей энергии сигнала. Для интервалов порядка 0.4 с не учет затухания дает ошибку в десятки процентов, в то время как учет - 0.5%. Анализ оценок амплитуд гармоник для разных интервалов времени показывает, что со временем происходит процесс перераспределения энергий гармоник между ними.
|
|
|
|
|
Jan 16 2011, 19:28
|

Профессионал
    
Группа: Участник
Сообщений: 1 014
Регистрация: 8-01-07
Из: San Jose, CA
Пользователь №: 24 202

|
QUOTE (Ulysses @ Jan 16 2011, 21:34)  Для этих данных результаты подгонки модели a*exp(j*2*pi*f*t) Спасибо, посмотрю. QUOTE (Ulysses @ Jan 16 2011, 21:34)  F = [-freq(end:-1:1)'; freq']; E = exp(j*2*pi*F*t).'; После первой строчки F становится вектором длинны 2*length(freq) и произведение F*t дает ошибку о несогласованности размерностей перемножаемых векторов (t тоже вектор, но длинный). Можно тут пояснить? Касательно предложения petrov: хочу проверить правильно-ли я понял, результат есть, но может еще лучше можно. Что я сделал: перемножил исходный сигнал на sin(wt) и cos(wt), отфильтровал составляющие удвоенной частоты, получил снесенные в 0 квадратуры. Дальше, так как начальная фаза неизвестна, то пришлось возвести их в квадрат и сложить, после извлечения корня получился модуль амплитуды огибающей. Это в принципе прокатывает, так как все переходы этого модуля через 0 приходятся на момент почти затухшего звучания и проблемы с фазой в этих местах не слышны. Это лучшее что можно сделать в данной ситации или можно лучше? Наверное можно попробовать ФАПЧ и следить за фазой, но очень похоже на overkill для данной задачи.
|
|
|
|
|
Jan 18 2011, 00:21
|
Участник

Группа: Участник
Сообщений: 70
Регистрация: 15-10-07
Из: Ιθάκη
Пользователь №: 31 371

|
Цитата(Taradov Alexander @ Jan 16 2011, 21:28)  После первой строчки F становится вектором длинны 2*length(freq) и произведение F*t дает ошибку о несогласованности размерностей перемножаемых векторов (t тоже вектор, но длинный). Можно тут пояснить? После считывания ваших данных load('c4_data'); я их для собственного удобства переприсваивал s = d; t = t'; Вектор t должен быть строкой, чтобы результат вычисления E = exp(j*2*pi*F*t) был матрицей комплексных экспонент.
|
|
|
|
|
Jan 18 2011, 17:13
|

Местный
  
Группа: Свой
Сообщений: 323
Регистрация: 13-05-05
Пользователь №: 4 986

|
Цитата(Taradov Alexander @ Jan 16 2011, 14:39)  Поточечно синтез с оригиналом естественно не совпадают, но результат синтеза звучит просто отменно. Если результат устраивает, то в чем тогда проблемы? Разве задача не решена? Повторите создание модели для групп струн (например пооктавно - для ноты До и менять ей частоту звучания в пределах октавы или еще меньше, с учетом изменения технологии навивки струн) и все наверное.
--------------------
О сколько нам открытий чудных ...
|
|
|
|
|
Jan 19 2011, 05:22
|

Профессионал
    
Группа: Участник
Сообщений: 1 014
Регистрация: 8-01-07
Из: San Jose, CA
Пользователь №: 24 202

|
QUOTE (Andrey_1 @ Jan 19 2011, 02:08)  Если это шумы квантования и их уровень 4 относительно максимума первой гармоники 8 даже если шкала по вертикальной оси линейная то динам диапазон всего 6 дБ? Это 16 бит? Пожалуйста читайте все-таки тему. Еще раз: График в попугаях, приведен только для оценки расхождения частот. Уровень шумов там -55 дБ относительно основной гармоники при отстройке 100 Гц от нее. QUOTE (Andrey_1 @ Jan 19 2011, 02:08)  собственная частота натяжением струны и плотностью материала (идеальая модель) комплексным модулем Юнга E=E0*(1+j*etta) плотностью и моментом инерции сечения струны (модель изгибных колебаний) Я знаю теорию, весь этот топик посвещен тому, что она не совпадает с практикой. QUOTE (Andrey_1 @ Jan 19 2011, 02:08)  Звук струны получается на основе принципа суперпозиции гармоник - сиречь суммированием парциальных комплексных амплитуд А в русском алфавите есть буквы от А до Я, и что? Еще раз перечитайте топик. Тут почти с самого начала обсуждается вопрос как получить реальные огибающие, а не теоретические. То что их нужно просуммирвать никто не сомневался.
Сообщение отредактировал Taradov Alexander - Jan 19 2011, 05:23
|
|
|
|
|
Jan 19 2011, 12:01
|
Частый гость
 
Группа: Участник
Сообщений: 131
Регистрация: 30-11-10
Пользователь №: 61 268

|
Цитата(Taradov Alexander @ Jan 19 2011, 08:22)  Пожалуйста читайте все-таки тему. Еще раз: График в попугаях, приведен только для оценки расхождения частот. Уровень шумов там -55 дБ относительно основной гармоники при отстройке 100 Гц от нее.
Я знаю теорию, весь этот топик посвещен тому, что она не совпадает с практикой.
А в русском алфавите есть буквы от А до Я, и что? Еще раз перечитайте топик. Тут почти с самого начала обсуждается вопрос как получить реальные огибающие, а не теоретические. То что их нужно просуммирвать никто не сомневался. Picture worthy than thousand words - если вы технарь, потрудитесь шкалы приводить в физических единицах - тогда не надо будет писать записки в зал Я не говорю о теоретических огибающих - Вам бало предложено профильтровать каждую гармонику полосовым фильтром или взять Фурье достаточно длинной временной реализации с бОльшим разрешением по частоте Потом определите методом ширины резонансной кривой добротность каждой гармоники и вперед через комплексные огибающие во времени
|
|
|
|
|
Jan 19 2011, 12:04
|

Профессионал
    
Группа: Участник
Сообщений: 1 014
Регистрация: 8-01-07
Из: San Jose, CA
Пользователь №: 24 202

|
QUOTE (Andrey_1 @ Jan 19 2011, 15:01)  Picture worthy than thousand words - если вы технарь, потрудитесь шкалы приводить в физических единицах - тогда не надо будет писать записки в зал В ответ могу предложить читать что написано, а не только на картинки смотреть. Не в детском саду уже. Самый нормальный и хорошо работающий метод предложил petrov, за что ему еще раз спасибо. Больше методов уже не нужно  PS: Ну и если уж придираться к мелочам, то английский нужно либо учить либо не использовать без явной необходимости.
Сообщение отредактировал Taradov Alexander - Jan 19 2011, 12:06
|
|
|
|
|
Jan 31 2011, 19:26
|

Профессионал
    
Группа: Участник
Сообщений: 1 014
Регистрация: 8-01-07
Из: San Jose, CA
Пользователь №: 24 202

|
Я продолжаю ковырять синтезированные сэмплы и наблюдаю следующее явление: в левом и правом канале (стерео) разность фаз и отношение амплитуд гармоник близки к постоянной, но иногда с ними случается странное - разность фаз плавно изменяется на 2*Pi, в результате чего возвращается в исходное значение, конечно, но само ее такое поведение мне не понятно. На картинках красным изображена разность фаз (ось Y в радианах), синим - отношение амплитуд, по оси X - отсчеты 44.1 кГц. Метод получения: 1. Входной сигнал d = [dl, dr], где dl и dr - вектора (все остальные вычисления тоже работают с векторами) значений отсчетов левого и правого каналов. 2. Для dl и dr получаем квадратуры первой гармоники: CODE il' = dl * sin(2*pi*f0*t); ql' = dl * cos(2*pi*f0*t); il = 2*filter(H, il'); ql = 2*filter(H, ql']); аналогично получаем ir и qr. 3. Получаем амплитуды: al = sqrt(il.^2 + ql.^2) и фазы: pl = atan2(il, ql). Аналогично ar и pr. 4. Строим al/ar и pl-pr. При построении фаз использовалась функция матлаба unwrap() для того, чтобы избежать резких скачков при переходе от 2*Pi к 0. Характер таких переходов зависит от силы удара по струне и жесткости молоточка (параметрs задаются в эталонном синтезаторе), все приведенные катринки полученны для ноты C4. На реальных записях я такого не наблюдаю, там разность фаз примерно одинакова. У этого эффекта есть объяснения?
Сообщение отредактировал Taradov Alexander - Jan 31 2011, 20:41
Эскизы прикрепленных изображений
|
|
|
|
Guest_orthodox_*
|
Jan 31 2011, 22:45
|
Guests

|
Цитата(Taradov Alexander @ Jan 31 2011, 21:26)  У этого эффекта есть объяснения? Может и не стоит объяснять. просто откидывать 2*пи , так как они там воображаемые. или, точнее, артефакты.
|
|
|
|
|
Feb 7 2011, 08:24
|
Местный
  
Группа: Участник
Сообщений: 215
Регистрация: 10-06-05
Пользователь №: 5 887

|
Цитата(Taradov Alexander @ Feb 1 2011, 11:05)  Наверное, просто думал может кто узнает в этом поведении какой-нибудь известный эффект. Просто уж больно они характерные артефакты эти. Все плохие инструменты одинаково плохи. Копировать их не стоит. А все хорошие -индивидуальны. их скопировать не удается. Частота колебаний (звучания) зависит от многих вторичных факторов- Амплитуды колебаний, величины потерь, которые нелинейны, ширины и формы спектральных линий, которые могут меняться в процессе колебания и тд. Кроме того, длина Вашей выборки во времени тоже повлияет на эти факторы. Те , несмотря на полезные советы, Вам придется самому выбрать модель , на которой остановиться, и при этом надо отсечь все лишнее. Иначе задачку не решить. Кроме того, Не факт , что Ваш спектр дает хорошее звучание. В общем, задача сложная-удачи!
|
|
|
|
|
Feb 20 2011, 19:15
|

Профессионал
    
Группа: Участник
Сообщений: 1 014
Регистрация: 8-01-07
Из: San Jose, CA
Пользователь №: 24 202

|
QUOTE (Taradov Alexander @ Feb 1 2011, 09:05)  Наверное, просто думал может кто узнает в этом поведении какой-нибудь известный эффект. Просто уж больно они характерные артефакты эти. Небольшой update. Такие перескоки фазы возникают из-за биений 3-х струн. EDIT: Я уже запутался  . Перескоки разности фаз стерео каналов модель струны естественно не воспроизводит, воспроизводятся другие характерные перескоки фаз в процессе колебания. Чтобы лучше понять что происходит я взял статью в которй рассматривется ДУ колебания жесткой струны и небольшим матлабовским скриптиком построил решение исходя чисто из физических параметров струны. Аналогичный эффект наблюдается на модели для 3-х струн немного расстроенных. Модель так-же воспроизводит негарманичность, довольно интересно с ней играться  Из модели получается перемещение любой точки струны во времени, я сейчас соответственно смотрю как моделируют деку (soundboard по-английски, не знаю как правильно на русском), а пока смотрю на перемещение точки в районе мостика (место где вибрация передается на деку). Если записать это перемещение в wav файл и послушать, то получается довольно интересно, но на фортепиано не похоже ни разу, разумеется
Сообщение отредактировал Taradov Alexander - Feb 20 2011, 21:31
|
|
|
|
|
Feb 21 2011, 13:38
|
Частый гость
 
Группа: Участник
Сообщений: 131
Регистрация: 30-11-10
Пользователь №: 61 268

|
Цитата(gregory @ Feb 7 2011, 12:24)  Частота колебаний (звучания) зависит от многих вторичных факторов- Амплитуды колебаний, величины потерь, которые нелинейны, ширины и формы спектральных линий, которые могут меняться в процессе колебания и тд. ??????!!!!!!
|
|
|
|
|
Mar 30 2012, 12:50
|
Частый гость
 
Группа: Участник
Сообщений: 87
Регистрация: 30-03-12
Из: Мирный (Якутия)
Пользователь №: 71 096

|
Гармоники гитарной струны (первой). Что-то непонятно ничего...
Прикрепленные файлы
1030_1.rar ( 16.87 килобайт )
Кол-во скачиваний: 29
|
|
|
|
|
Mar 30 2012, 17:32
|
Частый гость
 
Группа: Участник
Сообщений: 87
Регистрация: 30-03-12
Из: Мирный (Якутия)
Пользователь №: 71 096

|
Цитата(Santik @ Mar 30 2012, 16:50)  Гармоники гитарной струны (первой). Что-то непонятно ничего...  Исходник : http://dl.dropbox.com/u/29529555/44k-1.rar
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|