How to censor words using sound effects

Dear members,

Hi, I was wondering whether any knows how to use Audacity to make sound effects that censor explicit words. It is very hard to describe but it is a common technique used on radio edits and I’ve always wanted to know how to do it.

I would prefer not to use silence and I don’ t think the ‘reverse’ effect is always the best option.

I have attached a short sample of a song which uses the effect I am talking about.

Many thanks,
carryoutkyle

I can’t hear any word obliteration in that sample, but that is not my kind of music. What are the words and where is the obliterated word amongst that?

You could keep it simple and beep a word out with Generate > Tone… . The tone does not have to be loud.


Gale

You can do that using “sliding time-scale / pitch shift” …
sliding time-scale   pitch shift.png
But you’ll have to repeat (Ctrl+R) the effect 2 or 3 times though.

Ideally you should only apply this effect to the vocal track alone, not the music, but you probably won’t have the seperate tracks, (unlike the producers of the radio-edit ).

The attached plugin produces a similar effect : it’s like “scratching” vinyl records, which can be used to censor words .
The effect only works on audio less than 2 seconds duration, (when the sample rate is @44100Hz).

Wikki-Warp.ny (625 Bytes)

Thank you very much for your help everyone! :slight_smile:

Hey Trebor! This is really exciting to find especially because I have a community radio show and this is going to sound really cool vs. a tone.

I had a question, I was able to download the file, load it into audacity as a plug in. I tried to use it but I got an error message:

Blockquoteerror: In FMOSC, 3rd argument (table) should be a list whose 3rd element is true, got (#<Sound: #000001E8B5B61958> 0 NIL)
Function: #<Subr-ERROR: #000001E8B805D8E8>
Arguments:
“In FMOSC, 3rd argument (table) should be a list whose 3rd element is true, got (#<Sound: #000001E8B5B61958> 0 NIL)”
Function: #<FSubr-IF: #000001E8B8060120>
Arguments:
(NOT (THIRD ACTUAL))
(ERROR (FORMAT NIL “In ~A,~A argument (~A) should be a list whose 3rd element is true, got ~A” FUN-NAME (INDEX-TO-STRING INDEX) FORMAL ACTUAL))
Function: #<Closure-NY:ASSERT-TABLE: #000001E8B064C478>
Arguments:
“FMOSC”
3
“table”
(#<Sound: #000001E8B5B61958> 0 NIL)
Function: #<Closure-FMOSC: #000001E8B0648AE8>
Arguments:
0
#<Sound: #000001E8B5B61F08>
(#<Sound: #000001E8B5B61958> 0 NIL)
0
Function: #<Closure-SCRATCH: #000001E8B0AE0870>
Arguments:
#<Sound: #000001E8B5B61958>
Function: #<Subr-APPLY: #000001E8B805B110>
Arguments:
#<Closure-SCRATCH: #000001E8B0AE0870>
(#<Sound: #000001E8B5B61958>)
Function: #<FSubr-SETF: #000001E8B8058BF0>
Arguments:
(AREF RESULT I)
(APPLY FN (MAPCAR (FUNCTION (LAMBDA (A) (COND ((ARRAYP A) (AREF A I)) (T A)))) ARGS))
Function: #<FSubr-DOTIMES: #000001E8B805E7B8>
Arguments:
(I LEN)
(SETF (AREF RESULT I) (APPLY FN (MAPCAR (FUNCTION (LAMBDA (A) (COND ((ARRAYP A) (AREF A I)) (T A)))) ARGS)))
Function: #<FSubr-COND: #000001E8B805D9D8>
Arguments:
(LEN (SETF RESULT (MAKE-ARRAY LEN)) (DOTIMES (I LEN) (SETF (AREF RESULT I) (APPLY FN (MAPCAR (FUNCTION (LAMBDA (A) (COND ((ARRAYP A) (AREF A I)) (T A)))) ARGS)))) RESULT)
(T (APPLY FN ARGS))
Function: #<FSubr-LET: #000001E8B8058ED8>
Arguments:
(LEN NEWLEN RESULT)
(DOLIST (A ARGS) (COND ((ARRAYP A) (SETF NEWLEN (LENGTH A)) (COND ((AND LEN (/= LEN NEWLEN)) (ERROR (FORMAT NIL “In ~A, two arguments are vectors of differing length.” FN)))) (SETF LEN NEWLEN))))
(COND (LEN (SETF RESULT (MAKE-ARRAY LEN)) (DOTIMES (I LEN) (SETF (AREF RESULT I) (APPLY FN (MAPCAR (FUNCTION (LAMBDA (A) (COND ((ARRAYP A) (AREF A I)) (T A)))) ARGS)))) RESULT) (T (APPLY FN ARGS)))
Function: #<Closure-MULTICHAN-EXPAND-OLD: #000001E8B0A88CF8>
Arguments:
#<Closure-SCRATCH: #000001E8B0AE0870>
#(#<Sound: #000001E8B5B61958> #<Sound: #000001E8B5B61CB8>)
Function: #<Subr-APPLY: #000001E8B805B110>
Arguments:
MULTICHAN-EXPAND-OLD
(#<Closure-SCRATCH: #000001E8B0AE0870> #(#<Sound: #000001E8B5B61958> #<Sound: #000001E8B5B61CB8>))
Function: #<FSubr-IF: #000001E8B8060120>
Arguments:
(STRINGP (FIRST ARGS))
(APPLY (QUOTE MULTICHAN-EXPAND-NEW) ARGS)
(APPLY (QUOTE MULTICHAN-EXPAND-OLD) ARGS)
Function: #<Closure-MULTICHAN-EXPAND: #000001E8B0A89B20>
Arguments:
#<Closure-SCRATCH: #000001E8B0AE0870>
#(#<Sound: #000001E8B5B61958> #<Sound: #000001E8B5B61CB8>)
1> "

Do you have any idea how to fix the error to use the plug in?

In the 7 years since that plugin was created the Audacity code has changed.
@steve may be able to make that plugin compatible with current Audacity https://audionyq.com/

@Trebor , hopefully this will fix it:
Wikki-Warp.ny (975 Bytes)

1 Like

@steve It’s working for me in Audacity 3.3.2: It appears in your eponymous folder …

wikki in eponymous

Works great on 3.6.1, Thanks, @steve!