Amira Elsayed Ismail
Amira Elsayed Ismail

Reputation: 9394

Audio API in C#

I need to take an audio file recorded by a man and convert it to a child's voice and mix it with a background voice track.

I have searched the internet trying to find a good program to do this but I didn't find it. Is there a C# API that can help me to implement it myself?

Upvotes: 2

Views: 6414

Answers (4)

Richard C
Richard C

Reputation: 521

Rubber Band Library by Breakfast Quay is a C++ library (released under GPL) that can change the pitch of a recording without changing the speed. It also features formant processing, which can help with changing a voice between a man/woman/child.

See http://rubberbandaudio.com/.

Upvotes: 0

Scott Chamberlain
Scott Chamberlain

Reputation: 127543

I think using a API and writing it yourself may fall under the "too difficult to do so" category. I would recommend using a free multi-track audio editor like Audacity, it has a pitch shift ability (that will do your child voice requirement) and you can play two files on top of each other (to do the background voice requirement)

If you still want/need a API the key word to look for when searching for the child's voice ability is "Pitch shifting"

Upvotes: 3

BrokenGlass
BrokenGlass

Reputation: 160852

NAudio is .NET based and has a mixing engine - might be worth looking at for your purposes.

Upvotes: 5

Aliostad
Aliostad

Reputation: 81660

There is some new functionality in System.Windows.Media namespace using MediaPlayer class with WPF.

But what you are doing requires signal processing and best done in C++. I do not know any good Signal Processing libraries in .NET but Emgu openCV is wrapper around OpenCV which can do advanced signal processing.

What you are trying to do requires advanced signal processing and if you do not have such a background there is no easy way to do it.

Upvotes: 0

Related Questions