Csound Csound-dev Csound-tekno Search About

[Csnd] Re: partials - bandwidth enhancement - formula

Date2008-04-03 12:56
From"Michael Gogins"
Subject[Csnd] Re: partials - bandwidth enhancement - formula
I have played with Loris. It works very well, but I'm not clear that it adds 
anything beyond the Csound PVS opcodes. In other words, I'm not clear how 
useful the noise component is.

If the noise component is useful, the PVS opcodes could perhaps be extended 
to handle it.

Regards,
Mike

----- Original Message ----- 
From: "Tim Mortimer" 
To: 
Sent: Thursday, April 03, 2008 6:34 AM
Subject: [Csnd] partials - bandwidth enhancement - formula


>
> I downloaded this paper
>
> A NEWALGORITHM FOR BANDWIDTH ASSOCIATION IN
> BANDWIDTH-ENHANCED ADDITIVE SOUND MODELING
>
> Kelly Fitz, Lippold Haken, and Paul Christensen
>
> http://www.cerlsoundgroup.org/Loris/papers/association.pdf
>
> in PDF & it's quite interesting.
>
>
> There is no date on the paper, & because its from CERL Sound Group i'm
> assuming maybe it's a few years old, & that much of the theory in it has
> been implemented in Loris. Alternately, it's a further development on / 
> from
> the Loris approach (which i still haven't been able to play around with so
> cant give any real verification..)
>
> Anyway, it has some formulas in it that i can't quite get my head around.
>
> The thing that specifically interests me is on page 2, as it describes the
> formula used to create bandwidth enhanced partials.
>
> The basic process is modulation of the sine by an interpolating noise
> signal, whos frequency is representative of the allocated "bandwidth" (i
> think - a familiar approach & one that I illustrated & had verified on 
> this
> list...)
>
> But there's some extra trickery involved, & i can't get my head around it,
> largely as i'm not familiar with a lot of the maths jargon.
>
> There's some sort of averaging of the residual spectal analysis in 
> proximity
> to each of the partials (ok, i can give that a crack..), but how is this
> this average converted into a noise weighting for the partial exactly?
>
> I'm thinking of attempting some sort of crude mockup of the process by
> averaging the "residual" output from SPEAR analysis / .txt output & 
> applying
> it to the partials (also extracted via SPEAR, & that i'm reading in via
> GEN23 in individual text files.)
>
> I'm presently using ADSYN to realise, but could convert to individual 
> oscils
> in order to provide the bandwidth enhancement.
>
> As the attentive reader may already realise, I am somewhat enamoured with
> ratios as the basis of spectral definition as i'm hoping to start
> interpolating partial weightings from handfulls of collected samples to
> create expressive / dynamic / note sensitive spreads - to create what i am
> calling a sort of "resynthesis data matrix" - where any point in the 
> matrix
> can be reached from any other point & a smooth transition of the spectrum
> from one state to the other is always possible.
>
> Sure, It's quite elaborate & computationally expensive, but hopefully a 
> lot
> of what i'm doing might be some eventual basis for some opcode development
> (even if eventually i do it myself...), as well as the shorter term aim of
> simply getting some complex, expressive, kick arse sounds that never 
> really
> sound exactly the same way twice.
>
> I wrote to Kelly Fitz but have heard nothing back yet.
>
> I know Ugur's very maths savvy, but anyone who can help me get my head
> around the maths to do a crude mockup of this i'd be very greatful.
>
> cheers
>
> the resident lunatic.
>
>
>
>
>
>
> -----
> *******************
> www.phasetransitions.net
> hermetic music * python * csound * possibly mindless ranting
> various werk in perpetual delusions of progress....
>
> -- 
> View this message in context: 
> http://www.nabble.com/partials---bandwidth-enhancement---formula-tp16467383p16467383.html
> Sent from the Csound - General mailing list archive at Nabble.com.
>
>
>
> Send bugs reports to this list.
> To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe 
> csound" 


Date2008-04-04 00:58
FromTim Mortimer
Subject[Csnd] Re: partials - bandwidth enhancement - formula
Thanks Michael,

Firstly, I have wondered if TRACKS could not be extended somehow to offer a
noise component / residual analysis

The main thing i'm looking for (to complete the picture) is a useful &
accessible reductive analysis of the residual so that i can interpolate
noise relationships in a "meaningful way" (ATS offers the first part of this
demand (well, maybe not that accessible), but not the second) & use that to
imply states in a sonic continuum other than those for which i have
representative snapshots (also known as samples / wav files)

The key factor in achieving this sucessfully is having the analysis data
(poth partial & noise) in an ACCESSIBLE format. I have experimented with
partial identification (& bandwidth grouping) using GEN43 data written to
text file - creatively useful, but still yet another work in progress...

By working with SPEAR based SDIF analysis data reduced to, say, 16 partials
& noise grouped into bandwidths, its easy to run a cross check to ensure
that your identified partials are the ones you want, can be interpolated (or
not) with their  dynamic / frequency "neighbours" & the noise is reduced to
a comprehensible phenomenon for similar interpolatable processes.

By grouping PVX analysis into similar partial & residual weightings
(presently VIA gen 43, or hand picking frq ranges from SPEAR & converting
them to PVX masks) then all my ADSYN based processes can become more or less
synonymous / directly transferrable to table written PVX data processes as
well. For creativity & compositional purposes, again a desirable aim.

I'm convinced I'm moving in a "win win" direction here, I just can believe
it's left to an unemployable scumbag pothead at the end of the earth to come
up with this stuff, when, in theory at least, all the necessary material is
sitting right there in research departments across the northern hemisphere
(with the possible exclusion of melodyne perhaps.... maybe i should write to
neubacker & ask him "what happened" after he wrote adsynt.....)

The "problem" with PVX is that the parameters required to "reconstruct" the
interpolated residual & noise as an output signal are not directly related
to the partial / residual analysis itself. I started plonking numbers
directly into bins a while ago, & the results were not as expected (in a
classic case of "first there was a mountain, then there wasn't, then there
was again")

Theres some sort of e^something on the end of that formula in the document
i'm looking at I'm trying to get my head around. The sonograms show that the
"bandwidth enhancement" is concentrated towards the central partial, not
uniformly distributed across the associated range. As the "bandwidth"
increases, the noise "fattens", but the rolloff stays "rolloff" like - this
looks "natural" to me & it's what im trying to get at here as opposed to
simply muliplying the sine based partial by interpolated noise at the
bandwidth frequency.... I could just bandpass filter each noise component,
but is the document illustrating a computationally less complex & less CPU
intensive method? 

My hunch is that it might be

Can someone possibly translate it into english (or a couple of lines of
example code) for me?


-----
*******************
www.phasetransitions.net
hermetic music * python * csound * possibly mindless ranting
various werk in perpetual delusions of progress....

-- 
View this message in context: http://www.nabble.com/partials---bandwidth-enhancement---formula-tp16467383p16476113.html
Sent from the Csound - General mailing list archive at Nabble.com.