Library for samplerate conversion of audio data?
Asked Answered
L

9

5

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.

Liken answered 2/1, 2012 at 6:41 Comment(3)
Is this question a possible duplicate of yours?Mongrel
@menjaraz: No, that's not my question. I'm hoping this Q turns up something better than DSPACK as well.Liken
ACM itself can do that w/o any dependencies.Footstalk
I
1

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

Ibert answered 2/1, 2012 at 11:2 Comment(2)
Thanks for the suggestion Narcis. DSP master seems quite fast from my testing so far.Liken
@Shannon You're welcome. I don't know if they have in mind making it Firemonkey compatible. If that was the case you could havea MacOS version as well.Rampage
I
2

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.

Inchon answered 2/1, 2012 at 16:5 Comment(1)
Thanks az01. I'll check this one out.Liken
C
2

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/

Criminology answered 10/1, 2012 at 23:11 Comment(0)
I
1

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

Ibert answered 2/1, 2012 at 11:2 Comment(2)
Thanks for the suggestion Narcis. DSP master seems quite fast from my testing so far.Liken
@Shannon You're welcome. I don't know if they have in mind making it Firemonkey compatible. If that was the case you could havea MacOS version as well.Rampage
K
1

Maybe Mitov software has components you can use

Kierkegaardian answered 2/1, 2012 at 11:20 Comment(1)
Thanks Jan. Interesting looking components. I don't see anything specifically for resampling. But the lowpass filters etc could still be useful.Liken
T
1

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

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

Thatcher answered 7/1, 2012 at 19:13 Comment(0)
T
1

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.

Trapezoid answered 8/1, 2012 at 21:11 Comment(1)
Thanks for the video Robert. I'll check these components out.Liken
F
1

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!

Frameup answered 9/1, 2012 at 3:43 Comment(0)
T
1

I use Bass Audio Library.

You can use Bass_Encode and a Bass_Mixer to samplerate conversion.

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

Tremml answered 9/1, 2012 at 13:20 Comment(0)
R
1

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...).

Ramulose answered 10/1, 2012 at 12:34 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.