Hi. We're looking into building an easy to use audio player to use at parties. BPM Studio works great, but most people don't know it and have trouble using it. So far I've found NAudio, which makes playing mp3's easy. I'm looking for something I can use so I can fade out the running audio, and fade in the next one, preferably on a different channel. Any information, experiences, etc. welcomed.

I don't know NAudio, but it looks useful at a first glance.

Do you have language/platform restrictions?

If you have the time and inclination for portable DIY, you might look at PortAudio for output (I can speak to this one a bit) and something to decode whatever formats you want (e.g., libsndfile, FFmpeg, mpg123).

ETA: I realize you posted in the C# forum; C interop shouldn't be too hard for the DIY options.

Do you have language/platform restrictions?

C# is one. I am not the main coder. Just at the sideline looking into issues.

Had a quick glance at PortAudio, but I do not see any mixing features listed in the docs (unless overlooked). This is one of the most important features at first. Something like this which works on a playing file.

I don't know much about audio mixers and players but I have a friend that swears by MIXXX software. The interface can be challenge to learn, initially, but once learned it is apparently really good.

My 1 penny!

Came across that today too, looks good for personal use, but still too advanced to be used by anybody.

Had a quick glance at PortAudio, but I do not see any mixing features listed in the docs (unless overlooked).

You didn't miss anything; that's why I called it DIY... :) Mixing is just about the easiest thing you can do in audio software, though, and a simple crossfade between two audio streams isn't much harder.

I'm not aware of any library that has a complete crossfading solution, but you might get close with SDL_mixer (.NET-ified with C# SDL). IIRC, it does automatic fades on a single channel, so all you'd have to do is tell one to fade in and another to fade out.

You might also find something similar in OpenAL (usable from .NET via OpenTK and probably some other wrappers).

Thanks for those tools anyway, very good to know. We have found a way with NAudio, so sticking with that for the moment.

Hello pritaeas,
I also want to fade out running audio with NAudio. I have tried but the way of NAudio's BeginFadeOut always creates 'clicks'. Could you please advise me how to fade out running audio without creating any noise?
I am looking forward to hearing your advice.

Qingshan

Hello pritaeas,
I also want to fade out running audio with NAudio. I have tried but the way of NAudio's BeginFadeOut always creates 'clicks'. Could you please advise me how to fade out running audio without creating any noise?
I am looking forward to hearing your advice.

Qingshan

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.