I've been digging through the CLAM code trying to figure this out again.. I have much work to do. Now there are four things I know of that I am not doing:<br><br>a) the circular shift<br>b) multiplying by an 'inverse' Blackmann window(not comprehending the reasoning behind this yet)
<br>c) any normalization (although I don't see this in SpectralSynthesis.cxx<br>d) undo the zero padding?<br><br>But first is first; the circular shift. Is it a simple rotation of the samples by half the audio block?
<br><br><br><div class="gmail_quote">On Dec 19, 2007 6:23 PM, Xavier Amatriain <<a href="mailto:xavier@amatriain.net">xavier@amatriain.net</a>> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Sorry, that should have been IFFT not SFFT.<br><br>About the windowing you are doing on the residual: are you multiplying<br>by the *inverse*? Is this window normalized?<br><div><div></div><div class="Wj3C7c"><br>Rich E wrote:
<br>> Xavier,<br>><br>> Its starting to get clearer, but I still have a couple questions as I<br>> am definetaly not doing the resynthesis correct yet (I am getting a<br>> periodic pitch.. not sound).<br>>
<br>> The analysis window, which by default is a BlackmanHarris92<br>> with a 75% overlap. You need to multiply by the<br>> inverse of this window after the SFFT.<br>><br>><br>> sorry for having to ask, but what is an SFFT? If it is the same as an
<br>> STFT or FFT, at which point do I do this? I was under the impression<br>> from one of Serra's publications that all I had to do with<br>> resynthesize the residual FFT, but don't have to do any more FFTing.
<br>><br>> If this is an IFFT, my attempt is on the right track, but I am still<br>> not getting a noise sound. I am windowing the residual IFFT by a 75%<br>> overlap and multiplying it by the BlackmanHarris92 window, then
<br>> re-windowing the result with a 50% overlap and multiplying by a<br>> triangle window. But my result is pitched, and this changes if I<br>> change the overlap.<br>><br>> Can anyone see what I am doing wrong?
<br>><br>> regards,<br>> rich<br>><br>> And then a completely independent<br>> triangular window with a size equal to twice<br>> the analysis hop and overlap 50%. This is the one in charge of
<br>> getting a<br>> smooth overlap and add process in place.<br>><br>> Hope it helps.<br>><br>> X<br>><br>> Rich E wrote:<br>> > Okay, I didn't think of looking for the overlap size by checking the
<br>> > timestamps, but that seems obvious now.. thanks! I have found there<br>> > are many things preventing the SDIF files from being used in<br>> real-time<br>> > (such as the 1TRC frames not containing birth and death
<br>> information).<br>> > So I am already buffering the data in a format that can be used in<br>> > real-time, so finding the overlap before sysnthesis-time<br>> shouldn't be<br>> > a problem.
<br>> ><br>> > However, I do not see the 1WIN matrix within the SMS-produced files.<br>> > I assumed it is a triangle window with an overlap factor of 2<br>> (this is<br>> > the default settings in SMSTools), but of course this can be
<br>> changed,<br>> > in which case I would not know how to find the windowing function.<br>> > But I tried these settings without success (in comparison to<br>> > SMSTools-produced residual sound), so I am still looking for the
<br>> > correct ones.<br>> > cheers,<br>> > rich<br>> > On Dec 14, 2007 6:30 PM, Richard Dobson<br>> > <<a href="mailto:richarddobson@blueyonder.co.uk">richarddobson@blueyonder.co.uk
</a><br>> <mailto:<a href="mailto:richarddobson@blueyonder.co.uk">richarddobson@blueyonder.co.uk</a>><br>> > <mailto:<a href="mailto:richarddobson@blueyonder.co.uk">richarddobson@blueyonder.co.uk
</a><br>> <mailto:<a href="mailto:richarddobson@blueyonder.co.uk">richarddobson@blueyonder.co.uk</a>>>> wrote:<br>> ><br>> > Rich E wrote:<br>> > > Okay, sorry for getting into too much pd stuff... I
<br>> basically just<br>> > > need to know what needs to be done to the 1STF data before<br>> I can<br>> > > synthesize it. Is it ready to go, or is windowing still<br>> necessary?
<br>> > > Should the frames be overlapped?<br>> > ><br>> ><br>> > It's plain real/imaginary DFT data. SO in that sense yes it is<br>> > ready to<br>
> > go straight into the IFFT. It will almost certainly require<br>> windowing.<br>> > If you haven't already done so, you will neded to check the<br>> formal<br>> > definition of the 1STF format
e.g. at:<br>> ><br>> > <a href="http://www.cnmat.berkeley.edu/SDIF/FrameTypes.html#1STF" target="_blank">http://www.cnmat.berkeley.edu/SDIF/FrameTypes.html#1STF</a><br>> ><br>> > SDIF is famous/notorious for being particularly "loose" about
<br>> > definitions and content. In short, each frame (matrix) is<br>> time-stamped<br>> > (from the centre of the window, because they like doing<br>> things that<br>> > way), and you have to determine the overlap from that (which
<br>> means you<br>> > have to read at least two frames before you can start rendering,<br>> > so this<br>> > is not a true real-time streaming format; one would assume the
<br>> > overlap<br>> > is constant, but the format does not see the need to mandate<br>> it);<br>> > there<br>> > should be a 1WIN matrix that defines the window to use. Beyond
<br>> > that, all<br>> > I can say is "good luck"!<br>> ><br>> ><br>> > Richard Dobson<br>> ><br>> ><br>> ><br>> >
<br>> ><br>> ><br>> > _______________________________________________<br>> > CLAM mailing list<br>> > <a href="mailto:CLAM@iua.upf.es">CLAM@iua.upf.es</a> <mailto:
<a href="mailto:CLAM@iua.upf.es">CLAM@iua.upf.es</a>><br></div></div>> <mailto:<a href="mailto:CLAM@iua.upf.es">CLAM@iua.upf.es</a> <mailto:<a href="mailto:CLAM@iua.upf.es">CLAM@iua.upf.es</a>>><br><div>
<div></div><div class="Wj3C7c">> > <a href="http://www.iua.upf.es/mtg/clam" target="_blank">http://www.iua.upf.es/mtg/clam</a><br>> ><br>> ><br>> ><br>> ------------------------------------------------------------------------
<br>> ><br>> > _______________________________________________<br>> > CLAM mailing list<br>> > <a href="mailto:CLAM@iua.upf.es">CLAM@iua.upf.es</a> <mailto:<a href="mailto:CLAM@iua.upf.es">
CLAM@iua.upf.es</a>><br>> > <a href="http://www.iua.upf.es/mtg/clam" target="_blank">http://www.iua.upf.es/mtg/clam</a><br>><br>><br><br></div></div></blockquote></div><br>