Вопрос

Я просто хочу знать, есть ли какие-либо сборки в библиотеках или внешних библиотеках в Java или C #, которые позволяют мне взять аудиофайл и разбирать его и извлекать текст от него.

Мне нужно сделать приложение, чтобы сделать это, но я не знаю, откуда я могу начать.

Это было полезно?

Решение

Вот некоторые из ваших вариантов:

Другие советы

Вот полный пример, используя C # и System.speech

Код может быть разделен на 2 основных запчасти:

Настройка объекта CompleteReCongionIngionEngineEngineDine (и его необходимых элементов), обрабатывающих репределившиеся события.

Шаг 1: Настройка CompleteReCognitionEngine

_speechRecognitionEngine = new SpeechRecognitionEngine();
_speechRecognitionEngine.SetInputToDefaultAudioDevice();
_dictationGrammar = new DictationGrammar();
_speechRecognitionEngine.LoadGrammar(_dictationGrammar);
_speechRecognitionEngine.RecognizeAsync(RecognizeMode.Multiple);

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

Шаг 2: Обработка событий ComputrecognationendEngine

_SPEECHRECOGNINGINGENGINE.SPECHERECOGNIZES - = новый eventhandler (peoplerecognized); _SPEECHRECOGNINGINGENGINE.SPECHHYPOTHESESIZESIZES - = новый EventHandler (Shaphypothescateising);

_speechrecognitionentengine.speechrecognized + = новый eventhandler (prectrecognized); _speechrecognitionentengine.speechhypothensized + = новый EventHandler (Shaphypothescateising);

Частная пустота SpeakyHypothesising (отправитель объекта, SpeathyhypothesizedEventargs e) {//// Результаты реального времени из строки двигателя Realtimeresults = e.result.Text; }

Частная пустота Прозрачностиректизирована (отправитель объекта, CompletionReCognizedEventargs e) {/// окончательный ответ от строки двигателя FinalANSWER = E.RESULT.TEXT; }

Вот и все. Если вы хотите использовать предварительно записанный файл .wav вместо микрофона, вы бы использовали

_speechrecognitionationEngine.tetinputtowavefile (pathtotargetwavfile);

вместо

_speeCherecognitionentengine.etiTinputtodefaultaudevice ();

В этих классах есть куча различных вариантов, и они стоит изучить более подробно.

http://ellismis.com/2012/03/17/converting-or-transcribing-audio-to-text-using-c-and-net-system-speech/

Вы можете проверить Microsoft речь API.. Отказ Я думаю, что они предоставляют SDK, который вы можете использовать для вашей цели.

Для Java, похоже, есть решение от солнца: javax.speech.recognition

Вы можете использовать SOX (швейцарский армический нож программы обработки звуковых технологий) для конвертации аудиофайла в текстовый файл с числовыми значениями, соответствующими частотой / громкости звука.

Я сделал это для предыдущего проекта, но не знаю точные варианты команд.

Вот ссылка на проект: http://sox.sourceforge.net/main/homepage.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top