There's  a number of ways to transpose a table... the [tabread4~] object allows you to change the speed, right. If you want to change the pitch but not the duration (pitch-shifting + time-streching) there're spectral objects that can do it. You can also have a look at the audio example G09, pitch-shift... its only problem is aliasing.

But the most important thing for your project is to know what is the "central" frequency in the table, because all transposition you can do will always be relative. You can try with [fiddle~] or [sigmund~] to do pitch-tracking and average it, but if the samples are "complex" (more than 1 note) you should to use some spectral analysis tools. I'd suggest the PDescriptors library, and its chroma objects.

Lots of luck!

Quim

2011/9/13 Ingo <ingo@miamiwave.com>
You need to use [mtof] to convert the midi note number to the frequency
first. [tabread4~] allows variable readout speed to play back transposed
samples. Check the docs for some examples of [tabread4~] and samplers
(3.audio.examples/B...).

Ingo

> Is there a way to transpose the sound of a sample [stored in a table]
> to match a pitch/midi note number?
> In my project, when a sample is played back [using tabplay~] I would
> like something to tune that sample to say, midi note 69 or A 440.
> I would like to be able to send this number to the transposing
> function via a number box.
> I am SOO close to realizing an idea, I just need this one crucial part.
>
> Thank you for your time,
> Sebastian


_______________________________________________
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list