I&#39;m using CSpeex, which is a 1:1 port of JSpeex to C#.  Surprisingly, it seems to work very well for us, even when interoperating with the main C-based implementation.  The issues we&#39;ve run into all have to do with the Silverlight environment we&#39;re running it in, i.e., we can only use TCP instead of UDP, Silverlight&#39;s garbage collection can&#39;t handle the requirements of realtime audio and video, that sort of thing.<br clear="all">
<br>Ken Smith<br>Cell: 425-443-2359<br>Email: <a href="mailto:ken@alanta.com" target="_blank">ken@alanta.com</a><br>Blog: <a href="http://blog.wouldbetheologian.com/" target="_blank">http://blog.wouldbetheologian.com/</a><br>

<br><br><div class="gmail_quote">On Tue, Nov 9, 2010 at 9:33 AM, Jeff Ramin <span dir="ltr">&lt;<a href="mailto:jeff.ramin@singlewire.com">jeff.ramin@singlewire.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br>
Just an update, and a follow-up question:<br>
<br>
I&#39;m making progress on this issue, and will likely have something working<br>
very soon, now that I understand how the jspeex transcoding classes work.<br>
Unfortunately, I will need to make a couple small changes to the jspeex<br>
source code.<br>
<br>
My question is - is anybody using jspeex for streaming speex-encoded audio?<br>
It works great for static audio, but seems to fall short when processing<br>
audio<br>
on the fly in a stream.<br>
<br>
Thanks.<br>
<br>
<br>
On 11/05/2010 02:11 PM, Jeff Ramin wrote:<br>
&gt;<br>
&gt; On 11/05/2010 02:13 PM, Pascal Pochol wrote:<br>
&gt;&gt; Jeff,<br>
&gt;&gt;<br>
&gt;&gt;&gt; I found the problem I was having (described below), and I&#39;m now able to<br>
&gt;&gt;&gt; hear the audio at the destination.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; However, the audio does not play smoothly. It has hiccups and jumps and<br>
&gt;&gt;&gt; stops. I can&#39;t guarantee this is the problem, but it may be related to<br>
&gt;&gt;&gt; delays<br>
&gt;&gt;&gt; caused when the Speex2PcmAudioInputStream needs to process an Ogg<br>
&gt;&gt;&gt; page header.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Has anybody else had problems decoding speex that is being streamed?<br>
&gt;&gt;&gt; Any<br>
&gt;&gt;&gt; suggestions as to how to fix this?<br>
&gt;&gt; We first used the speexenc speexdec sources which encapsulate into an<br>
&gt;&gt; ogg<br>
&gt;&gt; stream. Once that worked we decided to get rid of the ogg encapsulator<br>
&gt;&gt; altogether and keep only the speex stream data since we were in<br>
&gt;&gt; charge of<br>
&gt;&gt; both encoding and decoding. The sample code at<br>
&gt;&gt;     <a href="http://www.speex.org/docs/manual/speex-manual/node13.html" target="_blank">http://www.speex.org/docs/manual/speex-manual/node13.html</a><br>
&gt;&gt; is IMHO a lot easier than having to deal with all the ogg<br>
&gt;&gt; encapsulation if<br>
&gt;&gt; you don&#39;t need it.<br>
&gt;&gt;<br>
&gt;&gt; -Pascal<br>
&gt;<br>
&gt; Thanks Pascal.<br>
&gt;<br>
&gt; I would actually love to do something like that, since I do control<br>
&gt; both ends<br>
&gt; of the transmission. However, I need to integrate my new code w/<br>
&gt; existing code<br>
&gt; which uses Java InputAudioStreams (I&#39;m using the jspeex library).<br>
&gt; There doesn&#39;t<br>
&gt; seem to be a way to configure the stream to exclude the Ogg header<br>
&gt; (short of<br>
&gt; modifying the jspeex code, which I&#39;d rather not do).<br>
&gt;<br>
&gt;<br>
<br>
<br>
--<br>
Jeff Ramin<br>
Software Engineer<br>
Singlewire Software<br>
2601 W Beltline Hwy #510<br>
Madison, WI 53713<br>
<br>
Phone Direct - 608.661.1172<br>
<a href="http://www.singlewire.com" target="_blank">www.singlewire.com</a><br>
<br>
_______________________________________________<br>
Speex-dev mailing list<br>
<a href="mailto:Speex-dev@xiph.org">Speex-dev@xiph.org</a><br>
<a href="http://lists.xiph.org/mailman/listinfo/speex-dev" target="_blank">http://lists.xiph.org/mailman/listinfo/speex-dev</a><br>
</blockquote></div><br>