How to make your voice like this? (Presumably helmet-radio)

Audio software developers forum.
Forum rules
If you require help using Audacity, please post on the forum board relevant to your operating system:
Windows
Mac OS X
GNU/Linux and Unix-like
Trebor
Posts: 10778
Joined: Sat Dec 27, 2008 5:22 pm
Operating System: Windows 8 or 8.1

Re: How to make your voice like this? (Presumably helmet-rad

Post by Trebor » Sun Nov 19, 2017 4:41 pm

steve wrote:I also notice that you have two controls; "constant hiss" and "constant crackle", but they are not constant because you multiply them by *track*. So when *track* is silent, then the "constant" hiss and crackle will be silent.
Again I'm nut sure what you want, but if you want the hiss and crackle to vary with the voice, then these controls should perhaps be renamed as just "hiss" and "crackle".
There were two different crackles: one only on voice, and another constant one which would add crackle to silence.
Similarly "constant hiss" adds hiss even when there is no voice ...

Trebor
Posts: 10778
Joined: Sat Dec 27, 2008 5:22 pm
Operating System: Windows 8 or 8.1

Re: How to make your voice like this? (Presumably helmet-rad

Post by Trebor » Mon Nov 20, 2017 2:33 am

Version 1.3 ...
HelmetRadio1-3.NY
(1.77 KiB) Downloaded 376 times
I had to revert to the old noise-generators. Your noise-code was more elegant but it wasn't producing the same radio-like hiss & crackle sounds. "clip2", (effectively normalizing to 0dB before clipping), also had to go : it was making the very clipped sounds deafeningly loud.

HelmetRadio 1.3 , like previous versions only produces (optional) constant hiss & crackle on the left channel, so OK for mono , not stereo . (Oddly the radio-crackle, which only occurs with speech, is on both channels).
Trebor wrote:Not just helmets: the plugin is also usable for simulating Lo-Fi loudspeakers: intercom, speaker-phone, cheapo-cassette.
Add enclosed telephone-booths to that list.

Trebor
Posts: 10778
Joined: Sat Dec 27, 2008 5:22 pm
Operating System: Windows 8 or 8.1

Re: How to make your voice like this? (Presumably helmet-rad

Post by Trebor » Mon Nov 20, 2017 7:09 am

HelmetRadio1-3 does a pretty good analogue telephone ...
'Analogue-Telephone' settings.png
'Analogue-Telephone' settings.png (12.2 KiB) Viewed 7710 times
before-after, DonaldT on analogue telephone.flac
(642.67 KiB) Downloaded 329 times

Paul2
Posts: 572
Joined: Wed Sep 04, 2019 1:17 pm
Operating System: macOS 10.15 Catalina or later

Re: How to make your voice like this? (Presumably helmet-radio)

Post by Paul2 » Thu Jan 13, 2022 4:39 pm

Apologies for posting on such an old thread.
Wanted to simulate an old radio and came across this plugin, but I think there is an error with it (version 1.3)

Should this:

Code: Select all

;control lopas "Low pass" float (Hz)"" 4000 1000 14000
;control hipas "High pass" float (Hz)"" 300 20 1000
Not be changed to this?

Code: Select all

;control lopas "Low pass (Hz)" float "" 4000 1000 14000
;control hipas "High pass (Hz)" float "" 300 20 1000
Or the following if you want the "Hz" to be on the right of the sliders:

Code: Select all

;control lopas "Low pass" float "(Hz)" 4000 1000 14000
;control hipas "High pass" float "(Hz)" 300 20 1000
Last edited by Paul2 on Thu Jan 13, 2022 4:54 pm, edited 3 times in total.

steve
Site Admin
Posts: 85412
Joined: Sat Dec 01, 2007 11:43 am
Operating System: Linux *buntu

Re: How to make your voice like this? (Presumably helmet-radio)

Post by steve » Thu Jan 13, 2022 4:49 pm

Paul2 wrote:
Thu Jan 13, 2022 4:39 pm
Should this:

Code: Select all

;control lopas "Low pass" float (Hz)"" 4000 1000 14000
;control hipas "High pass" float (Hz)"" 300 20 1000
Not be changed to this?

Code: Select all

;control lopas "Low pass (Hz)" float "" 4000 1000 14000
;control hipas "High pass (Hz)" float "" 300 20 1000
Either that or:

Code: Select all

;control lopas "Low pass" float "(Hz)" 4000 1000 14000
;control hipas "High pass" float "(Hz)" 300 20 1000
Feel free to post a "1.4" version to fix it.
Learn more about Nyquist programming at audionyq.com

Paul2
Posts: 572
Joined: Wed Sep 04, 2019 1:17 pm
Operating System: macOS 10.15 Catalina or later

Re: How to make your voice like this? (Presumably helmet-radio)

Post by Paul2 » Thu Jan 13, 2022 4:51 pm

Yep, sorry edited my post just before you posted yours.

OK, will upload a corrected version (1.4) with the "(Hz)" on the right hand side.

Paul2
Posts: 572
Joined: Wed Sep 04, 2019 1:17 pm
Operating System: macOS 10.15 Catalina or later

Re: How to make your voice like this? (Presumably helmet-radio)

Post by Paul2 » Thu Jan 13, 2022 4:59 pm

Below, the updated version (1.4) with the corrected syntax.
Attachments
HelmetRadio1-4.ny
(1.9 KiB) Downloaded 51 times

steve
Site Admin
Posts: 85412
Joined: Sat Dec 01, 2007 11:43 am
Operating System: Linux *buntu

Re: How to make your voice like this? (Presumably helmet-radio)

Post by steve » Thu Jan 13, 2022 6:19 pm

Paul2 wrote:
Thu Jan 13, 2022 4:59 pm
HelmetRadio1-4.ny
Looks good to me.
Learn more about Nyquist programming at audionyq.com

Trebor
Posts: 10778
Joined: Sat Dec 27, 2008 5:22 pm
Operating System: Windows 8 or 8.1

Re: How to make your voice like this? (Presumably helmet-radio)

Post by Trebor » Thu Jan 13, 2022 7:41 pm

The practical, (rather than GUI), problem with helmet-radio plugin is that "constant hiss" & "constant crackle" only occur on the left channel on stereo tracks.

steve
Site Admin
Posts: 85412
Joined: Sat Dec 01, 2007 11:43 am
Operating System: Linux *buntu

Re: How to make your voice like this? (Presumably helmet-radio)

Post by steve » Thu Jan 13, 2022 9:01 pm

Trebor wrote:
Thu Jan 13, 2022 7:41 pm
"constant hiss" & "constant crackle" only occur on the left channel on stereo tracks.
That's because you are adding a mono sound (the hiss and crackle) to a stereo sound.

In the manual (SIM and SUM are equivalent):
If the number of channels does not match, the result has as many channels as the argument with the most channels. For example, if a two-channel sound [L, R] is added to a four-channel sound [C1, C2, C3, C4], the result is [L + C1, R + C2, C3, C4].
In this case: [M] + [L, R] = [M+L, R]

To get the hiss and crackle in both channels, you could make the hiss and crackle stereo (2 channels) before adding.
If you want true stereo hiss and crackle, then you need to generate the hiss and crackle twice:

Code: Select all

(vector (hissNcrackle) (hissNcrackle))
or if you want the hiss and crackle to be 2-channel-mono

Code: Select all

(let ((hnc (hissNcrackle)))
  (vetcor hnc hnc))

Maybe something like this:

Code: Select all

;nyquist plug-in
;version 4
;type process
;name "Helmet Radio 1.4..."
;action "Processing ..."
;author "Steve Daulton and Trebor"
;copyright "Released under terms of the GNU General Public License version 2"

;; This version is identical to 1.3 but with a syntax correction to
;; the controls of 'lopas' and 'hipas'.
;; Paul2 (13 January 2022).

;control helmet-size "Helmet size" float "" 444 200 1000
;control reflect "Helmet refectivity" float "" 0.75 0 2
;control voice-crackle "Voice crackle" float "" 0.01 0 .2
;control hiss "Constant hiss" float "" 0.02 0 1
;control crackle "Constant crackle" float "" 0.02 0 .5
;control klip "Clipping" float "" 2 0 20
;control lopas "Low pass" float "(Hz)" 4000 1000 14000
;control hipas "High pass" float "(Hz)" 300 20 1000


;; Bigger helmet has lower comb frequency .
(setf helmet-size  (- 1200 helmet-size))

;; klip must be > 1
(setf  klip  (+ 1 klip))


(defun helmet-echo (sig)
  ;;; Simulate acoustics inside helmet.
  (lowpass16
    (sum (mult reflect (reflected sig))
         (highpass16 sig hipas))
    lopas))

(defun reflected (sig)
  ;;; Comb filter simulates acoustic reflections inside helmet.
  (let ((comb (comb sig 0.03 helmet-size)))
    (lowpass2 (highpass16 comb hipas)
              lopas)))

(defun clipping (sig)
  ;;; Low-passed clipping
  (let ((clipped (clip sig (/ klip))))
    (setf clipped (mult (+ 1 (/ klip 10)) clipped))
    (lowpass8 clipped lopas)))


;;; Helper functions:

(defun lowpass16 (sig hz)
  (lowpass8 (lowpass8 sig hz) hz))

(defun highpass16 (sig hz)
  (highpass8 (highpass8 sig hz) hz))


;;; Noise generators:

(defun crackle (n)
  (let ((noise 1))
    (dotimes (i n noise)
      (setf noise (mult noise (noise))))))

(defun radio-crackle (sig)
  (mult voice-crackle (crackle 3) *track*))

(defun hissNcrackle (sig)
  (let ((low (lowpass2 (mult hiss (crackle 6)) 2000))
        (high (mult crackle (crackle 10)))
        hnc)
    (setf hnc (sum low high))
    (if (arrayp sig)
        (vector hnc hnc)
        hnc)))


(sum (radio-crackle *track*)
     (clipping (mult klip (helmet-echo *track*)))
     (hissNcrackle *track*))

Learn more about Nyquist programming at audionyq.com

Post Reply