New Post: Use WaveIn to get Pitch (fft/autocorrelator).
Hello, I'd like to know if it theres a way to get the autocorrelator/pitch using WaveIn or/and its DataAvailable event? Im study the VoiceRecorder project and i could only view the pitch when the...
View ArticleNew Post: How to convert WAV file to GSM file
you use the WaveFormatConversionStream. Have a look at the NAudioDemo project which comes with NAudio, which shows how you can use the installed ACM codecs on your machine.
View ArticleNew Post: Simple waveform visualizing
The way to draw a waveform is to examine sample values over a set period (say 200ms), and pick out the highest and lowest values. Then draw a vertical line representing that time. Then move on to the...
View ArticleNew Post: Use WaveIn to get Pitch (fft/autocorrelator).
this was done for performance reasons as the autocorrelator is not particularly quick. However there is no reason why you couldn't pass samples into it as they arrived through DataAvailable.
View ArticleNew Post: Plays in speakers, but not in headphones
I am having the similar problem if switching audio devices. You have to detect if any audio device (endpoint from now on) is added (enabled) or removed (disabled) and redirect the audio to the new...
View ArticleNew Post: Use WaveIn to get Pitch (fft/autocorrelator).
Can you give me example how to get autocorrelator/fft detectpitch on dataavailable?i checked the voicerecorder project. but it opens a wav file and passes to IWaveProvider. What i need is getting the...
View ArticleNew Post: Signed version
Can you sign (strong name) your naudio.dll ? I have a signed project and want to reference your dll. Thanks! /Bernd
View ArticleNew Post: Code Review: WasapiCapture.CaptureThread(AudioClient client)
Hey I am studing the WasapiCapture class and I got a question about the CaptureThread(). public class WasapiCapture : IWaveIn { private AudioClient audioClient; // Note the parameter public void...
View ArticleNew Post: Signed version
Yes, I mean to sign NAudio in the future as a few people have asked for this now. The workaround for now is to build it yourself and sign it.
View ArticleNew Post: Signed version
Yes. I signed it myself already. But of course its better to have the officially released signed version. Well than.. write it in the naudio news, if you have introduced signed assemblies.
View ArticleNew Post: Mixing multiple WaveStreams
I'm trying to output multiple audio streams from a server at the same time, but because my WaveStream is getting the data live, it doesn't implement Position or Length which WaveMixerStream32 requires...
View ArticleNew Post: Mixing multiple WaveStreams
I usually implement my own mixer stream for things like this, probably deriving from IWaveProvider rather than WaveStream since Length and Position are not really important. You can easily make one...
View ArticleNew Post: Code Review: WasapiCapture.CaptureThread(AudioClient client)
About audioClient and client, yes, the thread function could just use its parameter, but they are always the same object so it is not a real issue. As for underscores, that is a coding preference, and...
View ArticleNew Post: Mixing multiple WaveStreams
Since you mentioned you usually implement your own, do you have any samples besides the ones that are there now? I've been trying to roll my own for a few days now, but the main issue I keep getting...
View ArticleNew Post: Mixing multiple WaveStreams
You can just ignore the position and length of input streams in your mixing class. IWaveProvider doesn't have Position and Length properties - you just need to implement Read. In Read, simply read from...
View ArticleNew Post: Mixing multiple WaveStreams
Thanks Mark for your prompt replies, I think I'm starting to figure this out, but I'm looking at WaveMixerStream32 and MixingSampleProvider - Why do both require Ieee as the encoding? I'm using NSpeex...
View ArticleNew Post: Capture stream audio by internet
Then how would you pass the data if its a continuous stream? Obviously this would have to be in its own thread. It wouldn't necessarily need to do play back. Just need to figure out how to constantly...
View ArticleNew Post: Mixing multiple WaveStreams
the reason for mixing in 32 bit instead of 16 bit is headroom. If you mix in 16 bit, then you are adding together Int16s, which could overflow, causing distortion. However, when you go to 32 bit IEEE,...
View ArticleNew Post: Capture stream audio by internet
What you would typically do is put the audio you have received over the network into a BufferedWaveProvider if you want to play it as it arrives, or just use a WaveFileWriter if you want to save it to...
View ArticleNew Post: Mixing multiple WaveStreams
Thanks Mark! I was able to convert the audio to 32 bit and mix it together and convert it back to 16 bit. The audio quality has improved greatly. There is one issue when two people talk at the same...
View Article