[Speex-dev] Re: compatibility issues.

ALEX NG alex at gorex.com.hk
Fri May 25 08:29:32 PDT 2007

Great!   I am trying now.
  ----- Original Message ----- 
  From: François Guerraz 
  To: ALEX NG 
  Cc: Jim Crichton ; greg at mytantrum.com ; speex-dev at xiph.org 
  Sent: Friday, May 25, 2007 11:27 PM
  Subject: Re: [Speex-dev] Re: compatibility issues.


  For the openSpeak project we use PortAudio V19 & speex. So if you want some code examples, you can look an pick in our SVN (its GPL).
  ATM we are having some problems with PortAudio v19 (it might still be buggy somehow, it seems not to support the 32-kHz sampling rate used by speex ultra-wide-band mode) so if you want something stable you'd better use v18. And of course, if you have suggestions about our code, feedback is most welcome.

   NB : openSpeak project home page : http://www.openspeak-project.org/ , SVN : http://openspeak.svn.sourceforge.net/viewvc/openspeak/branches/0.1/

  Le 25 mai 07 à 16:58, ALEX NG a écrit :

    I plan to setup linux server  and in client side, XP and Linux.
    Also, in order to collect the voice, I plan to use portaudio to collect, say 20ms as you suggested sample and feed to the speex encoder.  For easier implementation, I don't use OGG container, and just encode then send to the spread network to the client.
    Hope this work.  Can you advise any potential problems by this approach?
    ----- Original Message ----- From: "Jim Crichton" <jim.crichton at comcast.net>
    To: <alex at gorex.com.hk>
    Cc: <greg at mytantrum.com>; <speex-dev at xiph.org>
    Sent: Friday, May 25, 2007 10:31 PM
    Subject: Re: [Speex-dev] Re: compatibility issues.

      For a streaming application like VOIP, you collect 20 ms of samples, feed this through the encoder, stick it in an RTP packet, and send if over the network.  On the receive side you feed packets through a jitter buffer to the decoder, and then copy the output audio to your output device.  Speex runs efficiently on most compilers, so the real-time requirement is not a big deal, as long as you know how to do this with your operating system (if you have one).

      You do not need Ogg containers for something like this, just search the archives for RTP references and you will find much more.

      Look at the SpeexClient application provided in the source tree, and at the testenc examples in the libspeex directory.  The Speex part of things is pretty easy (thanks to Jean-Marc).  It is the audio interface for your specific platform and the call setup protocals (e.g. SIP) where the real work is.

      If you identify the specific hardware/software platform that you plan to use, then someone may be able to point you to examples for the audio interface software.

      - Jim

      ----- Original Message ----- From: <alex at gorex.com.hk>
      To: "Greg" <caroundw5h at yahoo.com>
      Cc: <greg at mytantrum.com>; <speex-dev at xiph.org>; "Jean-Marc Valin" <jean-marc.valin at usherbrooke.ca>
      Sent: Thursday, May 24, 2007 11:30 PM
      Subject: Re: [Speex-dev] Re: compatibility issues.

         I am also working on VOIP application.
        Now the speexenc.exe is used to encode a wav/raw file.  However, in real time
        voice communication, the voice keep recording from the microphone and how can
        we employ speex to compress the voice and send over the network?

        Quoting Greg <caroundw5h at yahoo.com>:

          okay that questioned is answered, thank you.

          I am interested in using speex in a VOIP application. do i need to put it in
          the ogg contianer format in order to encode/decode and send it? or will it
          "as is"? if the latter then:

           "the packet is larger than the allocated buffer" message: whats your
          recomendaton for fixing that? i was thinking simply getting the size of the
          and using the speex_bits_init_buffer() function to create a bigger buffer.
          However i
          want to keep latency in mind and make them as small as possible.

          i apologise if the questions seem simple but i've working at this for sevreal
          and i'm a little stump. a indication in the right direction would be helpful.

          thank you in advance,

          Jean-Marc Valin <jean-marc.valin at usherbrooke.ca> wrote: > does this have
          anything to do with the message on the example code:
          > "the packing used is not compatible with speexenc/speexdec" i know it
          > may sound stupid but it is my first time using speex lib. as well i
          > had assumed this was so and tweaked the decoder code to decode the
          > same file that the example encode code made, but i get a "packet is
          > larger than allocated buffer could not resize buffer, truncating
          > input" message.

          Well, the note says it all. It's just not compatible. speexenc/dec pack
          Speex data into an Ogg container, while the sampleenc/dec code just
          creates an incompatible ad-hoc format just to demonstrate how to use
          Speex (without bothering with the heavy Ogg code).


          Building a website is a piece of cake.
          Yahoo! Small Business gives you all the tools to get online.

        Speex-dev mailing list
        Speex-dev at xiph.org

      No virus found in this incoming message.
      Checked by AVG Free Edition. Version: 7.5.467 / Virus Database: 269.8.0/817 - Release Date: 2007/5/24 _U__ 04:01

    Speex-dev mailing list
    Speex-dev at xiph.org

  François Guerraz
  kubrick at fgv6.net


  No virus found in this incoming message.
  Checked by AVG Free Edition. 
  Version: 7.5.467 / Virus Database: 269.8.0/817 - Release Date: 2007/5/24 $U$H 04:01
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.xiph.org/pipermail/speex-dev/attachments/20070525/b89462d4/attachment.html

More information about the Speex-dev mailing list