ОБСЛУЖИВАНИЕ И РЕМОНТ ФОРТЕПИАНО

ГОСТЕВАЯ ВЕРСИЯ ФОРУМА


Начать новую тему Ответить на тему  [ Сообщений: 121 ]  На страницу 1, 2, 3, 4, 5 ... 13  След.
Автор Сообщение
 Заголовок сообщения: Entropy Piano Tuner - AFM mod
СообщениеДобавлено: 17 май 2018, 19:31 
Аватара пользователя
Здесь предлагаю обсуждать только лишь модификацию программы Entropy Piano Tuner которую я пытаюсь изготовить в соответствии с вашими рекомендациями.
Старая тема Entropy Piano Tuner пусть останется для обсуждения более общих вопросов, касающихся оригинальной программы.
Здесь, в самом верхнем сообщении можно будет найти самую актуальную информацию по ходу работ. Я буду подправлять его по мере необходимости.

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

Возможность оперировать долями цента пока под вопросом поскольку не выглядит простой в реализации. Во всяком случае, это не первоочередная задача. Изменения внешнего вида (интерфейса) программы также пока не планируются. Программа по-прежнему будет выпускаться под лицензией свободного ПО (GPL) и будет, разумеется, бесплатной. Однако, по крайней мере на первых порах, я не справлюсь с изготовлением версий под все платформы (как это сделали авторы) а ограничусь лишь платформами Android (процессоры ARM) и Linux (64bit). Распространять программу через Google Play Market не планирую. Вместо этого буду размещать здесь ссылки на файл .APK для скачивания.

Из всех проблем с которыми я столкнулся самая большая - то что при разработке алгоритма я пользуюсь лишь голой теорией (статьями и книгами), а также вашими любезными рекомендациями. Я не имею никакой практики (которая могла бы явиться критерием истины). Примерно как автор EPT, только хуже ;) У того был хотя бы был инструмент и ключ, судя по видео. Поэтому пожалуйста продолжайте быть снисходительными.

Изображение


28 сентября 2018 года выпущена первая beta-версия:
Изображение

17 октября 2018 года - вторая бета версия. Добавлена возможность смотреть графики биений online.


Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Компьютер железный - ему всё равно
СообщениеДобавлено: 17 май 2018, 19:33 
Аватара пользователя
Предлагаю теперь обсудить самое важное: как программа сможет воспользоваться критерием биений для того чтобы подготовить начальную кривую для метода Монте-Карло? Напоминаю, после записи всех звучащих клавиш микрофоном в нашем распоряжении оказываются все спектры со всеми обертонами и со всеми негармоничностями. Оригинальная программа неплохо справляется с выставлением начальной кривой настройки пользуясь одними лишь октавами. На мой взгляд необходимо задействовать и остальные интервалы чтобы ещё сократить (сузить) дальнейший хаотичный поиск оптимального решения. Поэтому предлагаю вот такой алгоритм "в лоб":

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

2) Для каждой клавиши численно оценить её "склонность" (score) [-16..+16] к повышению или к понижению тона в зависимости от анализа интервалов в которых она принимает участие. Примерно так: если для устранения неравномерности биений в каком-то интервале тон клавиши надо повысить - добавляем +1 к score клавиши. Если понизить - вычитаем 1. Здесь можно также применить весовые коэффициенты интервалов, расчитанные исходя из их значимости в данном диапазоне. Интервалы как бы "голосуют" за сдвиг тона вниз или вверх. Голоса суммируются с учетом знака: "+" или "-".

3) Из всех клавиш выбираем "наихудшую" исходя из абсолютного значения score, расчитанного на шаге 3. И "подстраиваем" её в нужном направлении. К примеру, всего лишь на 1 цент.

4) Для всех интервалов в которых задействована только что "подстроенная" "наихудшая" клавиша пересчитываем значения биений (как на шаге 1)

5) Повторяем процесс с шага 2 до тех пор пока не сочтем биения в достаточной степени выровнеными.


Спасибо тем кто прочитал до этого места ;) Этот алгоритм - всего-лишь моё предложение. Так я представляю себе работу программы. Прошу всячески критиковать этот порядок действий. В частности, нуждаются в детализации п.2 и п.5. Мне не совсем понятно как лучше устроить процедуру "голосования" за сдвиг тона выше или ниже. Достаточно ли анализировать два соседних (хроматически) интервала или лучше рассмотреть, например, три соседних? Также можно уточнять критерий окончания процесса: например, прекращать вычисления когда отклонения биений от желаемых опустятся ниже некоторого порога.

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


Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Компьютер железный - ему всё равно
СообщениеДобавлено: 18 май 2018, 09:00 
Мэтр
Аватара пользователя
Сергей еще один писал(а):
... Оригинальная программа неплохо справляется с выставлением начальной кривой настройки пользуясь одними лишь октавами. ...

Значит, оригинальная программа вычисляет частоты основных тонов, просто деля вычисленную по негармоничности октаву 2:1 на 12? Или все-таки 4:2? Последнее, мне кажется, ближе к цели.
Сергей еще один писал(а):
... можно также применить весовые коэффициенты интервалов, расчитанные исходя из их значимости в данном диапазоне.

Кое-что насчет значимости есть в моей статье "Биения фортепианных струн" (в Библиотеке форума). Я там, конечно, погорячился насчет границы спектра в 1000 Гц, но в остальном, вроде бы, не фантазировал.
Сергей еще один писал(а):
Достаточно ли анализировать два соседних (хроматически) интервала или лучше рассмотреть, например, три соседних? Также можно уточнять критерий окончания процесса: например, прекращать вычисления когда отклонения биений от желаемых опустятся ниже некоторого порога.

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

Нормально.


Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Компьютер железный - ему всё равно
СообщениеДобавлено: 18 май 2018, 17:16 
Аватара пользователя
Klopff писал(а):
оригинальная программа вычисляет частоты основных тонов, просто деля вычисленную по негармоничности октаву 2:1 на 12? Или все-таки 4:2? Последнее, мне кажется, ближе к цели.


Да, для предварительного вычисления частот основных тонов вычисленную по негармонизму октаву делят ровно на 12 в интервале A3-A5 (но A3-A4 по 4:2 а A4-A5 - по 2:1). Остальное получается искаженным вследствие негармонизма октавным масштабированием фрагмента A3-A5:

Сергей еще один писал(а):
Октава A3-A4 выстраивается по A4 в соответствии с негармонизмом A3 по совпадению обертонов 4:2. Все промежуточные клавиши раскидываются равномерно между A3 и A4 - делением расстояния между A3 и A4 в центах на 12. Кусок A4-A5 обрабатывается аналогично - по негармонизму A5. Но по обертонам 2:1 соответственно.

Потом октавными ходами (с учётом негармонизма конечно) предварительно "настраиваются" все остальные клавиши вверх и вниз:
Вверх октавные ходы обеспечивают нечто среднее между сдвигом для совпадения обертонов 4:2 и 2:1 (в постоянном весовом соотношении 0.3 и 0.7 соответственно).
Вниз октавные ходы обеспечивают нечто среднее между совпадением обертонов 6:3 и 10:5 (при этом весовой коэффициент последнего сдвига возрастает к концу диапазона с 0 до 1). Никаких других интервалов на данном этапе не учитывается.


Klopff писал(а):
Кое-что насчет значимости есть в моей статье "Биения фортепианных струн"

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

Каким образом здесь учитывать "громкость" обертонов я пока не совсем понимаю. Острота (не только высота) пиков спектра различна. Здесь мне не хватает знаний теории звука. Громкость обертона - это скорее объем кривой который он несёт под своим пиком (интеграл) нежели высота самого пика. Но для наших целей, возможно, достаточно принять в расчет лишь высоту самого пика. Когда я больше изучу программу я буду лучше понимать и этот вопрос тоже.


Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Entropy Piano Tuner - AFM mod
СообщениеДобавлено: 18 май 2018, 18:02 
Administrator
Аватара пользователя
Сергей, на мой взгляд настройщика-нематематика Вы сильно закопались. Мне кажется, что хорошая программа должна имитировать работу хорошего настройщика. Хороший настройщик не прослушивает перед началом работы все клавиши фортепиано. Кстати, эту прослушку не требуют хорошие программы, такие как Verituner и Tunic OnlyPure.

На мой взгляд, слушать, анализировать и записывать характеристики тона программа должна в процессе настройки, как это делает живой настройщик.

Вот приблизительный возможный план.

1. Настраивается A4
2. Настраивается A3 в октаву, причём ширину этой октавы должен выбирать настройщик по своему вкусу.
3. Программа делит полученную октаву на 12 частей, настраиваются все тоны внутри октавы в произвольном порядке. Каждый настраиваемый тон программа анализирует и записывает частоты его гармоник.
4. Настраиваются все тоны от G#3 вниз по хроматизму так, чтобы биения во всех одноимённых интервалах постепенно замедлялись, уполовиниваясь через октаву.
5. Настраиваются все тоны от A#4 вверх по хроматизму с постепенным ускорением биений одноимённых интервалов, с их удвоением через октаву.

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


Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Entropy Piano Tuner - AFM mod
СообщениеДобавлено: 18 май 2018, 18:23 
Аватара пользователя
Возможные планы дают мне лучшее понимание вопроса!

AlexHutor писал(а):
Программа, повторяюсь, должна анализировать каждый тон во время настройки и сопоставлять его характеристики с уже настроенными тонами.

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


Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Entropy Piano Tuner - AFM mod
СообщениеДобавлено: 18 май 2018, 18:44 
Administrator
Аватара пользователя
Для того, чтобы поймать нужные биения в интервале, программе не надо слушать сам интервал. Уже настроенные тоны записаны в программе с частотами всех необходимых гармоник. Когда настраивается очередной тон, то анализируются частоты его гармоник и сопоставляются с частотами гармоник уже настроенных тонов. Например: настраиваем G3, сопоставляем частоту его 5-й гармоники с частотой 4-й гармоники уже настроенной B3 (большая терция), вычисляем, какие получаются биения (разность частот совпадающих гармоник). Одновременно анализируются получающиеся биения в других интервалах (кварте, квинте, большой сексте, малой терции) и находится золотая середина, когда во всех интервалах наблюдается уменьшение частоты биений относительно интервалов от соседней G#3


Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Entropy Piano Tuner - AFM mod
СообщениеДобавлено: 18 май 2018, 18:53 
Аватара пользователя
AlexHutor писал(а):
золотая середина, когда во всех интервалах наблюдается уменьшение частоты биений относительно интервалов от соседней

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


Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Entropy Piano Tuner - AFM mod
СообщениеДобавлено: 18 май 2018, 19:19 
Administrator
Аватара пользователя
Тут такое дело. Эту золотую середину найти несложно без всякой энтропии. Интервалы, которыми оперирует настройщик, бывают расширенные (кварта, большие терция и секста) и зауженные (квинта, малая терция). Если мы имеем настроенными октаву A3-A4 со всеми тонами внутри октавы, то настраивать тоны, к примеру, вниз от этой октавы программе будет легко. Если настраиваемый тон окажется чуть ниже, то расширенные интервалы дадут увеличение частоты биений относительно стандарта, а зауженные - уменьшение. В этом случае коэффициент уменьшения частоты биений в этих интервалах будет разный, а в расширенных и вовсе может оказаться равен единице (без изменений относительно соседнего интервала сверху). Если настраиваемый тон окажется чуть выше - картина изменится с точностью до наоборот. Если добиться максимально одинакового коэффициента изменений частот биений во всех интервалах - это и будет золотая середина


Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Entropy Piano Tuner - AFM mod
СообщениеДобавлено: 18 май 2018, 19:42 
Аватара пользователя
Измеряю негармоничность А4:
Нажал клавишу, звучит только одна струна. В-тюнер показывает, что основной тон 0, а второй обертон минус 0.3...???...
Нажимаю измерить негармоничность снова, только щиплю струну коготком-нокотком и... - второй обертон уже показывает не минус 0.3 а плюс полтора цента 1.5 . Вот и думай, струна одна а негармоничность... разная)

_________________
Дом с пасекой.


Вернуться к началу
 Профиль  
Cпасибо сказано 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 121 ]  На страницу 1, 2, 3, 4, 5 ... 13  След.

ГОСТЕВАЯ ВЕРСИЯ ФОРУМА



Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Добавить в Избранное
Добавить в Избранное

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Вы можете создать форум бесплатно PHPBB3 на Getbb.Ru, Также возможно сделать готовый форум PHPBB2 на Mybb2.ru
Русская поддержка phpBB
Copyright © Aiwan. Kolobok smiles