Skip to content

Latest commit

 

History

History
90 lines (72 loc) · 3.59 KB

README.md

File metadata and controls

90 lines (72 loc) · 3.59 KB

WH40k voice changer

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:

  1. Spaysh Mahrine

  2. Dreddnorf

  3. 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.

Requirements

parec, sox and aplay: script quits if any of these three is not installed.

How it works

$ ./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

Environment

$ 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