Как вы создали свой WAV-файл? Похоже, у него высокий битрейт. Есть только определенные форматы, поддерживаемые распознавателем. Попробуйте:
- 8 бит на выборку
- одноканальный моно
- 22 050 выборок в секунду
- PCM кодировка
У вас есть около 3 секунд звука, а размер файла составляет 520 КБ. Это кажется слишком большим для поддерживаемых форматов.
Вы можете использовать класс RecognizerInfo, чтобы найти поддерживаемые форматы аудио (SupportedAudioFormats) для вашего распознавателя - Свойство RecognizerInfo.SupportedAudioFormats .
Обновление:
Ваш аудиофайл - беспорядок. Это очень шумно. Это также в неподдерживаемом формате. Audacity сообщает о стереозвучании, 44,1 кГц и 32-битном режиме с плавающей запятой. Я заглушил шум в начале и в конце, передискретизировал до 22,050 кГц, удалил стерео трек, а затем экспортировал как несжатый 8-битный неподписанный WAV. Затем он работает нормально.
На моем компьютере с Windows 7 распознаватель по умолчанию поддерживает только следующие аудиоформаты:
0:
Encodingformat = Pcm
BitsPerSample = 8
BlockAlign = 1
ChannelCount = 1
SamplesPerSecond = 16000
1:
Encodingformat = Pcm
BitsPerSample = 16
BlockAlign = 2
ChannelCount = 1
SamplesPerSecond = 16000
2:
Encodingformat = Pcm
BitsPerSample = 8
BlockAlign = 1
ChannelCount = 1
SamplesPerSecond = 22050
3:
Encodingformat = Pcm
BitsPerSample = 16
BlockAlign = 2
ChannelCount = 1
SamplesPerSecond = 22050
4:
Encodingformat = ALaw
BitsPerSample = 8
BlockAlign = 1
ChannelCount = 1
SamplesPerSecond = 22050
5:
Encodingformat = ULaw
BitsPerSample = 8
BlockAlign = 1
ChannelCount = 1
SamplesPerSecond = 22050
Вы также должны удалить числовые варианты из грамматики. Прямо сейчас распознаватель возвращает две альтернативы: «три» и «3». Это, вероятно, не то, что вы хотите. Вы можете использовать семантическое значение результата в своей грамматике, чтобы вернуть число 3 для слова «три».