Лично я нахожу Python одним из лучших вариантов там и сделал некоторые работы в области аудио идентификации. Приглашаем вас проверить, например, мое программное обеспечение для автоматической идентификации птиц по шумным аудиозаписям: Ornithokrites . Программа используется Департаментом охраны природы Новой Зеландии, и они рады этому. Основываясь на этом примере, я хотел бы указать на несколько преимуществ использования Python:
- Огромное, быстро развивающееся сообщество, предоставляющее множество библиотек. SciPy предоставляет множество методов для обработки сигналов (предоставлено, не так много и зрелых, как Matlab). Имейте в виду, что SciPy, хотя и один из самых важных, является лишь одним из сотен, которые могут помочь вам в ваших начинаниях. Я нашел Aubio лучше всего для анализа музыки. Для распознавания речи и музыки вы наверняка насладитесь множеством звуковых функций, которые Yaafe может извлечь.
- Это бесплатно! Выйдя из академии, вы быстро обнаруживаете, что Matlab довольно дорогой. И даже если вы можете себе это позволить, ваши потенциальные пользователи не будут рады этой зависимости. Например, упомянутый Департамент консервации не будет принимать проприетарное программное обеспечение.
- Для идентификации часто требуется машинное обучение, и у Python есть отличный инструментарий для этого: sklearn. Это современная библиотека - и простой в использовании. Посмотрите соревнования Kaggle (машинное обучение) и узнайте, сколько ведущих программистов используют Python и sklearn.
- Вы можете управлять «большими данными». Если вы хотите провести анализ по огромным сетевым базам данных записей, то Python имеет хорошо зарекомендовавший себя набор инструментов. Я не думаю, что Matlab / Octave легко взаимодействуют, например, с Hadoop, хотя, пожалуйста, исправьте меня, если я ошибаюсь. R делает лучше эту область.
- Говоря об интерфейсе, вы можете легко связать свою программу с веб-сайтом. Так я управляю орнитокритами (распознавание птиц): программа работает на сервисе облачных вычислений Amazon Web Services. Прекрасно, если вы хотите предоставить свое программное обеспечение другим людям, которые не обязательно проходят процедуру установки всех необходимых библиотек.
Мой второй выбор был бы R. Хотя он не так богат, как Python, он имеет множество полезных библиотек (проверьте, например, seewave для ваших приложений). Их установка как в Windows, так и в Linux является простой задачей, что важно, если вы хотите, чтобы другие использовали вашу программу. Однако, по моему опыту, высокопроизводительные вычисления в R труднее - это важно заметить, если вам нужно сделать МНОГО обработки и идентификации.
Примеры классификации музыки в Python:
В Системе машинного обучения Book Building с Python есть глава о классификации музыки
Другие инструменты (список отнюдь не полный): Python in Music