Alter your voice mimicing the vocal timbres of imaginary characters belonging to a grimdark universe whose name I cannot pronounce for copyright reasons.
It allows you to alter your voice in the following 3 modes:
-
Spaysh Mahrine
-
Dreddnorf
-
Addeptus Mekanikus
This is a useless script: all it does is get the audio from your microphone,
change it according to one of the three modes and play it back to your headphones:
I am using this repo just to keep track of sox
voice changer parameters.
It would be nice if it could create a virtual microphone where to redirect the altered audio, in order to be used from MS Teams, Zooms or Google Meet.
Also, my headphone microphone name has been hard-coded in the script: you must
look for your microphone name (pactl list
) and put it in PHYSICAL_MIC
variable.
parec
, sox
and aplay
: script quits if any of these three is not installed.
$ ./change-voice.sh
Configurated sinks:
1075 alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI3__sink PipeWire s24-32le 2ch 48000Hz IDLE
1076 alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI2__sink PipeWire s24-32le 2ch 48000Hz IDLE
1077 alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI1__sink PipeWire s24-32le 2ch 48000Hz IDLE
1078 alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Headphones__sink PipeWire s24-32le 2ch 48000Hz RUNNING
Configured sources (monitor):
1075 alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI3__sink.monitor PipeWire s24-32le 2ch 48000Hz IDLE
1076 alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI2__sink.monitor PipeWire s24-32le 2ch 48000Hz IDLE
1077 alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__HDMI1__sink.monitor PipeWire s24-32le 2ch 48000Hz IDLE
1078 alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Headphones__sink.monitor PipeWire s24-32le 2ch 48000Hz RUNNING
1079 alsa_input.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Mic2__source PipeWire s24-32le 2ch 48000Hz RUNNING
1080 alsa_input.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Mic1__source PipeWire s32le 4ch 48000Hz RUNNING
Choose your voice::
1) Space Marine
2) Dreadnought
3) Adeptus Mechanicus
Choose between [1-3]: 2
You chose Dreadnought...u gud?
+ parec -d alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Headphones__sink --raw --format=s16le --rate=44100 --channels=1
+ sox -t raw -r 44100 -e signed -b 16 -c 1 - -t raw - pitch -750 overdrive 15 gain -3 reverb 15 equalizer 1000 1.0q +5 bass +4 treble -3 echo 0.8 0.88 40 0.4
+ aplay --format=S16_LE --rate=44100 --channels=1
Playing raw data 'stdin' : Signed 16 bit Little Endian, Rate 44100 Hz, Mono
^C
Aborted by signal Interrupt...
aplay: pcm_write:2127: write error: Interrupted system call
$ lsb_release -a
No LSB modules are available.
Distributor ID: Linuxmint
Description: Linux Mint 21
Release: 21
Codename: vanessa
$ uname -r
6.8.0-40-generic
$ pactl info
Server String: /run/user/1000/pulse/native
Library Protocol Version: 35
Server Protocol Version: 35
Is Local: yes
Client Index: 1162
Tile Size: 65472
User Name: ...
Host Name: ...
Server Name: PulseAudio (on PipeWire 1.2.7)
Server Version: 15.0.0
Default Sample Specification: float32le 2ch 48000Hz
Default Channel Map: front-left,front-right
Default Sink: alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Headphones__sink
Default Source: alsa_input.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Mic2__source
Cookie: 2043:7fd6