Project Detail

Microphone Input Monitoring Delays Problem  

Microphone Input Monitoring Delays Problem is project number 276131
posted at Freelancer.com. Click here to post your own project.

 

| More Free Trial For New Buyers
 

Status:

Selected Providers: manikm

Budget: $250-750

Created: 06/18/2008 at 9:26 EDT

Bid Count: 6

Average Bid:
$ 625

06/21/2008 at 9:26 EDT

Project Creator: ejoewright
Employer Rating: 10/1010/1010/1010/1010/1010/1010/1010/1010/1010/10 (8 reviews)

Bid On This Project
 

Description

I am experiencing a problem with a project that monitors the microphone input. In this project the reaction time to the sound input is critical. The base for the code came from a project found on Code Project web site "Sound Activated Recorder with Spectrogram in C#" (http://www.codeproject.com/KB/audio-video/SoundCatcher.aspx). The original C# waveIn API wrapper was written by Ianier Munoz. "A full-duplex audio player in C# using the waveIn/waveOut APIs" (http://www.codeproject.com/KB/audio-video/cswavrec.aspx).

The problem with both the example project and my code is that "delays" are creeping into the application when systems experience demand overload. On faster computers this is not a problem and the delays do not appear, but for slower systems this is a problem.

If you look into the code, changing the num of buffers used does not seem to affect the delays once they are introduced. I am using a small buffer size to acheive a small delay time.

Public Const m_BUFFER_SIZE As Integer = 256
Public Const m_SAMPLING_RATE_HZ As Single = 44100 / 8

If the recorder is stopped and then started, the delays dissappear, but automating this is not an option for several reasons including the fact that there can not be any pauses in the monitoring of the signal.

This application needs to always read the most current data available from the sound card (i.e. If more than one frame exists to be processed, drop the older frame(s) and process the most recent).

This is a strange delay error. I have been trying to understand it for a while. The delays remain in the microphone input (waveIn) signal even if the system is stressed monentarily and then has time to recover. The test for delays I usually use an older computer, start the sound catcher program, then start a virus scan. If the system is stressed enough delays appear, and they do not disappear when the stress on the system is removed (i.e.scan is stopped). After the delays have been introduced you should be able to tap the microphone and observe the delayed response from the software.

The amount of delay typically experienced (around 900ms) can not be explained by the num of buffers used (3) and the length of each buffer (approx. 46 ms : 3*46 ms = 138 ms max data stored in buffers).

I am not sure where this extra delay data is being buffered or how to detect if the signal being monitored is delayed. This understanding is at the heart of this project. Again, starting and stopping a recorder (freeing buffers and re-allocating them) removes the delays until they are introduced again but I cannot even tell when the delays are present!

The deliverable will be a VS 2005 project with a VB.Net GUI (multiple projects in other languages in a single solution ok) that implements a version of the Sound Catcher program that handles system overload well and is immune to delays once the system is not stressed (recovers nicely). I understand that delays are unavoidable some times at peak stress levels but the deilvirable needs to always be delay free if the systen is not stressed. Display smoothness and minimum use of system resources are desired to accomplish the smooth handling of system overloads.

Before bidding on this project please download and run the code listed above and confirm that you have the necessary (slow) hardware to experience the problems described here. Make sure you are positive you have a solution as well. After accepting the project I am looking for someone who can finish it in one weeks time. Thanks for bidding!

Messages Posted:0 View project clarification board Post message on project clarification board

Bid On This Project
 

If you are the project creator or one of the bidders Log In for more options

 

750

15 days

06-18-2008 21:48 EDT

I will rewrite it to use directsound. no more dll, just directsound implementation. This is the best way to do it. The reason of my budget time is because i have too much work. so i could do it in 15 days

help

 

650

6 days

06-19-2008 18:23 EDT

please check out the PM.

help

 

500

0 days

06-18-2008 10:13 EDT

Combine this unsafe method (this is not directly access to memory, but unmanaged code technique for increasing speed of process) with multi-thread method (using Invoke or BeginInvoke method),so it will be quick process although on slower machine.

help

 

450

5 days

06-18-2008 13:47 EDT

Hello, I have gone through your requirements and I am very much interested to working with you. I am sure about your project to be fulfilled keeping your desires satisfactorily and quickly. we are ready to start anytime. Waiting for your reply. Please see PMB. Thank you.

help

 

700

25 days

06-19-2008 04:07 EDT

(No Feedback Yet)

We want to execute your assignment and assure you complete satisfaction. We have the required technical and managerial expertise to execute and deliver the work. Please check PMB.

help

 

700

25 days

06-19-2008 11:00 EDT

(No Feedback Yet)

We are team of experts in webtechnologies like PHP,.NET. All we have more than 3 years of experience in PHP and 5 years of experience in .NET. In our team two are ZEND certified PHP professional

help


    Bid on this Project