[PD] suggestions for spectral "weight" anaylsis

William Brent william.brent at gmail.com
Fri Jan 3 16:50:25 CET 2014

There are separate versions of each analysis object: one for real time, and
one for NRT reading straight out of tables. You'll see separate help files
for [barkSpec~] and [barkSpec], for instance. So an [until] loop scanning
your pre-recorded audio will be the fastest way for you to work on this.
That's what's used in the 06/order.pd example. Just look in the [pd
analysis] sub patch and you can change the feature from barkSpec to
whatever you like (or whatever combination of features, weighted however).

I'd recommend putting your audio into the timbre-space patch and plotting
by different features there. That way, you can see how the
vowels/consonants fall on different axes when using certain features.
That'll give you some intuition on picking the best feature or combo of

Last - ordering by timbre is always going to be fuzzy unless you can find a
one-dimensional feature that reflects the timbre aspect you're after.
Ordering by multi-dimensional features, you might make a big jump along one
dimension for one step in your ordering, and then a big jump along a
different dimension for the next step. You never know how much one
particular feature is contributing the choice of the next step in the
ordering. In terms of keeping it relatively intuitive to work with, fewer
dimensions is better. For speech, I'd recommend trying [specBrightness]
only, with a boundary frequency of about 2.5kHz. That'll separate the
high-frequency consonants from the more formanty low-mid vowels. You should
get a decent continuum with just that one feature.

On Fri, Jan 3, 2014 at 5:30 AM, João Pais <jmmmpais at googlemail.com> wrote:

>  Hi William and all,
> I thought there would some relevant things in your library. I'll look into
> your suggestions later.
> I don't have a patch that other people can look at, but I can try to
> explain the context a bit better:
> - I have a sound of ~40s spoken voice. I'm going to split it in fragments
> (for now 100ms each) and reorder them
> - one of the possibilities of reordering the fragments would be to have a
> "continuous" timbre change in the end. E.g. going from noisy consonants to
> clean vowels
> - for the analysis, I guess a mixture of pitch and harmonicity (don't know
> yet in which order it should be done) would be adequate
> I noticed your objects work in real time. As the analysis is to be done
> before the performance, I guess I'll either let the sound play throughout
> to get the analysis data, or then I'll divide the fragments through x
> analysis patches, to make it run x times faster.
> In this case it is spoken voice, but I guess it could by anything else.
> Best,
> João
> Hi João,
> A measure that would give something near 1.0 for white noise and near 0
> for a sine wave would be "spectral flatness", which is in the timbreID
> library. But if you're looking to see how well a spectrum's partials line
> up harmonically, you won't find that in timbreID yet. One quick option
> would be to use sigmund~ to get the current pitch, then search the spectrum
> for the amount of energy in bin ranges related to the expected set of
> harmonics. Compare that with energy in non-harmonic bins. But then, for
> things like gongs that sound "pitchy" but have inharmonic spectra, that
> won't be much help. Depends a lot on what you're trying to do.
> You *might* find specSpread~ useful, which measures how widely or tightly
> energy is concentrated around the spectrum's center of gravity. It's in
> units of Hz though.
> On Thu, Jan 2, 2014 at 12:38 PM, João Pais <jmmmpais at googlemail.com>wrote:
>> Hello,
>> I wanted to ask if there are any suggestions for spectral "weight"
>> analysis.
>> With "weight" I mean a factor which would measure the harmonicity of a
>> sound - e.g. white noise being 1, and a sinus/silence 0. Surely it exists a
>> propper word for this already, but I don't know one.
>> Is there any external or patch around that does something similar?
>> Thanks,
>> jmmmp
>> _______________________________________________
>> Pd-list at iem.at mailing list
>> UNSUBSCRIBE and account-management ->
>> http://lists.puredata.info/listinfo/pd-list
> --
> William Brent
> www.williambrent.com
> “Great minds flock together”
> Conflations: conversational idiom for the 21st century
> www.conflations.com

William Brent

“Great minds flock together”
Conflations: conversational idiom for the 21st century

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20140103/d879b24a/attachment.htm>

More information about the Pd-list mailing list