I`m developing an application to record sound in VC++ for PPC 2003 (ipaq 5550). I start from your example (full-duplex), but i put the syncs procedure (to change the frequency of playback sample in a thread). When I record sound I listen an echo effect the last part of recorded sound is reproduced 2 or tree time, if input level is high echo effect is more perceptible. My recording procedure copy from one loop buffer (5 seconds) to another buffer ( 60 second) using lock and unlock buffer, and after save the second buffer to file.
I try different microphone and to change gain level in windows setting, this change the amount of echo effect but it is always present.
the main settings of my application are:
FSOUND_Init(RECORDRATE, 32, FSOUND_INIT_ACCURATEVULEVELS)
FSOUND_Sample_Alloc(FSOUND_FREE, RECORDLEN, FSOUND_MONO | FSOUND_16BITS , RECORDRATE, 255, 128, 255)
#define RECORD_BUFFER 200 #define RECORD_DELAY_MS 25 // Increase this value if the sound sounds corrupted or the time between recording and hearing the result is longer than it should be.. 25 #define RECORD_DELAY_SAMPLES (RECORDRATE * RECORD_DELAY_MS / 1000) #define RECORDRATE 44100 #define RECORDLEN (RECORDRATE * 10) /* seconds at RECORDRATE khz */ #define RECORDLENSAVE (RECORDRATE * 60) #define RECORDSYNCRO 1000 // default 1000
- gianluca asked 12 years ago
- You must login to post comments