This is just a quick post to point out that I have had an article published on Coding4Fun this week. It demonstrates how to make a voice changing effect for Skype using NAudio. Check out the article here: Skype Voice Changer.

I have now uploaded all the code (and release binaries) to a CodePlex project.

The other thing to say is that the audio effect framework I developed for this application will eventually find its way into NAudio. I am still deciding on quite how best to integrate it, but watch this space for further news.

Have fun talking to your friends in silly voices on Skype!

Want to get up to speed with the the fundamentals principles of digital audio and how to got about writing audio applications with NAudio? Be sure to check out my Pluralsight courses, Digital Audio Fundamentals, and Audio Programming with NAudio.
Vote on HN


Comment by m.pniuVxsfy_Lj_CO7veuiwwttzMKEbOUXaUQA--

Hi Mark!
Nice article about using NAudio! I'm so busy right now by other non computer stuff that i can't no longer work on NAudio until several months... but i'm really pleased to see that you are still working on it!
See you
Alexandre Mutel

Comment by Mark H

hey Alexandre, good to hear from you again. I'd be interested to hear your thoughts on the IEffect interface. I am thinking that there may be two ways to use NAudio - one dealing primarily with byte arrays and repositionable WaveStreams, and one dealing primarily with an effects chain, and may not even make use of WaveStream at all.

Comment by Alexandre Mutel

Well, about the Effect interface, i would probably prefer a property based declaration for sliders, with a special attribute containing additionnal information (min, max, default, text...etc.) and precompute sliders at initialization with runtime info. I'm a huge fan of this kind of design! ;)

Alexandre Mutel
Comment by Ringo

How difficult would it be to modify this app so that you don't have to use skype, just mic in and speaker out?

I have a robot that is tele-operated and uses a wireless Voice transceiver so that the operator can talk through the robot. It would be neat to be able to change the voice on the fly.

Comment by Mark H

Hi Ringo, it wouldn't be too hard at all. NAudio includes a WaveIn class to use for this purpose. You would simply need to adapt it to a WaveStream which the EffectStream can use as a source.

Comment by Alexandre Mutel

Oh, by the way Mark, you should check the last version of vstnet on codeplex. It seems that a basic host is available... could be interesting for applying effects through a VST chain.

Alexandre Mutel
Comment by Mark H

Hi Alexandre,
yes I saw that. I would like to create a VstWaveStream or a VST hosting IEffect and get it in to NAudio at some point.

Comment by Phil Wolff

Hi, Mark. May we reblog this post as a guest column on Skype Journal? It's a great read and perfect for our audience.



Phil Wolff, editor

Comment by Mark H

Hi Phil,
Sure feel free.

Comment by Diego Frata

Hey Mark, nice article. I've started to study this library and it amazes me. I've struggled a lot to understande the mess around Windows Audio SDKs and this library simply takes all the mess alway.

This library gives me hope that someday the middle east will live in peace, and Microsoft's API's will work just like NAudio. :-)

Diego Frata
Comment by Mark H

thanks Diego ;)

comments powered by Disqus