Sound Recognition v1.0 (SVGA version - SIGNAL1-directory) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Written by Bas van Gaalen and Sandor van Kollenburg in September and November '96 as a schoolproject. Use numberkeys on gray keypad to change the record- and detectionlevels. And press L to switch between Detection mode and Learning mode. A few notes: ~~~~~~~~~~~ Sound Recognition is, as it says above, a schoolproject I made together with Sandor van Kollenburg. The original goal was to recognize one of two instruments using a computer. We restated this objective to make the program a little more flexible. It's fairly simple in use. There are basically two states the program can be in: a detection-mode and a learning-mode. In the learning-mode SR excepts input from the Sound Blaster which then can be saved to file by pressing . If SR is in detection-mode it simply scans the SB-input, performs an FFT on the inputsignal and compares the result against a database of pre-saved FFT-signals. When saving the signals in learning-mode SR will save the file on the first empty space it can find (check the SPR-directory). So if you delete *.SPR- files, things will go badly wrong, 'cos other *.SPR-files will get overwritten. This is not a bug, just lack of mood to make a better save- procedure. I thought about making a small SPR-manager for this, but I leave all that up to you. Does the word 'Overkill' ring a bell? :) The sourcecode of this project can be found in the SRC-directory. Most units are included, but not all. To compile you will also need some units of one of other projects: Gfxfx2. This package can be found on my homepage: http://www.il.ft.hse.nl. The GUI-unit and SVGA-unit are substracts of Gfxfx3, which is still in the making. To keep track of Gfxfx3, also see my homepage. The FFT-unit was made by me using information from a schoolbook, as you can read in the sourcecode. I increased the speed of the unit considerably; in fact, it's ready for an ASM-port if you feel up to it. Some people actualy ask money for such a thing. (Try to find a FREE FFT-source on the Web. I'll bet you're unable to! Well, except this one...) The SBDSP-unit I found on the Web somewhere. I hacked it a little for use with this project; just hoping Romesh doesn't mind... In the SPR-directory you'll a find a couple of *.SPR-files, which represent certain 'Sound Prints', as I called them. These are recordings of transformed (FFT) input-signals, including an Instrument-name as the first 21 bytes. This program should be able to detect much more then simple Sounds, like a piano, vibraphone, gitar, whatever. I testes it once with voice and it actualy recognized yours truly... Sound Recognition v2.0 (SVGA version - SIGNAL2-directory) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Written by Bas van Gaalen and Sandor van Kollenburg in September and November '96 as a schoolproject. A few notes: ~~~~~~~~~~~ This version differs from version 1 in the way it detects the input-signal. Now it uses a scaling routine, to scale the FFT-signals from the database to the input-signal, sothat it should be Frequency Independant. It works perfectly nice in theory and actualy a little in practice. But not for a very wide range of frequencies, since the pattern changes too much (and I have a real lack of 'pattern compensators' in contrast to Star Trek). The program records other types of information than version 1 (if interested: check some constants at the top of the sourcecode) so the learning-mode is cranked out. You'll find two more *.EXE-files in the SIGNAL2-directory: TESTFREQ.EXE and SHOWSGNL.EXE. The first is to demonstrate the scaling process. The second is a little analyse program to analyse the samples. In the SPR-directory you'll find a number of samples I recorded from my keyboard/synthesizer. Those aren't actualy used by the main program, but you can play around with 'em (I used 'em to test the theory with the TESTFREQ.EXE-program). Okay, just have fun using this little thingy, and if you use any of it you know who to give credit... Signed, Bas van Gaalen, Eindhoven, January 17, 1997. PS.: You did use the -d option when you unzipped this, didn't you?! .