Knistern nach Aufzeichnung von Mikrofon



  • Hi an alle,

    ich zeichne Sprache vom Mikrofon auf.
    Diese wird in einem Ringbuffer festgehalten.
    Ab einer bestimmten Größe wird ein Teilbuffer an
    eine Methode weitergeleitet.
    Dort wird da ganze runtergesampelt von 16000 auf 8000hz.
    Vorher läuft ein FIR Filter darüber.

    Das ganze wird dann uLaw encodiert und via
    RTP an ein IP Telephone gesendet.

    Die Ausgabe am Telefon beinhaltet aber ein sehr störendes Knistern.
    Der FIR Filter scheint in Ordnung zu sein.

    Könnte es am Buffer oder am Offset liegen?
    Hier mal der Code, der das ganze an die o.g. Methode weiterleitet.

    void CDX9Capture::on_Notification()
    {
        DWORD capturePos, readPos;
        m_captureBuffer->GetCurrentPosition(&capturePos, &readPos);
        DWORD diff;
        readPos >= m_NextOffset ?
            diff = readPos - m_NextOffset :
            diff = readPos + m_BufferSize - m_NextOffset;
    
        if(diff < m_NotifySize) return;
    
        //Lock the capture Buffer
        VOID* lockedBufferPointer = NULL;
        DWORD lockedBufferSize;
    
        m_captureBuffer->Lock(m_NextOffset, m_NotifySize, &lockedBufferPointer, &lockedBufferSize, NULL, NULL, 0L);
    
        //Put data to Output Sink
    
        const int SIZE = lockedBufferSize/2;
        //Hier wird der Teilbuffer zur Weiterbearbeitung bereitgemacht.
        pSink->on_NewAudioDataCaptured((short*)lockedBufferPointer, lockedBufferSize);
    
        //Unlock the capture Buffer
        m_captureBuffer->Unlock(lockedBufferPointer, lockedBufferSize, NULL, 0);
    
        //Move the capture offset along
        m_NextOffset += lockedBufferSize;
        m_NextOffset %= m_BufferSize;
    }
    

    Ich weiß ansonsten nicht mehr woher das Knistern kommt.



  • Wie "höhrt" sich das Knistern an? Schom mal eine Spektralanalyse gemacht?
    Wie sieht es auf schaltungstechnischer Seite aus?? Welche Grenzfrequenz hat der FIR?
    Soll heißen: Ohne weitere Informationen kann man da nur schwer etwas dazu sagen.


Anmelden zum Antworten