Skip to content

suchusername/sounds

Repository files navigation

sounds

Данный проект - курсовая работа студентов второго курса ФУПМ (факультета управления и прикладной математики) МФТИ: Бухараева Алима, Прохорова Юрия, Яушева Фаруха и Савелова Михаила. Он состоит из 3 основных обособленных частей:

  1. Библиотека и API на C++ для обработки аудиозаписей.
  2. API в виде расширения PHP для обработки аудиозаписей.
  3. Пользовательский интерфейс в виде веб-приложения. Подробную документацию можно найти в папке Documentation/docs.pdf.

Изначально, у нас была идея написать программу, способную распознавать музыкальные инструменты на аудиозаписи. Причина связана с тем, что эта задача не имеет точных результатов, и мы хотели получить свое собственное частное решение. Затем мы решили расширить функционал нашего приложения, добавив наиболее популярные запросы, и реализовать его как легко доступный пользователю веб-сервис. Таким образом, основные цели проекта:

  • Повышение командных навыков.
  • Реализация приложение по популярной тематике.
  • Применение знаний языка C++.
  • Изучение новых инструментов и технологий.

Пользователю предлагается загрузить файл в формате WAV на сервер. После этого он получает некоторую статистику о файле и выбирает, какое действие он желает выполнить с ним или сразу с несколькими файлами. Среди возможных функций: предсказание музыкального инструмента по аудиозаписи, слияние файлов, их обрезка, усиление громкости, ускорение и другие преобразования. Пользователь имеет возможность отправить сообщение о том, угадала ли сеть, а аудиозапись может быть использована далее для дальнейшего обучения нашей или каких-либо других моделей. Наконец, преобразованный файл пользователь может прослушать и загрузить на обратно на свое устройство.

При разработке приложения использовались следующие технологии:

  • Язык С++ стандарта 11 для написания серверной составляющей (ядра).
  • Набор инструментов для написания расширения PHP на С++.
  • Python 3 и библиотеки Keras, NumPy, SciPy для реализации нейронной сети.
  • Средства PHP, HTML5, CSS и Javascript для разработки пользовательского интерфейса.

To use the instrument classifier:

  • put my_model_one_sec_19.h5, launch.py, audio_file.wav in the same directory
  • cd </that_directory>
  • python -W ignore launch.py audio_file.wav (or python3 -W ignore launch.py audio_file.wav)

About

an ICT course project at MIPT, in which a C++ API for editing sound tracks was created

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages