yakub_EZ 0 January 10, 2011 Posted January 10, 2011 · Report post Заглянул на IEEE, так как помню, что там попадалось что то подобное. Но цели поиска всё время как то отличались от синтеза звука. Уравнение струны в формуле 1 выглядит несколько сложнее ранее упомянутых A_Modal_Based_Real_Time_Piano_Synthesizer.pdf Quote Share this post Link to post Share on other sites More sharing options...
ataradov 0 January 10, 2011 Posted January 10, 2011 (edited) · Report post Но есть вопрос - на ваших графиках видно что до 10 килогерц совпадение практически идеальное а сигнал записан и анализируется до 60 кГц Меня терзают смутные сомнения способен ли даже профессиональный музыкант отличить 5% сдвиг частоты в диапазоне выше 10 кГц? Даже не проффессиональный может, я первый раз по ошибке синтезировал на кратных частотах, потом ошибку заметил и переделал - звук стал заметно лучше. Но это возможно потому, что снимал данные маплитуд я всегда на правильных местах, а может и нет. И еще просто из любопытства - -как вы записывали сигнал струны? - ваша задача уточнение теории или синтез сигнала с заданным сдвигом по частоте в ВЧ диапазоне? Запись с синтезатора Pianoteq. Я не знаю на каком принципе он построен (семплер или настоящий синтезатор), но звучит от потрясающе. Судя по многим косвенным признакам там настоящий синтезатор. Задача с синтезировать звук, который будет звучать так же, извлекая информацию из имеющейся записи. То-есть не нужно строить мат. модели струн, резонатора, молоточков, комнаты и микрофона, всю требуюемую информацию для синтеза нужно извлечь из записи. Уравнение струны в формуле 1 выглядит несколько сложнее ранее упомянутых Да, уравнений струны учитывающих много факторов можно нарыть много. Но к ним добавится уравнение молоточка (нелинейный элемент с гистерезисом) и потом уравнение резонатора (так как в противном случае получатся стандартные решения, одинаковые для всех струнных инструментов). Это сильно сложно. Хотя в статье все это учитывается в других уравнениях, есть смысл почитать, я пока такой "комплексной" статьи еще не видел - все по частям рассмвтривают. Edited January 10, 2011 by Taradov Alexander Quote Share this post Link to post Share on other sites More sharing options...
Andrey_1 0 January 10, 2011 Posted January 10, 2011 · Report post Мне всегда казалось, что локализация зависит от разности фаз в двух ушах. Ошибался? Не ошибались, но таки есть разница в понятии локализации источника звука и качестве звучания как функции от фазовых соотношений между гармониками в сигнале - важна не фаза, а квадраты амплитуд гармоник сиречь - энергия К сведению: Неопределенность по фазе в горизонтальной плоскости для ушей составляет 10 град В вертикальной уже 20 градусов Именно по разнице фаз и соотношению амплитуд левое/правое ухо и определяется направление на источник ПС Ну а изучение колебания струны до 60 кГц это кич или спец заказ для ветеринарной клиники Задача с синтезировать звук, который будет звучать так же, извлекая информацию из имеющейся записи. То-есть не нужно строить мат. модели струн, резонатора, молоточков, комнаты и микрофона, всю требуюемую информацию для синтеза нужно извлечь из записи. А чтоб благородному дону не сгонять обратно во временную область путем обратного Фурье и синтезировать во времени используя Кул Эдит Про 2.0 ? Еще странный вопрос - а в реальности чем вы собрались излучать звук в диапазоне 20-60 кГц? Таки ухо у Вас слышит выше 20 кГц? Очень сомневаюсь - гляньте ка на кривые Флетчера-Монсона (погуглите) И еще интересно ограничить спектр с 20 кГц и сравнить с тем что звучит в оригинале вслепую Интереснай результат будет я думаю Quote Share this post Link to post Share on other sites More sharing options...
Rst7 5 January 10, 2011 Posted January 10, 2011 · Report post ПС Ну а изучение колебания струны до 60 кГц это кич или спец заказ для ветеринарной клиники Кто говорил по 60кГц??? 40гармоник*262Гц(До-1)=10480Гц. Quote Share this post Link to post Share on other sites More sharing options...
ataradov 0 January 10, 2011 Posted January 10, 2011 · Report post ПС Ну а изучение колебания струны до 60 кГц это кич или спец заказ для ветеринарной клиники Никто не изучает их до 60 кГц, смотреть нужно не только картинки, но и текст читать, подписи к графикам в попугаях. На них частота дискретизации везеде 44.1 кГц. Так что все нормально с изучением колебаний тут. Quote Share this post Link to post Share on other sites More sharing options...
Rst7 5 January 10, 2011 Posted January 10, 2011 · Report post Так что все нормально Именно. А господину Andrey_1 рекомендую внимательнее читать обсуждение. Moderator to Andrey_1: А так же выбирать выражения и не переходить на личности. Quote Share this post Link to post Share on other sites More sharing options...
Ulysses 0 January 15, 2011 Posted January 15, 2011 · Report post Придумать метод, который позволит восстановить из исходного сигнала информацию о фазе и мгновенной амплитуде гармоник. Мне пока это видится как что-то сильно переборное, то-есть выделяем небольшой кусок сигнала, сначала ищем фазы и амплитуды чистых синусов, получается некое приближение. Потом начинаем немного изменять амплитуды, чтобы более точно подогнать результат к оригиналу. Криерии - минимум СКО, фазы, амплитуды должны быть гладкими, как в пределах анализируемого куска, так и на стыках. Может есть более простое решение? Или известны стандартные алгоритмы для этого? Если известны частоты гармоник, то нахождение их амплитуд и фаз сводится к линейной задаче метода наименьших квадратов относительно комплексных амплитуд, которая дает решение с наименьшим СКО. Quote Share this post Link to post Share on other sites More sharing options...
ataradov 0 January 15, 2011 Posted January 15, 2011 · Report post Если известны частоты гармоник, то нахождение их амплитуд и фаз сводится к линейной задаче метода наименьших квадратов относительно комплексных амплитуд, которая дает решение с наименьшим СКО. Проблема в том, что амплитуды меняются со временем. Я пока не могу сообразить как правильно работать с таким сигналом. Я попробовал брать отрезки сигнала длинной равной периоду текущей гармоники и прсто перебором фазы от 0 до 2*Pi с шагом 0.01 рад и амплитуды от 0 до 1 с шагом 0.001 искать параметры при которых СКО минимально. Это дает общее представление о форме амплитуды (как и множество других методов), но амплитуда иногда изменяется бысрее периода. Кроме того фаза получается не точной, так как оценка идет для независимых кусков, хотя она и изменяется плавно. Видимо этот метод подойдет для грубой оценки и нужно что-то придумать для более точной. Кроме того часота немного изменяется со временем, но это можно выразить как набег фазы. Quote Share this post Link to post Share on other sites More sharing options...
Ulysses 0 January 15, 2011 Posted January 15, 2011 · Report post Оценки амплитуд могут убывать со временем из-за затухания гармоник. Чтобы учитывать затухания необходимо проводить нелинейное оценивание комплексных частот (это в самом деле сложная проблема и для большого числа учитываемых гармоник метод перебора не подойдет). Можно было бы сказать что-то больше, если бы посмотреть сами данные. Quote Share this post Link to post Share on other sites More sharing options...
ataradov 0 January 15, 2011 Posted January 15, 2011 · Report post Оценки амплитуд могут убывать со временем из-за затухания гармоник. Они естественно затухают, грубо я их с помощью сонограммы построил, но это грубо и из сонограммы информацию о фазе трудно тоже извлечь (можно из результатов БПФ, но так как размер окна БПФ не кратен периоду, то получается набор фаз для кусков, но они не связанны между собой). Грубую оценку должно быть можно использовать, чтобы уменьшить число вариантов в переборе. Можно было бы сказать что-то больше, если бы посмотреть сами данные. Собственно данные я могу предоставить в любом удобном формате. Quote Share this post Link to post Share on other sites More sharing options...
Ulysses 0 January 15, 2011 Posted January 15, 2011 · Report post Собственно данные я могу предоставить в любом удобном формате. В файле *.mat (для MATLAB): вектор со значениями сигнала и вектор с временными отсчетами. Quote Share this post Link to post Share on other sites More sharing options...
ataradov 0 January 15, 2011 Posted January 15, 2011 · Report post В файле *.mat (для MATLAB): вектор со значениями сигнала и вектор с временными отсчетами. Вот. d - запись ноты C4, t - время, freq - частоты 47 гармоник (старшие гармоники не кратны нулевой), F- основная частота, Fs - частота дискретизации. Quote Share this post Link to post Share on other sites More sharing options...
Andrey_1 0 January 16, 2011 Posted January 16, 2011 · Report post Проблема в том, что амплитуды меняются со временем. Я пока не могу сообразить как правильно работать с таким сигналом. выделите гармоники гребенчатым фильтром например и на каждой частоте выполните преобразование Гильберта для узкополосного процесса, которое даст амплитуду и фазу гармоники Найдите частоту и коэффициент затухания каждой гармоники и представьте в виде x(t)=A*e(-alfa*t)*sin(w*t) далее суммируйте их все. Как уже было сказано начальная фаза не должна влиять на качество звука Кстати а что у Вас там на спектрограмме такой высокий уровень шума - это так сам сигнал синтезируется или звуковая карта на которую писали дерьмовенькая? Quote Share this post Link to post Share on other sites More sharing options...
ataradov 0 January 16, 2011 Posted January 16, 2011 · Report post x(t)=A*e(-alfa*t)*sin(w*t) далее суммируйте их все. В процессе колебания струны частота основного тона немного меняется. никакие преобразования, работающие над всей выборкой сразу не способны заметить этого изменения. А замечать его нужно. Как уже было сказано начальная фаза не должна влиять на качество звука Должна-не должна - это сейчас не важно. Я хочу восстановить сигнал с минимаьными отклонениями от исходного. А для этого нужна фаза. Кстати а что у Вас там на спектрограмме такой высокий уровень шума - это так сам сигнал синтезируется или звуковая карта на которую писали дерьмовенькая? Еще раз: сигнал получен с программного синтезатора, это самый чистый сигнал из всех которые я видел за это время. Это не шумы, это так выглядит спектр фортепиано. Quote Share this post Link to post Share on other sites More sharing options...
Oldring 1 January 16, 2011 Posted January 16, 2011 · Report post Они естественно затухают, грубо я их с помощью сонограммы построил, но это грубо и из сонограммы информацию о фазе трудно тоже извлечь (можно из результатов БПФ, но так как размер окна БПФ не кратен периоду, то получается набор фаз для кусков, но они не связанны между собой). Я уже спрашивал про "три струны". По ссылке в Википедии выше упоминалось их влияние. ;) Три труны дают три моды колебаний со слегка отличающимися частотами и с сильно отличающимися скоростями отдачи энергии и, следовательно, затухания. В результате имеем не затыхающую экспоненту, а некоторую сложную огибающую. Вы это учитываете в модели? Quote Share this post Link to post Share on other sites More sharing options...