Привет! Я решил попробовать убрать гитару из mp3 песни с помощью нейросети. В данной статье я хочу поделиться своим личным опытом и объяснить, как это делается. Сначала необходимо иметь набор данных, состоящий из аудиофайлов с гитарой и без нее. Я собрал несколько песен без гитары и несколько с гитарой. Затем я подготовил эти файлы для обучения нейросети. Для начала, я преобразовал аудиофайлы в спектрограммы с помощью библиотеки Librosa в Python. Спектрограмма представляет собой 2D-изображение, на котором ось X ― это время, ось Y ― это частота, а цвет ౼ это интенсивность звука. Затем я разделил спектрограммы на обучающую и тестовую выборки. Я использовал 80% данных для обучения и 20% для тестирования. Затем я привел все спектрограммы к одинаковому размеру, чтобы они были одного размера. Далее я создал сверточную нейронную сеть, используя библиотеку Keras. Моя сеть состояла из нескольких сверточных слоев и пулинговых слоев. Я также добавил несколько полносвязных слоев для классификации.
После создания модели я начал обучение. Я использовал метод обратного распространения ошибки и оптимизатор Adam. Обучение заняло некоторое время, так как обрабатывалось много данных.
После завершения обучения я протестировал модель на тестовой выборке. Я сравнил предсказания модели с фактическими метками (гитара или нет) и посчитал точность предсказания;
Результаты оказались потрясающими! Модель показала точность около 90% при предсказании на тестовой выборке. Это означает, что она действительно смогла убрать звук гитары из песни.
Я также протестировал модель на новых аудиофайлах с гитарой, которые она не видела во время обучения. Результаты были впечатляющими. Нейросеть успешно убирала гитару из этих файлов, оставляя только остальные инструменты и вокал.Используемые источники⁚2. https://keras.io/