Add the gst-vocoder experiment
authorAntonio Ospite <ao2@ao2.it>
Wed, 17 Sep 2014 10:00:42 +0000 (12:00 +0200)
committerAntonio Ospite <ao2@ao2.it>
Wed, 17 Sep 2014 10:00:42 +0000 (12:00 +0200)
shell/gst-vocoder.sh [new file with mode: 0755]

diff --git a/shell/gst-vocoder.sh b/shell/gst-vocoder.sh
new file mode 100755 (executable)
index 0000000..240c01c
--- /dev/null
@@ -0,0 +1,49 @@
+#!/bin/sh
+FORMANT="autoaudiosrc"
+# In order to have a MIDI carrier use the alsa loopback device and Timidity++ like this:
+#
+#   $ sudo modprobe snd-aloop
+#   $ timidity -Os -o "hw:Loopback,0,0" -iA --sequencer-ports 1
+#
+# then connect to Timidity++ with a MIDI input device, e.g.:
+#
+#   $ xset -r
+#   $ vkeybd --device alsa --addr 129:0
+#   $ xset r on
+#
+# and have a lot of fun vocoding the crap out of your formant channel
+CARRIER_TONE="alsasrc device=hw:Loopback,1,0 ! audioconvert"
+# Add some white noise to the carrier
+CARRIER_PARAMS="$CARRIER_TONE ! carrier. audiotestsrc wave=5 volume=0.1 ! carrier."
+CARRIER="adder name=carrier"
+SINK="autoaudiosink"
+gst-launch-1.0 -v interleave name=i ! \
+  capssetter caps="audio/x-raw,channels=2,channel-mask=(bitmask)0x3" ! audioconvert ! audioresample ! \
+  ladspa-vocoder-1337-so-vocoder-lmms \
+    number-of-bands=16 \
+    left-right=0 \
+    band-1-level=1 \
+    band-2-level=1 \
+    band-3-level=1 \
+    band-4-level=1 \
+    band-5-level=1 \
+    band-6-level=1 \
+    band-7-level=1 \
+    band-8-level=1 \
+    band-9-level=1 \
+    band-10-level=1 \
+    band-11-level=1 \
+    band-12-level=1 \
+    band-13-level=1 \
+    band-14-level=1 \
+    band-15-level=1 \
+    band-16-level=1 \
+  ! $SINK \
+  $FORMANT ! audioconvert ! audioresample ! audio/x-raw, rate=44100, format=S16LE, channels=1 ! queue ! i.sink_0 \
+  $CARRIER ! audioconvert ! audioresample ! audio/x-raw, rate=44100, format=S16LE, channels=1 ! queue ! i.sink_1 \
+  $CARRIER_PARAMS