The speaker is demonstrating a project they've been working on, which involves capturing microphone audio data in real time and graphing it in an interactive window. The graph displays both time and frequency, with the top axis representing time and the bottom axis representing frequency in kilohertz. The speaker also mentions that the project is being developed using C# and Visual Studio 2017 Community, which are free software.
The speaker explains that the graph is a user control they've created, called Scott plot. They mention that the code is open source and will be available on GitHub. The speaker also discusses the sample rate for the audio card and the buffer size, which must be a multiple of 2. They explain that the buffer size is not the maximum size of the audio buffer, but rather the size of the chunk that will be analyzed with the Fast Fourier Transform (FFT).
The speaker mentions that the code attaches to a sound card, starts a sound buffer, and continuously adds data to the buffer as it becomes available. They also mention a timer that goes off every ten milliseconds and calls a function to check if the buffer is filled up. The function temporarily turns off the timer while it does the math and graphing, then turns it back on at the end.
The speaker also talks about pulling PCM values from the buffer, which are 16-bit resolutions. They explain that for every two bytes, there is one data point. The speaker then mentions that the code gets a high byte in the low byte, combines them with an 8-bit shift, and then makes an array of doubles.
The speaker concludes by mentioning that the code is not intended to be a complete finished project, but rather a starting point for a project. They emphasize that the code is intentionally simple and not complex, and they encourage anyone to modify it as necessary for their needs. They also provide their email address for any questions.
1. The project involves capturing microphone audio data in real time.
2. The audio data is graphed in an interactive window, with frequency displayed.
3. The Fast Fourier Transform (FFT) is used to analyze the audio data.
4. The FFT displays time on the horizontal axis and frequency on the vertical axis.
5. The frequency is displayed in kilohertz.
6. The software used for this project is C# and Visual Studio 2017 Community Edition.
7. The software is open source and available on Github.
8. The graph is a user control created for this project, called Scott plot.
9. The software attaches to the sound card and pulls the audio data.
10. The audio data is analyzed with the FFT, which requires powers of 2.
11. The FFT gives different frequency resolutions depending on the size of the FFT.
12. The software is designed to be a starting point for a project, not a complete finished product.
13. The software is intentionally simple and not complex.
14. The software is designed to be modified as necessary for individual needs.
15. The software is available for free, but there might be some GPL issues.
16. The software is designed to be run on a system, and the code is posted on Github.
17. The software is designed to be run on a system, and the code is posted on Github.
18. The software is designed to be run on a system, and the code is posted on Github.
19. The software is designed to be run on a system, and the code is posted on Github.
20. The software is designed to be run on a system, and the code is posted on Github.
21. The software is designed to be run on a system, and the code is posted on Github.
22. The software is designed to be run on a system, and the code is posted on Github.
23. The software is designed to be run on a system, and the code is posted on Github.
24. The software is designed to be run on a system, and the code is posted on Github.
25. The software is designed to be run on a system, and the code is posted on Github.
26. The software is designed to be run on a system, and the code is posted on Github.
27. The software is designed to be run on a system, and the code is posted on Github.
28. The software is designed to be run on a system, and the code is posted on Github.
29. The software is designed to be run on a system, and the code is posted on Github.
30. The software is designed to be run on a system, and the code is posted on Github.
31. The software is designed to be run on a system, and the code is posted on Github.
32. The software is designed to be run on a system, and the code is posted on Github.
33. The software is designed to be run on a system, and the code is posted on Github.
34. The software is designed to be run on a system, and the code is posted on Github.
35. The software is designed to be run on a system, and the code is posted on Github.
36. The software is designed to be run on a system, and the code is posted on Github.
37. The software is designed to be run on a system, and the code is posted on Github.
38. The software is designed to be run on a system, and the code is posted on Github.
39. The software is designed to be run on a system, and the code is posted on Github.
40. The software is designed to be run on a system, and the code is posted on Github.
41. The software is designed to be run on a system, and the code is posted on Github.
42. The software is designed to be run on a system, and the code is posted on Github.
43. The software is designed to be run on a system, and the code is posted on Github.
44. The software is designed to be run on a system, and the code is posted on Github.
45. The software is designed to be run on a system, and the code is posted on Github.
46. The software is designed to be run on a system, and the code is posted on Github.
47. The