using ioscbank~ to resynth audio input to pfft~

tim the enchanter's icon

Hello,

Quite simply i would like to know if & how this can be done, & if anyone has a simple working example?

if i put ioscbank~ in the pfft subpatch, then i can't get the resynthed audio out

if i put it outside the fft patch, i have frame syncronisation issues

i assume that framesync messages to ioscbank~ are designed with exactly this sort of application in mind?

& writing amp & phase data derived from pfft~ input to buffers will of course allow for customisation of the data before resynthesis. I'm planning on taking an arbitrary number of partials above a gate threshhold & resynthesising them with pure sines, maybe with transposition, to create a sort of "exaggerated spectral foreground" to the sound (that's the "artistic" motivation anyway....)

how do i calculated the relevant freq of the bin data from the accumulated phase? that seems to be the parameter that is missing to drive the ioscbank~...

had a quick crack at this today - dismal failure

any assistance/ simple examples welcomed

cheers

Tim

volker böhm's icon
Roman Thilenius's icon

because fft

tim the enchanter's icon

mmm, thanks to the respondees - obviously more complex than i would have hoped.

essentially all i wanted to do was use ioscbank~ to resynthesise any bins that were above any amplitude dependant gate threshhold. (spectral gate being pretty trivial ...

I might look at silencing prominent spectral bins (& resynthesising those "missing partials" in the input signal) based on frequencies identified by fiddle~ instead. easier way to simply extract "a handful of prominent partials" it seems

perhaps this thread will be resurrected if someone happens to stumble upon a simple implementation at a later date.

Yes, i am primarily a Csounder these days. Looks like i'll be continuing any sine oscillator bank based fft resynthesis there for the mo. Although the "out the box" opcode solution there lacks the "under the hood" (or in the box even...) flexibility that i hoped a pfft~ based approach would provide.

any more in depth comparison/ analysis probably belongs on the Csound list. & Lord knows they hear enough deranged rambling from me already...

feel free to introduce the thread on that list anyone who happens to be active there. But I'm a bit all over the shop at the mo. So many DSP projects, add in a desire to compose to boot... & so little time....

when does anyone get around to actually making any music?

Peiman's icon

Hi Tim,
So we meet again!
There is an fftease object that does this (called something like thresh~).
You can also use pvstencil and pvsadsyn opcodes with csound~ to resynthesise
only bins above a threshold.

If you are going to do this sort of thing manualy in max/msp I would take a
look at ftm/gabor externals although I've never used them for fft they seem
easier to deal with as there is an object for partial tracking and so on.
You may also want to look at Iana~ external from IRCAM (not free though)
which I find very useful.

Best
Peiman

On 20/06/07, Tim wrote:
>
>
> mmm, thanks to the respondees - obviously more complex than i would have
> hoped.
>
> essentially all i wanted to do was use ioscbank~ to resynthesise any bins
> that were above any amplitude dependant gate threshhold. (spectral gate
> being pretty trivial ...
>
> I might look at silencing prominent spectral bins (& resynthesising those
> "missing partials" in the input signal) based on frequencies identified by
> fiddle~ instead. easier way to simply extract "a handful of prominent
> partials" it seems
>
> perhaps this thread will be resurrected if someone happens to stumble upon
> a simple implementation at a later date.
>
> Yes, i am primarily a Csounder these days. Looks like i'll be continuing
> any sine oscillator bank based fft resynthesis there for the mo. Although
> the "out the box" opcode solution there lacks the "under the hood" (or in
> the box even...) flexibility that i hoped a pfft~ based approach would
> provide.
>
> any more in depth comparison/ analysis probably belongs on the Csound
> list. & Lord knows they hear enough deranged rambling from me already...
>
> feel free to introduce the thread on that list anyone who happens to be
> active there. But I'm a bit all over the shop at the mo. So many DSP
> projects, add in a desire to compose to boot... & so little time....
>
> when does anyone get around to actually making any music?
>

tim the enchanter's icon

pieman i searched for posts by you & i found the above thread. Maybe this is what i'm barking at.I've heard of SDIF (Csound) but not explored

casual reader (yes you!) may also find it interesting/ on topic hence i put the link here...

Stefan Tiedje's icon

Tim schrieb:
> perhaps this thread will be resurrected if someone happens to stumble
> upon a simple implementation at a later date.

We are just working on a mxj~ based solution inside pfft~. It sounds
quite promising, but doesn't use oscbank~, its resynthesizing the
frequencies with fft technology, because in our case it has to go back
through fftout~ as we recombine it with the noise part and we just did
it that way...

It will go into a "Spectral Toolkit" to tweak sounds in a spectral way
of thinking...

> Although the "out the box" opcode solution there lacks the "under the
> hood" (or in the box even...) flexibility that i hoped a pfft~ based
> approach would provide.

Just wait a bit... ;-)

> when does anyone get around to actually making any music?

Yes, a common problem, get organised, and reserve some fixed time for it...

--
Stefan Tiedje------------x-------
--_____-----------|--------------
--(_|_ ----|-----|-----()-------
-- _|_)----|-----()--------------
----------()--------www.ccmix.com

tim the enchanter's icon

Thanks Stefan,

I (& I'm sure many others) look forward to checking out your Spectral Toolkit in due course.

I'll keep my eyes peeled for any announcements.

best wishes

(some call him...) Tim (cue thunderbolts & dead rabbits...)

Peiman's icon

Hello,

Here is a patch I made sometime ago for reading SDIF data. It's mono and not
perfect I know, but it works (at leas on OS X) :-)
Peiman

Max Patch
Copy patch and select New From Clipboard in Max.

On 22/06/07, Tim wrote:
>
>
> Thanks Stefan,
>
> I (& I'm sure many others) look forward to checking out your Spectral
> Toolkit in due course.
>
> I'll keep my eyes peeled for any announcements.
>
> best wishes
>
> (some call him...) Tim (cue thunderbolts & dead rabbits...)
>