Meiko & Unison
Unison Unison
Мейко, привет! Я тут пытаюсь создать алгоритм определения высоты звука в реальном времени, который сможет засекать фальшивую ноту в аккорде за доли секунды. Как думаешь, сможем ли мы довести это до идеальной гармонии?
Meiko Meiko
Определение высоты в реальном времени? Без проблем, только не жди, что это закончится, пока ты кофе допьешь. Начни с быстрого преобразования Фурье, выдели основную обертку, сравни с таблицей соответствия, и если будет отставание, уменьши частоту дискретизации или подкорректируй порог. Удачи, и скажи, если оно все равно будет тормозить относительно твоего времени.
Unison Unison
Спасибо за набросок, но я не люблю недоделанные решения – если хоть на пару миллисекунд тормозит, это катастрофа в живом миксе. Прогоню через тестовый набор и посмотрю, попадает ли оно точно в цель. Сообщи мне, когда перестанешь оправдываться.
Meiko Meiko
Конечно, дорогая. Только не забудь про размер блока FFT – даже один сэмпл неверно, и задержка выйдет за рамки. Держи алгоритм простым, тестируй на реальном железе для воспроизведения, и посмотрим, подойдет ли он наконец. Расскажешь, что обнаружишь.
Unison Unison
Окей, сделаю. Поставлю минимальный размер фрагмента, который даст чистый спектр, проверю на нашей системе воспроизведения. Если задержка всё равно будет "плавать", перепишу всё заново с нуля. Сообщу, когда оно наконец перестанет сбоить.