<div dir="ltr"><div><div>I think there&#39;s a way to do this with fft~ and iem/mtx*~<br><br></div>Your output can be a linear transform of the input in the Fourier Domain.  The columns of the matrix are vectors.  The Nth column contains the desired output you&#39;d get from having a single &#39;1&#39; in the corresponding Nth input FFT signal.  Suppose we have a 8-point FFT, and we want to remap frequencies into the 2nd and 4th bins.  I&#39;ll just show the 4x4 matrix here:<br>
0 0 0 0<br>1 1 0 0<br>0 0 0 0<br>0 0 1 1<br><br></div>This is a matrix that projects anything in the 1st/2nd bins into the 2nd bin, and anything in the 3rd/4th bins into the 4th bin.<br><div><br></div><div>The next thing you&#39;d want to do is analyze what the shapes of those vectors ought to be to handle the interpolation problem that Peiman mentions.  The energy from each fractional-indexed frequency gets spread across *all* frequencies.  You need to interpolate to get back the Fourier transform at a fractional index.  The shapes of the rows/columns isn&#39;t just straightforward, but it&#39;s
 no more difficult than calculating filter/interpolation coefficients.<br><div><br></div></div><div>The trends are clear to me:  You&#39;re reducing the number of dimensions by projecting sets of frequencies onto individual frequencies.  So, the number of linearly independent vectors in the rows (the range of the matrix) is equal to the number of frequencies in the output.  The structure of the matrix is a sum of u*v&#39; rank-1 matrices the number of which is the number of frequencies in the output.<br>
</div><br><div>Chuck<br></div><div><br><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Nov 26, 2013 at 5:48 AM, Eran Sachs <span dir="ltr">&lt;<a href="mailto:eransachs@hotmail.com" target="_blank">eransachs@hotmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


<div><div dir="ltr">Peiman, <div>It works great! I&#39;ve been messing various sounds all day now, plus there&#39;s a thing in my computer with Barry Vercoe&#39;s name on it which I find oddly elevating.</div><div>However, if I understand the wrap function correctly, it substitutes bin values for values of other bins through whatever function you apply. But the bins are still all derived from the FFT procedure. <span style="font-size:12pt">Or am I missing something there?</span></div>
<div><br></div><div>What I would like to do is to move from bins to partials, so that they are essentially mapped to harmonic overtones of a given fundamental according to nearest match. Like a clever phase-vocoder Autotune of some kind. </div>
<div><br></div><div>Is there a way to do that, to the best of anyone&#39;s knowledge? <br><br>Much obliged,</div><div>E.<br><div><hr>Date: Mon, 25 Nov 2013 15:12:50 +0000<div><div class="h5"><br>Subject: Re: [PD] spectral mapping, anyone?<br>
From: <a href="mailto:peimankhosravi@gmail.com" target="_blank">peimankhosravi@gmail.com</a><br>To: <a href="mailto:eransachs@hotmail.com" target="_blank">eransachs@hotmail.com</a><br>CC: <a href="mailto:porres@gmail.com" target="_blank">porres@gmail.com</a>; <a href="mailto:jaime.oliver2@gmail.com" target="_blank">jaime.oliver2@gmail.com</a>; <a href="mailto:pd-list@iem.at" target="_blank">pd-list@iem.at</a><br>
<br><div dir="ltr"><div style="font-family:arial,helvetica,sans-serif">yes csound6 should work on windows too as far as I know.</div></div><div><br clear="all"><div><div dir="ltr"><div>
<br></div><div><font face="arial, helvetica, sans-serif"><br></font></div><div><font face="arial, helvetica, sans-serif"><br></font></div><div><font face="comic sans ms, sans-serif"><b><a href="http://www.peimankhosravi.co.uk" target="_blank">www.peimankhosravi.co.uk</a> || <a href="http://peimankhosravi.co.uk/miscposts.rss" target="_blank">RSS Feed</a> || <a href="http://spectralkimia.wordpress.com/" target="_blank">Concert News</a></b></font></div>

</div></div>
<br><br><div>On 24 November 2013 22:06, Eran Sachs <span dir="ltr">&lt;<a href="mailto:eransachs@hotmail.com" target="_blank">eransachs@hotmail.com</a>&gt;</span> wrote:<br><blockquote style="border-left:1px #ccc solid;padding-left:1ex">




<div><div dir="ltr">Thanks Peiman.<div>Alas, I&#39;m living the life of a PC/Windows user. AFAICT, no csound6? </div><div>Z<br><br><div><hr>Date: Sun, 24 Nov 2013 20:27:39 +0000<div><br>Subject: Re: [PD] spectral mapping, anyone?<br>

</div>From: <a href="mailto:peimankhosravi@gmail.com" target="_blank">peimankhosravi@gmail.com</a><br>To: <a href="mailto:eransachs@hotmail.com" target="_blank">eransachs@hotmail.com</a><br>CC: <a href="mailto:porres@gmail.com" target="_blank">porres@gmail.com</a>; <a href="mailto:jaime.oliver2@gmail.com" target="_blank">jaime.oliver2@gmail.com</a>; <a href="mailto:pd-list@iem.at" target="_blank">pd-list@iem.at</a><div>

<div><br><br><div dir="ltr"><div style="font-family:arial,helvetica,sans-serif">With spectral warping you can do any frequency-based manipulation, depending on the transfer function. I have one for pd but it requires Csound to be installed and a couple of other externals. See attached. On an intel mac and with pd vanilla 4.5.3/4 this should just work out of the box as long as you have csound 6 installed.  </div>


<div style="font-family:arial,helvetica,sans-serif"><br></div><div style="font-family:arial,helvetica,sans-serif">P</div><div style="font-family:arial,helvetica,sans-serif">
<br></div><div style="font-family:arial,helvetica,sans-serif"><br></div></div><div><br clear="all"><div><div dir="ltr"><div><br></div><div><font face="arial, helvetica, sans-serif"><br>
</font></div><div><font face="arial, helvetica, sans-serif"><br></font></div><div><font face="comic sans ms, sans-serif"><b><a href="http://www.peimankhosravi.co.uk" target="_blank">www.peimankhosravi.co.uk</a> || <a href="http://peimankhosravi.co.uk/miscposts.rss" target="_blank">RSS Feed</a> || <a href="http://spectralkimia.wordpress.com/" target="_blank">Concert News</a></b></font></div>


</div></div>
<br><br><div>On 24 November 2013 20:12, Eran Sachs <span dir="ltr">&lt;<a href="mailto:eransachs@hotmail.com" target="_blank">eransachs@hotmail.com</a>&gt;</span> wrote:<br><blockquote style="border-left:1px #ccc solid;padding-left:1ex">





<div><div dir="ltr">oops, I messed up the names. sorry. Once more, with feeling:<div><br><div><span style="font-family:Calibri;font-size:12pt">Josep</span>,<div><div>Making harmonic sounds sound inharmonic can be down with spectral shifting. Try looking at Hilbert~ or at spec2_shift~ on extended.<br>


<br></div></div><div>But Alexandre, I&#39;d also would be interested in stuff that can manipulate the spectrum.  </div><div>I also made a little graphic control to all the cross-synthesis objects in FFTease. if anyone is interested I can post.</div>


<div><div><br></div><div><span style="font-size:12pt">A few years ago I tried to replicate the technique that Trevor Wishart refers to as &quot;Spectral Focusing&quot;, namely - one that moves the other way - from inharmonic to harmonic sonds, by moving from bins to partials (a little like FFTease&#39;s pvtune~, but moving bins to nearest matching </span>partial<span style="font-size:12pt">).</span></div>


<div><span style="font-size:12pt"><br></span></div><div>I&#39;m still looking for such an object. Does anyone have any suggestions? </div><div><span style="font-size:12pt"><br></span></div><div>Zax.</div><br></div><div><div>


<hr>From: <a href="mailto:eransachs@hotmail.com" target="_blank">eransachs@hotmail.com</a><br>To: <a href="mailto:porres@gmail.com" target="_blank">porres@gmail.com</a>; <a href="mailto:jaime.oliver2@gmail.com" target="_blank">jaime.oliver2@gmail.com</a><br>


Date: Sun, 24 Nov 2013 21:58:50 +0200</div><div><div><br>CC: <a href="mailto:pd-list@iem.at" target="_blank">pd-list@iem.at</a><br>Subject: Re: [PD] spectral mapping, anyone?<br><br>


<div dir="ltr">Alexandre,<div>Making harmonic sounds sound inharmonic can be down with spectral shifting. Try looking at Hilbert~ or at spec2_shift~ on extended.<br><br></div><div>But Jaime, I&#39;d also would be interested in that. </div>


<div><span style="font-size:12pt">A few years ago I tried to replicate the technique that Trevor Wishart refers to as &quot;Spectral Focusing&quot;, namely - one that moves the other way - from inharmonic to harmonic sonds, by moving from bins to partials (a little like FFTease&#39;s pvtune~, but moving bins to nearest matching </span>partial<span style="font-size:12pt">).</span></div>


<div><span style="font-size:12pt"><br></span></div><div>I&#39;m still looking for such an object. Does anyone have any suggestions? </div><div><span style="font-size:12pt"><br></span></div><div>Zax.</div><div><br><div><br>


<div><div><hr>Date: Sun, 24 Nov 2013 01:05:29 -0200<br>From: <a href="mailto:porres@gmail.com" target="_blank">porres@gmail.com</a><br>To: <a href="mailto:jaime.oliver2@gmail.com" target="_blank">jaime.oliver2@gmail.com</a><br>


CC: <a href="mailto:pd-list@iem.at" target="_blank">pd-list@iem.at</a><br>Subject: Re: [PD] spectral mapping, anyone?<br><br><div dir="ltr">Hi, I&#39;m Alexandre, I can send you stuff<div><br></div><div>cheers</div></div>


<div><br><br><div>2013/11/11 Jaime E Oliver <span dir="ltr">&lt;<a href="mailto:jaime.oliver2@gmail.com" target="_blank">jaime.oliver2@gmail.com</a>&gt;</span><br>
<blockquote style="border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word">These are older, but I understand E. Lyon might re-release them?<div><br></div><div><a href="http://www.somasa.qub.ac.uk/~elyon/LyonSoftware/MaxMSP/FFTease/" target="_blank">http://www.somasa.qub.ac.uk/~elyon/LyonSoftware/MaxMSP/FFTease/</a></div>



<div><br></div><div>J<br><div><br></div><div><br></div><div><br><div><div><div><div>On Nov 11, 2013, at 7:23 AM, Jeppi Jeppi &lt;<a href="mailto:jeppiot@hotmail.com" target="_blank">jeppiot@hotmail.com</a>&gt; wrote:</div>



<br></div></div><blockquote><div style="font-size:12pt;font-family:Calibri;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:-webkit-auto;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">



<div><div><div dir="ltr">Hi,<div>just looking for some ready to be used spectral mapping effects implemented in pd, anything available?</div><div>Specifically, just a way to slightly remap harmonics to make pitched sounds inharmonic.</div>



<div>There is a paper by Alexandre <a href="http://www.uni-weimar.de/medien/wiki/images/Dissonance_Model_Toolbox_in_Pure_Data.pdf" style="font-size:12pt" target="_blank">http://www.uni-weimar.de/medien/wiki/images/Dissonance_Model_Toolbox_in_Pure_Data.pdf</a> but I couldn&#39;t find the link to the sources.</div>



<div><br></div><div><br></div><div>Many thanks in advance!</div><div>Josep m</div><div><br></div></div></div></div>_______________________________________________<br><a href="mailto:Pd-list@iem.at" target="_blank">Pd-list@iem.at</a><span> </span>mailing list<br>



UNSUBSCRIBE and account-management -&gt;<span> </span><a href="http://lists.puredata.info/listinfo/pd-list" target="_blank">http://lists.puredata.info/listinfo/pd-list</a><br></div></blockquote></div><br></div></div></div>



<br>_______________________________________________<br>
<a href="mailto:Pd-list@iem.at" target="_blank">Pd-list@iem.at</a> mailing list<br>
UNSUBSCRIBE and account-management -&gt; <a href="http://lists.puredata.info/listinfo/pd-list" target="_blank">http://lists.puredata.info/listinfo/pd-list</a><br>
<br></blockquote></div><br></div>
<br>_______________________________________________
<a href="mailto:Pd-list@iem.at" target="_blank">Pd-list@iem.at</a> mailing list
UNSUBSCRIBE and account-management -&gt; <a href="http://lists.puredata.info/listinfo/pd-list" target="_blank">http://lists.puredata.info/listinfo/pd-list</a></div></div></div></div>                                               </div>
<br>_______________________________________________
<a href="mailto:Pd-list@iem.at" target="_blank">Pd-list@iem.at</a> mailing list
UNSUBSCRIBE and account-management -&gt; <a href="http://lists.puredata.info/listinfo/pd-list" target="_blank">http://lists.puredata.info/listinfo/pd-list</a></div></div></div></div></div>                                               </div></div>
<br>_______________________________________________<br>
<a href="mailto:Pd-list@iem.at" target="_blank">Pd-list@iem.at</a> mailing list<br>
UNSUBSCRIBE and account-management -&gt; <a href="http://lists.puredata.info/listinfo/pd-list" target="_blank">http://lists.puredata.info/listinfo/pd-list</a><br>
<br></blockquote></div><br></div></div></div></div></div>                                               </div></div>
</blockquote></div><br></div></div></div></div></div>                                               </div></div>
<br>_______________________________________________<br>
<a href="mailto:Pd-list@iem.at">Pd-list@iem.at</a> mailing list<br>
UNSUBSCRIBE and account-management -&gt; <a href="http://lists.puredata.info/listinfo/pd-list" target="_blank">http://lists.puredata.info/listinfo/pd-list</a><br>
<br></blockquote></div><br></div>