Звучите как демонстрационная библиотека/код распознавания

Я не хочу программное обеспечение звука к тексту. То, в чем я нуждаюсь, следующее:

  • Я запишу несколько (скажите 50 +), аудиопотоки (записи радиостанций)
  • от этого записи я отмечу интересные аудиоклипы - их диапазоны длины с 2 до 60 секунд - будет немного тысяч таких аудиоклипов
  • библиотека должна смочь найти другие экземпляры тех же аудиоклипов от зарегистрированных звуковых потоков
  • о коэффициенте доверия нужно сообщить используемому и дополнительному входу, обеспеченному, таким образом, распознавание могло работать в лучший следующий раз

Вы знаете о такой библиотеке программного обеспечения? LGPL был бы самым ценным мне, но я могу пойти для коммерческой лицензии также.

Аудиоклипы будут содержать обе музыки, текст, эффекты или любую комбинацию этого. Так, Распознавание текста вне рассмотрения.

Архитектура: C++, C# для связующего звена, CUDA, если это возможно.

14
задан TheCodeArtist 2 September 2013 в 03:44
поделиться

5 ответов

Я не нашел никаких библиотек ( пока), но две интересные статьи, которые могут дать вам терминологию и предысторию для уточнения ваших поисков:

EDIT: Поиск "Audio fingerprinting" пришел к страница реализаций, как с открытым исходным кодом, так и коммерческих.

Вот введение в аудиодактилоскопию

9
ответ дан 1 December 2019 в 12:26
поделиться

Взгляните на Microsoft Speech API (SAPI):
http://msdn.microsoft.com/en-us/library/ee125077 % 28VS.85% 29.aspx

Все остальные перечисленные вами требования в основном представляют собой детали реализации, которые вам придется реализовать самостоятельно. Например, поскольку программное обеспечение интерпретирует аудиопотоки, оно может сохранять их на сервере SQL с полнотекстовой индексацией ... отсюда вы выполняете поиск похожих / одинаковых аудиоклипов.

Конечно, есть и другие способы реализовать это, и это всего лишь одна идея: -)

0
ответ дан 1 December 2019 в 12:26
поделиться

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

Если вас не очень волнует производительность, вы можете использовать Python...

$ python
Python 2.6.4 (r264:75706, Dec  7 2009, 18:45:15) 
[GCC 4.4.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import scipy
>>> interesting_clip = [ 5, 7, 2, 1]
>>> full_stream = [ 1, 5, 7, 2, 1, 4, 3, 2, 4, 7, 1, 2, 2, 5, 1]
>>> correlation = scipy.correlate (full_stream, interesting_clip)
>>> print correlation
[56 79 55 28 41 49 44 53 73 48 28 35]
>>> for offset, value in enumerate(correlation) :
...     if (value > 60) :
...         print "match at position", offset, "with value of", value
... 
match at position 1 with value of 79
match at position 8 with value of 73

Мой порог выше является произвольным. Вы должны экспериментально определить, что подходит именно вам.

Имейте в виду, что чем длиннее ваш "интересный клип", тем больше времени потребуется для вычисления корреляции. Хотя более длинные ролики помогут лучше выделить совпадения на фоне несовпадений, вам, вероятно, не понадобится больше нескольких секунд.

7
ответ дан 1 December 2019 в 12:26
поделиться

AudioDB - это проект на C ++ с открытым исходным кодом, который ищет похожие разделы аудио, обрабатывает шумные потоки и может дать вам некоторую степень сходства. Его можно запускать как клиент / сервер, но я считаю, что вы можете делать автономную программу.
Другие ответы о корреляции dsp отчасти верны, но в целом эти алгоритмы dsp хотят сравнивать два потока одинаковой длины, у которых одинаковые части перекрываются.
То, что вам нужно, требует, чтобы он работал с произвольными сегментами потока; это то, для чего был создан AudioDB. (Одно из приложений - найти скрытые ссылки / сэмплы или вопиющее злоупотребление авторскими правами.) Я использовал его для поиска звуков, которые воспроизводились в обратном направлении, а также он обнаруживает случай, когда вносятся некоторый шум или изменения речи.
Обратите внимание, что он все еще находится в стадии разработки, хотя даты на домашней странице кажутся отключенными. Я бы подписался на список рассылки и спросил, каково текущее состояние и как вы могли бы его включить.

4
ответ дан 1 December 2019 в 12:26
поделиться

Возможно, вы захотите посмотреть эту статью Ли-Чун Вана относительно www.shazam.com .

Это не API, но он дает подробную информацию о том, как был разработан их алгоритм.

3
ответ дан 1 December 2019 в 12:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: