I have a relatively small Windows application that analyzes voice input and displays the results on the screen. It is basically a spectrograph program with some specialized features. Right now it consists of 6 source files that contain about 3000 total lines (including blanks and comments). There is one main window, ~10 popup windows, and a separate processing thread that handles realtime data. It interfaces to the audio functions via the "Wave in/out" functions. It displays the results via a bitmap that is updated in real time. It currently runs under XP and I don't know if it runs under Vista or 7.
There are two tasks for this project. You may bid on either one or both.
The first task is to rewrite the program in a more modern manner. Right now it is written in C (not C++) with each popup window being drawn via API calls rather than Visual Studio. It is painful to add new windows or to even change existing ones. It is likewise painful to add new buttons, options, etc.. The code was taken from another program and enhanced on an adhoc basis. I know there are much cleaner ways of developing Windows programs these days but I don't have the time to do it. I don't do a lot of Windows work these days and have not kept up on the latest development frameworks. Please discuss what tools you would use in this project and why. I would prefer C/C++ (not C#). It needs to handle realtime audio processing and so runtime execution speed is important. It needs to be easily extendable since I plan on adding more functions once it has been rewritten. This task should be relatively straightforward except for the real time display elements. When complete it should run on XP, Vista, and 7 (I don't care about 8). It should also include an installation script. This task should be doable by any reasonably skilled Windows application developer.
The second task is to fix/finish the audio processing routines and requires knowledge of audio signal processing functions like FFT, spectrographs, pitch detection/analysis, etc.. The routines "sort of work" right now but the results don't match that of other programs and I am sure there is something wrong. To figure what is wrong and fix it will require some specialized expertise. The first step is to get what I have working. After that, I have some additional functions that I would like to add but that will be a future project.
The work should not include any "open source" software. It should build under VC 2008 or later.
Hi there,
First of all, in case of C++ Microsoft hasn't invented anything beyond MFC, which is basically a wrapper around Win32 API which you mentioned. And there is no good GUI designer available for MFC. That's why many developers turn to Qt or wxWidgets, both of which are unfortunately open-source. I could try to wrap your program in neat architecture (maybe with MFC), but my primary perk is real time processing and I have considerable experience in digital signal processing.