То, что вы просите сделать, чрезвычайно сложно.
Первым шагом будет преобразование вашего аудио из временной области в частотную область. То есть вы берете несколько образцов и выполняете преобразование Фурье (реализованное в вашем программном обеспечении как БПФ).
Затем вы начинаете решать, что вы называете нотой или нет. Это не так просто, как выбрать самую громкую из частот! Разные инструменты имеют разный тембр, который создается различными гармониками. Если бы у вас была песня только о синусоидах, это было бы намного проще. Однако вы обнаружите, что начнете видеть заметки, где ваше ухо говорит вам, что их не существует.
Теперь в игру вступает психоакустика. Люди вполне могут «слышать» ноты, которые даже не имеют основного тона. Это особенно верно в музыкальном контексте. Если я возьму тромбон и начну играть гамму вниз, в какой-то момент основной тон исчезнет или почти исчезнет. Однако вы по-прежнему будете воспринимать эту шкалу как нисходящую, тогда как на самом деле основной звук практически исчез. В этот момент все становится действительно сложно.
Чтобы ответить на ваш вопрос, начните с БПФ. Возможно, этого достаточно для ваших нужд. Если нет, начните читать значительное количество технической литературы по этому вопросу.
person
Brad
schedule
09.09.2012