0

I recorded an interview for transcription. For a reason I don't know there is a very annoying effect in the recording which I would like to get rid of: Every 0.5-second segment or so is recorded twice. It sounds like "Thi-thi-s-s is-is an-an ex-ex-ample-ample." I am not sure whether this is called an echo, it rather seems like an error in the recording software.

Is there a way to remove this effect? The result does not need to sound good, it should just be possible to understand what is being said.

Edit: Here is an excerpt of the recording. Maybe it helps to identify the problem.

  • Tough one :-/ I tried the offset trick - and it did get a tiny bit better, but still too difficult to hear really. – Michael Hansen Buur Sep 2 '15 at 21:06
1

Sounds like you might have experienced a monitoring feedback, either in the signal path because of the routing or in "real world" because you had some speaker playing the recording signal during recording.

There are some plugins that attempt to remove reverberation which may also work for you if the first original sound is louder than the delayed one:

However the delay may too loud for these plugins to work. To boost one peak you could try making a copy of the track and delay it a few ms (you need to zoom in closely and inspect the waveforms), so that the first peak is delayed to the exact location of the second repeating peak. This should create three peaks in all but the one in center should be double as loud.

This result may be enough for you as is. If it is not, it should be a better basis for the reverb removal plugins (you need to apply the plugin to a combined signal of the two tracks).

1

With the excerpt provided, it can be heard that it is not an echo problem but something else: it sounds like the audio is read by buffer and that each buffer is played twice, or maybe each buffer is dedicated to a different channel and they are all played mono.

So it is now a matter of removing each second buffer or splitting to stereo, which should not be so difficult with some simple signal processing using Octave or Matlab for instance.

I wrote the following code to try stereo splitting:

inFile = 'recording_snippet.wav';
[in, samplingRate, quantization] = wavread(inFile);

offset = 414;
inLength = length(in);

in = in(offset:inLength);

chunkLength    = 11289;
chunkCount     = floor(inLength / chunkLength);
chunkPairCount = floor(chunkCount / 2);

from = @(k) (k - 1) * chunkLength + 1;
to   = @(k) (k - 0) * chunkLength + 0;

leftChannel = 1;
rightChannel = 2;

for outChunkIndex = 1:chunkPairCount

    inLeftChunkIndex  = (outChunkIndex - 1) * 2 + 1;
    inRightChunkIndex = inLeftChunkIndex + 1;

    out(from(outChunkIndex):to(outChunkIndex), leftChannel) = ...
    in(from(inLeftChunkIndex):to(inLeftChunkIndex));

    out(from(outChunkIndex):to(outChunkIndex), rightChannel) = ...
    in(from(inRightChunkIndex):to(inRightChunkIndex));

end

outFile = sprintf('out_stereo.offset%d_chunk%d.wav', offset, chunkLength);
wavwrite(out, samplingRate, quantization, outFile);

The best result I had was with an offset of 414 samples and a chunk length of 11289 samples. You can hear it here. There is still improvement to be done but it's a start.

Now knowing more about the whole recording chain may help to understand what happened to the sound: was it recorded with a video camcorder? a professional portable recorder? a smartphone? an audio interface? was it stored first as digital or analog signal? did it go through any kind of conversion? any intermediary format/codec/software manipulation before getting the .wav version?

The signal processing community may help too.

  • This is quite an improvement. Thanks very much for the effort. For which programme is the code above written? Then I could run it myself on the whole recording. The recording was made with a smartphone and not processed in any way. – Bernd Sep 7 '15 at 13:25
  • The code above was written for Matlab, but it should be compatible with Octave, an open source equivalent of Matlab. – maxime.bochon Sep 7 '15 at 13:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.