title: Pulseaudio - combined mic streams to play output on combined speaker sink
body: <p>Using pulseaudio in Ubuntu 15.10, I want to combine two different microphones into a single sink and have them play the combined output on two different outputs.  The below script does the first part (found it on the web), but the output seems to only play on a single output.  </p>
  
  <p>What is required to do the latter step?</p>
  
  <pre><code>#!/bin/bash
  
  #    Script to map two pulseaudio hardware input sources as mono inputs
  #    to left and right channel of a new loopback-sink respectively. This
  #    sink can be used e.g. to use VoIP or record two microphones seperately.
  #    Copyright (C) 2013, Henning Hollermann, laclaro@mail.com
  #
  #    This program is free software: you can redistribute it and/or modify
  #    it under the terms of the GNU General Public License as published by
  #    the Free Software Foundation, either version 3 of the License, or
  #    (at your option) any later version.
  #
  #    This program is distributed in the hope that it will be useful,
  #    but WITHOUT ANY WARRANTY; without even the implied warranty of
  #    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  #    GNU General Public License for more details.
  #
  #    You should have received a copy of the GNU General Public License
  #    along with this program.  If not, see &lt;http://www.gnu.org/licenses/&gt;.
  
  do_activate() {
      while [ "x" = "x$LEFT" ]; do
          echo "Choose Source for left channel by ID"
          pactl list short sources
          read ID
          LEFT=$(pactl list short sources|awk '/^'$ID'/{print $2}')
      done
      while [ "x" = "x$RIGHT" ]; do
          echo "Choose Source for right channel by ID"
          pactl list short sources | grep -v $LEFT
          read ID
          RIGHT=$(pactl list short sources | grep -v $LEFT|awk '/^'$ID'/{print $2}')
      done
      # Create the name of the Combined sink
      NAME="Combined_Mics:_Left:_"$(echo $LEFT|awk -F'.' '$0=$2')"_Right:_"$(echo $RIGHT|awk -F'.' '$0=$2')
  
      echo "[LOAD] null sink as \"$NAME\" to connect the two mics to"
      pactl load-module module-null-sink \
              sink_name=combined channels=2 \
              sink_properties="device.description=$NAME"
  
      echo "[LOAD] map source 1 ($LEFT) to left channel of \"$NAME\""
      pactl load-module module-remap-source \
              source_name=${LEFT}_left_channel master=$LEFT channels=2 \
              master_channel_map=mono,mono channel_map=left,left
      pactl load-module module-loopback sink=combined source=${LEFT}_left_channel
  
      echo "[LOAD] map source 2 ($RIGHT) to right channel of \"$NAME\""
      pactl load-module module-remap-source \
              source_name=${RIGHT}_right_channel master=$RIGHT channels=2 \
              master_channel_map=mono,mono channel_map=right,right
      pactl load-module module-loopback sink=combined source=${RIGHT}_right_channel
      echo "[DONE] Now adjust the left and right channel volume of the new sink to be equally loud"
  
  
  }
  
  do_deactivate() {
      echo "[UNLOAD] pulseaudio modules..."
      echo "[UNLOAD] module-loopback"
      pactl unload-module module-loopback
      echo "[UNLOAD] module-remap-source"
      pactl unload-module module-remap-source
      echo "[UNLOAD] module-null-sink"
      pactl unload-module module-null-sink
  }
  
  init() {
      for exe in /usr/bin/pulseaudio /usr/bin/pactl; do
          if [ ! -x "$exe" ]; then
              echo "[ERROR] required file $exe not found or not executable"
              exit 1
          fi
      done
      [ ! -x /usr/bin/pavucontrol ] &amp;&amp; echo "[NOTICE] pavucontrol might be very useful."
  }
  
  # MAIN
  init;
  case $1 in
  activate|enable|start)
      do_activate;;
  deactivate|disable|stop)
      do_deactivate;;
  *)
      echo "Usage: $0 [enable|disable]";;
  esac;
  </code></pre>