[PD] Transposing samples using MIDI numbers

Quim Llimona lemonzi42 at gmail.com
Tue Sep 13 11:05:07 CEST 2011


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 at 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 at iem.at mailing list
> UNSUBSCRIBE and account-management ->
> http://lists.puredata.info/listinfo/pd-list
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20110913/8071e752/attachment-0001.htm>


More information about the Pd-list mailing list