I think the pattern referred to is the envelop, not the waveform of the whistle.. Then its very like detecting
a knock pattern.
The way to match several possible patterns at once that's simple is to record the pattern (of the envelope)
and then compare it several times looking for a match.
To match on the fly simultaneously is a fuzzy parsing problem which is rather more complex, as its
probably best done using multi-processing if the hardware supports this.
Alternatively you can record on the fly stopping regularly to try matching the possibillities, so long as
the matching is quick enough not to mess up the recording.