--- /dev/null
+#!/bin/bash
+
+ReadFlacToOggTags()
+{
+ local readonly INPUTFILE="$1"
+ local readonly OUTPUFILE="$2"
+
+ metaflac --export-tags-to=- $INPUTFILE \
+ | vorbiscomment -c - -w $OUTPUTFILE
+}
+
+EncodingFlacToOgg()
+{
+ local readonly INPUTFILE="$1"
+ local readonly OUTPUTFILE="$2"
+
+ # stream flac into the ogg vorbis
+ nice --adjustment=10 flac --silent --stdout --decode "$INPUTFILE" \
+ | nice --adjustment=15 oggenc -q 6 -o "$OUTPUTFILE" -
+}
+
+main()
+{
+ local readonly INPUTFILE="$1"
+ local readonly OUTPUTFILE="${INPUTFILE[@]/%flac/ogg}"
+
+ EncodingFlacToOgg "$INPUTFILE" "$OUTPUTFILE"
+ ReadFlacToOggTags "$INPUTFILE" "$OUTPUTFILE"
+}
+
+main "$1"
+exit 0