These two video's explain the maker faire better than mine. I really love my video but it offers no explanation of the faire. It's kind of like you had to be at the maker faire to appreciate my video. These offer explanation:
I am posting a new verison (220.127.116.11) of Note Detector today. New features include Midi Echo and recognition of higher pitched notes.
As you can see in this screen shot the layout has gotten bigger:
Midi Echo is a new feature that will send a Midi Note on command to a Midi output device when a note is detected. The midi note has a start delay because of processing time. Also of course if you are playing the Midi note in a way that can be picked up by your mic it's going to cause a feedback loop where the note keeps detecting itself.
Even though the staff will only display up to A# in the fifth octave it detects and displays the the letter note up to the tenth octave.
If you want more information on Note Detector you can look back and see the history of Note Detector.
Known bugs in this version:
- Help does not point to a Note Detector help page
- The sensitivity setting does not carry over if you stop and restart
I've been working on video game console programming for a while now, about 7 years. The entire life of the PS2 and now into the lifespan of the PS3. Working on consoles that long made me wonder what's going on with PC software. Every once in a while I like to experiment with the PC. Just to see what's up in the PC arena.
.NET is kind of all new to me. All the managed code and C# and Windows Forms. So I thought I'd play with it a bit and see what it's about. Turns out it's all very interesting.
I decided to explore both the musical and programming aspects of C# all at once. As a first project I built the Note Detector. It opens the sound card and if you have a mic it will tell you the musical note that it hears. It displays the note name C,D,E#,etc and it shows you the note's position on the staff.
Note Detector can be used as a guitar tuner or a singing voice pitch trainer. I use it as an educational device. I have a bamboo flute laying aroung the house and I always wondered what notes came out when I blew on it. I'm not musically inclined enough to determine that kind of stuff with my ear. With Note Detector I was able to map out where all the notes on the flute were and how hard to blow in order to get an A instead of an A#. Now I can play simple tunes.
Microsoft .NET development provides an automatic publishing solution. When you complete a project you can click publish and share it with the internet. If you are so inclined you can download Note Detector to use for yourself.
The project itself is a mixture of Native and Managed C++ code, some C# code and windows forms. The sound card is opened code and the Fast Fourier Transform (FFT) is done in native C++. Then encapsulated by some Managed C++ which is accessed from the windows forms interface using C#.
Working with native and managed code together is difficult sometimes because the debugger will not work with both at the same time. The call stack gets a bit wonky. But I found the coding of the user interface way easier in C# than things I have made in the past using MFC.