Find Jobs
Hire Freelancers

NAudio AudioFileReader to BufferedWaveProvider - read a file and convert to buffered audio C#

$30-250 USD

Completed
Posted about 3 years ago

$30-250 USD

Paid on delivery
The pay for this project is $50. I am using AudioFileReader to read files in Naudio then passing it through a pipeline, which ends with WasapiOut. I require the .wav file data to be passed to a BufferedWaveProvider. In other words, I need to buffer the audio with a larger buffer than the default in order to give me more time to process the audio. NAudio provides AudioFileReader, BufferedWaveProvider, VolumeSampleProvider, WasapiOut. I should be able to use these in this order, something like this: player = new WasapiOut(); reader = new AudioFileReader(_selectedFile); eqFileInBuffer = new BufferedWaveProvider([login to view URL]); [login to view URL] = true; _eqFileBuffer = new byte[[login to view URL]]; [login to view URL](_eqFileBuffer, 0, [login to view URL]); eqFileVolProvider = new VolumeSampleProvider([login to view URL]()); [login to view URL](eqFileVolProvider); And then play. There will be an event somewhere, which will read the samples in and out of the BufferedWaveProvider, something like this: void read_Event(object sender, EventArgs e) { if ([login to view URL] == 0) //refill { [login to view URL](_eqFileBuffer, 0, [login to view URL]); [login to view URL](_eqFileBuffer, 0, [login to view URL]); } } I have gotten close but I cannot figure out how this can be done. I have managed to make it play the audio but there are ticks in the sound, which I cannot stop. I do not know where my event is meant to be placed so that it will work. Actually, I cannot work out what causes the ticks (eg - if I put my event in a timer). Every example I can find using BufferedWaveProvider uses it with a live stream and calls the read event when the WaveIn has data available ([login to view URL]) but a file playing (AudioFileReader) does not have a "DataAvailable" property. I am a novice programmer and I may not be able to figure this out. This project task is to create an audio pipeline using NAudio, which begins with AudioFileReader and follows a path shown below and implement it in a WPF application: AudioFileReader -> BufferedWaveProvider ->VolumeSampleProvider -> WasapiOut The size of the buffer of BufferedWaveProvider must be configurable. The whole point is to increase the buffer size so that more stages can be added into the middle of the pipeline and that the audio out will not stutter. More stages can be added if it is needed (eg - another SampleProvider between AudioFileReader and BufferedWaveProvider). Another solution that allows the buffer size to be configured and changed by the user is also acceptable, even if it doesn't use BufferedWaveProvider. This is an easy task if you know NAudio well already or have experience in DSP. I am sure Naudio Creator, Mark Heath could finish this task in 5 minutes. However, it is not easy for me or someone who is not at all familiar with this. Please don't bid to do this task if you do not understand anything about DSP. If you are capable, this is an easy way to make $50
Project ID: 30198457

About the project

1 proposal
Remote project
Active 3 yrs ago

Looking to make some money?

Benefits of bidding on Freelancer

Set your budget and timeframe
Get paid for your work
Outline your proposal
It's free to sign up and bid on jobs
Awarded to:
User Avatar
Hello, I have read your job description carefully. I have rich experience in audio processing on multi platforms. I want to discuss with your in more detail through chat. Looking forward to hearing from you. Best Regards.
$50 USD in 7 days
5.0 (1 review)
1.4
1.4

About the client

Flag of UNITED KINGDOM
GLASGOW, United Kingdom
5.0
11
Payment method verified
Member since Oct 13, 2009

Client Verification

Thanks! We’ve emailed you a link to claim your free credit.
Something went wrong while sending your email. Please try again.
Registered Users Total Jobs Posted
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759) & Freelancer Online India Private Limited (CIN U93000HR2011FTC043854)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Loading preview
Permission granted for Geolocation.
Your login session has expired and you have been logged out. Please log in again.