Page 1 of 2
Click and Noise-Removal from Voice/Speech-Recording
Posted: Tue Aug 18, 2009 3:07 pm
by Corvinian
Hello,
a friend has made some Dictaphone recordings, but as they are now, only let one guess on its content. What to do to enhance the speech quality at least to be (mostly) understandable?
I am myself a beginner with Audio-Editing, so I pass on the question to the pros!
The dictaphoner cannot record in 44.1, only in 22.05 kHz in WAVE-format. Is the frequency for
voice/speech-recordings (basically) sufficient or is this already the reason for the bad recording quality?
If possible, no new recording device should be bought, the recording needs to be only basically understandable, even if it requires much concentration.
I tested the noise-reduction/-removal (Audacity 1.3.8), it helps in some parts of the recording, but is not overall satisfactory.
Heres a link to part of the recording:
Download DW_C0054_sample.wav from FileFactory.com
Grateful for tips and tricks (of the trade).

Re: Click and Noise-Removal from Voice/Speech-Recording
Posted: Tue Aug 18, 2009 8:23 pm
by kozikowski
I think our first tip needs to be how to listen to that file.
Koz
Re: Click and Noise-Removal from Voice/Speech-Recording
Posted: Wed Aug 19, 2009 12:14 am
by Trebor
Those voice recorders, (no I won’t do the Dick-to-phone joke), can suffer from clock noise.
If the recording does suffer from clock noise when you analyse the frequency content of a “silent” part of the recording you will see large spikes occurring at particular frequencies, (often equally spaced e.g. 4000Hz, 8000Hz, 12000Hz). You can use a notch filter to remove these clock noise spikes.
I’ve attached such a notch filter. Put in the frequency of the spike, and use q = 5 to 15 for a big spike and q= 50 to 200 to remove smaller spikes.
Re: Click and Noise-Removal from Voice/Speech-Recording
Posted: Wed Aug 19, 2009 1:00 am
by kozikowski
I really want to figure out how to listen to that file. The impression I got was that the show is mostly unintelligible garbage and we need to try to make the voice buried inside a little less unintelligible.
There doesn't seem to be any part of that web site willing to either let me listen to or download the sample.
Koz
Re: Click and Noise-Removal from Voice/Speech-Recording
Posted: Wed Aug 19, 2009 7:52 am
by Corvinian
to download the audio-file, go to the URL, click the 'Free download' web-form button, a second page will appear with a timer counting down for 30 seconds, then the final dynamic link ''Click here to begin your download'' will appear to download.
It is totally incomprehensible
Posted: Wed Aug 19, 2009 9:08 am
by Trebor
Forget my notch filter suggestion, this is unsalvageable, a hopeless case, (sample attached).
I have a cheap and nasty voice recorder and it sounds infinitely better,
i.e. your recording is not typical of these voice recorder thingys.
The signal to noise ratio is very poor, have you amplified this sample ?
Re: Click and Noise-Removal from Voice/Speech-Recording
Posted: Thu Aug 20, 2009 9:34 am
by Corvinian
The signal to noise ratio is very poor, have you amplified this sample ?
I think he has not (not so tech-savvy).
Should I try to amplifiy it? I thought it would weaken the signal further and noise should be removed first.
Which Effect(s) should I use to amplify it?
Re: Click and Noise-Removal from Voice/Speech-Recording
Posted: Thu Aug 20, 2009 9:48 am
by Corvinian
I am experimenting now with the noisegate.ny effect and I get the following error, although the 'gate.ny' is working.
Nymquist
Code: Select all
error: bad place form
Function: #<FSubr-SETF: #7edd7b0>
Arguments:
LOFREQ
20
(COMMA 0)
1> error: bad place form
Function: #<FSubr-SETF: #7edd7b0>
Arguments:
HIFREQ
20000
(COMMA 0)
Function: #<FSubr-SETF: #7edd7b0>
Arguments:
LOFREQ
20
(COMMA 0)
2> error: bad place form
Function: #<FSubr-SETF: #7edd7b0>
Arguments:
LEVEL-RED
-12
(COMMA 0)
Function: #<FSubr-SETF: #7edd7b0>
Arguments:
HIFREQ
20000
(COMMA 0)
Function: #<FSubr-SETF: #7edd7b0>
Arguments:
LOFREQ
20
(COMMA 0)
3> error: bad place form
Function: #<FSubr-SETF: #7edd7b0>
Arguments:
THRESH
-24
(COMMA 0)
Function: #<FSubr-SETF: #7edd7b0>
Arguments:
LEVEL-RED
-12
(COMMA 0)
Function: #<FSubr-SETF: #7edd7b0>
Arguments:
HIFREQ
20000
(COMMA 0)
Function: #<FSubr-SETF: #7edd7b0>
Arguments:
LOFREQ
20
(COMMA 0)
4> error: bad place form
Function: #<FSubr-SETF: #7edd7b0>
Arguments:
ATTACK
49
(COMMA 600000)
Function: #<FSubr-SETF: #7edd7b0>
Arguments:
THRESH
-24
(COMMA 0)
Function: #<FSubr-SETF: #7edd7b0>
Arguments:
LEVEL-RED
-12
(COMMA 0)
Function: #<FSubr-SETF: #7edd7b0>
Arguments:
HIFREQ
20000
(COMMA 0)
Function: #<FSubr-SETF: #7edd7b0>
Arguments:
LOFREQ
20
(COMMA 0)
5> 0.251189
5> 0.0630957
5> 0
5> 0
5> #<Sound: #91d0c98>
5> 4> 3> 2> 1>
when I copy the text content of the noisegate.ny effect to the 'Nymquist commandline'
and click 'Diagnose', the following is returned:
Code: Select all
error: unbound variable - LEVEL-RED
if continued: try evaluating symbol again
Function: #<FSubr-SETQ: #7ed6b90>
Arguments:
LEVEL-RED
(DB-TO-LINEAR LEVEL-RED)
1> error: unbound variable - THRESH
if continued: try evaluating symbol again
Function: #<FSubr-SETQ: #7ed6b90>
Arguments:
THRESH
(DB-TO-LINEAR THRESH)
Function: #<FSubr-SETQ: #7ed6b90>
Arguments:
LEVEL-RED
(DB-TO-LINEAR LEVEL-RED)
2> error: unbound variable - ATTACK
if continued: try evaluating symbol again
Function: #<FSubr-SETQ: #7ed6b90>
Arguments:
ATTACK
(/ ATTACK 1000)
Function: #<FSubr-SETQ: #7ed6b90>
Arguments:
THRESH
(DB-TO-LINEAR THRESH)
Function: #<FSubr-SETQ: #7ed6b90>
Arguments:
LEVEL-RED
(DB-TO-LINEAR LEVEL-RED)
3> error: unbound variable - ATTACK
if continued: try evaluating symbol again
Function: #<FSubr-SETQ: #7ed6b90>
Arguments:
LOOK
(SUM ATTACK ATTACK)
Function: #<FSubr-SETQ: #7ed6b90>
Arguments:
ATTACK
(/ ATTACK 1000)
Function: #<FSubr-SETQ: #7ed6b90>
Arguments:
THRESH
(DB-TO-LINEAR THRESH)
Function: #<FSubr-SETQ: #7ed6b90>
Arguments:
LEVEL-RED
(DB-TO-LINEAR LEVEL-RED)
4> error: unbound variable - LOFREQ
if continued: try evaluating symbol again
Function: #<FSubr-OR: #7ed5c90>
Arguments:
(>= LOFREQ (MULT *SOUND-SRATE* 0.4))
(AND (< HIFREQ 20000) (>= HIFREQ (MULT *SOUND-SRATE* 0.4)))
Function: #<FSubr-IF: #7ed5cf0>
Arguments:
(OR (>= LOFREQ (MULT *SOUND-SRATE* 0.4)) (AND (< HIFREQ 20000) (>= HIFREQ (MULT *SOUND-SRATE* 0.4))))
(PRINT "ErrornSample rate too low for selected filter settings.nCheck filter settings.")
(PROGN (DEFUN NOISEGATE (S-IN GATE-S LOOKAHEAD RISETIME FALLTIME FLOOR THRESHOLD) (MULT GATE-S (CLIP (GATE S-IN LOOKAHEAD RISETIME FALLTIME FLOOR THRESHOLD) 1))) (DEFUN STEREOGATE (S-IN GATE-S LOOKAHEAD RISETIME FALLTIME FLOOR THRESHOLD) (SETQ MONO-SOUND (MULT (SUM (AREF S-IN 0) (AREF S-IN 1)) 0.5)) (VECTOR (MULT (AREF GATE-S 0) (CLIP (GATE MONO-SOUND LOOKAHEAD RISETIME FALLTIME FLOOR THRESHOLD) 1)) (MULT (AREF GATE-S 1) (CLIP (GATE MONO-SOUND LOOKAHEAD RISETIME FALLTIME FLOOR THRESHOLD) 1)))) (DEFUN PROCESS (S-IN GATE-S) (IF (ARRAYP S-IN) (STEREOGATE S-IN GATE-S LOOK ATTACK ATTACK LEVEL-RED THRESH) (NOISEGATE S-IN GATE-S LOOK ATTACK ATTACK LEVEL-RED THRESH))) (DEFUN GATEHIGH (S-IN FREQ) (IF (ARRAYP S) (SETQ S-PASS (VECTOR (LOWPASS8 (AREF S-IN 0) FREQ) (LOWPASS8 (AREF S-IN 1) FREQ))) (SETQ S-PASS (LOWPASS8 S-IN FREQ))) (IF (ARRAYP S) (SETQ S-GATE (PROCESS S (VECTOR (HIGHPASS8 (AREF S 0) FREQ) (HIGHPASS8 (AREF S 0) FREQ)))) (SETQ S-GATE (PROCESS S (HIGHPASS8 S FREQ)))) (SIM S-PASS S-GATE)) (DEFUN GATELOW (S-IN FREQ) (IF (ARRAYP S) (SETQ S-PASS (VECTOR (HIGHPASS8 (AREF S-IN 0) FREQ) (HIGHPASS8 (AREF S-IN 1) FREQ))) (SETQ S-PASS (HIGHPASS8 S-IN FREQ))) (IF (ARRAYP S) (SETQ S-GATE (PROCESS S (VECTOR (LOWPASS8 (AREF S 0) FREQ) (LOWPASS8 (AREF S 0) FREQ)))) (SETQ S-GATE (PROCESS S (LOWPASS8 S FREQ)))) (SIM S-PASS S-GATE)) (IF (AND (<= LOFREQ 20) (>= HIFREQ 20000)) (PROCESS S S) (IF (AND (> LOFREQ 20) (>= HIFREQ 20000)) (GATEHIGH S LOFREQ) (IF (AND (< HIFREQ 20000) (<= LOFREQ 20)) (GATELOW S HIFREQ) (GATELOW (GATEHIGH S LOFREQ) HIFREQ)))))
Function: #<FSubr-SETQ: #7ed6b90>
Arguments:
LOOK
(SUM ATTACK ATTACK)
Function: #<FSubr-SETQ: #7ed6b90>
Arguments:
ATTACK
(/ ATTACK 1000)
Function: #<FSubr-SETQ: #7ed6b90>
Arguments:
THRESH
(DB-TO-LINEAR THRESH)
Function: #<FSubr-SETQ: #7ed6b90>
Arguments:
LEVEL-RED
(DB-TO-LINEAR LEVEL-RED)
5> 4> 3> 2> 1>
I use Audacity 1.3.8 on WinXP (SP3), is this plugin working for others?
Re: Click and Noise-Removal from Voice/Speech-Recording
Posted: Thu Aug 20, 2009 11:13 am
by Trebor
Corvinian wrote:The signal to noise ratio is very poor, have you amplified this sample ?
I think he has not (not so tech-savvy).
Should I try to amplifiy it? I thought it would weaken the signal further and noise should be removed first.
Which Effect(s) should I use to amplify it?
I was not suggesting that you should amplify it but enquiring if you had amplified it:
amplification of a weak signal may explain the poor signal to noise ratio of your sample.
If it has not been amplified then I can only think you have a hardware fault with your voice recorder.
BTW #1 Forget using a gate on your sample it would not help one bit,
I'm trying to be constructive and prevent you wasting your time.
If you listened to my attempt to clean your sample, (attached to my post above),
that is about the best you can expect of it using Audacity or any other DAW.
BTW #2 if you need a free gate for Audacity try
GGate, (a VST plugin).
You'll need the
VST enabler to use VST plugins on Audacity, (even then not all VST plugins work in Audacity, but "GGate" does).
Re: Click and Noise-Removal from Voice/Speech-Recording
Posted: Thu Aug 20, 2009 11:32 am
by Corvinian
Hi Trevor,
thanks for clarifying the amplification issue and your advice,
I will recommend a new voice recorder.