A non-transitory computer-readable storage medium having stored thereon, computer executable instructions that, if executed by a computer system cause the computer system to perform a method for analyzing an audio respiratory signal, the method comprising:
- capturing the audio respiratory signal from a subject using a microphone;
- partitioning the audio respiratory signal into a plurality of overlapping frames and a plurality of non-overlapping frames;
- calculating a fourier transform for each frame;
- extracting a spectrogram using the fourier transform of the plurality of overlapping frames;
- analyzing the spectrogram to determine characteristics pertaining to wheeze sounds in the audio respiratory signal;
- creating an artificial crackle comprising a filtered impulse response frame created by filtering a delta function;
- calculating a cross correlation function between each of the non-overlapping frames and the artificial crackle;
- determining if the cross correlation function exceeds a predetermined threshold;
- and
- responsive to a determination that the cross correlation function exceeds the predetermined threshold, identifying a respective frame for which the cross correlation function exceeds the predetermined threshold as associated with crackling.