Чтобы сделать это, вам нужно будет сделать то, что называется VAD: распознавание голоса, простой способ сделать это - взять набор сэмплов из звука и захватить их интенсивность, если они превышают определенный порог, тогда выследует начать запись, как только интенсивность падает ниже определенного порога в течение определенного периода времени, тогда вы завершаете запись и отправляете ее в службу.Вы можете найти пример этого здесь .
Более сложные системы используют лучшую эвристику, чтобы решить, говорит ли пользователь, например, частоту, а также применяют такие вещи, как шумоподавление, другие системы также могут выполнять живую речь в текст, как пользовательговоря как DeepSpeech 2.