2014-08-27 1 views
1

Я нашел несколько тем об этом, но не был тесно связан, так что не нашел ответа.Java-Wav сегментация звука

Я расширяю существующий проект JAVA, который я разработал для Pitch Recognition, в простое монофоническое распознавание музыки, но я застрял в сегментировании волнового файла.

Итак, я понял, я должен обнаружить большое присутствие энергии в моей форме волны («гора»), но я не уверен, как узнать, где начинается «гора»? Иногда они недостаточно ясны. Примечания не воспроизводятся очень быстро, но сигнал редко падает до нуля. Он может упасть почти наполовину.

Не проблема, если алгоритм сегментации пропускает одну или две заметки, после этого у меня будет алгоритм сопоставления с образцом. Мне просто нужно понять, как перебирать образцы (окно или один за другим) и как решать, для каких частей массива вызывать определение тона. Если есть какая-либо открытые реализации этого, пожалуйста, поделитесь ими ...

Заранее спасибо

ответ

1

Если вы хорошо используете не инструмент JAVA, вы можете использовать sphinx_cont_fileseg. Это часть системы распознавания речи Sphinx, она находится в репо сетевых дистрибутивов Linux (или вы можете просто скомпилировать исходный код!).

sphinx_cont_fileseg создает текстовый файл, содержащий весь сегмент «речь» в вашем аудиофайле. Вы можете запустить его из своего JAVA-кода, а затем проанализировать результаты. Это не оптимально, но, вероятно, лучше, чем написать свой собственный VAD.

 Смежные вопросы

  • Нет связанных вопросов^_^