Realtime Microphone Audio FFT Graph with C#

แชร์
ฝัง
  • เผยแพร่เมื่อ 29 ธ.ค. 2024

ความคิดเห็น •

  • @riekumar6999
    @riekumar6999 7 ปีที่แล้ว +8

    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.

  • @erikvdmerwe6908
    @erikvdmerwe6908 4 ปีที่แล้ว +1

    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...

  • @thefront5871
    @thefront5871 2 ปีที่แล้ว

    Very nice!! Can't wait to check it out!

  • @Protocat
    @Protocat 7 ปีที่แล้ว +1

    Awsome! Taking multiple mic inputs for a 3rd year project at uni so this is very helpful!

  • @TrevorVonSeggern
    @TrevorVonSeggern 6 ปีที่แล้ว

    Nice project Scott. Really cool stuff!

  • @laureven
    @laureven 5 ปีที่แล้ว +1

    WOW ...Thank YOU for sharing this with everybody :)

  • @aarongarcia5458
    @aarongarcia5458 7 ปีที่แล้ว

    Woo Fantastic, thank you for this. This is very cool and so interesting.

  • @TonyFDiego
    @TonyFDiego 6 ปีที่แล้ว

    Pretty neat. Awesome applications possibilities

  • @Ben-oni442
    @Ben-oni442 10 หลายเดือนก่อน

    you are a genius bring some bread, wine and women to this MAN

  • @farhanr.walidina3074
    @farhanr.walidina3074 2 ปีที่แล้ว +1

    does anyone has the source program from this video? i need it urgently. Thank you for response

  • @jeffbeck6501
    @jeffbeck6501 5 ปีที่แล้ว

    Well done Scott. I like the ScottPlot. You could also make a ScottBot. ...because it rhymes.

  • @use_FongSha
    @use_FongSha 2 ปีที่แล้ว +1

    Hi Mr.Harden, I cannot find the project you shared on Github, did it's be removed?

  • @johnsonisreal4530
    @johnsonisreal4530 3 ปีที่แล้ว

    Thanks, a Nice project I like ScottPlot, Just replacing the WinForms chart now.

  • @exlpt2234
    @exlpt2234 8 หลายเดือนก่อน

    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?

  • @eschewary367
    @eschewary367 2 ปีที่แล้ว +1

    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?

    • @aspenbucky
      @aspenbucky 2 ปีที่แล้ว +1

      I want to know this too!

  • @toerti9589
    @toerti9589 5 ปีที่แล้ว

    Thanks! Nice topic, well explained.

  • @amirshahbazi2703
    @amirshahbazi2703 5 ปีที่แล้ว

    Great video.. very nice job..

  • @naderhany3639
    @naderhany3639 2 ปีที่แล้ว

    great project thank you

  • @edmobe2000
    @edmobe2000 6 ปีที่แล้ว +3

    What if I want to use the audio output instead of the audio input?

    • @MS1337
      @MS1337 5 ปีที่แล้ว

      Take a 3.5mm male-male cable and plug your output into your input.

    • @TylerTimoJ
      @TylerTimoJ 5 ปีที่แล้ว

      @@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.

  • @dungnguyenthanh6390
    @dungnguyenthanh6390 4 ปีที่แล้ว

    Hi Sir!, how to show the Plot on the Screen use ScottPlot? (not save namepicture.png)

  • @salimhamouda3483
    @salimhamouda3483 2 ปีที่แล้ว

    i cant find the project in github ? link does not work

  • @AxelPLasg
    @AxelPLasg 7 ปีที่แล้ว

    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 :)

  • @datachronicless
    @datachronicless 5 ปีที่แล้ว

    i'm not able to make graph,can anyone help me with the steps to make it?

  • @Protocat
    @Protocat 7 ปีที่แล้ว

    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?

  • @themonkeyminds7252
    @themonkeyminds7252 7 ปีที่แล้ว +1

    Also I have one topic for u sir ...can I tell sir ??

  • @ceticosp
    @ceticosp 6 ปีที่แล้ว +1

    What would I have to do to create an app that captures the sound from a cell phone mic?

  • @joseluisbz
    @joseluisbz 6 ปีที่แล้ว

    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?

    • @swharden
      @swharden  6 ปีที่แล้ว

      th-cam.com/video/qUlCImYOC8c/w-d-xo.html is a better example which may answer your question

  • @neonsloth
    @neonsloth 6 ปีที่แล้ว

    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?

  • @Leon-Jordan
    @Leon-Jordan 4 ปีที่แล้ว

    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 :)

    • @swharden
      @swharden  4 ปีที่แล้ว

      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!

    • @Leon-Jordan
      @Leon-Jordan 4 ปีที่แล้ว

      @@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 :)

  • @prabowohadip6922
    @prabowohadip6922 6 ปีที่แล้ว +1

    Hi sir I have a question, How to convert the Ys2 to dB? Or is this already in dB? Thanks

    • @swharden
      @swharden  6 ปีที่แล้ว +1

      Prabowo Hadi P
      dB = 20 * log10(amplitude)

  • @canakgol2180
    @canakgol2180 6 ปีที่แล้ว

    I have seen the error of "Could not record from audio device!

    " how can I fix this ?

    • @canakgol2180
      @canakgol2180 6 ปีที่แล้ว

      I have a mac notebook

  • @binibiru5804
    @binibiru5804 5 ปีที่แล้ว

    hello Scott can you Upload all tutorials about this project i couldn't find it

    • @binibiru5804
      @binibiru5804 5 ปีที่แล้ว

      hey scott it gives me this error how can i solve NAudio.MmException:BadDeviceld calling WaveInOpen

  • @anupnadagouda8240
    @anupnadagouda8240 2 ปีที่แล้ว

    how to get scottplotuc

  • @laurafarias2329
    @laurafarias2329 7 ปีที่แล้ว

    Nice!! How to modify so that the received signal is from the audio input of the audioboard instead of the microphone?

    • @swharden
      @swharden  7 ปีที่แล้ว

      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

  • @GSR600Relaxed
    @GSR600Relaxed 7 ปีที่แล้ว

    Cool project!

  • @azabanful
    @azabanful 6 ปีที่แล้ว

    I'm only cared about Microphone input real time frequency. Any suggestions?

    • @swharden
      @swharden  6 ปีที่แล้ว

      webaudiodemos.appspot.com/pitchdetect/

  • @binibiru5804
    @binibiru5804 5 ปีที่แล้ว

    hey scott it gives me this error how can i solve NAudio.MmException:BadDeviceld calling WaveInOpen

    • @swharden
      @swharden  5 ปีที่แล้ว

      bini biru make sure you have a microphone plugged in and enabled in the windows sound manager

    • @binibiru5804
      @binibiru5804 5 ปีที่แล้ว

      @@swharden ok but i can`t use earphone ?

    • @binibiru5804
      @binibiru5804 5 ปีที่แล้ว

      @@swharden i used micro phone but still not working

  • @flueepwrien6587
    @flueepwrien6587 5 ปีที่แล้ว

    how did you make the user interface so smooth with the drag controls

  • @themonkeyminds7252
    @themonkeyminds7252 7 ปีที่แล้ว

    Thanks sir for replying...

  • @shielacabahug194
    @shielacabahug194 6 ปีที่แล้ว

    Can waveviewer of NAudio be use instead of the ScottPlot API for displaying the graph? Thank you

    • @drusttaib607
      @drusttaib607 5 ปีที่แล้ว

      nice question without an answer. I am currious too because the Usercontrol is not working.

  • @shwetaachakroborti5775
    @shwetaachakroborti5775 4 ปีที่แล้ว

    Is there a working solution for Xamarin Forms Application ? I am in urgent need.

    • @swharden
      @swharden  4 ปีที่แล้ว

      I don't think so. System.Drawing.Common doesn't support Xamarin Forms (yet?) and I'm not sure about NAudio

  • @aarongarcia5458
    @aarongarcia5458 7 ปีที่แล้ว +1

    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.

  • @shashankgarewal
    @shashankgarewal 6 ปีที่แล้ว

    Is it possible to develop realtime noise "cancellation" software. I know fully cancellation but we can get close to cancel.

    • @swharden
      @swharden  6 ปีที่แล้ว

      Yes

    • @swharden
      @swharden  6 ปีที่แล้ว

      th-cam.com/video/KHsXA_LE3e4/w-d-xo.html

    • @shashankgarewal
      @shashankgarewal 6 ปีที่แล้ว

      +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.

    • @swharden
      @swharden  6 ปีที่แล้ว

      Would a technique like this help? th-cam.com/video/rgvOIeyhXxo/w-d-xo.html

  • @milinddabhade5280
    @milinddabhade5280 6 ปีที่แล้ว

    Hey Scott Can You upload Full Tutorial on this how to make it

    • @swharden
      @swharden  6 ปีที่แล้ว

      Just download the GitHub project! The link is in the description. Open it up, hit F5, and it runs.

    • @milinddabhade5280
      @milinddabhade5280 6 ปีที่แล้ว

      Thank You Very Much Sir

  • @locnhumai1314
    @locnhumai1314 4 ปีที่แล้ว

    nice video, How to show frequency and dB in scottplotUC2?

    • @swharden
      @swharden  4 ปีที่แล้ว

      What is shown here is RMS spectral power. Show 20*Log10(power) to yield power in dB units

  • @luckycreate8901
    @luckycreate8901 5 ปีที่แล้ว

    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.. 👍

    • @swharden
      @swharden  5 ปีที่แล้ว

      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

  • @MeehaiChannel
    @MeehaiChannel 7 ปีที่แล้ว

    What is added ScottPlot ?
    Thank you very much. ^^

    • @swharden
      @swharden  7 ปีที่แล้ว +1

      I don't understand your question. However, all code is available on the github (link in description)

    • @MeehaiChannel
      @MeehaiChannel 7 ปีที่แล้ว

      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.

    • @swharden
      @swharden  7 ปีที่แล้ว +1

      ScottPlot is in ScottPlot.zip in the download folder. Extract it, and it should work.

    • @MeehaiChannel
      @MeehaiChannel 7 ปีที่แล้ว

      I succeeded.✌✌✌
      I add Reference>> projects>> solution>> ScottPlot .
      Thank you very much.

    • @pipocket
      @pipocket 7 ปีที่แล้ว

      Hi bro, i trying add this ScottPlot, but i dont have a sucess , u can help me to find the file??

  • @DontMansion
    @DontMansion 5 ปีที่แล้ว

    can I show my python code. It has noise in low friquency

  • @themonkeyminds7252
    @themonkeyminds7252 7 ปีที่แล้ว

    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..

    • @swharden
      @swharden  7 ปีที่แล้ว

      I plan to do exactly this, and I'll upload the video probably within the next few weeks!

  • @themonkeyminds7252
    @themonkeyminds7252 7 ปีที่แล้ว

    Sir are u doing with LabVIEW ??

    • @swharden
      @swharden  7 ปีที่แล้ว

      C#. You will be able to double-click "something.exe" and this project will run. Free software.

  • @rbushlow
    @rbushlow 4 ปีที่แล้ว

    Hay Scott, How do I find this in GitHub?

    • @swharden
      @swharden  4 ปีที่แล้ว +1

      Source code link in description

  • @phisitja01
    @phisitja01 4 ปีที่แล้ว

    Nice. Thank.

  • @technofeeliak
    @technofeeliak 2 ปีที่แล้ว

    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!

  • @matimekonen7430
    @matimekonen7430 7 ปีที่แล้ว

    Thank u bro ++++++

  • @soulshine3294
    @soulshine3294 3 ปีที่แล้ว

    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

  • @technofeeliak
    @technofeeliak 2 ปีที่แล้ว

    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?

  • @energy-tunes
    @energy-tunes 7 หลายเดือนก่อน

    zoomers really use math pow to raise 2 to some power instead of shifting