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 >>> > > _______________________________________________ > Speex-dev mailing list > Speex-dev at xiph.org > http://lists.xiph.org/mailman/listinfo/speex-dev >
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 SPX_RESAMPLE_EXPORT #define OUTSIDE_SPEEX #define RANDOM_PREFIX NAME_OF_YOUR_SOFTWARE 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.)
On 08/05/13 19:18, Nikos Chantziaras wrote:> If your software is actually a library itself, you might to instead: > > #define SPX_RESAMPLE_EXPORT __declspec(dllexport)Or maybe not, since I don't think it makes sense to actually export this, as the resampling routines are probably internal to your software. So you probably want to always define this as an empty macro.
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! Hermie 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 SPX_RESAMPLE_EXPORT > #define OUTSIDE_SPEEX > #define RANDOM_PREFIX NAME_OF_YOUR_SOFTWARE > > 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 >