Monday, October 19, 2009

Note Detector


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.

Sunday, October 11, 2009

Music Library


Music library is a CDDB-enabled comprehensive music database manager designed for MP3 and record collectors. It lets you catalog any music files or media such as MP3s, WAVs, OGGs, WMAs,APE,FLAC, audio CD's, vinyl's and cassettes etc. with a MS Access database. You can use it to lookup ID3 tag information/lyrics for MP3's or download detailed CD information from CDDB. For MP3 users, the "Tag/Filename Editor" lets you batch rename files using tags or write tags using filenames. It supports all windows standard file operations, such as copy, move, delete files/folders. It can even create folders and move files base on a template and ID3 tags. For record collectors, you can use it to keep track of your collections, besides the information retrieved from CDDB, you can also add personal notes, loan status, insurance, location, cost, and more. Music Library provides an easy to use Explorer-style interface, it allows you to group, sort and view entries by artist, composer, album, genre, location and year. Other features include SQL support, a standalone CD player that can automatically display detail track information, lyrics and cover arts, lyrics database manager, import/export/compare database, powerful search functions, professional style report creator, MP3-Audio CD composer, cover art viewer and Winamp front end control.