Описание подхода
Проект состоит из клиентской и серверной частей. Файлы simple.cpp и server1.cpp , соотвественно. В работе использовалась библиотека portaudio , так как ее докуметанция подробно описана.
Способ обработки звука: 1. Нахождение максимального значение в потоке 2.Нахождение максимального значения во фрейме 3.Уровень звука определяется , как отношение максимального значения во фрейме к максимальному значению в потоке.
При запуске программы отправляется достаточное количество сообщений о превышении заданного значения. Это связанно с тем , что данный алгоритм ищет максимальное значение в потоке.
Установка зависимостей и запуск кода:
Код отлаживался на системе Linux Debian 12 bookworm.
Установка библиотеки portaudio
~ sudo apt install portaudio19-dev
Запуск серверной части
~ g++ server1.cpp -o server1 && chmod +x server1 && ./server1
Запуск клиентской части программы
Перед запуском программы в файле simle.cpp необходимо выставить необходимый ip-адрес
сервера , перменная IP_ADDRESS.
~g++ simple.cpp -o simple -lportaudio && chmod +x simple && ./simple 2>/dev/null