Dude, you might not get this a lot... but you Sir are a FUCKING GENIUS... Thank you very much for making this code open source... you just saved my entire semester...
Outstanding project and good explanation! I'm wondering if you've worked with WasapiLoopbackCapture though. I can't find any way to change its buffer size, do you know if that's possible?
Would it be possible to implement this in a Unity project to get the microphone input to play through an AudioSource? What's the absolute simplest way that could be done?
Just for you to know, I'm going to base my EEG sleep monitor on this project ;) Instead of soundcard I'm feeding it data from embedded device via USB. Your code is going places man ;p However I find lack of configurability in scottplot a little frustrating tbh. Great work, thank You very much :)
I have a question about the FFT function. When I pass a simple sine or square wave through it, if I decrease the amplitude of the wave, the array I am getting back has the correct frequencies, but the intensities do not change. For my project however I need to preserve the intensities at different levels. Do you know why this might be happening?
Hi, Scott, according to your code, you are using interval of 10mS *_this.timer1.Interval = 10;_* and the *_wi.BufferMilliseconds_* is 46, maybe you are showing two times APROX the same "screenshoot"? I want to understand the code, because I don't know C#. WaveIn *wi* is constantly reading from microphone and the bytes (of sample) are placed in the buffer *bwp* . With this sentence *_bwp.Read(frames, 0, frameSize);_* from *timer1* put the samples in arrays. Is like producer consumer problem?
Hey im very new to FFT and audio processing programatically. I am trying to get a pitch of a sine wave real time, but I have no idea how FFTs work and I have no idea which FFT to use. For example, if I try to use an FFT from the spectogram (you made), there are 133 different FFTs and i have no idea which one to use. Its all very confusing. Please point me to a good example. Thank you for your work :)
I just added a link to the bottom of the description called "Graphing FFT Audio Data Notes". I hope you find it useful! It outlines how to use NAudio to calculate FFT. FWIW I'm also working on a website (Google csharpdatavis) that will include a video walkthrough of how to do exactly this from start to finish. It might be a few more months before I finish it, but it'll get uploaded to TH-cam eventually!
@@swharden Hia! My project im working on is now working. Basically my project using audio signals to transmit on a lower power radio sine waves. Each tone corresponding to a char. The message is encrypted and the tones played are the encrypted string chars. A listener client will then clean up the received data and decrypt it back into its original form. So far it works exceptionally well, even with radio noise. Thank you :)
Laura Farias change the default recording device (by right-clicking the speaker icon by the clock in windows). You can set it to be a microphone, or any other drive hooked up to your computer
Hellow Scott I'am new programming with c# and visual studio, I have some questions about, Can you say me how add reference with the ScottPlot?, I'am trying but I Can't. I hope you can answer the cuestion please. Other question, is this only to the VS 17?. if work with VS15 will this work? Thank for your time, an thank´s for make this.
+Scott thanks for the quick reply but i also want to know how can i develop one (i know C/C++ java and python). from where should i get start with it. I also have some knowledge about speech processing and also made a vowel recolonization program, where i used wrote function for noise removal, but that wasn't realtime, that was taking data from text file of audio sample. How can i make the same so other people while i am using mic would hear no/lesss noise while voice chatting.
hi scott, i just want to ask what type of microphone did you use for the sensor? and what type of communication wire from the microphone to computer? it's XLR to USB or what? hope u answer my question please.. 👍
I download project "Csharp-Data-Visualization" and open project "17-07-16_microphone" on Visual but (References>ScottPlot Error) and ScottPlot(load failed) . (I speak a little English. I want to send you a picture. Please ask for your email.) Thank you very much.
Sir very nice video .. Please make a video on real time ECG with LabVIEW..or any other ......real time ...with the help of node MCU esp8226... I hope u will make it..
Fourier Transform Equation Explained So, it's simple... but don't ask simple questions. It's vague, it's not complete... OMG, shoot me now. And the github link doesn't work... 404. Good job!
Can you please explain the concepts in *layman terms? *a person without professional or specialized knowledge in a particular subject It's great that you know what you're talking about. How long did it take you to fully grasp and implement these ideas? Right... so I'm here trying to follow your explanation. Not having had the same experiences. What's my point of reference? What do you and I, or what does your general audience and you have in common? Almost anyone can picture and even draw a wave. Okay, that's a start. Just about everyone who's been through high school has seen a cartesian plane. Great, so now we're cooking. Can you describe sound using a wave on a cartesian plane? Can you tell me how frequency works? Can you tell me as a math formula? Now can you explain how the computer interprets the data generated from the microphone? Is it simple pulses that are turned into digital information? Time + frequency = ? Pict vs note vs tone? Are there classes you want to point out that handle audio in Unity? What elements make up this formula? Instead of clarifying what you're doing you're just mentioning parts. But someone who doesn't understand the overall way this works, or someone who doesn't have a point of reference, doesn't know how to put all this together to get the results they want. Can you please change your approach?
Simple and intuitive, thank you so freaking much. I have been spending two days trying to find a good solution for FFT graphing audio data.
Dude, you might not get this a lot... but you Sir are a FUCKING GENIUS... Thank you very much for making this code open source... you just saved my entire semester...
Very nice!! Can't wait to check it out!
Awsome! Taking multiple mic inputs for a 3rd year project at uni so this is very helpful!
Nice project Scott. Really cool stuff!
WOW ...Thank YOU for sharing this with everybody :)
Woo Fantastic, thank you for this. This is very cool and so interesting.
Pretty neat. Awesome applications possibilities
you are a genius bring some bread, wine and women to this MAN
does anyone has the source program from this video? i need it urgently. Thank you for response
Well done Scott. I like the ScottPlot. You could also make a ScottBot. ...because it rhymes.
Hi Mr.Harden, I cannot find the project you shared on Github, did it's be removed?
Thanks, a Nice project I like ScottPlot, Just replacing the WinForms chart now.
Outstanding project and good explanation! I'm wondering if you've worked with WasapiLoopbackCapture though. I can't find any way to change its buffer size, do you know if that's possible?
Would it be possible to implement this in a Unity project to get the microphone input to play through an AudioSource? What's the absolute simplest way that could be done?
I want to know this too!
Thanks! Nice topic, well explained.
Great video.. very nice job..
great project thank you
What if I want to use the audio output instead of the audio input?
Take a 3.5mm male-male cable and plug your output into your input.
@@MS1337 haha, or look into wasapi, it's window's audio API and it allows you to get samples from whatever is playing on your speakers.
Hi Sir!, how to show the Plot on the Screen use ScottPlot? (not save namepicture.png)
i cant find the project in github ? link does not work
Just for you to know, I'm going to base my EEG sleep monitor on this project ;)
Instead of soundcard I'm feeding it data from embedded device via USB. Your code is going places man ;p
However I find lack of configurability in scottplot a little frustrating tbh.
Great work, thank You very much :)
i'm not able to make graph,can anyone help me with the steps to make it?
I have a question about the FFT function. When I pass a simple sine or square wave through it, if I decrease the amplitude of the wave, the array I am getting back has the correct frequencies, but the intensities do not change. For my project however I need to preserve the intensities at different levels. Do you know why this might be happening?
Also I have one topic for u sir ...can I tell sir ??
What would I have to do to create an app that captures the sound from a cell phone mic?
Xamarin
Hi, Scott, according to your code, you are using interval of 10mS *_this.timer1.Interval = 10;_* and the *_wi.BufferMilliseconds_* is 46, maybe you are showing two times APROX the same "screenshoot"?
I want to understand the code, because I don't know C#.
WaveIn *wi* is constantly reading from microphone and the bytes (of sample) are placed in the buffer *bwp* .
With this sentence *_bwp.Read(frames, 0, frameSize);_* from *timer1* put the samples in arrays. Is like producer consumer problem?
th-cam.com/video/qUlCImYOC8c/w-d-xo.html is a better example which may answer your question
can this tell the difference between left and right audio? can it take headphone, 5.1, 7.x input in separate channels or is it just mono?
Hey im very new to FFT and audio processing programatically. I am trying to get a pitch of a sine wave real time, but I have no idea how FFTs work and I have no idea which FFT to use. For example, if I try to use an FFT from the spectogram (you made), there are 133 different FFTs and i have no idea which one to use. Its all very confusing. Please point me to a good example. Thank you for your work :)
I just added a link to the bottom of the description called "Graphing FFT Audio Data Notes". I hope you find it useful! It outlines how to use NAudio to calculate FFT.
FWIW I'm also working on a website (Google csharpdatavis) that will include a video walkthrough of how to do exactly this from start to finish. It might be a few more months before I finish it, but it'll get uploaded to TH-cam eventually!
@@swharden Hia! My project im working on is now working. Basically my project using audio signals to transmit on a lower power radio sine waves. Each tone corresponding to a char. The message is encrypted and the tones played are the encrypted string chars. A listener client will then clean up the received data and decrypt it back into its original form. So far it works exceptionally well, even with radio noise. Thank you :)
Hi sir I have a question, How to convert the Ys2 to dB? Or is this already in dB? Thanks
Prabowo Hadi P
dB = 20 * log10(amplitude)
I have seen the error of "Could not record from audio device!
" how can I fix this ?
I have a mac notebook
hello Scott can you Upload all tutorials about this project i couldn't find it
hey scott it gives me this error how can i solve NAudio.MmException:BadDeviceld calling WaveInOpen
how to get scottplotuc
Nice!! How to modify so that the received signal is from the audio input of the audioboard instead of the microphone?
Laura Farias change the default recording device (by right-clicking the speaker icon by the clock in windows). You can set it to be a microphone, or any other drive hooked up to your computer
Cool project!
I'm only cared about Microphone input real time frequency. Any suggestions?
webaudiodemos.appspot.com/pitchdetect/
hey scott it gives me this error how can i solve NAudio.MmException:BadDeviceld calling WaveInOpen
bini biru make sure you have a microphone plugged in and enabled in the windows sound manager
@@swharden ok but i can`t use earphone ?
@@swharden i used micro phone but still not working
how did you make the user interface so smooth with the drag controls
Thanks sir for replying...
Can waveviewer of NAudio be use instead of the ScottPlot API for displaying the graph? Thank you
nice question without an answer. I am currious too because the Usercontrol is not working.
Is there a working solution for Xamarin Forms Application ? I am in urgent need.
I don't think so. System.Drawing.Common doesn't support Xamarin Forms (yet?) and I'm not sure about NAudio
Hellow Scott I'am new programming with c# and visual studio, I have some questions about, Can you say me how add reference with the ScottPlot?, I'am trying but I Can't. I hope you can answer the cuestion please. Other question, is this only to the VS 17?. if work with VS15 will this work?
Thank for your time, an thank´s for make this.
Is it possible to develop realtime noise "cancellation" software. I know fully cancellation but we can get close to cancel.
Yes
th-cam.com/video/KHsXA_LE3e4/w-d-xo.html
+Scott thanks for the quick reply but i also want to know how can i develop one (i know C/C++ java and python). from where should i get start with it. I also have some knowledge about speech processing and also made a vowel recolonization program, where i used wrote function for noise removal, but that wasn't realtime, that was taking data from text file of audio sample. How can i make the same so other people while i am using mic would hear no/lesss noise while voice chatting.
Would a technique like this help? th-cam.com/video/rgvOIeyhXxo/w-d-xo.html
Hey Scott Can You upload Full Tutorial on this how to make it
Just download the GitHub project! The link is in the description. Open it up, hit F5, and it runs.
Thank You Very Much Sir
nice video, How to show frequency and dB in scottplotUC2?
What is shown here is RMS spectral power. Show 20*Log10(power) to yield power in dB units
hi scott, i just want to ask what type of microphone did you use for the sensor? and what type of communication wire from the microphone to computer? it's XLR to USB or what? hope u answer my question please.. 👍
LUCKY CREATE it’s just a plain old headset with a 1/8” stereo connector plugged into the microphone hole of my PC sound card
What is added ScottPlot ?
Thank you very much. ^^
I don't understand your question. However, all code is available on the github (link in description)
I download project "Csharp-Data-Visualization" and open project "17-07-16_microphone" on Visual but (References>ScottPlot Error) and ScottPlot(load failed) .
(I speak a little English. I want to send you a picture. Please ask for your email.)
Thank you very much.
ScottPlot is in ScottPlot.zip in the download folder. Extract it, and it should work.
I succeeded.✌✌✌
I add Reference>> projects>> solution>> ScottPlot .
Thank you very much.
Hi bro, i trying add this ScottPlot, but i dont have a sucess , u can help me to find the file??
can I show my python code. It has noise in low friquency
Sir very nice video ..
Please make a video on real time ECG with LabVIEW..or any other ......real time ...with the help of node MCU esp8226... I hope u will make it..
I plan to do exactly this, and I'll upload the video probably within the next few weeks!
Sir are u doing with LabVIEW ??
C#. You will be able to double-click "something.exe" and this project will run. Free software.
Hay Scott, How do I find this in GitHub?
Source code link in description
Nice. Thank.
Fourier Transform Equation Explained
So, it's simple... but don't ask simple questions.
It's vague, it's not complete... OMG, shoot me now.
And the github link doesn't work... 404.
Good job!
Thank u bro ++++++
có thể gửi giúp tôi file này qua gmail được không? tôi rất cảm ơn gmail: boyfantis@gmail.com
Can you please explain the concepts in *layman terms?
*a person without professional or specialized knowledge in a particular subject
It's great that you know what you're talking about.
How long did it take you to fully grasp and implement these ideas?
Right...
so I'm here trying to follow your explanation. Not having had the same experiences.
What's my point of reference?
What do you and I, or what does your general audience and you have in common?
Almost anyone can picture and even draw a wave.
Okay, that's a start.
Just about everyone who's been through high school has seen a cartesian plane.
Great, so now we're cooking.
Can you describe sound using a wave on a cartesian plane?
Can you tell me how frequency works?
Can you tell me as a math formula?
Now can you explain how the computer interprets the data generated from the microphone?
Is it simple pulses that are turned into digital information?
Time + frequency = ?
Pict vs note vs tone?
Are there classes you want to point out that handle audio in Unity?
What elements make up this formula?
Instead of clarifying what you're doing you're just mentioning parts.
But someone who doesn't understand the overall way this works, or someone who doesn't have a point of reference,
doesn't know how to put all this together to get the results they want.
Can you please change your approach?
zoomers really use math pow to raise 2 to some power instead of shifting