From c741f6ce7bb43b115d08e190b93e0ce090ae3475 Mon Sep 17 00:00:00 2001 From: John Glover Date: Thu, 4 Nov 2010 14:50:08 +0000 Subject: Fixed a couple of SMSPeakDetection bugs and updated the unit tests --- sms/soundIO.c | 39 +++++++++++++++++++-------------------- 1 file changed, 19 insertions(+), 20 deletions(-) (limited to 'sms/soundIO.c') diff --git a/sms/soundIO.c b/sms/soundIO.c index 32f5c1d..1de75d6 100644 --- a/sms/soundIO.c +++ b/sms/soundIO.c @@ -28,31 +28,30 @@ const char *pChResidualFile = "residual.aiff"; /*! \brief fill the sound buffer * - * \param sizeWaveform size of input data - * \param pWaveform input data - * \param pAnalParams pointer to structure of analysis parameters + * \param sizeWaveform size of input data + * \param pWaveform input data + * \param pAnalParams pointer to structure of analysis parameters */ -void sms_fillSoundBuffer (int sizeWaveform, sfloat *pWaveform, SMS_AnalParams *pAnalParams) +void sms_fillSoundBuffer(int sizeWaveform, sfloat *pWaveform, SMS_AnalParams *pAnalParams) { - int i; - long sizeNewData = (long) sizeWaveform; + int i; + long sizeNewData = (long)sizeWaveform; - /* leave space for new data */ - memcpy(pAnalParams->soundBuffer.pFBuffer, pAnalParams->soundBuffer.pFBuffer+sizeNewData, + /* leave space for new data */ + memcpy(pAnalParams->soundBuffer.pFBuffer, pAnalParams->soundBuffer.pFBuffer+sizeNewData, sizeof(sfloat) * (pAnalParams->soundBuffer.sizeBuffer - sizeNewData)); - pAnalParams->soundBuffer.iFirstGood = - MAX(0, pAnalParams->soundBuffer.iFirstGood - sizeNewData); - pAnalParams->soundBuffer.iMarker += sizeNewData; + pAnalParams->soundBuffer.iFirstGood = MAX(0, pAnalParams->soundBuffer.iFirstGood - sizeNewData); + pAnalParams->soundBuffer.iMarker += sizeNewData; - /* put the new data in, and do some pre-emphasis */ - if (pAnalParams->iAnalysisDirection == SMS_DIR_REV) - for (i=0; isoundBuffer.pFBuffer[pAnalParams->soundBuffer.sizeBuffer - sizeNewData + i] = - sms_preEmphasis(pWaveform[sizeNewData - (1+ i)], pAnalParams); - else - for (i=0; isoundBuffer.pFBuffer[pAnalParams->soundBuffer.sizeBuffer - sizeNewData + i] = - sms_preEmphasis(pWaveform[i], pAnalParams); + /* put the new data in, and do some pre-emphasis */ + if (pAnalParams->iAnalysisDirection == SMS_DIR_REV) + for (i=0; isoundBuffer.pFBuffer[pAnalParams->soundBuffer.sizeBuffer - sizeNewData + i] = + sms_preEmphasis(pWaveform[sizeNewData - (1+ i)], pAnalParams); + else + for (i=0; isoundBuffer.pFBuffer[pAnalParams->soundBuffer.sizeBuffer - sizeNewData + i] = + sms_preEmphasis(pWaveform[i], pAnalParams); } -- cgit v1.2.3