TODO: * Volume leveling on user's behalf * Set recording volume for both sources to reasonable level (75%?) * Normalize each to something like -0.1dB * After mixing the streams, do some sort of compression/leveling * CLI interface * Choice of gst-audio-profiles for encoding * Advanced settings * Volume settings * Option for separate stream recording * Option for NOTES: Mixing two sources together using GStreamer "adder" element: gst-launch adder name=mix ! pulsesink { filesrc location=05.mp3 ! decodebin ! mix. } { filesrc location=07.mp3 ! decodebin ! mix. } What I'm doing in this GStreamer pipeline: gst-launch adder name=mix ! vorbisenc ! oggmux ! filesink location=blah { pulsesrc ! mix. } { pulsesrc ! mix. } SAME AS: gst-launch pulsesrc ! adder name=mix pulsesrc ! mix. ! vorbisenc ! oggmux ! filesink location=blah