Я пишу приложение, которое будет вести себя аналогично существующему распознаванию голоса, но будет отправлять звуковые данные в проприетарную веб-службу для выполнения части распознавания речи. Я использую стандартный MediaRecord (который закодирован AMR-NB), который кажется идеальным для распознавания речи. Единственные данные, предоставляемые этим, - это амплитуда с помощью метода getMaxAmplitude ().
Я пытаюсь определить, когда человек начинает говорить, чтобы, когда человек прекращает говорить примерно на 2 секунды, я могу приступить к отправке звуковых данных в веб-службу. Прямо сейчас я использую порог амплитуды, который, если он превышает значение (например, 1500), я предполагаю, что человек говорит. Меня беспокоит то, что уровни амплитуды могут различаться в зависимости от устройства (например, Nexus One v Droid), поэтому я ищу более стандартный подход к этому, который может быть получен из значений амплитуды.
P.S. Я посмотрел на график-амплитуду, но он не дает возможности сделать это только с амплитудой.