A library for audio feature extraction, regression, classification, segmentation
github.com
github.com
Also, the documentation is rather good, with links to the various papers for each algorithm. The above library, in contrast, is little impenetrable for me.
I'm using this with postgres and supercollider for more of an artistic project though, so YMMV.
Do you mind telling us more about this project?
"Find me 36 segments that are probably a minor chord with a root in a, that sound a little more airy" or "Find 10 segments that are maybe a bass drum"
Its mostly just for fun/making music.
I think for my use case specifically, the library was kind of overkill though and something like librosa [2] would have been enough for feature extraction.
Are you referring to seam carving [1]? Your description of your personal project reminded me of it.
I couldn't really find anything, does someone know if a project like this exists? For the one listed here, I'm not sure if it is fast enough to run on a slow device like the W? Also, would it be able to detect audio in a continuous stream from say a microphone?
I wanted to replace the sound my wireless doorbell made so I took the basestation apart and it was a very simple thing, with three chips: a radio (NRF51), a microcontroller (PIC) and a blob of epoxy on a separate board that was connected to the speaker. It took maybe half an hour of beeping and scoping to understand how the PIC and the sound maker communicated - in this case five pins to select one of 32 sounds, and one pin to trigger playback. I simply took the playback trigger pin and connected it to a small MP3 player module and moved the speaker from the internal sound maker to that.
If you can just attach wires to the button directly, it's even simpler.
Of course, if the object is to use a pi zero to do some DSP, this is missing the point. But there's a good chance it's the long way round if you want to solve the problem of knowing when somebody is at your door.
I'd wondered if computing peak volumes per second would be a good enough proxy, then trigger action if the threshold is exceeded more than n times in 15 seconds... certainly seems like it should be way less compute intensive!
If it's an "analog" door or a buzzer it will be trickier.