Моя группа разрабатывает простой графический интерфейс пользователя (GUI) MATLAB, который должен записывать звук с микрофона, подключенного или встроенного в компьютер, и воспроизводить сигнал. Пока у нас это завершено. Наш графический интерфейс также может загружать образец (файл .wav и т. д.) и воспроизводить его с помощью той же кнопки «Воспроизвести» в графическом интерфейсе. У нас есть кнопки воспроизведения, записи, загрузки и сохранения. Теперь о смещении высоты тона загруженных или записанных сэмплов... Мы знаем, что нам нужен алгоритм выделения пиков, чтобы найти основные частоты сигналов. Тогда мы подумали, что можем умножить каждое из этих значений на константу, чтобы изменить высоту тона всех этих частот. То, что мы хотим сделать, это использовать этот алгоритм и назначать отдельные сдвиги для разных кнопок или радиокнопок, в которые мы можем загрузить наш семпл, нажать кнопку и, таким образом, управлять высотой тона, а затем воспроизвести его. Сможет ли использование алгоритма пикового пикинга достаточно изменить высоту тона наших сигналов, или сигнал будет искажаться во время воспроизведения?
(ЭТО НЕ ОБРАБОТКА В РЕАЛЬНОМ ВРЕМЕНИ)