Может ли компьютер распознавать ноты в звуках?

Спрашиваю, в общем-то, из чистого любопытства. Я вот, например, музыкально совершенно неграмотен, но иногда хочется что-нибудь такое посочинять, и мне интересно можно ли создать программу (или такая уже есть?), которой можно просто напеть мотив в микрофон, а она сама разложит напетую мелодию на ноты и, допустим, проиграет эти ноты звуками пианино? Потом конечно можно будет в ручную ноты подогнать, где-то подольше звук сделать, где-то покороче и т.п., чтобы всё аккуратненько было. В общем, хотелось бы программу которой можно напеть мотив, а потом проиграть его, но уже разными музыкальными инструментами.
  • Вопрос задан
  • 55914 просмотров
Пригласить эксперта
Ответы на вопрос 9
kefiijrw
@kefiijrw
В свое время я решал подобную задачу — мне понравилась партия фортепиано в одной песне, простая, но красивая, и я решил научиться ее играть. Т.к. слухом не обладаю и подбор был бы слишком мучительным, подошел с науxной стороны: спектрометр spectraPLUS + таблица соответствия частот с нотами (октавная система, бемоли и диезы на калькуляторе считать) + редактор guitarPro.

В спектрометре можно или в прямом эфире во время отлавливать на графике «частота-амплитуда» наиболее резво-меняющиеся «горбики» (амплитуду), смотреть частоту вершины и сверять с нотной таблицей:



или, что еще удобней, в таком виде, где с введение цветовой компоненты получается спектр «частота-амплитуда-время», что позволяет не отматывать постоянно на нужные моменты, вся информация сохраняется:


сразу видно (красные области), в какой момент какая нота(т.е. пока частота) прозвучала.

Если нотной грамотой не владеешь, то в guitarPro включаешь отображение клавиатуры, смотришь в той же википедии, где какая нота находится, и тыкаешь. Однако темп, размер, длина ноты и прочие плюшки придется уже самому крутить (если заморочиться, то по последней картинке можно отловить и темп(по расстоянию между одинаковыми фрагментами), и длину ноты (длина полоски или расстояние между ними)).

С голосом, правда, будет тяжело, ибо значения частот вряд ли будет дискретно, и будет та еще пляска.

Тьфу, только сейчас вспомнил. это был hard-way. Easy way — программа AmazingMIDI, которая раскладывает wav на миди (множество параметров помогут подобрать баланс). Миди потом можно импортировать в тот же guitarPro
Ответ написан
Sanches
@Sanches
Ноты компьютер различить может — так, например, работают все програмные тюнеры для гитары и др. А вот для голоса я таких не знаю… В смысле именно чтоб напеть, а она бы их сразу в аппликатуру превратила.
Для написания своей музыки для начала попробуйте GuitarPRO. Там можно записать партию (по нотам, правда) а потом прослушать как она будет звучать на разных инструментах. Но нужно вникнуть в теорию музыки. Вот.
Ответ написан
eternals
@eternals
Я бы искал у www.iis.fraunhofer.de/ Т.к. они вперёд всех такими вещами занимаются.
Ответ написан
Комментировать
Voffko
@Voffko
я боюсь, что если вы в нотах ничего не шарите, то и напеть нотами врятли сможите. потому программке будет сложно распознать. как костыль можно, конечно, использовать какой-нить тюнер, который показывает ноту, а там вы сами как-нить запишите. но такой подход не гарантирует успех.
я б посоветовал где-нить достать пианино/рояль/синтезатор и попробывать, напевая, искать ноту на клавишах.
Ответ написан
Комментировать
@kirsan_vlz
Насчёт конкретного названия программы не знаю, но для вокала есть хорошие механизмы определения.
Для виртуальной студии Cubase есть плагин Vari Audio, в его основе как раз лежит распознавание нот в звуке.
Вот демо ролик www.youtube.com/watch?v=fkvGsyyrqNY
Попробуйте поискать подобные standalone приложения. Они должны быть.
Ответ написан
Комментировать
Akdmeh
@Akdmeh
PHP, Yii2, Music
Замечу, голос нужен очень хороший.
Как-то ради шутки пели ноту «ля» в хороший тюнер — удержать ноту на определенной высоте удавалось не более доли секунды, потом либо выше, либо ниже.
Программные решения есть, но проще напеть эту мелодию и отправить её знакомому музыканту, если таких нет — я могу вам в этом помочь.
Либо самому изучать музыку.
Ответ написан
Комментировать
@dapmoed
ujam.com — может поможет.
Ответ написан
Комментировать
Awake
@Awake
Рулю разработкой ;-)
cubase 5 такое может, ну и logic pro под mac os.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы