[Speex-dev] Upsampling while decoding / Updating

Hermann Weber hermie.weber at gmx.de
Wed May 8 09:24:34 PDT 2013

Dear Nikos,

thank you very much for the help!
I have just played around with Opus some more, and it is amazing!!
Again, THANK YOU for pointing me at it!


Am 08.05.2013 18:18, schrieb Nikos Chantziaras:
> I'm not using Opus at all.  I'm just including its resampler in my own
> sources.  It's not even a DLL; it's directly compiled together with the
> rest of my code.  You need these sources from the opus-tools package
> (http://www.opus-codec.org/downloads/):
>     arch.h resample.c resample_sse.h speex_resampler.h stack_alloc.h
> In your project file, define these macros:
>     #define OUTSIDE_SPEEX
> If your software is actually a library itself, you might to instead:
>     #define SPX_RESAMPLE_EXPORT __declspec(dllexport)
> or whatever else you happen to be using.
> With that, you should be able to include the source files directly in
> your project and build them without issues.  The license is a two clause
> BSD-style permissive one, so you can do that.
> On 08/05/13 07:38, Hermann Weber wrote:
>> Dear Nikos,
>> thanks!
>> But you use Opus only for resampling, not for entirely replacing Speex,
>> don't you?
>> Greetings!
>> Hermie
>> Am 07.05.2013 22:53, schrieb Nikos Chantziaras:
>>> The Opus resampler is actually a bugfixed version of the Speex one. Same
>>> interface/API, but with the bugs removed.  It's why I recommended it :-)
>>>      Otherwise I would have recommended something entirely different, like
>>> SoXR.
>>> On 07/05/13 22:12, Hermann Weber wrote:
>>>> Dear Nikos,
>>>> thank you very much for your advice!
>>>> I am not a little bit new to C++, and experiments (like using another
>>>> third party library) always turn out to be days of work for me.
>>>> That is why I would first like to try Speex's new internal resampling
>>>> function.
>>>> I am currently still using the old 1.0.4 version.
>>>> I have now downloaded the new 1.2rc1 version.
>>>> Unfortunately it does not want to compile the libspeex.dll right away,
>>>> VS2010 tells me:
>>>> Converting project file
>>>> 'C:\Users\MyUser\Desktop\speex-1.2rc1\win32\VS2008\libspeex\libspeex.vcproj'.
>>>> Failed to upgrade platform 'Windows Mobile 5.0 Pocket PC SDK (ARMV4I)'.
>>>> Please make sure you have it installed under
>>>> '%vctargetspath%\platforms\Windows Mobile 5.0 Pocket PC SDK (ARMV4I)'
>>>> VCWebServiceProxyGeneratorTool is no longer supported. The tool has been
>>>> removed from your project settings.
>>>> Failed to upgrade 'Debug|Windows Mobile 5.0 Pocket PC SDK (ARMV4I)'.
>>>> Please make sure you have the corresponding platform installed under
>>>> '%vctargetspath%\platforms\Windows Mobile 5.0 Pocket PC SDK (ARMV4I)'
>>>> The project configuration dimension name/value "(Platform, Win32)" was
>>>> not found in the project manifest.
>>>> Is it possible to compile the libspeex.dll without support for Windows
>>>> Mobile 5.0, or is there no other way?
>>>> I am afraid of messing anything up by install it.
>>>> Greetings!
>>>> Hermie
>>>> Am 07.05.2013 16:03, schrieb Nikos Chantziaras:
>>>>> On 07/05/13 13:07, Hermann Weber wrote:
>>>>>> Hello!
>>>>>> I would like to know if it is possible to request encoding to a higher
>>>>>> samplerate than the original data.
>>>>>> For example my uncompressed data was 22 kHz, and I would now like to
>>>>>> decode the compressed data to 48 kHz (to feed it to a filter which
>>>>>> expects a high "input" format).
>>>>>> Is this possible with Speex?
>>>>> Speex comes with a resampler, so yes. You need to resample your signal
>>>>> after decoding it.
>>>>> However, I'd recommend using the Opus resampler instead of the Speex
>>>>> one.  (It can be used stand-alone and directly included in your own code.)
> _______________________________________________
> Speex-dev mailing list
> Speex-dev at xiph.org
> http://lists.xiph.org/mailman/listinfo/speex-dev

More information about the Speex-dev mailing list