Это один из тех проектов, где путь будет определен более подробно о том, что находится под рукой для повторного использования.
Вероятно, вам будет проще непрерывно записывать и сохранять данные по частям (например, по часам).
Формат будет зависеть от того, что вы в форме инструментов записи и библиотеки обработки звука. Вы можете даже обнаружить, что используете два. Один формат, такой как WAV в кодировке PCM для записи и обработки, но сжатый MP3 для хранения.
Когда у вас есть аудиопоток, вам нужно будет получить к нему доступ в форме PCM (список значений амплитуды). Простой подход усреднения, вероятно, будет достаточно хорош, чтобы определить, когда идет разговор. Типичные параметры настройки:
* Средний уровень энергии для запуска
* Количество времени, которое вы должны быть на уровне энергии или ниже, чтобы определить остановку и запуск (я рекомендую два разных значения)
* Размер окна анализа для усреднения
Что касается количества участников, то, если вы не найдете библиотеку, которая делает это, я не вижу простого решения. Я раньше использовал механизмы распознавания речи, а также выполнил достаточное количество обработки звука, и я не видел «простых» способов сделать это. Если вы хотите посмотреть, найдите университеты, занимающиеся анализом речи. Вы можете найти некоторые прототипы, которые вы можете изменить, чтобы дать вашей программе некоторые подсказки.