 |
|
 |
if input source is wav file, how to draw it's spectrogram with a limit width like 800 pixel?
|
|
|
|
 |
|
 |
Firstly, great example…
If there is no noise/sound the application closes fine, if there is a high level of noise and you try to close the application, it hangs… any suggestions?
i think ive traced it back to the DataArrived() sub, when you call your delagate: Invoke(new MethodInvoker(AmplitudeEvent));
it looks like this method is still getting fired even when the object is disposed, i removed _recorder.Dispose(); to invoke this error... im trying to figure this threading issue out myself but i would appreciate it if you took a look and gave some advice.
Thank you
modified 17 Jan '12.
|
|
|
|
 |
|
 |
Hi,
I am getting Object reference not set to an instance of an object error in WaveIn.cs function WaveInRecorder in the following code
WaveInHelper.Try( WaveNative.waveInOpen(out m_WaveIn, device, format, m_BufferProc, IntPtr.Zero, WaveNative.CALLBACK_FUNCTION));
?
|
|
|
|
 |
|
 |
For Windows 7
Visual Studio 2008
Click the "Build" -> "Configuration Manager..." menu option. Click the "Active solution platform" drop-down menu and select "New...". A dialog will open, change the type to "x86", click "OK", and rebuild
|
|
|
|
 |
|
 |
Hi,
Great program - exactly what I need! One thing though: it locks up on Exit when running on Win 7 32-bit. No problems on XP, just Win 7.
I've traced it back to the Stop(); function and it seems _recorder.Dispose(); is where it locks up. If I comment that out the window will close, but the SoundCatcher.exe process is still running.
I'm very new to C# so I have no idea what to do to prevent this. Any help would be greatly appreciated!
Thank you!
|
|
|
|
 |
|
 |
Try to set the _recorder = null; then it will not hang again, and it will clear the _recorder.
Timotech
|
|
|
|
 |
|
 |
Thanks so much for the great exposition, please how can i make it record for every one hour.
Thanks for your prompt response.
Timotech
|
|
|
|
 |
|
 |
Very good solution.
http://www.haxx.lv/
|
|
|
|
 |
|
 |
Thanks.
If is interested, then IT - In VB.NET...
IT
In VB.NET
|
|
|
|
 |
|
|
 |
|
 |
How do i have to alter the code for the program to also output a .txt file containing amplitude and frecvency information?
|
|
|
|
 |
|
 |
Hi,
Thanks for this nice project..... I found that the picturebox displaying the spectrogram goes blank after sometime.... I thought that the issue is with system memory (256MB), so I upgraded to 1GB.... The problem still persists.... Any suggestions?
|
|
|
|
 |
|
 |
Hi, Could i use this code in a gplv2 project.
|
|
|
|
 |
|
 |
Hi Jeff,
I found that the method "Process(ref byte[] wave)" plays the main role here.
This method gets the appropriate byte array as the input and going further,
the methods-
"public void RenderTimeDomainRight(ref PictureBox pictureBox)"
and
"public void RenderTimeDomainLeft(ref PictureBox pictureBox)"
are displaying the waveforms.
What if I, already have with me, this "byte[] wave" byte-array for which the wave-form has to be displayed?
An audio-stream gives me this byte-array at regular intervals of time one-after-the-other.
I am currently giving this "wave" directly as input to the method i.e. "Process(ref byte[] wave)"
instead of going through all the "DataArrived" stuff.
Or is there some way I could use "ISpeechBaseStream" object to give audio stream as input ?
Please can you help.
Thanks in advance
Mark
|
|
|
|
 |
|
 |
Hi,
Is it possible to average the audio over a period, say a few seconds? I guess that will reduce a lot of noise. Any ideas in this direction?
|
|
|
|
 |
|
 |
Dear Jeff Morton,
Let us know whether or not it is possible to create a sound equalizer using this code. Would you like to guide us?
Don't believe in love...
|
|
|
|
 |
|
 |
Your project is great. I want to use it on my project too. The project aims to analyze sounds coming from microphone in real-time by their sound loudness or amplitude. Is this application perfect for our project?
I wanna know if it can measure the loudness of the sound. Coz I've seen the app and it displays the numeric figures in dB. I hope this is what I'm really looking for.
Thanks! Great Job!
|
|
|
|
 |
|
 |
Yes, that's essentially what it does.
|
|
|
|
 |
|
 |
Hello,
i want to use this great application to show me the loudest frequency in the fft. It works very well, the RenderFrequencyDomain allready calculates the loudest frequency.
I have to use a invoke to display this number on a textbox. The application works, i got the frequency displayed on a textbox, but i can not stop the thread.
Code in the DataArrived Methode: (i returned the maxHz in the RenderFrequencyDomainLeft)
double leftHz = _audioFrame.RenderFrequencyDomainLeft(...)
Invoke(new MethodInvoker(delegate{
textBox1.Text = leftHz.ToString() + " Hz";
}));
When i want to close the application the call stack hangs in the following step:
- FormOnClosing
-> Stop();
-> _recorder.Dispose();
-> WaitForAllBuffers();
-> Buf.WaitFor();
-> m_Recording = m_RecordEvent.WaitOne(); // The WaitOne Methode hangs
If i give a timeout to the WaitOne Methode, the closing call stack hangs in the following step:
- FormOnClosing
-> Stop();
-> _recorder.Dispose();
-> m_Thread.Join(); // The Join Methode hangs
If i give a timeout to the Join Methode, i got a objectdisposedexeption in the Invoke Methode i wrote for updating the textbox.
I want to know if there is any good solution to access user controls with an invoke in the dataarrived event. And with that i can stop the threads without timeout programming.
thx a lot
Mike
|
|
|
|
 |
|
 |
I made an high pass filter after the FFT and I wanted to record the result.
For that, I need to do a IFFT.
Can you tell me how do I do it with your code? tks
aF -.-
|
|
|
|
 |
|
 |
I'm trying to implenet a high pass filter how did you do it? can you give me some relevent documentation all i found was not that relevent to sound analysis
|
|
|
|
 |
|
 |
I am able to get the audio from wavOut class and process them to get the various displays. But there is a lot of noise. How do I reduce it? Also, the Time Domain Display does not show any significant variation of amplitude. Any way out?
|
|
|
|
 |
|
 |
How can I change the source to line-out instead of line-in and display the results in the same way?
|
|
|
|
 |
|
 |
Is it possible to change the source to an existing wav file? or alternately, capture the sound as it is being played by the system?
|
|
|
|
 |
|
|
 |