Question

What is a good Delphi library for samplerate conversion of audio data? I don't mind paying for something.

I need to upsample and download sample audio in realtime. I understand the theory but don't want to write my own routines.

EDIT: Bonus points for something with Mac support.

Was it helpful?

Solution

Dew Research's DSP Master could be an option for you.

OTHER TIPS

You can check the unit "DAV_DspUpDownsampling.pas" in the Delphi Asio Vst Project. Although I've never used it I'm sure it would fill your needs.

Use SoX - the Swiss Army knife of sound processing. Very easy to use.

It is a command line tool not a Delphi library so to use from Delphi you need to execute a shell command and get the result with in your code. I have used it with PHP.

SoX is a cross-platform (Windows, Linux, MacOS X, etc.) command line utility that can convert various formats of computer audio files in to other formats. It can also apply various effects to these sound files, and, as an added bonus, SoX can play and record audio files on most platforms.

SoX is very mature project! Here is the link: http://sox.sourceforge.net/

Maybe Mitov software has components you can use

I use newAc in quite a few projects. It can do sample rate conversion.

The best news: It is free (also for commercial use)

Yes, you can use AudioLab from Mitov Software for that. It appears that nobody actually posted the link ;-), so here it is - http://www.mitov.com/products/audiolab.

Enjoy!

I use Bass Audio Library.

You can use Bass_Encode and a Bass_Mixer to samplerate conversion.

http://www.un4seen.com/bass.html

The Mitov components do this easily. I've made a short screen recording that shows the steps.

http://tinyurl.com/mitovaudio

The Mitov video and other components are equally powerful. We've used the Mitov libraries on major real-time video and audio processing projects with excellent results. Their support is excellent.

AFAIK, the components are free to evaluate and for non-commercial projects.

PS I believe he's a FireMonkey guy, so I'd guess that we can expect Mac support now or in the future.

You may want to take a look at Secret Rabbit Code (aka libsamplerate); it's a C library, but it should be quite easy to create a wrapper. The API is simple, and supports a wide range of operating systems and platforms (even embedded!).

It has a mature and very good quality code base, and it's extremely efficient. Support is also awesome, Erik is very responsive. Plus it has a huge user base.

Another option is libsoxr (which seems to produce better output, but is not so popular...).

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top