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
I recently tried the tID library (timbreID) and it works like a treat. http://williambrent.conflations.com/pages/research.html
I think there is a harmonicity analyser in there but can't be sure.
P
*www.peimankhosravi.co.uk http://www.peimankhosravi.co.uk || RSS Feed http://peimankhosravi.co.uk/miscposts.rss || Concert News http://spectralkimia.wordpress.com/*
On 2 January 2014 17:38, João Pais jmmmpais@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@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/ listinfo/pd-list
Something like noisiness ? You should look at the researches of Tristan Jehan (http://web.media.mit.edu/~tristan/) and Emmanuel Jourdan and Mikhail Malt ( http://www.e--j.com/index.php/sbcm-paper-available/index.php?page_id=90).
2014/1/2 peiman khosravi peimankhosravi@gmail.com
I recently tried the tID library (timbreID) and it works like a treat. http://williambrent.conflations.com/pages/research.html
I think there is a harmonicity analyser in there but can't be sure.
P
*www.peimankhosravi.co.uk http://www.peimankhosravi.co.uk || RSS Feed http://peimankhosravi.co.uk/miscposts.rss || Concert News http://spectralkimia.wordpress.com/*
On 2 January 2014 17:38, João Pais jmmmpais@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@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/ listinfo/pd-list
Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
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@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@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/ listinfo/pd-list
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 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@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@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
Hello João,Take a look at example 06 in William;s tID, which does timbral ordering of small grains quite similar to what you are describing. I was really happy with what I got, but I had a vaguer idea in mind... William, is there a way to choose certain "descriptors" for the reordering? Or to give different "weight" to certain parameters? Happy 2014, list!Zax
To: william.brent@gmail.com Date: Fri, 3 Jan 2014 11:30:17 +0100 From: jmmmpais@googlemail.com CC: pd-list@iem.at Subject: Re: [PD] suggestions for spectral "weight" anaylsis
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@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@iem.at mailing list
UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
Hi Eran, the order-perc.pd example in that same 06-timbre-ordering directory shows how to do those kinds of things. It packs several features together into one mixed feature list, normalizes the feature database, and provides controls for weighting the different features via the "weights" message to [timbreID].
On Fri, Jan 3, 2014 at 7:03 AM, Eran Sachs eransachs@hotmail.com wrote:
Hello João, Take a look at example 06 in William;s tID, which does timbral ordering of small grains quite similar to what you are describing. I was really happy with what I got, but I had a vaguer idea in mind...
William, is there a way to choose certain "descriptors" for the reordering? Or to give different "weight" to certain parameters?
Happy 2014, list! Zax
To: william.brent@gmail.com Date: Fri, 3 Jan 2014 11:30:17 +0100 From: jmmmpais@googlemail.com CC: pd-list@iem.at Subject: Re: [PD] suggestions for spectral "weight" anaylsis
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@googlemail.comwrote:
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@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
_______________________________________________ Pd-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
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 features.
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@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@googlemail.comwrote:
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@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
Oh - and if you're just using one feature, you should probably turn off the "relative ordering" option with this message to [timbreID]
[relative_ordering 0(
On Fri, Jan 3, 2014 at 10:50 AM, William Brent william.brent@gmail.comwrote:
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 features.
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@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@googlemail.comwrote:
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@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 www.williambrent.com
“Great minds flock together” Conflations: conversational idiom for the 21st century
www.conflations.com
Hey, this is really informative.Thanks William!
Date: Fri, 3 Jan 2014 10:53:41 -0500 From: william.brent@gmail.com To: jmmmpais@googlemail.com CC: pd-list@iem.at Subject: Re: [PD] suggestions for spectral "weight" anaylsis
Oh - and if you're just using one feature, you should probably turn off the "relative ordering" option with this message to [timbreID] [relative_ordering 0(
On Fri, Jan 3, 2014 at 10:50 AM, William Brent william.brent@gmail.com wrote:
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 features.
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@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@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@iem.at mailing list
UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
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
features.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.
Hi,
I don't have much time to be working on this, so I ended up adapting your
timbre-space patch, and using the Brigthness (with 2.5KHz) in both x and y
dimensions. This plots a straight line from vowels to sibilants, although
the result isn't 100% straight. E.g. some sounds (or silence) that belong
to an already existing group appear later inside other groups. But in
general it works.
A provisory result can be heard in
https://soundcloud.com/experimental-music/i-am-splitting-in-a-room-v2 -
it's part of Nicollas Collins' seminar on experimental music here in
Berlin.
As soon as I can I'll try to finish my analysis of your timbre-space
patch, and improve the results. Or, if possible, even redo the patch
myself.
Another detail, do you have any suggestion on how to use your granulator
and not get the typical phasing effects? I changed the envelope to a
vline~ with a [0 0 0, 1 50 0, 1 50 50, 0 50 100( message. It helps, but
just because there aren't almost any continuous sounds.
Best,
João
Hi - try the dB threshold setting to leave out quiet grains. With normalization on, that can give you bad results because low level noise ends up being boosted, making the grain appear "bright". Another problem is that a fixed window size will always get you audio slices that have mixed content - with a window size of 93ms, it's pure luck if you get a speech grain that only contains "aaa". It'll likely have a little "sss" or something else in it too. So the solution there is to try to parse the audio based on content, not size. And using single value features (like brightness), BFCCs, or Bark spectrum, you're fine to compare grains of various sizes - the length of features like BFCCs/Bark spectrum depends on the size of the Bark filterbank, not the window size.
About phasing...the worst case is that you end up overlaying the same grain with itself, but offset a bit. Don't know if that's an issue in your case. There is the "stutter_protect" option in timbreID to avoid repeated grains for concatenative synth, but I think you're just doing ordering? Anyway, it's a major problem with this technique, because the goal is to spit out sequences of timbrally similar grains. If things are working properly, that will always produce sequences of grains that have similar waveforms, and if you overlap similar waveforms, you get phasing/filtering! To be honest, I've only ever done two things: 1) add low levels of good reverb to smooth it out. 2) add controls for randomizing the grain size within reasonable bounds (like 90% - 110% of the window size). That at least varies the otherwise steady windowing artifacts, which can turn into a very audible flutter if your output overlap is high.
One other thing to be aware of: if you do the analysis with a high overlap factor, you're more likely to overlap identical content. So an overlap of 1 is best from that perspective, but then you lose time resolution and end up with fewer grains. Or, taking things back to the first point above: if you have good segmentation based on content and not a fixed window size, you're less likely to have extremely similar waveforms overlap and cause phasing. With a reasonably small audio source (like your Lucier content), you could do this manually with labels in Audacity. Takes a lot of patience but I bet it would make a noticeable difference.
On Sun, Jan 19, 2014 at 2:07 PM, João Pais jmmmpais@googlemail.com wrote:
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 features.
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.
Hi,
I don't have much time to be working on this, so I ended up adapting your timbre-space patch, and using the Brigthness (with 2.5KHz) in both x and y dimensions. This plots a straight line from vowels to sibilants, although the result isn't 100% straight. E.g. some sounds (or silence) that belong to an already existing group appear later inside other groups. But in general it works. A provisory result can be heard in https://soundcloud.com/experimental-music/i-am-splitting-in-a-room-v2 - it's part of Nicollas Collins' seminar on experimental music here in Berlin. As soon as I can I'll try to finish my analysis of your timbre-space patch, and improve the results. Or, if possible, even redo the patch myself.
Another detail, do you have any suggestion on how to use your granulator and not get the typical phasing effects? I changed the envelope to a vline~ with a [0 0 0, 1 50 0, 1 50 50, 0 50 100( message. It helps, but just because there aren't almost any continuous sounds.
Best,
João