<div dir="ltr">I should add that the library I have been working on, as well as lots of info on SMS can be found here: <a href="http://mtg.upf.edu/technologies/sms/">http://mtg.upf.edu/technologies/sms/</a><br><br>The prototype [smsSynthFile~] external is within the package close to the bottom of the file &quot;libsms.tar.gz&quot;.&nbsp; To be warned, it crashes if things aren&#39;t done in the right order, which isn&#39;t well documented yet.<br>
<br><div class="gmail_quote">On Thu, Jul 10, 2008 at 10:35 AM, Rich E &lt;<a href="mailto:reakinator@gmail.com">reakinator@gmail.com</a>&gt; wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hi all,<br>
<br>
As I may have mentioned in a few other places, I have been working<br>
with a c library for analysis/synthesis known as SMS. &nbsp;The library,<br>
although in flux still, is now capable for performing synthesis in<br>
real-time; I wrote a prototype external that does this by reading a<br>
streaming file from disk.<br>
<br>
Now, I want to turn write a set of externals using a buffered<br>
analysis. &nbsp;Originally, I thought that all operations to the buffer<br>
would happen using one external, but this now seems like it will get<br>
too messy once anything more than basic operations are attempted<br>
(something like cross-synthesis would take enough code to constitude<br>
its own external). &nbsp;So, I have decided that, like the process of SMS,<br>
the different modes of operation should be seperated into analysis,<br>
synthesis, and editing. &nbsp;However, they would all still need access to<br>
the same buffer (which could also be its own external, or possibly be<br>
inside the analysis external).<br>
<br>
So now I am looking for a way to make it where various externals have<br>
access to the same buffer - a data structure containing a header and<br>
sequential frames of analysis.<br>
<br>
I originally thought that outputting a pointer would be the easiest,<br>
but then realized that pd can output &#39;gpointers&#39;, which are not the<br>
same as a void pointer. &nbsp;So it does not look possible to pass a<br>
regular c pointer around in pd land.<br>
<br>
I see that [pool] has the ability to share a data space among<br>
different buffers by taking a name as its first argument. &nbsp;I am<br>
digging through its code right now, but am not familiar with the flext<br>
API. I don&#39;t yet see how it manages to allow different [pool]&#39;s to<br>
share the same data.<br>
<br>
Any suggestions from this list is appreciated..<br>
<br>
cheers,<br>
rich<br>
<br>
On Jan 27, 2008 6:01 PM, &nbsp;&lt;<a href="mailto:geiger@xdv.org">geiger@xdv.org</a>&gt; wrote:<br>
&gt; Quoting Rich E &lt;<a href="mailto:reakinator@gmail.com">reakinator@gmail.com</a>&gt;:<br>
&gt;<br>
&gt; &gt; Hi Gunter Geiger, pd devs,<br>
&gt; &gt;<br>
&gt; &gt; I have recently begun to write an external for SMS synthesis, by basically<br>
&gt; &gt; porting the command line tool Xavier Serra wrote within the original SMS<br>
&gt; &gt; code (found at <a href="http://www.iua.upf.es/%7Esms/software/Old-SMS-for-NextStep.zip" target="_blank">http://www.iua.upf.es/~sms/software/Old-SMS-for-NextStep.zip</a>).<br>
&gt; &gt; I was talking to Xavier about this and he mentioned that you almost got an<br>
&gt; &gt; external working with sms.. Before I did too much work, I figured I would<br>
&gt; &gt; ask to see what types of problems you ran into, or if you have any<br>
&gt; &gt; suggestions.<br>
&gt;<br>
&gt; Hi,<br>
&gt;<br>
&gt; I have part of the SMS process implemented, but not as a single external<br>
&gt; but as a collection of externals for generation of windows, peak<br>
&gt; detection, interpolation, FFT resynthesis. These are glued together<br>
&gt; with standard<br>
&gt; pd objects.<br>
&gt; I sort of got stuck trying to figure out how to use the extracted data in<br>
&gt; a meaningful way inside pd.<br>
&gt;<br>
&gt; So, after all,it might be a better approach to do it as a single external and<br>
&gt; program your transformations in C/C++. So maybe the best bet would be<br>
&gt; to have a<br>
&gt; base SMS analysis/synthesis engine and do an external for each effect that<br>
&gt; you want to implement with it.<br>
&gt;<br>
&gt; Gunter<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; &gt;<br>
&gt; &gt; I&#39;m also sending this to the pd-dev list to see if others have suggestions.<br>
&gt; &gt; I figure that I will start by doing just a port of the command line tool,<br>
&gt; &gt; and then later add in features for seeking through frames at any speed and<br>
&gt; &gt; direction, visually manipulating the data, and other fun things. &nbsp;But I<br>
&gt; &gt; would like to know what others think.<br>
&gt; &gt;<br>
&gt; &gt; regards,<br>
&gt; &gt; rich<br>
&gt; &gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; ----------------------------------------------------------------<br>
&gt; This message was sent using IMP, the Internet Messaging Program.<br>
&gt;<br>
&gt;<br>
</blockquote></div><br></div>