Собственно, чистка, обрезка, разделение на гармоники, нормализацию по громкости - всё это уже осуществляется Аудишном.
Это вполне реализуемо.
Цитата:
Сообщение от noname
лагов
- это что за термин такой, сам придумал? Невстричал ранее ни где...
Цитата:
Сообщение от noname
И если говорить объективно, то нужен лишь "аддон" к Аудишну, который и сам по себе уже является продвинутым саунд-анализатором.
Плагин формата VSTe написать можно но не вижу в этом смысла, тут нужна отдельная программа, так как для плагинов имеется куча ограничений, и приходится использовать всяческие ухищьрения, чтобы их обойти, и далеко не на всех VST-хостах они работают верно. Поэтому эта идея отпадает.
Цитата:
Сообщение от noname
я вынужден тебя предупредить, что её достижение связано с таким количеством научной (и именно исследовательской) работы, что до первых результатов действительно уйдут годы.
- Удивил ))) Я этим делом уже не мене двух десятков лет занимаюсь и имею достаточный опыт в синтезаторостроении как в программно-реализуемом варианте, так и в аппаратно-реализуемом (до того как стал программистом, занимался радиоэлектроникой).
Цитата:
Сообщение от noname
Подробнее готов поговорить голосом. И не раньше 2-го :)
Если у тебя выделенная сеть и ты спокойно можешь обобщатся по скайпу, это не значит, что у того с кем ты хочешь поговорить то же самое, извини, но я живу в глухой деревне и пользуюсь GSM-модемом, скорость связи которого максимум 10 кб/сек
__________________ Мастерская звука Stone Voices (Каменные голоса)
• Изготовление музыкальных инструментов
• Звукозаписывающая музыкальная студия
• Разработка программного обеспечения для работы со звуком и музыкой
• Исследования в области звука и музыки
• Online-консультации по вопросам звука, акустики, звукозаписи, сведения, аранжировки, музыкальной электроники и программного обеспечения
noname, Ты в курсе, про преобразование Фурье, кроме того что оно позволяет получить спектр сигнала из аудиоданных?
Как оно происходит, какие свойства, параметры, требования?
Для начала следует пояснить, что существует два основных алгоритма, реализующие преобразование Фурье это:
Дискретное преобразование Фурье (DFT)
Быстрое преобразование Фурье (FFT)
В применении к аудиоданным используется алгоритм FFT, использующий размер преобразований, представляющими из себя степень двойки (128, .., 1024, 2048 и т.д.).
Например, пусть, у нас есть аудио - данные, сэмплированные в 44.1 кГц, и мы, взяв 8 значений (отдельных отсчетов), хотим получить частотное разложение этого участка. В результате у нас получится 5 пар коэффициентов - 4 синусоиды с частотами 22.05 кГц, 16.5 кГц, 11.025 кГц, 5.51 кГц, и синусоида с частотой 0 кГц - то есть константа. Взяв 8 значений, мы можем разложить исходный сигнал на 4 гармоники (синусоиды, частоты). Про константу (нулевую гармонику) на время забудем - её надо просто прибавить при обратном преобразовании, а здесь она нас не интересует.
Взяв 16 отсчетов, мы получим 8 частот. Для 1024 - 512 частот. Шаг между ними, то есть частотное разрешение, составляет, в нашем примере с 44.1 кГц, (22.05 кГц)/ (N/2), или просто (44.1 кГц)/N. Частоты идут от нуля и выше, с этим шагом.
Вот поэтому при FFT используется такое понятие как размер окна, который может быть только степенью двойки (128, .., 1024, 2048 и т.д.),
чем больше размер окна, тем большее разрешение по частоте мы можем получить, но следует учесть, что размер окна совпадает с количеством анализируемых сэмплов, к примеру имеем размер окна 16384, это соответственно 16384 сэмплов, и при частоте дискретизации 44.1 кГц это будет кусок, длительностью 0,3715 сек., с шагом преобразования 2,69165 Гц.
Help к любой программе звукообработки скажет нам одну простую истину, которая звучит так: выигрывая в разрешении по времени, мы проигрываем в разрешении по частоте, и наоборот.
Далее есть такой момент, как оконные функции, необходимые для улучшения качества при FFT. Разные оконные функции приводят к разным результатам, и все они располагаются в некий спектр, от почти-ничего не делания, до сильного вмешательства в спектральное разложение.
Перечисляю этот спектр известных функций, от самых безобидных до ядреных: Triangular, Hanning, Hamming, Blackman, Welch (распределение Гаусса), Blackman-Harris.
Так что в проектируемой программе следует реализовать выбор размера окна и оконной функции, и найти оптимальное решение, результаты которого больше всего похожи на правду.
Далее необходимо сделать компоненты, позволяющие визуализировать спектр сигнала и осциллограмму.
Компонент, реализующий визуализацию спектра сигнала можно взять из хроматического тюнера программы FlutoMAX Flute Designer, переделав его для данной задачи:
Компонент для визуализации амплитудно-временной зависимости (осциллограммы) придётся разработать самому, также учесть те моменты, что потребуется масштабирование, и выделение фрагмента, по аналогии с Эдоб Аудишн.
Вот с этих моментов и следует начать реализацию проекта «Spectrum Expert».
__________________ Мастерская звука Stone Voices (Каменные голоса)
• Изготовление музыкальных инструментов
• Звукозаписывающая музыкальная студия
• Разработка программного обеспечения для работы со звуком и музыкой
• Исследования в области звука и музыки
• Online-консультации по вопросам звука, акустики, звукозаписи, сведения, аранжировки, музыкальной электроники и программного обеспечения
- это что за термин такой, сам придумал? Невстричал ранее ни где...
Это "запаздывание". В любом из возможных применений этого слова. Термин статистический.
Цитата:
Сообщение от Васян
Если у тебя выделенная сеть и ты спокойно можешь обобщатся по скайпу, это не значит, что у того с кем ты хочешь поговорить то же самое, извини, но я живу в глухой деревне и пользуюсь GSM-модемом, скорость связи которого максимум 10 кб/сек
Жаль, много времени потеряется.
Цитата:
Сообщение от Васян
Ты в курсе, про преобразование Фурье, кроме того что оно позволяет получить спектр сигнала из аудиоданных?
Да, в курсе.
И все эти моменты УЖЕ реализованы в Аудишине. С помощью элементарного описанного выше алгоритма можно получить несколько параллельных рядов значений для нескольких гармоник (и шума).
При разложении Аудишн позволяет учитывать и оконные функции и размер окна (надеюсь, что моя память не подводит меня).
Еще раз повторюсь, что востребована, в первую очередь, функция для удобного визуального и статистического анализа. Только после её реализации вообще стоит задумываться о самом разложении.
Браться за само преобразование Фурье смысла нет, это уже осуществлено.
Так что, начинать надо с осциллограммного представления (со всеми масштабирования по времени или амплитуде, представлениями в паскалях или ДБ), вычисления соотношений амплитуд основного тона и гармоник, основного тона и гармоник+шум, корреляции фаз и амплитуды суммарного сигнала, лагов максимумов/минимумов или нулевых значений гармоник. И всё это тоже выдавать в виде графиков, параллельных осциллограмме.
Это "запаздывание". В любом из возможных применений этого слова. Термин статистический.
В звукотехнике это называется латентность, от latency - к примеру в драйверах ASIO - latency compensation ( компенсация задержки).
Цитата:
Сообщение от noname
Жаль, много времени потеряется.
В контакте пиши. Там сообщения быстро проходят.
Цитата:
Сообщение от noname
И все эти моменты УЖЕ реализованы в Аудишине.
Программа должна быть независима от стороннего софта.
Ты предлагаешь, эти текста из буфера обмена, что результатом является разложения в Аудишне?
Бред конечно, но я привык уж над чем нить поработать чтобы аналогичные функции реализовать, а не искать лёгких путей.
Так что FFT будет встроено в программу
__________________ Мастерская звука Stone Voices (Каменные голоса)
• Изготовление музыкальных инструментов
• Звукозаписывающая музыкальная студия
• Разработка программного обеспечения для работы со звуком и музыкой
• Исследования в области звука и музыки
• Online-консультации по вопросам звука, акустики, звукозаписи, сведения, аранжировки, музыкальной электроники и программного обеспечения
Этот пользователь сказал Спасибо Васян за это полезное сообщение:
В звукотехнике это называется латентность, от latency - к примеру в драйверах ASIO - latency compensation ( компенсация задержки).
Не знаю. В общематематическом, общестатистическом смысле - это просто запаздывание. "Time lag". Применяя к конкретному явлению можно придумать тысячи названий. В данном случае лаг будет описывать фазовое соотношение, а изменение лага - степень гармоничности обертонов и основного тона.
Цитата:
Сообщение от Васян
Ты предлагаешь, эти текста из буфера обмена, что результатом является разложения в Аудишне?
Нет, из сохраненных файлов .вав. Еще раз нижайше тебя прошу пройтись по описанному выше алгоритму :)
Не знаю. В общематематическом, общестатистическом смысле - это просто запаздывание.
Мы с вами не бухгалтерско-статистическими расчётами занимаемся,
так что давайте будем придерживаться терминологии, принятой в звукотехнике.
А вот это как понимать:
Цитата:
Сообщение от noname
Браться за само преобразование Фурье смысла нет, это уже осуществлено.
и
Цитата:
Сообщение от noname
Нет, из сохраненных файлов .вав.
Судя по этим идеям, я должен сделать частотный анализ в Аудишне, и сохранить их в wav файлах?
В файлах формата wav результаты преобразования Фурье не сохраняются.
Если конешно специально туда внедрить пользовательский чанк с этой информацией, то это возможно, но Аудишн не предоставляет такой возможности.
Цитата:
Сообщение от noname
Еще раз нижайше тебя прошу пройтись по описанному выше алгоритму :)
Проходится придётся и ещё и не раз, как дело до этого дойдёт.
Сейчас у меня задача компоненты для работы программы написать и протестировать,собственно этим и занимаюсь в свободное время
__________________ Мастерская звука Stone Voices (Каменные голоса)
• Изготовление музыкальных инструментов
• Звукозаписывающая музыкальная студия
• Разработка программного обеспечения для работы со звуком и музыкой
• Исследования в области звука и музыки
• Online-консультации по вопросам звука, акустики, звукозаписи, сведения, аранжировки, музыкальной электроники и программного обеспечения
Васян, давай сделаем так: до тех пор, пока ты не пройдешься по приведенным мною алгоритмам, я самоустранюсь от всего, что ты собираешься делать.
И пока тебе хочется просто попрограммировать, себе в удовольствие, пока средства не дают возможности увидеть цель, - я не буду вмешиваться.
А когда "в охоточку" напргораммируешься, тогда напишешь: "Денис, я уже созрел". Тогда отложишь в папку "Прошлое" все уже написанное, наструктурированное, и начнем все с самого начала: я буду учить тебя акустике флейт, давать тебе задания записать те или иные звуки, прогонять в Аудишне приведенный алгоритм, а потом будем совместно думать, что именно и как именно можно напрграммировать для достижения ясной и конкретной цели.
Просто до тех пор, пока ты не будешь готов, у нас с тобой будут получаться прения. Например, относительно того, можно ли в вавах хранить разложенный по гармоникам звук. Ведь до тех пор, пока ты сам не сохранишь отдельные гармоники в отдельных вавах - ты же все равно будешь спорить :)
noname, Согласен. Я сейчас в акурат кодингом компонентов программы и занимаюсь - это основа всей будущей программы.
Как будет готово - сообщу.
__________________ Мастерская звука Stone Voices (Каменные голоса)
• Изготовление музыкальных инструментов
• Звукозаписывающая музыкальная студия
• Разработка программного обеспечения для работы со звуком и музыкой
• Исследования в области звука и музыки
• Online-консультации по вопросам звука, акустики, звукозаписи, сведения, аранжировки, музыкальной электроники и программного обеспечения
Этот пользователь сказал Спасибо Васян за это полезное сообщение:
noname, Столкнулся с одним нюансом, который меня немного озадачил: для работы программа будет открывать wav-файлы, и если даже в файле стереосигнал, то он будет преобразован в моно. Можно в принципе и стерео сигнал обрабатовать, но я в этом не вижу смысла в контексте данной задачи.
__________________ Мастерская звука Stone Voices (Каменные голоса)
• Изготовление музыкальных инструментов
• Звукозаписывающая музыкальная студия
• Разработка программного обеспечения для работы со звуком и музыкой
• Исследования в области звука и музыки
• Online-консультации по вопросам звука, акустики, звукозаписи, сведения, аранжировки, музыкальной электроники и программного обеспечения
Васян, а если открывать сразу два сигнала? Для открытых флейт это вполне обыденная процедура будет: один мик у свисткового окна, а второй, например, у торца (для аппликатуры "все закрыты". Или один у свисткового окна, а второй - у регистрового отверстия.