Max 8 Peak Detection
Hello, I am a noob. My goal is to create a beatbox detection patch, and will be posting many questions over the next week. It does not have to be realtime. I have so far created EQs to separate the "kick," "snare," etc. bands, but now I need to create peak detection for each one. I'm using rampsmooth~ on the signal and now I just need to detect and record the points at which the peak rises above the and drops below threshold. Any advice?
the first half of your approach seems right.
what doesnt sound so good is to find peaks... you are better off with measuring power, first in line.
so for example first an average~, then followed by a rampsmooth~ (with the same time value)
the last step might include >~ and sah~ among others.
zerox~ would be one of the few objects which finally gets you a "bang" from the analysis signal. since it reports zerocrossings, you want to do -~ 0.5 to the input signal to make it report any +0.5 transition.
Thank you that's what I needed. The next step is to get back into MIDI. Zerox~ sends out Clicks. How do I convert this to a bang?, and how should I record these bangs with timestamps for further use as MIDI?
ah sry i keep mixing it up with edge~
for drums i would start with middle C:
[list 60 100 50], [list 61 100 50] , ...
Great, I've got collections gathering almost all the midi data I need. Would you know how I might also record the highest point of each peak which passes above the threshold? I am thinking I can use record~ to start and stop a buffer when amplitude is above threshold.
with minmax~, but i doubt you really need this.
Thank you, I am using it to build an average of velocities so I can infer varying, reasonable velocities. It is important to my program. The next step is to augment the collections to prepare for playback. I have all the notes indexed at the moment the time caught them. I suppose I need to figure out how to quantize the performance data. My prof mentioned that there were some great externals for beat tracking and tempo detection. Any suggestions?, it is hard to search for.
the material contains snare hits of different loudness and you want to copy that to midi velocity?
in most cases such material will also affect at what time the detection treshold will ring its alarm.
and again: peak is dangerous... a single click, which you hardly hear in the mix (and which doesnt belong to the bandpassed snaredum key signal), will set the max peak to 1.0 - try power.