but how to accomplish this:
Redistributions in binary form must reproduce the above
copyright notice, this list of conditions and the following
disclaimer in the documentation and/or other materials provided
with the distribution.
there is no documentation or something
do i habe to write it in the store in the app description?
Do you know any example-text?
i have one wav-File in an array which i read with 16 [tabread4~]
at different speed for 16 different pitches of the sound.
i could have one or up to 16 "pitchplayer" run simultaneously,
how can i control the gain?
i'm trying this:
before a tabread4~ starts it increases a number, when its's finished
(a delay with the delaytime=time of the [line] which feeds tabread4~)
it decreases the number
the overall output (before dac~) is divided by this number
this is not working good, the sound "crackles" when the number decreases
how is this, i think basic task, done?
how can i achieve a constant gain? (without dividing the output by 16 statically, which results in low gain when playing only 1 or few pitches at the same time)
I am totally new to pure data.
I'm looking for a patch to record something (hit on a drum or glass etc.) for about 1 sec and then check the main frequency of that recording.
The fiddle object can only compute frequencies down to 53 hz, right?
But i need down to 20-30 hz.
And real time is not needed, so i think first record 1 sec and right after that
compute the frequency would be right.
How can this be achieved?
sorry for that late post, i was busy with other things and thanks for your answers.
I decided to first do it in java as I'm new to dsp and new to pure data but not so new to java.
So this is not really a pure data related question but a dsp related one, i hope you don't mind.
I focused on getting the fundamental frequency of a drum:
I record 65536 samples at 44100 hz and than do a fft with these samples.
When i plot the range from 0-1000hz (~the range of interest for drums),
i get 3-5 frequency-peaks. For human eyes it is simple to see the first (lowest frequency) peak, which would be the fundamental frequency.
But the first is not always the loudest , so i can't iterate over the fft output to find the bin with the strongest power.
So how do i get the first peak programmatically?
Or the 3-5 peaks mentioned above, so i could take the one with lowest frequency.
As said, the peaks are clear peaks, for eyes no problem to see the first (fundamental).
As the peaks a really clear it shouldn't be so difficult to get them---but how?
The question is, what is a peak in programmatic expression.
What does the human eye do when looking at the plot?
I hope someone could explain me in easy steps what to do with the fft output
Thanks very much
but as i know, Timpanies e.g. are really tuned
and that some drummers tune there drums in e.g. 5 semitones difference (toms)
or the bassdrum to the key of a song.
Maybe i shouldn't just use the ready-to-use object fiddle, but build a patch with rfft?
As i said I'm new to puredata and also new to dsp so i need a startingpoint.
I'm going to use libpd later on, so i could add some computations or controlling,
if necessary, once i got the spectral analyzing (right word?) and of course the knowhow;)
So this would be the steps:
- record 1 sec
- do the fft (real or complex??---totally new to dsp...)
- look at the data and find the fundamental (in the "host" of libpd, if needed, better in pure data itself)