Любая OpenCV-подобная библиотека C/С++ для обработки аудио?
Есть ли что-нибудь еще, похожее (по духу) OpenCV, но для обработки звука и получения от него некоторого интеллекта? Возможности могут варьироваться от: -
- Мультиплатформенный аудиозахват и воспроизведение звука
- DSP - Аудио фильтры
- Обнаружение тона
- Анализ свойств Tonal
- Синтез тона (различные стандартные формы сигнала)
- Признание, полученное с помощью некоторого узнаваемого корпуса и модели (например, определение музыкальных инструментов, ритмов, человеческой речи и т.д.) - потенциально может использовать другие проекты с открытым исходным кодом для фактической части распознавания (sphinx).
- Синтез речи/музыки - может снова использоваться и другие проекты с открытым исходным кодом (фестиваль).
Хорошо, если библиотека работает на raw audio s.t. преобразование формата/кодирования - это внешние проблемы, которые обрабатываются другими существующими библиотеками (s.a. из ffmpeg).
Я не эксперт в этой области, но мне нужно использовать такой API и задаваться вопросом, существуют ли такие библиотеки, поэтому мой выбор терминов для определения возможностей, вероятно, не самый лучший, поэтому эксперты могут захотеть отредактировать этот вопрос.
Ответы
Ответ 1
Для записи и воспроизведения звука portaudio приходит мне на ум.
Для обработки звука STK выглядит многообещающим.
Посмотрите также на этот связанный вопрос: Может ли кто-нибудь порекомендовать достойную библиотеку DSP/речи на С++?
Я рекомендую эти три библиотеки:
-
очень прост в использовании и дружелюбен для общей обработки сигналов Aquila-dsp
-
сильная библиотека для обработки аудиосигнала, хотя и сложна в использовании, и она очень большая и сложная для новичков: Проект CLAM
-
другой, у меня нет опыта в этом, стоит подумать. tspl
Ответ 2
Проверьте Essentia http://essentia.upf.edu/
Essentia - это библиотека С++ с открытым исходным кодом для анализа аудио и аудиоинформационной информации... Она содержит обширную коллекцию многоразовых алгоритмов, которые реализуют функции ввода/вывода звука, стандартные блоки обработки цифровых сигналов, статистическую характеристику данных и большую набор спектральных, временных, тональных и высокоуровневых музыкальных дескрипторов.
Существует также ветвь openFrameworks, хотя вам может потребоваться отложить до официального 64-битного кода С++ 11 через пару месяцев.
https://github.com/GiantSteps/Essentia-Libraries
Ответ 3
Я думаю, вы можете попробовать звуковую библиотеку Gaudio - http://www.geek-audio.org
Библиотека Gaudio поддерживает аудио декодирование, кодирование и dps.