Best way to build a wave classification system
I don't work in this field, however, recently I have read a magazine article (in German) about this. The article explained how  one of the most well-known companies who does this, Shazam, works. 

Building a spectrogram, hashing, ???, indexing.


Video, 8:50: How Shazam Developed Their Signature, Awesome Algorithm | Shazam Founder Chris Barton
Whitepaper, from 2003, 7 pages, very technical
github repo from an open-source implementation: https://github.com/itspoma/audio-fingerprint-identifying-python See the READme file for more links