11#include <sys/syslog.h>
13#include "../inc/microphone.h"
22 ret = system(
"ffmpeg \
23 -f alsa -ac 1 -ar 44100 -i plughw:0,0 \
26 /etc/audiorecord.wav");
30 return WEXITSTATUS(ret);
49 inFileName =
"/etc/audiorecord.wav";
51 inFile = sf_open(inFileName, SFM_READ, &inFileInfo);
55 int samples = inFileInfo.frames * inFileInfo.channels;
56 double buffer[samples];
58 if (sf_read_double(inFile, buffer, samples) != samples)
64 for (i = 0; i < samples; i++)
66 sum += buffer[i] * buffer[i];
68 double ms = sqrt(sum) / (double)samples;
70 return 10 * log10(ms);
76 static u_int8_t crying_counter = 0;
88 if (++crying_counter >= LIMIT)
96 if (crying_counter > 0)
int processAudio(double *loudness)
Processes the audio to check whether the baby is crying.
double calculateLoudness()
Calculates loudness of the .wav file.
int startRecording()
Records a 2 second .wav audio from microphone.