diff --git a/workflow/hpr-logo.jpg b/workflow/hpr-logo.jpg
deleted file mode 100644
index c8985dd..0000000
Binary files a/workflow/hpr-logo.jpg and /dev/null differ
diff --git a/workflow/hprid b/workflow/hprid
deleted file mode 100755
index 477da15..0000000
--- a/workflow/hprid
+++ /dev/null
@@ -1,268 +0,0 @@
-#!/bin/bash
-# hprid
-
-################################################################################
-#
-# script to prepare audio files for HPR shows
-#
-# input: mp3 or ogg file
-# result: mp3, ogg in 44100 Hz, spx files 16000Hz with intro and outro
-# provides 3 interactive checks for audio quality, intro and outro
-#
-################################################################################
-# This file is part of the HPR Tool set
-#
-# HPR Tool set is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# HPR Tool set 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 Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with HPR Tool set. If not, see .
-# http://www.gnu.org/licenses/agpl-3.0.html
-# #########################################################################
-
-################################################################################
-#
-# PREREQUISITS
-# - current folder has to be writable
-# - there should NOT be a temp.ogg or temp.mp3 file
-# - intro.mp3 and outro.mp3 have to be present
-# - IMPORTANT: sox compiled with mp3 support
-# see http://a0u.xanga.com/700438974/howto-soc-installation
-#
-#
-# IMPORTANT
-# Backup the files before feeding them to this script, no guarantees here
-# Handling of .wav not yet tested, but it should work
-#
-# code.cruncher, May 2011
-#
-################################################################################
-
-################################################################################
-#
-# TODO
-#
-# test handling of wav files
-# add play final files or open them in specific player(s)
-# add handling of ID3 tags
-# create html interface for standardized info gathering
-#
-################################################################################
-
-
-#============================================================
-# Check input
-usage="usage: $(basename $0 ) [ -i ] [ -o ] , -i to add intro and -o outro, fname is a file with audio for HPR"
-
-CHANNELS="1"
-ADDINTRO="n"
-ADDOUTRO="n"
-
-
-while getopts "io" opt; do
- case $opt in
- i )
- ADDINTRO="y"
- ;;
- o )
- ADDOUTRO="y"
- ;;
- esac
-done
-shift $(($OPTIND - 1))
-
-# if not ${mediafile} return usage
-if [ $# -lt 1 ]; then
- echo $usage
- exit 1
-fi
-
-mediafile=${1}
-
-# test if file exists
-if [ ! -f "intro.flac" ]; then
- echo "sorry, file \"intro.flac\" does not exist"
- echo "To download it run the command:"
- echo " wget http://hackerpublicradio.org/media/theme-music/intro.flac"
- exit 1
-fi
-
-if [ ! -f "outro.flac" ]; then
- echo "sorry, file \"outro.flac\" does not exist"
- echo "To download it run the command:"
- echo " wget http://hackerpublicradio.org/media/theme-music/outro.flac"
- exit 1
-fi
-
-for mediafile in "$@"
-do
- echo $var
-
- if [ ! -f "${mediafile}" ]; then
- echo "sorry, file \"${mediafile}\" does not exist"
- continue
- fi
-
- # test if file exists
- if [ ! -r "${mediafile}" ]; then
- echo "sorry, file \"${mediafile}\" is not readable"
- continue
- fi
-
- if [ $(ffprobe "${mediafile}" 2>&1 | grep "Audio:" | wc -l ) -eq 0 ]; then
- echo "sorry, file \"${mediafile}\" has no audio track"
- continue
- fi
-
- # extract file name and extension
- fname=${mediafile%.*}
- ext=${mediafile/*./}
-
- #Make a backup
- # mediafilebackup=${mediafile}_$(md5sum ${mediafile} | cut -c -32 )_orig.${ext}
- # cp -v ${mediafile} ${mediafilebackup}
- #
- # if [[ ! -e ${mediafilebackup} ]]; then
- # echo "Backup not made: ${mediafilebackup}"
- # exit
- # fi
-
- # check audio quality
- dur=7 # playtime of sample in seconds
- go=1 # variable to repeat playing of sample
- from=180 # start sample at 3 minutes in
-
- #============================================================
- # Question Time
-
- # # # while [ $go -ne 0 ]
- # # # do
- # # # echo
- # # # echo "--------------------------------------------------------------------------------"
- # # # echo "1/4 AUDIO TEST: check audio quality: ... playing $dur seconds ..."
- # # # play "${mediafile}" trim $from $dur
- # # # ((from+=180)) # next sample will be 3 minutes later
- # # # read -s -n1 -p "sound quality ok?[y,n] ... or play another sample[a] ... [y,n,a]"
- # # # echo
- # # # case "$REPLY" in
- # # # n) echo "aborting ... get better quality sound file ... good bye!"; exit 0;;
- # # # y) go=0;;
- # # # esac
- # # # done
- # # #
- # # # # Check for intro
- # # # echo
- # # # echo "--------------------------------------------------------------------------------"
- # # # echo "2/4 ADDINTRO TEST: Is the intro playing? "
- # # # play "${mediafile}" trim 1 5 # play 5 seconds at beginning of file
- # # # read -s -n1 -p "Is there a intro? [y, n]" -i "n"; echo
- # # # if [ "$REPLY" = 'y' ]; then
- # # # echo "Will add the intro"
- # # # ADDINTRO="y"
- # # # fi
- # # #
- # # # # Check for outro
- # # # echo
- # # # echo "--------------------------------------------------------------------------------"
- # # # echo "3/4 ADDOUTRO TEST: Is the outro playing? "
- # # # len=$(eval "soxi -D \"${mediafile}\"")
- # # # len=$(echo "scale=0; $len - 50" | bc)
- # # # play "${mediafile}" trim $len 5
- # # # read -s -n1 -p "Is there a outro ? [y, n]" -i "n"; echo
- # # # if [ "$REPLY" = 'y' ]; then
- # # # echo "Will add the outro"
- # # # ADDOUTRO="y"
- # # # fi
- # # #
- # # #
- # # # echo
- # # # echo "--------------------------------------------------------------------------------"
- # # # echo "4/4 STEREO TEST: Should this be mono or stereo [m,s] ? "
- # # # CHANNELS="1"
- # # # read -s -n1 -p "intro ok? [m, s]" -i "m" ; echo
- # # # if [ "$REPLY" = 's' ]; then
- # # # echo "Will convert to stereo"
- # # # CHANNELS="2"
- # # # fi
-
- #============================================================
- # Preprocess the source file
-
- echo "Convert from ${mediafile} to known wav format ${fname}_tmp.wav"
- ffmpeg -i ${mediafile} -ar 44100 -ac $CHANNELS ${fname}_tmp.wav > ${fname}_tmp.log 2>&1
-
- # echo "Normalising the audio"
- # normalize -a 0.5 ${fname}_tmp.wav >> ${fname}_tmp.log 2>&1
-
- # TODO Compressor !
-
- # TODO add a little speed up
-
- # TODO little overlap in fade in of intro
-
- # echo "Truncating the silence"
- # sox ${fname}_tmp.wav ${fname}_sox.wav silence -l 1 0.1 1.6% -1 0.6 1.6% >> ${fname}_tmp.log 2>&1
- cp -v ${fname}_tmp.wav ${fname}_sox.wav
-
- echo "Add the intro if it is missing and add it to the temp pcm file"
- if [ "$ADDINTRO" = 'y' ]; then
- ffmpeg -i intro.flac -ar 44100 -ac $CHANNELS -acodec pcm_s16le -f s16le - > ${fname}_tmp.pcm 2>> ${fname}_tmp.log
- fi
-
- echo "convert the uploaded episode and add it to the temp pcm file"
- ffmpeg -i ${fname}_sox.wav -ar 44100 -ac $CHANNELS -acodec pcm_s16le -f s16le - >> ${fname}_tmp.pcm 2>> ${fname}_tmp.log
-
- echo "Add the outro if it is missing and add it to the temp pcm file"
- if [ "$ADDOUTRO" = 'y' ]; then
- ffmpeg -i outro.flac -ar 44100 -ac $CHANNELS -acodec pcm_s16le -f s16le - >> ${fname}_tmp.pcm 2>> ${fname}_tmp.log
- fi
-
- echo "Convert the pcm file to a know wav format"
- ffmpeg -f s16le -ar 44100 -ac 1 -acodec pcm_s16le -i ${fname}_tmp.pcm ${fname}_mez.wav 2>> ${fname}_tmp.log
-
- # echo "Get an image of the converted audio"
- # sox ${fname}_mez.wav -n spectrogram -x 800 -y 100 -o ${fname}_mez.png
-
- echo "--------------------------------------------------------------------------------"
- echo "File information"
- ffprobe ${fname}_mez.wav 2>&1 | grep Audio:
- mediainfo ${fname}_mez.wav
-
- echo "--------------------------------------------------------------------------------"
- # display ${fname}_mez.png &
- # read -s -n1 -p "Spectrogram check: Everything look ok [y,n] ? " -i "y" ; echo
- # if [ "$REPLY" = 'n' ]; then
- # echo "Something went w rong. Aborting."
- # exit
- # fi
-
- # echo "--------------------------------------------------------------------------------"
- # vlc ${fname}_mez.wav >> ${fname}_tmp.log 2>&1 &
- # read -s -n1 -p "VLC check: Everything look ok [y,n] ? " -i "y" ; echo
- # if [ "$REPLY" = 'n' ]; then
- # echo "Something went wrong. Aborting."
- # exit
- # fi
-
- echo "Remove temp files"
- rm -v ${fname}_tmp.wav ${fname}_sox.wav ${fname}_tmp.pcm ${fname}_tmp.log
-
- echo "Convert to mp3" # TODO and add tags"
- sox -S ${fname}_mez.wav ${fname}_mez.mp3
-
- echo "Convert to ogg" # TODO and add tags"
- sox -S ${fname}_mez.wav ${fname}_mez.ogg
-
- echo "Convert to spx" # TODO and add tags"
- sox -S ${fname}_mez.wav -c 1 -r 16000 -t wav - | speexenc - ${fname}_mez.spx
-
- echo "Changing the file dates to the time of upload"
- touch -r ${mediafile} ${fname}*
-done
diff --git a/workflow/hprid.sh b/workflow/hprid.sh
deleted file mode 100755
index 477da15..0000000
--- a/workflow/hprid.sh
+++ /dev/null
@@ -1,268 +0,0 @@
-#!/bin/bash
-# hprid
-
-################################################################################
-#
-# script to prepare audio files for HPR shows
-#
-# input: mp3 or ogg file
-# result: mp3, ogg in 44100 Hz, spx files 16000Hz with intro and outro
-# provides 3 interactive checks for audio quality, intro and outro
-#
-################################################################################
-# This file is part of the HPR Tool set
-#
-# HPR Tool set is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# HPR Tool set 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 Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with HPR Tool set. If not, see .
-# http://www.gnu.org/licenses/agpl-3.0.html
-# #########################################################################
-
-################################################################################
-#
-# PREREQUISITS
-# - current folder has to be writable
-# - there should NOT be a temp.ogg or temp.mp3 file
-# - intro.mp3 and outro.mp3 have to be present
-# - IMPORTANT: sox compiled with mp3 support
-# see http://a0u.xanga.com/700438974/howto-soc-installation
-#
-#
-# IMPORTANT
-# Backup the files before feeding them to this script, no guarantees here
-# Handling of .wav not yet tested, but it should work
-#
-# code.cruncher, May 2011
-#
-################################################################################
-
-################################################################################
-#
-# TODO
-#
-# test handling of wav files
-# add play final files or open them in specific player(s)
-# add handling of ID3 tags
-# create html interface for standardized info gathering
-#
-################################################################################
-
-
-#============================================================
-# Check input
-usage="usage: $(basename $0 ) [ -i ] [ -o ] , -i to add intro and -o outro, fname is a file with audio for HPR"
-
-CHANNELS="1"
-ADDINTRO="n"
-ADDOUTRO="n"
-
-
-while getopts "io" opt; do
- case $opt in
- i )
- ADDINTRO="y"
- ;;
- o )
- ADDOUTRO="y"
- ;;
- esac
-done
-shift $(($OPTIND - 1))
-
-# if not ${mediafile} return usage
-if [ $# -lt 1 ]; then
- echo $usage
- exit 1
-fi
-
-mediafile=${1}
-
-# test if file exists
-if [ ! -f "intro.flac" ]; then
- echo "sorry, file \"intro.flac\" does not exist"
- echo "To download it run the command:"
- echo " wget http://hackerpublicradio.org/media/theme-music/intro.flac"
- exit 1
-fi
-
-if [ ! -f "outro.flac" ]; then
- echo "sorry, file \"outro.flac\" does not exist"
- echo "To download it run the command:"
- echo " wget http://hackerpublicradio.org/media/theme-music/outro.flac"
- exit 1
-fi
-
-for mediafile in "$@"
-do
- echo $var
-
- if [ ! -f "${mediafile}" ]; then
- echo "sorry, file \"${mediafile}\" does not exist"
- continue
- fi
-
- # test if file exists
- if [ ! -r "${mediafile}" ]; then
- echo "sorry, file \"${mediafile}\" is not readable"
- continue
- fi
-
- if [ $(ffprobe "${mediafile}" 2>&1 | grep "Audio:" | wc -l ) -eq 0 ]; then
- echo "sorry, file \"${mediafile}\" has no audio track"
- continue
- fi
-
- # extract file name and extension
- fname=${mediafile%.*}
- ext=${mediafile/*./}
-
- #Make a backup
- # mediafilebackup=${mediafile}_$(md5sum ${mediafile} | cut -c -32 )_orig.${ext}
- # cp -v ${mediafile} ${mediafilebackup}
- #
- # if [[ ! -e ${mediafilebackup} ]]; then
- # echo "Backup not made: ${mediafilebackup}"
- # exit
- # fi
-
- # check audio quality
- dur=7 # playtime of sample in seconds
- go=1 # variable to repeat playing of sample
- from=180 # start sample at 3 minutes in
-
- #============================================================
- # Question Time
-
- # # # while [ $go -ne 0 ]
- # # # do
- # # # echo
- # # # echo "--------------------------------------------------------------------------------"
- # # # echo "1/4 AUDIO TEST: check audio quality: ... playing $dur seconds ..."
- # # # play "${mediafile}" trim $from $dur
- # # # ((from+=180)) # next sample will be 3 minutes later
- # # # read -s -n1 -p "sound quality ok?[y,n] ... or play another sample[a] ... [y,n,a]"
- # # # echo
- # # # case "$REPLY" in
- # # # n) echo "aborting ... get better quality sound file ... good bye!"; exit 0;;
- # # # y) go=0;;
- # # # esac
- # # # done
- # # #
- # # # # Check for intro
- # # # echo
- # # # echo "--------------------------------------------------------------------------------"
- # # # echo "2/4 ADDINTRO TEST: Is the intro playing? "
- # # # play "${mediafile}" trim 1 5 # play 5 seconds at beginning of file
- # # # read -s -n1 -p "Is there a intro? [y, n]" -i "n"; echo
- # # # if [ "$REPLY" = 'y' ]; then
- # # # echo "Will add the intro"
- # # # ADDINTRO="y"
- # # # fi
- # # #
- # # # # Check for outro
- # # # echo
- # # # echo "--------------------------------------------------------------------------------"
- # # # echo "3/4 ADDOUTRO TEST: Is the outro playing? "
- # # # len=$(eval "soxi -D \"${mediafile}\"")
- # # # len=$(echo "scale=0; $len - 50" | bc)
- # # # play "${mediafile}" trim $len 5
- # # # read -s -n1 -p "Is there a outro ? [y, n]" -i "n"; echo
- # # # if [ "$REPLY" = 'y' ]; then
- # # # echo "Will add the outro"
- # # # ADDOUTRO="y"
- # # # fi
- # # #
- # # #
- # # # echo
- # # # echo "--------------------------------------------------------------------------------"
- # # # echo "4/4 STEREO TEST: Should this be mono or stereo [m,s] ? "
- # # # CHANNELS="1"
- # # # read -s -n1 -p "intro ok? [m, s]" -i "m" ; echo
- # # # if [ "$REPLY" = 's' ]; then
- # # # echo "Will convert to stereo"
- # # # CHANNELS="2"
- # # # fi
-
- #============================================================
- # Preprocess the source file
-
- echo "Convert from ${mediafile} to known wav format ${fname}_tmp.wav"
- ffmpeg -i ${mediafile} -ar 44100 -ac $CHANNELS ${fname}_tmp.wav > ${fname}_tmp.log 2>&1
-
- # echo "Normalising the audio"
- # normalize -a 0.5 ${fname}_tmp.wav >> ${fname}_tmp.log 2>&1
-
- # TODO Compressor !
-
- # TODO add a little speed up
-
- # TODO little overlap in fade in of intro
-
- # echo "Truncating the silence"
- # sox ${fname}_tmp.wav ${fname}_sox.wav silence -l 1 0.1 1.6% -1 0.6 1.6% >> ${fname}_tmp.log 2>&1
- cp -v ${fname}_tmp.wav ${fname}_sox.wav
-
- echo "Add the intro if it is missing and add it to the temp pcm file"
- if [ "$ADDINTRO" = 'y' ]; then
- ffmpeg -i intro.flac -ar 44100 -ac $CHANNELS -acodec pcm_s16le -f s16le - > ${fname}_tmp.pcm 2>> ${fname}_tmp.log
- fi
-
- echo "convert the uploaded episode and add it to the temp pcm file"
- ffmpeg -i ${fname}_sox.wav -ar 44100 -ac $CHANNELS -acodec pcm_s16le -f s16le - >> ${fname}_tmp.pcm 2>> ${fname}_tmp.log
-
- echo "Add the outro if it is missing and add it to the temp pcm file"
- if [ "$ADDOUTRO" = 'y' ]; then
- ffmpeg -i outro.flac -ar 44100 -ac $CHANNELS -acodec pcm_s16le -f s16le - >> ${fname}_tmp.pcm 2>> ${fname}_tmp.log
- fi
-
- echo "Convert the pcm file to a know wav format"
- ffmpeg -f s16le -ar 44100 -ac 1 -acodec pcm_s16le -i ${fname}_tmp.pcm ${fname}_mez.wav 2>> ${fname}_tmp.log
-
- # echo "Get an image of the converted audio"
- # sox ${fname}_mez.wav -n spectrogram -x 800 -y 100 -o ${fname}_mez.png
-
- echo "--------------------------------------------------------------------------------"
- echo "File information"
- ffprobe ${fname}_mez.wav 2>&1 | grep Audio:
- mediainfo ${fname}_mez.wav
-
- echo "--------------------------------------------------------------------------------"
- # display ${fname}_mez.png &
- # read -s -n1 -p "Spectrogram check: Everything look ok [y,n] ? " -i "y" ; echo
- # if [ "$REPLY" = 'n' ]; then
- # echo "Something went w rong. Aborting."
- # exit
- # fi
-
- # echo "--------------------------------------------------------------------------------"
- # vlc ${fname}_mez.wav >> ${fname}_tmp.log 2>&1 &
- # read -s -n1 -p "VLC check: Everything look ok [y,n] ? " -i "y" ; echo
- # if [ "$REPLY" = 'n' ]; then
- # echo "Something went wrong. Aborting."
- # exit
- # fi
-
- echo "Remove temp files"
- rm -v ${fname}_tmp.wav ${fname}_sox.wav ${fname}_tmp.pcm ${fname}_tmp.log
-
- echo "Convert to mp3" # TODO and add tags"
- sox -S ${fname}_mez.wav ${fname}_mez.mp3
-
- echo "Convert to ogg" # TODO and add tags"
- sox -S ${fname}_mez.wav ${fname}_mez.ogg
-
- echo "Convert to spx" # TODO and add tags"
- sox -S ${fname}_mez.wav -c 1 -r 16000 -t wav - | speexenc - ${fname}_mez.spx
-
- echo "Changing the file dates to the time of upload"
- touch -r ${mediafile} ${fname}*
-done
diff --git a/workflow/hprtranscode-archive.bash b/workflow/hprtranscode-archive.bash
deleted file mode 100644
index 659a390..0000000
--- a/workflow/hprtranscode-archive.bash
+++ /dev/null
@@ -1,422 +0,0 @@
-#!/bin/bash
-# Copyright Ken Fallon - Released into the public domain. http://creativecommons.org/publicdomain/
-#============================================================
-# Check input
-usage="usage: $(basename $0 ) [ -i ] [ -o ] , -i to add intro and -o outro, fname is a file with audio for HPR"
-
-# Argument = -t test -r server -p password -v
-
-echoerr()
-{
-echo "$@" 1>&2;
-}
-
-usage()
-{
-cat << EOF
-usage: $0 [options] {media file to encode} {episode number}
-
-OPTIONS:
- -h Show this message
- -p add a promo
- -i add the intro
- -s Automatically generate the summary
- -o add the outro
- -b add the intro and outro ( and summary default)
- -2 encode to 2 channels
- -n no audio normalization
- -x eXclude sponsor mention
-
-EOF
-}
-
-TEMP_DIR="/var/tmp/"
-CHANNELS="1"
-FIXAUDIO="1"
-ADDSUMMARY="n"
-ADDINTRO="n"
-ADDPROMO="n"
-ADDOUTRO="n"
-ADDSPONSOR="y"
-ARTIST="EMPTY"
-TITLE="EMPTY"
-YEAR="EMPTY"
-SLOT="EMPTY"
-basedir="/var/IA"
-intro="${basedir}/intro.flac"
-promo="${basedir}/promo.flac"
-outro="${basedir}/outro.flac"
-anhonesthost="${basedir}/sponsor-anhonesthost.com-hpr15.flac"
-internetarchive="${basedir}/sponsor-archive.org.flac"
-
-while getopts "hipsob2nx" OPTION
-do
- case $OPTION in
- h)
- usage
- exit 1
- ;;
- s)
- ADDSUMMARY="y"
- ;;
- i)
- ADDINTRO="y"
- ;;
- p)
- ADDPROMO="y"
- ;;
- o)
- ADDOUTRO="y"
- ;;
- b)
- ADDINTRO="y"
- ADDOUTRO="y"
- ;;
- 2)
- CHANNELS="2"
- ;;
- n)
- FIXAUDIO="0"
- ;;
- x)
- ADDSPONSOR="n"
- ;;
- ?)
- usage
- exit
- ;;
- esac
-done
-
-shift $(($OPTIND - 1))
-
-if [ "$#" -ne 2 ]; then
- echoerr "Please enter the source file and episode number"
- exit
-fi
-
-mediafile=${1}
-ep_num=${2}
-
-ep_num=$(echo $ep_num | sed 's/hpr//g')
-re='^[0-9]+$'
-if ! [[ $ep_num =~ $re ]] ; then
- echoerr "error: episode \"${ep_num}\" is not a number"
- exit 1
-fi
-
-if [ ! -f "${anhonesthost}" ]; then
- echoerr "sorry, file \"${anhonesthost}\" does not exist"
- exit 1
-fi
-
-if [ ! -f "${internetarchive}" ]; then
- echoerr "sorry, file \"${internetarchive}\" does not exist"
- exit 1
-fi
-
-if [ ! -f "${intro}" ]; then
- echoerr "sorry, file \"intro.flac\" does not exist"
- exit 1
-fi
-
-if [ "$ADDPROMO" = 'y' ]; then
- if [ ! -f "${promo}" ]; then
- echoerr "sorry, file \"promo.flac\" does not exist"
- exit 1
- fi
-fi
-
-if [ ! -f "${outro}" ]; then
- echoerr "sorry, file \"outro.flac\" does not exist"
- exit 1
-fi
-
-if [ ! -f "${mediafile}" ]; then
- echoerr "sorry, media file \"${mediafile}\" does not exist"
- exit
-fi
-
-if [ ! -r "${mediafile}" ]; then
- echoerr "sorry, media file \"${mediafile}\" is not readable"
- exit
-fi
-
-if [ $(ffprobe "${mediafile}" 2>&1 | grep "Audio:" | wc -l ) -eq 0 ]; then
- echoerr "sorry, media file \"${mediafile}\" has no audio track"
- exit
-fi
-
-# extract file name and extension
-media_dir=$(dirname ${mediafile})
-fname=${mediafile%.*}
-ext=${mediafile/*./}
-
-if [ "$ADDSUMMARY" = 'n' ]; then
- if [ ! -e "${media_dir}/summary.wav" ]
- then
- echoerr "ERROR: Can not find the summary file \"${media_dir}/summary.wav\""
- wget -O- --timeout=10 --tries=1 --quiet http://hackerpublicradio.org/say.php?id=${ep_num} | grep HPR_summary
- exit 1
- fi
-fi
-
-if [[ -e hpr${ep_num}.wav ]] || [[ -e hpr${ep_num}.mp3 ]] || [[ -e hpr${ep_num}.ogg ]] || [[ -e hpr${ep_num}.spx ]] || [[ -e hpr${ep_num}_summary.wav ]] || [[ -e ${fname}_mez_norm.wav ]] || [[ -e ${fname}_mez.wav ]] || [[ -e ${fname}_sox_norm.wav ]] || [[ -e ${fname}_sox.wav ]] || [[ -e ${fname}_tmp_hh.pcm ]] || [[ -e ${fname}_tmp_ia.pcm ]] || [[ -e ${fname}_tmp.log ]]
-then
- echoerr "Files for this episode already exist."
- ls -1 hpr${ep_num}* ${fname}_* 2>/dev/null
- exit 1
-fi
-
-echo "--------------------------------------------------------------------------------"
-echo "Geting metadata for hpr${ep_num}"
-
-while read -r line
-do
- field=$(echo $line | awk -F ':' '{print $1}')
- case $field in
- "HPR_summary")
- HPR_summary=$(echo $line | grep "HPR_summary: " | cut -c 14- )
- continue
- ;;
- "HPR_album")
- HPR_album=$(echo $line | grep "HPR_album: " | cut -c 12- )
- continue
- ;;
- "HPR_artist")
- HPR_artist=$(echo $line | grep "HPR_artist: " | cut -c 13- )
- continue
- ;;
- "HPR_comment")
- HPR_comment=$(echo $line | grep "HPR_comment: " | cut -c 14- )
- continue
- ;;
- "HPR_genre")
- HPR_genre=$(echo $line | grep "HPR_genre: " | cut -c 12- )
- continue
- ;;
- "HPR_title")
- HPR_title=$(echo $line | grep "HPR_title: " | cut -c 12- )
- continue
- ;;
- "HPR_track")
- HPR_track=$(echo $line | grep "HPR_track: " | cut -c 12- )
- continue
- ;;
- "HPR_year")
- HPR_year=$(echo $line | grep "HPR_year: " | cut -c 11- )
- continue
- ;;
- "HPR_duration")
- HPR_duration=$(echo $line | grep "HPR_duration: " | cut -c 15- )
- continue
- ;;
- "HPR_explicit")
- HPR_explicit=$(echo $line | grep "HPR_explicit: " | cut -c 15- )
- continue
- ;;
- "HPR_license")
- HPR_license=$(echo $line | grep "HPR_license: " | cut -c 14- )
- continue
- ;;
- esac
-done < <( wget --timeout=10 --tries=1 --quiet http://hackerpublicradio.org/say.php?id=${ep_num} -O - )
-
-if [[ -z "$ADDINTRO" || -z "$ADDPROMO" || -z "$ADDSUMMARY" || -z "$ADDOUTRO" || -z "$HPR_album" || -z "$HPR_artist" || -z "$HPR_comment" || -z "$HPR_genre" || -z "$HPR_title" || -z "$HPR_track" || -z "$HPR_year" || -z "$HPR_summary" || -z "$HPR_duration" || -z "$HPR_explicit" || -z "$HPR_license" ]]
-then
- echoerr "Could not find information on ${ep_num}. Has the show been posted ?"
- exit;
-fi
-echo "--------------------------------------------------------------------------------"
-echo "Add intro : $ADDINTRO"
-echo "Add promo : $ADDPROMO"
-echo "Add Summary : $ADDSUMMARY"
-echo "Add outro : $ADDOUTRO"
-echo "album : $HPR_album"
-echo "artist : $HPR_artist"
-echo "comment : $HPR_comment"
-echo "genre : $HPR_genre"
-echo "title : $HPR_title"
-echo "track : $HPR_track"
-echo "year : $HPR_year"
-echo "summary : $HPR_summary"
-echo "duration : $HPR_duration"
-echo "explicit : $HPR_explicit"
-echo "license : $HPR_license"
-
-if [[ $HPR_duration == "0" ]]
-then
- echoerr "The duration is set to 0. Please update the show with the correct time."
- exit;
-fi
-
-#============================================================
-# Preproc`s the source file
-
-echo "--------------------------------------------------------------------------------"
-echo "Prepare mezzanine file"
-ffmpeg -i ${mediafile} -ar 44100 -ac $CHANNELS ${fname}_sox.wav > ${fname}_tmp.log 2>&1
-
-if [ "$FIXAUDIO" = "1" ];then
- echo "normalizing audio"
- sox --temp "${TEMP_DIR}" --norm ${fname}_sox.wav ${fname}_sox_norm.wav
- mv -v ${fname}_sox_norm.wav ${fname}_sox.wav >> ${fname}_tmp.log 2>&1
-# normalize -a 0.5 ${fname}_sox.wav >> ${fname}_tmp.log 2>&1
-fi
-
-echo "--------------------------------------------------------------------------------"
-echo "Add HPR Branding"
-
-if [ "$ADDSUMMARY" = 'y' ]; then
- echo "Creating the summary"
- #echo "$HPR_summary" - | espeak -w hpr${ep_num}_summary.wav
- echo "$HPR_summary" - | text2wave - -o hpr${ep_num}_summary.wav #festival --tts
- #echo "${HPR_summary}" | gtts-cli - --output hpr${ep_num}_summary.mp3
- #ffmpeg -i hpr${ep_num}_summary.mp3 hpr${ep_num}_summary.wav
- #rm -v hpr${ep_num}_summary.mp3
-else
- echo "Copying the supplied summary"
- if [ ! -e "${media_dir}/summary.wav" ]
- then
- echoerr "ERROR: Can not find the summary file \"${media_dir}/summary.wav\""
- exit 1
- fi
- cp -v "${media_dir}/summary.wav" hpr${ep_num}_summary.wav
-fi
-
-ffmpeg -i hpr${ep_num}_summary.wav -ar 44100 -ac $CHANNELS -acodec pcm_s16le -f s16le - >> ${fname}_tmp_hh.pcm 2>> ${fname}_tmp.log
-ffmpeg -i hpr${ep_num}_summary.wav -ar 44100 -ac $CHANNELS -acodec pcm_s16le -f s16le - >> ${fname}_tmp_ia.pcm 2>> ${fname}_tmp.log
-rm hpr${ep_num}_summary.wav
-
-if [ "$ADDSPONSOR" = 'y' ]; then
- echo "Adding the sponsor"
- ffmpeg -i "$anhonesthost" -ar 44100 -ac $CHANNELS -acodec pcm_s16le -f s16le - >> ${fname}_tmp_hh.pcm 2>> ${fname}_tmp.log
- ffmpeg -i "$internetarchive" -ar 44100 -ac $CHANNELS -acodec pcm_s16le -f s16le - >> ${fname}_tmp_ia.pcm 2>> ${fname}_tmp.log
-else
- echo "NOT Adding the sponsor"
-fi
-
-if [ "$ADDPROMO" = 'y' ]; then
- echo "Adding the promo"
- ffmpeg -i "$promo" -ar 44100 -ac $CHANNELS -acodec pcm_s16le -f s16le - >> ${fname}_tmp_hh.pcm 2>> ${fname}_tmp.log
- ffmpeg -i "$promo" -ar 44100 -ac $CHANNELS -acodec pcm_s16le -f s16le - >> ${fname}_tmp_ia.pcm 2>> ${fname}_tmp.log
-fi
-
-if [ "$ADDINTRO" = 'y' ]; then
- echo "Adding the intro"
- ffmpeg -i "$intro" -ar 44100 -ac $CHANNELS -acodec pcm_s16le -f s16le - >> ${fname}_tmp_hh.pcm 2>> ${fname}_tmp.log
- ffmpeg -i "$intro" -ar 44100 -ac $CHANNELS -acodec pcm_s16le -f s16le - >> ${fname}_tmp_ia.pcm 2>> ${fname}_tmp.log
-fi
-
-echo "convert the uploaded episode and add it to the temp pcm file"
-ffmpeg -i ${fname}_sox.wav -ar 44100 -ac $CHANNELS -acodec pcm_s16le -f s16le - >> ${fname}_tmp_hh.pcm 2>> ${fname}_tmp.log
-ffmpeg -i ${fname}_sox.wav -ar 44100 -ac $CHANNELS -acodec pcm_s16le -f s16le - >> ${fname}_tmp_ia.pcm 2>> ${fname}_tmp.log
-
-if [ "$ADDOUTRO" = 'y' ]; then
- echo "Adding the outro"
- ffmpeg -i "$outro" -ar 44100 -ac $CHANNELS -acodec pcm_s16le -f s16le - >> ${fname}_tmp_hh.pcm 2>> ${fname}_tmp.log
- ffmpeg -i "$outro" -ar 44100 -ac $CHANNELS -acodec pcm_s16le -f s16le - >> ${fname}_tmp_ia.pcm 2>> ${fname}_tmp.log
-fi
-
-echo "Convert the pcm file to a know wav format"
-ffmpeg -f s16le -ar 44100 -ac $CHANNELS -acodec pcm_s16le -i ${fname}_tmp_hh.pcm ${fname}_mez.wav 2>> ${fname}_tmp.log
-ffmpeg -f s16le -ar 44100 -ac $CHANNELS -acodec pcm_s16le -i ${fname}_tmp_ia.pcm hpr${ep_num}.wav 2>> ${fname}_tmp.log
-
-echo "Normalizing the wav files"
-sox --temp "${TEMP_DIR}" --norm ${fname}_mez.wav ${fname}_mez_norm.wav
-mv -v ${fname}_mez_norm.wav ${fname}_mez.wav >> ${fname}_tmp.log 2>&1
-# normalize -a 0.5 ${fname}_mez.wav >> ${fname}_tmp.log 2>&1
-sox --temp "${TEMP_DIR}" --norm hpr${ep_num}.wav hpr${ep_num}_norm.wav
-mv -v hpr${ep_num}_norm.wav /var/IA/uploads/hpr${ep_num}.wav >> ${fname}_tmp.log 2>&1
-# normalize -a 0.5 hpr${ep_num}.wav >> ${fname}_tmp.log 2>&1
-
-echo "--------------------------------------------------------------------------------"
-echo "File information"
-ffprobe ${fname}_mez.wav 2>&1 | grep Audio:
-mediainfo ${fname}_mez.wav
-
-echo "--------------------------------------------------------------------------------"
-echo "Convert to opus for IA"
-opusenc hpr${ep_num}.wav /var/IA/uploads/hpr${ep_num}.opus
-
-echo "--------------------------------------------------------------------------------"
-echo "Convert to flac for IA"
-sox --temp "${TEMP_DIR}" -S hpr${ep_num}.wav /var/IA/uploads/hpr${ep_num}.flac
-
-echo "--------------------------------------------------------------------------------"
-echo "Convert to mp3 for HPR"
-sox --temp "${TEMP_DIR}" -S ${fname}_mez.wav hpr${ep_num}.mp3
-echo "Convert to mp3 for IA"
-sox --temp "${TEMP_DIR}" -S hpr${ep_num}.wav /var/IA/uploads/hpr${ep_num}.mp3
-
-echo "--------------------------------------------------------------------------------"
-echo "Convert to ogg for HPR"
-sox --temp "${TEMP_DIR}" -S ${fname}_mez.wav hpr${ep_num}.ogg
-echo "Convert to ogg for IA"
-sox --temp "${TEMP_DIR}" -S hpr${ep_num}.wav /var/IA/uploads/hpr${ep_num}.ogg
-
-echo "--------------------------------------------------------------------------------"
-echo "Convert to spx for HPR"
-sox --temp "${TEMP_DIR}" -S ${fname}_mez.wav -c 1 -r 16000 -t wav - | speexenc - hpr${ep_num}.spx
-echo "Convert to spx for IA"
-sox --temp "${TEMP_DIR}" -S hpr${ep_num}.wav -c 1 -r 16000 -t wav - | speexenc - /var/IA/uploads/hpr${ep_num}.spx
-
-
-if [[ ! -s /var/IA/uploads/hpr${ep_num}.wav ]] || [[ ! -s /var/IA/uploads/hpr${ep_num}.mp3 ]] || [[ ! -s /var/IA/uploads/hpr${ep_num}.ogg ]] || [[ ! -s /var/IA/uploads/hpr${ep_num}.spx ]] || [[ ! -s hpr${ep_num}.mp3 ]] || [[ ! -s hpr${ep_num}.ogg ]] || [[ ! -s hpr${ep_num}.spx ]]
-then
- echoerr "ERROR: Something went wrong encoding the files"
- exit 1
-fi
-
-fix_tags -album="$HPR_album" -artist="$HPR_artist" -comment="${HPR_comment} The license is ${HPR_license}" -genre="$HPR_genre" -title="$HPR_title" -track="$HPR_track" -year="$HPR_year" hpr${ep_num}* 2>> ${fname}_tmp.log 1>&2
-fix_tags -album="$HPR_album" -artist="$HPR_artist" -comment="$HPR_comment" -genre="$HPR_genre" -title="$HPR_title" -track="$HPR_track" -year="$HPR_year" /var/IA/uploads/hpr${ep_num}* 2>> ${fname}_tmp.log 1>&2
-fix_tags hpr${ep_num}*
-fix_tags /var/IA/uploads/hpr${ep_num}*
-
-#echo "Changing the file dates to the time of upload"
-touch -r ${mediafile} hpr${ep_num}*
-touch -r ${mediafile} /var/IA/uploads/hpr${ep_num}*
-
-
-rsync -ave ssh --partial --progress --ignore-existing hpr${ep_num}.mp3 hpr${ep_num}.ogg hpr${ep_num}.spx hpr:www/eps/
-
-firefox http://hackerpublicradio.org/local/hpr${ep_num}.mp3
-firefox http://hackerpublicradio.org/local/hpr${ep_num}.ogg
-firefox file:///var/IA/uploads/hpr${ep_num}.mp3
-firefox file:///var/IA/uploads/hpr${ep_num}.ogg
-
-echo "Source: $( mediainfo --Output=XML --Full "${mediafile}" | xmlstarlet sel -T -t -m '/_:MediaInfo/_:media/_:track[@type="Audio"]' -v '_:Duration' -n | awk -F '.' '{print $1}' )"
-mediainfo --Output=XML --Full hpr${ep_num}* /var/IA/uploads/hpr${ep_num}* | xmlstarlet sel -T -t -m '/_:MediaInfo/_:media/_:track[@type="Audio"]' -v '_:Duration' -n | awk -F '.' '{print $1}' | sort | uniq -c
-
-read -p "Remove files for \"${fname}\" (y|N) ? " -n 1 -r
-echo # (optional) move to a new line
-if [[ $REPLY =~ ^[Yy]$ ]]
-then
- mediafilename=$(basename "${mediafile}")
- mediaextension="${mediafilename##*.}"
-
- ssh hpr -t "mkdir /home/hpr/www/eps/hpr${ep_num}" >/dev/null 2>&1
- rsync -ave ssh --partial --progress --ignore-existing "${mediafile}" hpr:www/eps/hpr${ep_num}/hpr${ep_num}_source.${mediaextension}
- ssh hpr -t "ls -al /home/hpr/www/eps/hpr${ep_num}*"
- cp -v "${mediafile}" "/var/IA/uploads/hpr${ep_num}_source.${mediaextension}"
-
- #echo "Remove temp files"
- rm -v ${fname}_sox.wav ${fname}_tmp*.pcm ${fname}_tmp.log ${fname}_mez.wav
- mv -v ${fname}* hpr${ep_num}* *_${ep_num}_* /var/IA/done/
- wget --timeout=0 -q "http://hackerpublicradio.org/hpr_ogg_rss.php?gomax=1" -O - | xmlstarlet val --err -
- wget --timeout=0 -q "http://hackerpublicradio.org/hpr_mp3_rss.php?gomax=1" -O - | xmlstarlet val --err -
- wget --timeout=0 -q "http://hackerpublicradio.org/hpr_spx_rss.php?gomax=1" -O - | xmlstarlet val --err -
-
- #rsync -ave ssh --partial --progress /var/IA/uploads/ hpr:/home/hpr/upload/processed/
- rsync -ave ssh --partial --progress /var/IA/uploads/ borg:/data/IA/uploads/
- find /var/IA/done/ -empty -delete
-else
- echo "skipping...."
- echo "cp -v \"${mediafile}\" \"/var/IA/uploads/hpr${ep_num}_source.${mediaextension}\""
- echo "rm -v ${fname}_sox.wav ${fname}_tmp*.pcm ${fname}_tmp.log ${fname}_mez.wav"
- echo "mv -v ${fname}* hpr${ep_num}* *_${ep_num}_* /var/IA/done/"
- echo "wget --timeout=0 -q \"http://hackerpublicradio.org/hpr_ogg_rss.php?gomax=1\" -O - | xmlstarlet val --err -"
- echo "wget --timeout=0 -q \"http://hackerpublicradio.org/hpr_mp3_rss.php?gomax=1\" -O - | xmlstarlet val --err -"
- echo "wget --timeout=0 -q \"http://hackerpublicradio.org/hpr_spx_rss.php?gomax=1\" -O - | xmlstarlet val --err -"
- echo "rsync -ave ssh --partial --progress /var/IA/uploads/ borg:/data/IA/uploads/"
-fi
diff --git a/workflow/hprtranscode-just-transcode.bash b/workflow/hprtranscode-just-transcode.bash
deleted file mode 100755
index e14ecbb..0000000
--- a/workflow/hprtranscode-just-transcode.bash
+++ /dev/null
@@ -1,238 +0,0 @@
-#!/bin/bash
-# Copyright Ken Fallon - Released into the public domain. http://creativecommons.org/publicdomain/
-#============================================================
-
-echoerr()
-{
-echo "$@" 1>&2;
-}
-
-TEMP_DIR="/var/tmp/"
-CHANNELS="1"
-FIXAUDIO="1"
-ARTIST="EMPTY"
-TITLE="EMPTY"
-YEAR="EMPTY"
-SLOT="EMPTY"
-basedir="/var/IA"
-upload_dir="${basedir}/uploads"
-intro="${basedir}/short.flac"
-
-
-if [ "$#" -ne 2 ]; then
- echoerr "Please enter the source file and episode number"
- exit
-fi
-
-mediafile=${1}
-ep_num=${2}
-
-ep_num=$(echo $ep_num | sed 's/hpr//g')
-re='^[0-9]+$'
-if ! [[ $ep_num =~ $re ]] ; then
- echoerr "error: episode \"${ep_num}\" is not a number"
- exit 1
-fi
-
-if [ ! -f "${mediafile}" ]; then
- echoerr "sorry, media file \"${mediafile}\" does not exist"
- exit
-fi
-
-if [ ! -r "${mediafile}" ]; then
- echoerr "sorry, media file \"${mediafile}\" is not readable"
- exit
-fi
-
-if [ $(ffprobe "${mediafile}" 2>&1 | grep "Audio:" | wc -l ) -eq 0 ]; then
- echoerr "sorry, media file \"${mediafile}\" has no audio track"
- exit
-fi
-
-# extract file name and extension
-media_dir=$(dirname ${mediafile})
-fname=${mediafile%.*}
-ext=${mediafile/*./}
-
-if [[ -e hpr${ep_num}.wav ]] || [[ -e hpr${ep_num}.mp3 ]] || [[ -e hpr${ep_num}.ogg ]] || [[ -e hpr${ep_num}.spx ]] || [[ -e hpr${ep_num}_summary.wav ]] || [[ -e hpr${ep_num}.wav ]] || [[ -e ${fname}_mez.wav ]] || [[ -e ${fname}_sox_norm.wav ]] || [[ -e ${fname}_mezzanine.wav ]] || [[ -e ${fname}_tmp.pcm ]] || [[ -e ${fname}_tmp.log ]]
-then
- echoerr "Files for this episode already exist."
- ls -1 hpr${ep_num}* ${fname}_* 2>/dev/null
- exit 1
-fi
-
-echo "--------------------------------------------------------------------------------"
-echo "Geting metadata for hpr${ep_num}"
-
-while read -r line
-do
- field=$(echo $line | awk -F ':' '{print $1}')
- case $field in
- "HPR_summary")
- HPR_summary=$(echo $line | grep "HPR_summary: " | cut -c 14- )
- continue
- ;;
- "HPR_album")
- HPR_album=$(echo $line | grep "HPR_album: " | cut -c 12- )
- continue
- ;;
- "HPR_artist")
- HPR_artist=$(echo $line | grep "HPR_artist: " | cut -c 13- )
- continue
- ;;
- "HPR_comment")
- HPR_comment=$(echo $line | grep "HPR_comment: " | cut -c 14- )
- continue
- ;;
- "HPR_genre")
- HPR_genre=$(echo $line | grep "HPR_genre: " | cut -c 12- )
- continue
- ;;
- "HPR_title")
- HPR_title=$(echo $line | grep "HPR_title: " | cut -c 12- )
- continue
- ;;
- "HPR_track")
- HPR_track=$(echo $line | grep "HPR_track: " | cut -c 12- )
- continue
- ;;
- "HPR_year")
- HPR_year=$(echo $line | grep "HPR_year: " | cut -c 11- )
- continue
- ;;
- "HPR_duration")
- HPR_duration=$(echo $line | grep "HPR_duration: " | cut -c 15- )
- continue
- ;;
- "HPR_explicit")
- HPR_explicit=$(echo $line | grep "HPR_explicit: " | cut -c 15- )
- continue
- ;;
- "HPR_license")
- HPR_license=$(echo $line | grep "HPR_license: " | cut -c 14- )
- continue
- ;;
- esac
-done < <( wget --timeout=10 --tries=1 --quiet http://hackerpublicradio.org/say.php?id=${ep_num} -O - )
-
-if [[ -z "$HPR_album" || -z "$HPR_artist" || -z "$HPR_comment" || -z "$HPR_genre" || -z "$HPR_title" || -z "$HPR_track" || -z "$HPR_year" || -z "$HPR_summary" || -z "$HPR_duration" || -z "$HPR_explicit" || -z "$HPR_license" ]]
-then
- echoerr "Could not find information on ${ep_num}. Has the show been posted ?"
- exit;
-fi
-echo "--------------------------------------------------------------------------------"
-echo "album : $HPR_album"
-echo "artist : $HPR_artist"
-echo "comment : $HPR_comment"
-echo "genre : $HPR_genre"
-echo "title : $HPR_title"
-echo "track : $HPR_track"
-echo "year : $HPR_year"
-echo "summary : $HPR_summary"
-echo "duration : $HPR_duration"
-echo "explicit : $HPR_explicit"
-echo "license : $HPR_license"
-
-if [[ $HPR_duration == "0" ]]
-then
- echoerr "The duration is set to 0. Please update the show with the correct time."
- exit;
-fi
-
-#============================================================
-# Preproc`s the source file
-
-echo "--------------------------------------------------------------------------------"
-echo "Prepare mezzanine file"
-ffmpeg -i ${mediafile} -ar 44100 -ac $CHANNELS hpr${ep_num}.wav > ${fname}_tmp.log 2>&1
-
-echo "Normalizing the wav files"
-sox --temp "${TEMP_DIR}" --norm hpr${ep_num}.wav hpr${ep_num}_norm.wav
-mv -v hpr${ep_num}_norm.wav ${upload_dir}/hpr${ep_num}.wav >> ${fname}_tmp.log 2>&1
-
-echo "--------------------------------------------------------------------------------"
-echo "File information"
-ffprobe ${upload_dir}/hpr${ep_num}.wav 2>&1 | grep Audio:
-mediainfo ${upload_dir}/hpr${ep_num}.wav
-
-echo "--------------------------------------------------------------------------------"
-echo "Convert to opus"
-opusenc ${upload_dir}/hpr${ep_num}.wav ${upload_dir}/hpr${ep_num}.opus 2>> ${fname}_tmp.log 1>&2
-
-echo "--------------------------------------------------------------------------------"
-echo "Convert to flac"
-sox --temp "${TEMP_DIR}" -S ${upload_dir}/hpr${ep_num}.wav ${upload_dir}/hpr${ep_num}.flac 2>> ${fname}_tmp.log 1>&2
-
-echo "--------------------------------------------------------------------------------"
-echo "Convert to mp3"
-sox --temp "${TEMP_DIR}" -S ${upload_dir}/hpr${ep_num}.wav ${upload_dir}/hpr${ep_num}.mp3 2>> ${fname}_tmp.log 1>&2
-
-echo "--------------------------------------------------------------------------------"
-echo "Convert to ogg"
-sox --temp "${TEMP_DIR}" -S ${upload_dir}/hpr${ep_num}.wav ${upload_dir}/hpr${ep_num}.ogg 2>> ${fname}_tmp.log 1>&2
-
-echo "--------------------------------------------------------------------------------"
-echo "Convert to spx"
-sox --temp "${TEMP_DIR}" -S ${upload_dir}/hpr${ep_num}.wav -c 1 -r 16000 -t wav - | speexenc - ${upload_dir}/hpr${ep_num}.spx 2>> ${fname}_tmp.log 1>&2
-
-if [[ ! -s ${upload_dir}/hpr${ep_num}.wav ]] || [[ ! -s ${upload_dir}/hpr${ep_num}.opus ]] || [[ ! -s ${upload_dir}/hpr${ep_num}.flac ]] || [[ ! -s ${upload_dir}/hpr${ep_num}.mp3 ]] || [[ ! -s ${upload_dir}/hpr${ep_num}.ogg ]] || [[ ! -s ${upload_dir}/hpr${ep_num}.spx ]]
-then
- echoerr "ERROR: Something went wrong encoding the files"
- exit 1
-fi
-
-fix_tags -album="$HPR_album" -artist="$HPR_artist" -comment="${HPR_comment} The license is ${HPR_license}" -genre="$HPR_genre" -title="$HPR_title" -track="$HPR_track" -year="$HPR_year" ${upload_dir}/hpr${ep_num}* 2>> ${fname}_tmp.log 1>&2
-
-fix_tags ${upload_dir}/hpr${ep_num}*
-
-#echo "Changing the file dates to the time of upload"
-touch -r ${mediafile} hpr${ep_num}*
-touch -r ${mediafile} ${upload_dir}/hpr${ep_num}*
-
-ls -al hpr${ep_num}* ${upload_dir}/hpr${ep_num}*
-
-rsync -ave ssh --partial --progress --ignore-existing ${upload_dir}/hpr${ep_num}.mp3 ${upload_dir}/hpr${ep_num}.ogg ${upload_dir}/hpr${ep_num}.spx hpr:www/eps/
-
-firefox http://hackerpublicradio.org/local/hpr${ep_num}.mp3
-firefox http://hackerpublicradio.org/local/hpr${ep_num}.ogg
-firefox file://${upload_dir}/hpr${ep_num}.mp3
-firefox file://${upload_dir}/hpr${ep_num}.ogg
-mpv "http://hackerpublicradio.org/local/hpr${ep_num}.spx" "http://hackerpublicradio.org/local/hpr${ep_num}.ogg" "http://hackerpublicradio.org/local/hpr${ep_num}.mp3" "file://${upload_dir}/hpr${ep_num}.spx" "file://${upload_dir}/hpr${ep_num}.opus" "file://${upload_dir}/hpr${ep_num}.ogg" "file://${upload_dir}/hpr${ep_num}.mp3" "file://${upload_dir}/hpr${ep_num}.flac"
-
-echo "Source: $( mediainfo --Output=XML --Full "${mediafile}" | xmlstarlet sel -T -t -m '/_:MediaInfo/_:media/_:track[@type="Audio"]' -v '_:Duration' -n | awk -F '.' '{print $1}' )"
-mediainfo --Output=XML --Full hpr${ep_num}* ${upload_dir}/hpr${ep_num}* | xmlstarlet sel -T -t -m '/_:MediaInfo/_:media/_:track[@type="Audio"]' -v '_:Duration' -n | awk -F '.' '{print $1}' | sort | uniq -c
-
-read -p "Remove files for \"${fname}\" (y|N) ? " -n 1 -r
-echo # (optional) move to a new line
-if [[ $REPLY =~ ^[Yy]$ ]]
-then
- mediafilename=$(basename "${mediafile}")
- mediaextension="${mediafilename##*.}"
-
- ssh hpr -t "mkdir /home/hpr/www/eps/hpr${ep_num}" >/dev/null 2>&1
- rsync -ave ssh --partial --progress --ignore-existing "${mediafile}" hpr:www/eps/hpr${ep_num}/hpr${ep_num}_source.${mediaextension}
- ssh hpr -t "ls -al /home/hpr/www/eps/hpr${ep_num}*"
- cp -v "${mediafile}" "${upload_dir}/hpr${ep_num}_source.${mediaextension}"
-
- #echo "Remove temp files"
- rm -v ${fname}_mezzanine.wav ${fname}_tmp*.pcm ${fname}_tmp.log ${fname}_mez.wav
- mv -v ${fname}* hpr${ep_num}* *_${ep_num}_* /var/IA/done/
- wget --timeout=0 -q "http://hackerpublicradio.org/hpr_ogg_rss.php?gomax=1" -O - | xmlstarlet val --err -
- wget --timeout=0 -q "http://hackerpublicradio.org/hpr_mp3_rss.php?gomax=1" -O - | xmlstarlet val --err -
- wget --timeout=0 -q "http://hackerpublicradio.org/hpr_spx_rss.php?gomax=1" -O - | xmlstarlet val --err -
- wget --timeout=0 -q "http://hackerpublicradio.org/rss-future.php" -O - | xmlstarlet val --err -
-
- #rsync -ave ssh --partial --progress ${upload_dir}/ hpr:/home/hpr/upload/processed/
- rsync -ave ssh --partial --progress ${upload_dir}/ borg:/data/IA/uploads/
- echo "$( ssh borg -t "ls -al /data/IA/uploads/hpr${ep_num}*" ; ls -al ${upload_dir}/hpr${ep_num}* )" | grep "hpr${ep_num}" | awk '{print $5, $NF}' | sort
- find /var/IA/done/ -empty -delete
-else
- echo "skipping...."
- echo "cp -v \"${mediafile}\" \"${upload_dir}/hpr${ep_num}_source.${mediaextension}\""
- echo "rm -v ${fname}_mezzanine.wav ${fname}_tmp*.pcm ${fname}_tmp.log ${fname}_mez.wav"
- echo "mv -v ${fname}* hpr${ep_num}* *_${ep_num}_* /var/IA/done/"
- echo "wget --timeout=0 -q \"http://hackerpublicradio.org/hpr_ogg_rss.php?gomax=1\" -O - | xmlstarlet val --err -"
- echo "wget --timeout=0 -q \"http://hackerpublicradio.org/hpr_mp3_rss.php?gomax=1\" -O - | xmlstarlet val --err -"
- echo "wget --timeout=0 -q \"http://hackerpublicradio.org/hpr_spx_rss.php?gomax=1\" -O - | xmlstarlet val --err -"
- echo "rsync -ave ssh --partial --progress ${upload_dir}/ borg:/data/IA/uploads/"
-fi
diff --git a/workflow/hprtranscode-simple.bash b/workflow/hprtranscode-simple.bash
deleted file mode 100755
index 191f1ae..0000000
--- a/workflow/hprtranscode-simple.bash
+++ /dev/null
@@ -1,603 +0,0 @@
-#!/usr/bin/env bash
-# Copyright Ken Fallon - Released into the public domain. http://creativecommons.org/publicdomain/
-#============================================================
-TEMP_DIR="/var/tmp/"
-CHANNELS="1"
-FIXAUDIO="1"
-ARTIST="EMPTY"
-TITLE="EMPTY"
-YEAR="EMPTY"
-SLOT="EMPTY"
-basedir="/var/IA"
-upload_dir="${basedir}/uploads"
-theme="${basedir}/theme.wav"
-outro="${basedir}/2022-03-07-outro.wav"
-ttsserver="http://localhost:5500"
-processing_dir="/home/ken/tmp/hpr/processing"
-git_image_dir="/home/ken/sourcecode/hpr/HPR_Public_Code/www/images/hosts"
-acceptable_duration_difference="2" # Seconds
-thedate=$(/usr/bin/date -u +%Y-%m-%d_%H-%M-%SZ_%A)
-echo "Processing the next HPR Show in the queue"
-
-
-if [ $( curl -s -o /dev/null -w "%{http_code}" -X 'GET' "${ttsserver}/api/voices" -H 'accept: */*' ) != "200" ]
-then
- echo "Please start the tts-server \"podman run -it -p 5500:5500 synesthesiam/opentts:en\""
- exit
-fi
-
-function abs_diff {
- echo $(($1 >= $2 ? $1 - $2 : $2 - $1))
-}
-
-function create_tts_summary {
- HPR_summary="$( cat "hpr${ep_num}_summary.txt" )"
- echo "INFO: Converting text \"${HPR_summary}\" to speech."
- curl -X 'GET' -G --data-urlencode "voice=coqui-tts:en_ljspeech" --data-urlencode "text=${HPR_summary}" --data-urlencode "vocoder=high" --data-urlencode "denoiserStrength=0.03" --data-urlencode "cache=false" ${ttsserver}/api/tts -H 'accept: */*' --output ~hpr${ep_num}_summary.wav
-}
-
-###################
-# Locate media directory
-#
-#
-show_type=""
-if [[ -f "${1}" && -n "${2}" ]]
-then
- show_type="local"
- mediafile="${1}"
- media_dir="$( dirname "${mediafile}" )"
- ep_num="${2}"
- echo "The duration is \"$( \date -ud "1970-01-01 $( ffprobe -i "${mediafile}" 2>&1| awk -F ': |, ' '/Duration:/ { print $2 }' )" +%s )\"."
-else
- show_type="remote"
- response=$( curl --silent --netrc-file ${HOME}/.netrc "https://hub.hackerpublicradio.org/cms/status.php" | \
- grep 'SHOW_POSTED' | \
- head -1 | \
- sed 's/,/ /g' )
-
- if [ -z "${response}" ]
- then
- echo "INFO: There appear to be no more shows with the status \"SHOW_POSTED\"."
- echo "Getting a list of all the reservations."
- curl --silent --netrc-file ${HOME}/.netrc "https://hub.hackerpublicradio.org/cms/status.php"
- exit 3
- fi
-
- timestamp_epoc="$( echo ${response} | awk '{print $1}' )"
- ep_num="$( echo ${response} | awk '{print $2}' )"
- ep_date="$( echo ${response} | awk '{print $3}' )"
- key="$( echo ${response} | awk '{print $4}' )"
- status="$( echo ${response} | awk '{print $5}' )"
- email="$( echo ${response} | awk '{print $6}' )"
-
- #source_dir="hpr:/home/hpr/upload/${timestamp_epoc}_${ep_num}_${ep_date}_${key}"
- dest_dir="${timestamp_epoc}_${ep_num}_${ep_date}_${key}"
- media_dir="${processing_dir}/${timestamp_epoc}_${ep_num}_${ep_date}_${key}"
-fi
-
-if [ -z "${show_type}" ]
-then
- echo "sorry, variable \"show_type\" is not set."
- exit
-fi
-
-if [ -z "${media_dir}" ]
-then
- echo "sorry, variable \"media_dir\" is not set."
- exit
-fi
-
-if [ ! -d "${media_dir}" ]
-then
- echo "sorry, directory \"media_dir: ${media_dir}\" does not exist"
- exit 1
-fi
-
-echo detox -v "${media_dir}/"
-detox -vr "${media_dir}/"
-
-if [[ "$( find "${media_dir}" \( -iname "hpr${ep_num}.wav" -o -iname "hpr${ep_num}.mp3" -o -iname "hpr${ep_num}.ogg" -o -iname "hpr${ep_num}.spx" -o -iname "hpr${ep_num}_summary.txt" -o -iname "hpr${ep_num}_summary.wav" -o -iname "hpr${ep_num}.wav" -o -iname "*_mez.wav" -o -iname "*_sox_norm.wav" -o -iname "*_mezzanine.wav" -o -iname "*_tmp.pcm" -o -iname "hpr${ep_num}_intro.wav" -o -iname "~hpr${ep_num}_summary.wav" -o -iname "~~hpr${ep_num}_summary.wav" -o -iname "*_tmp.log" -o -iname "silence.wav" -o -iname "hpr${ep_num}_norm.wav" \) | wc -l )" -ne 0 ]]
-then
- echo "Files for this episode already exist."
- find "${media_dir}" \( -iname "hpr${ep_num}.wav" -o -iname "hpr${ep_num}.mp3" -o -iname "hpr${ep_num}.ogg" -o -iname "hpr${ep_num}.spx" -o -iname "hpr${ep_num}_summary.txt" -o -iname "hpr${ep_num}_summary.wav" -o -iname "hpr${ep_num}.wav" -o -iname "*_mez.wav" -o -iname "*_sox_norm.wav" -o -iname "*_mezzanine.wav" -o -iname "*_tmp.pcm" -o -iname "hpr${ep_num}_intro.wav" -o -iname "~hpr${ep_num}_summary.wav" -o -iname "~~hpr${ep_num}_summary.wav" -o -iname "*_tmp.log" -o -iname "silence.wav" -o -iname "hpr${ep_num}_norm.wav" \)
- read -p "Shall I remove them ? (N|y) ? " -n 1 -r
- echo # (optional) move to a new line
- if [[ ! $REPLY =~ ^[yY]$ ]]
- then
- echo "skipping...."
- exit
- else
- echo "Removing old files ...."
- find "${media_dir}" \( -iname "hpr${ep_num}.wav" -o -iname "hpr${ep_num}.mp3" -o -iname "hpr${ep_num}.ogg" -o -iname "hpr${ep_num}.spx" -o -iname "hpr${ep_num}_summary.txt" -o -iname "hpr${ep_num}_summary.wav" -o -iname "hpr${ep_num}.wav" -o -iname "*_mez.wav" -o -iname "*_sox_norm.wav" -o -iname "*_mezzanine.wav" -o -iname "*_tmp.pcm" -o -iname "hpr${ep_num}_intro.wav" -o -iname "~hpr${ep_num}_summary.wav" -o -iname "~~hpr${ep_num}_summary.wav" -o -iname "*_tmp.log" -o -iname "silence.wav" -o -iname "hpr${ep_num}_norm.wav" \) -delete -print
- fi
-fi
-
-
-#####################################################
-# Process media
-
-media=$( find "${media_dir}" -type f -exec file {} \; | grep -Ei 'audio|mpeg|video|MP4' | awk -F ': ' '{print $1}' )
-if [ -z "${media}" ]
-then
- echo "ERROR: Can't find any media in \"${media_dir}/\""
- find "${media_dir}/" -type f
- exit 1
-fi
-
-mediafile=""
-
-echo "Found more than one media file. Please select which one to use ?"
-if [ "$( echo "${media}" | wc -l )" -ne 1 ]
-then
- select this_media in $( echo "${media}" )
- do
- echo "INFO: You selected \"${this_media}\"."
- ls -al "${this_media}"
- mediafile="${this_media}"
- break
- done
-else
- echo "INFO: Selecting media as \"${media}\"."
- mediafile="${media}"
-fi
-
-# extract file name and extension
-fname="$( basename "${mediafile%.*}" )"
-ext="${mediafile/*./}"
-
-cd "${media_dir}/"
-pwd
-
-echo "INFO: Processing hpr${ep_num} from ${email}"
-echo "INFO: Working directory is \"${media_dir}/\""
-echo ""
-
-
-if [ -z "${mediafile}" ]
-then
- echo "sorry, variable \"mediafile\" is not set."
- exit
-fi
-
-if [ -z "${fname}" ]
-then
- echo "sorry, variable \"fname\" is not set."
- exit
-fi
-
-if [ -z "${ext}" ]
-then
- echo "sorry, variable \"ext\" is not set."
- exit
-fi
-
-if [ ! -f "${mediafile}" ]
-then
- echo "sorry, media file \"${mediafile}\" does not exist"
- exit
-fi
-
-echo "--------------------------------------------------------------------------------" | tee -a ${fname}_tmp.log
-echo "File information for \"${mediafile}\"" | tee -a ${fname}_tmp.log
-ffprobe ${mediafile} 2>&1 | grep Audio:
-mediainfo ${mediafile}
-audio2image.bash ${mediafile}
-xdg-open ${mediafile%.*}.png >/dev/null 2>&1 &
-unset REPLY
-until [[ $REPLY =~ ^[yYnN]$ ]]
-do
- read -p "Source Waveform look ok ? (N|y) ? " -n 1 -r
- echo ""
-done
-
-if [[ ! $REPLY =~ ^[yY]$ ]]
-then
- echo "skipping.... $REPLY"
- exit
-fi
-
-
-re='^[0-9]+$'
-if ! [[ $ep_num =~ $re ]]
-then
- echo "error: episode \"${ep_num}\" is not a number"
- exit 1
-fi
-
-if [ ! -f "${outro}" ]
-then
- echo "sorry, file \"${outro}\" does not exist"
- exit 1
-fi
-
-if [ ! -f "${theme}" ]
-then
- echo "sorry, file \"${theme}\" does not exist"
- exit 1
-fi
-
-if [ ! -r "${mediafile}" ]
-then
- echo "sorry, media file \"${mediafile}\" is not readable"
- exit
-fi
-
-if [ $(ffprobe "${mediafile}" 2>&1 | grep "Audio:" | wc -l ) -eq 0 ]
-then
- echo "sorry, media file \"${mediafile}\" has no audio track"
- exit
-fi
-
-xdg-open "https://hackerpublicradio.org/eps/hpr${ep_num}/index.html" >/dev/null 2>&1 &
-
-mpv -vo=null "${mediafile}"
-
-unset REPLY
-until [[ $REPLY =~ ^[yYnN]$ ]]
-do
- read -p "Is the audio ok (n|Y) ? " -n 1 -r
- echo ""
-done
-
-if [[ ! $REPLY =~ ^[yY]$ ]]
-then
- echo "skipping.... $REPLY"
- exit
-fi
-
-echo "--------------------------------------------------------------------------------"
-echo "Geting metadata for hpr${ep_num}"
-
-while read -r line
-do
- field=$(echo $line | awk -F ':' '{print $1}')
- case $field in
- "HPR_summary")
- HPR_summary=$(echo $line | grep "HPR_summary: " | cut -c 14- )
- continue
- ;;
- "HPR_album")
- HPR_album=$(echo $line | grep "HPR_album: " | cut -c 12- )
- continue
- ;;
- "HPR_artist")
- HPR_artist=$(echo $line | grep "HPR_artist: " | cut -c 13- )
- continue
- ;;
- "HPR_comment")
- HPR_comment=$(echo $line | grep "HPR_comment: " | cut -c 14- )
- continue
- ;;
- "HPR_genre")
- HPR_genre=$(echo $line | grep "HPR_genre: " | cut -c 12- )
- continue
- ;;
- "HPR_title")
- HPR_title=$(echo $line | grep "HPR_title: " | cut -c 12- )
- continue
- ;;
- "HPR_track")
- HPR_track=$(echo $line | grep "HPR_track: " | cut -c 12- )
- continue
- ;;
- "HPR_year")
- HPR_year=$(echo $line | grep "HPR_year: " | cut -c 11- )
- continue
- ;;
- "HPR_duration")
- HPR_duration=$(echo $line | grep "HPR_duration: " | cut -c 15- )
- continue
- ;;
- "HPR_explicit")
- HPR_explicit=$(echo $line | grep "HPR_explicit: " | cut -c 15- )
- continue
- ;;
- "HPR_license")
- HPR_license=$(echo $line | grep "HPR_license: " | cut -c 14- )
- continue
- ;;
- esac
-done < <( curl --silent --netrc-file ${HOME}/.netrc "https://hub.hackerpublicradio.org/cms/say.php?id=${ep_num}" )
-
-if [[ -z "$HPR_album" || -z "$HPR_artist" || -z "$HPR_comment" || -z "$HPR_genre" || -z "$HPR_title" || -z "$HPR_track" || -z "$HPR_year" || -z "$HPR_summary" || -z "$HPR_duration" || -z "$HPR_explicit" || -z "$HPR_license" ]]
-then
- echo "Could not find information on ${ep_num}. Has the show been posted ?"
- exit;
-fi
-echo "--------------------------------------------------------------------------------"
-echo "album : $HPR_album"
-echo "artist : $HPR_artist"
-echo "comment : $HPR_comment"
-echo "genre : $HPR_genre"
-echo "title : $HPR_title"
-echo "track : $HPR_track"
-echo "year : $HPR_year"
-echo "summary : $HPR_summary"
-echo "duration : $HPR_duration"
-echo "explicit : $HPR_explicit"
-echo "license : $HPR_license"
-echo "media_dir : ${media_dir}"
-echo "mediafile : ${mediafile}"
-echo "fname : ${fname}"
-echo "ext : ${ext}"
-
-if [[ $HPR_duration == "0" ]]
-then
- echo "The duration is set to 0. Please update the show with the correct time."
- exit;
-fi
-
-#============================================================
-# Preproc`s the source file
-
-echo "--------------------------------------------------------------------------------" | tee -a ${fname}_tmp.log
-echo "Prepare mezzanine file" | tee -a ${fname}_tmp.log
-ffmpeg -y -i ${mediafile} -ar 44100 -ac $CHANNELS ${fname}_mezzanine.wav > ${fname}_tmp.log 2>&1
-
-echo "--------------------------------------------------------------------------------" | tee -a ${fname}_tmp.log
-echo "Add HPR Branding" | tee -a ${fname}_tmp.log
-
-echo "Creating the summary" | tee -a ${fname}_tmp.log
-#echo "$HPR_summary" - | text2wave -F 44100 - -o hpr${ep_num}_summary.wav #festival --tts
-#echo "$HPR_summary" - | espeak -w ~hpr${ep_num}_summary.wav
-
-echo "$HPR_summary" > "hpr${ep_num}_summary.txt"
-
-create_tts_summary_ok="not-ok"
-
-while [ "${create_tts_summary_ok}" != "OK" ]
-do
- create_tts_summary
-
- xdg-open "hpr${ep_num}_summary.txt" 2>&1 &
- mpv --speed=1.8 ~hpr${ep_num}_summary.wav
-
- read -p "Is the text to speech correct (y|N) ? " -n 1 -r
- echo # (optional) move to a new line
- if [[ $REPLY =~ ^[Yy]$ ]]
- then
- create_tts_summary_ok="OK"
- else
- echo "WARN: Please correct the text and try again."
- inotifywait --event modify "hpr${ep_num}_summary.txt"
- fi
-done
-echo "INFO: TTS complete."
-
-ffmpeg -y -i ~hpr${ep_num}_summary.wav -ar 44100 ~~hpr${ep_num}_summary.wav >> ${fname}_tmp.log 2>&1
-
-sox -V2 -n -r 44100 -c 1 silence.wav trim 0.0 6.0 >> ${fname}_tmp.log 2>&1
-
-sox -V2 silence.wav ~~hpr${ep_num}_summary.wav hpr${ep_num}_summary.wav >> ${fname}_tmp.log 2>&1
-
-echo "Adding the theme" | tee -a ${fname}_tmp.log
-sox -V2 -m "hpr${ep_num}_summary.wav" "${theme}" "hpr${ep_num}_intro.wav" >> ${fname}_tmp.log 2>&1
-
-echo "Creating the sandwitch: \"hpr${ep_num}_intro.wav\" \"${fname}_mezzanine.wav\" \"${outro}\" \"hpr${ep_num}.wav\" " | tee -a ${fname}_tmp.log
-
-sox -V2 "hpr${ep_num}_intro.wav" "${fname}_mezzanine.wav" "${outro}" "hpr${ep_num}.wav" >> ${fname}_tmp.log 2>&1
-
-echo "Normalizing the wav files" | tee -a ${fname}_tmp.log
-#sox --temp "${TEMP_DIR}" --norm hpr${ep_num}.wav hpr${ep_num}_norm.wav
-ffmpeg -y -i hpr${ep_num}.wav -af loudnorm=I=-16:LRA=11:TP=-1.5 hpr${ep_num}_norm.wav >> ${fname}_tmp.log 2>&1
-
-mv -v hpr${ep_num}_norm.wav ${upload_dir}/hpr${ep_num}.wav >> ${fname}_tmp.log 2>&1
-
-echo "--------------------------------------------------------------------------------" | tee -a ${fname}_tmp.log
-echo "File information" | tee -a ${fname}_tmp.log
-ffprobe ${upload_dir}/hpr${ep_num}.wav 2>&1 | grep Audio:
-mediainfo ${upload_dir}/hpr${ep_num}.wav
-audio2image.bash ${upload_dir}/hpr${ep_num}.wav
-xdg-open ${upload_dir}/hpr${ep_num}.png >/dev/null 2>&1 &
-read -p "Processed Waveform look ok ? (N|y) ? " -n 1 -r
-echo # (optional) move to a new line
-if [[ ! $REPLY =~ ^[yY]$ ]]
-then
- echo "skipping...."
- exit
-fi
-rm -v ${upload_dir}/hpr${ep_num}.png
-
-
-echo "--------------------------------------------------------------------------------"
-echo "Geting transcript of hpr${ep_num}"
-
-whisper --model tiny --language en --output_dir "${media_dir}" "${upload_dir}/hpr${ep_num}.wav" | tee -a ${fname}_tmp.log
-
-ls -al "${media_dir}/hpr${ep_num}".*
-xdg-open "${media_dir}/hpr${ep_num}".txt 2>&1 &
-echo mpv --no-audio-display --audio-channels=stereo --speed="3.5" "${media_dir}/hpr${ep_num}".txt
-unset REPLY
-until [[ $REPLY =~ ^[yYnN]$ ]]
-do
- read -p "Processed transcript look ok ? (N|y) ? " -n 1 -r
- echo ""
-done
-
-if [[ ! $REPLY =~ ^[yY]$ ]]
-then
- echo "skipping.... $REPLY"
- exit
-fi
-
-mkdir "${upload_dir}/hpr${ep_num}" >/dev/null 2>&1
-
-cp -v "${media_dir}/hpr${ep_num}".vtt "${upload_dir}/hpr${ep_num}/hpr${ep_num}.vtt" | tee -a ${fname}_tmp.log
-cp -v "${media_dir}/hpr${ep_num}".srt "${upload_dir}/hpr${ep_num}/hpr${ep_num}.srt" | tee -a ${fname}_tmp.log
-cp -v "${media_dir}/hpr${ep_num}".txt "${upload_dir}/hpr${ep_num}/hpr${ep_num}.txt" | tee -a ${fname}_tmp.log
-cp -v "${media_dir}/hpr${ep_num}".tsv "${upload_dir}/hpr${ep_num}/hpr${ep_num}.tsv" | tee -a ${fname}_tmp.log
-cp -v "${media_dir}/hpr${ep_num}".json "${upload_dir}/hpr${ep_num}/hpr${ep_num}.json" | tee -a ${fname}_tmp.log
-
-echo "--------------------------------------------------------------------------------" | tee -a ${fname}_tmp.log
-echo "Convert to opus" | tee -a ${fname}_tmp.log
-ffmpeg -y -i ${upload_dir}/hpr${ep_num}.wav ${upload_dir}/hpr${ep_num}.opus 2>> ${fname}_tmp.log 1>&2
-
-echo "--------------------------------------------------------------------------------" | tee -a ${fname}_tmp.log
-echo "Convert to flac" | tee -a ${fname}_tmp.log
-ffmpeg -y -i ${upload_dir}/hpr${ep_num}.wav ${upload_dir}/hpr${ep_num}.flac 2>> ${fname}_tmp.log 1>&2
-
-echo "--------------------------------------------------------------------------------" | tee -a ${fname}_tmp.log
-echo "Convert to mp3" | tee -a ${fname}_tmp.log
-ffmpeg -y -i ${upload_dir}/hpr${ep_num}.wav ${upload_dir}/hpr${ep_num}.mp3 2>> ${fname}_tmp.log 1>&2
-
-echo "--------------------------------------------------------------------------------" | tee -a ${fname}_tmp.log
-echo "Convert to ogg" | tee -a ${fname}_tmp.log
-#ffmpeg -y -i ${upload_dir}/hpr${ep_num}.wav ${upload_dir}/hpr${ep_num}.ogg 2>> ${fname}_tmp.log 1>&2
-ffmpeg -y -i ${upload_dir}/hpr${ep_num}.wav -acodec libopus -f ogg ${upload_dir}/hpr${ep_num}.ogg 2>> ${fname}_tmp.log 1>&2
-
-echo "--------------------------------------------------------------------------------" | tee -a ${fname}_tmp.log
-echo "Convert to spx" | tee -a ${fname}_tmp.log
-ffmpeg -y -i ${upload_dir}/hpr${ep_num}.wav ${upload_dir}/hpr${ep_num}.spx 2>> ${fname}_tmp.log 1>&2
-
-### End conversion
-
-intro_duration="$( mediainfo --Output=XML --Full "hpr${ep_num}_intro.wav" | xmlstarlet sel -T -t -m '/_:MediaInfo/_:media/_:track[@type="Audio"]' -v '_:Duration' -n | awk -F '.' '{print $1}' )"
-outro_duration="$( mediainfo --Output=XML --Full "${outro}" | xmlstarlet sel -T -t -m '/_:MediaInfo/_:media/_:track[@type="Audio"]' -v '_:Duration' -n | awk -F '.' '{print $1}' )"
-source_duration="$( mediainfo --Output=XML --Full "${mediafile}" | xmlstarlet sel -T -t -m '/_:MediaInfo/_:media/_:track[@type="Audio"]' -v '_:Duration' -n | awk -F '.' '{print $1}' )"
-expected_duration=$(( ${intro_duration} + ${HPR_duration} + ${outro_duration} ))
-
-echo "Intro(${intro_duration}) + Show(${HPR_duration}) + Outro(${outro_duration}) = ${expected_duration}"
-
-media_error="0"
-
-for check_file in \
-${upload_dir}/hpr${ep_num}.wav \
-${upload_dir}/hpr${ep_num}.opus \
-${upload_dir}/hpr${ep_num}.flac \
-${upload_dir}/hpr${ep_num}.mp3 \
-${upload_dir}/hpr${ep_num}.spx \
-${upload_dir}/hpr${ep_num}.ogg
-do
- # ${upload_dir}/hpr${ep_num}.spx
- echo "INFO: Processing the file \"${check_file}\""
- if [[ ! -s "${check_file}" ]]
- then
- echo "ERROR: Something went wrong encoding of the file \"${check_file}\""
- exit
- else
- mediainfo --Output=XML --Full "${check_file}" | xmlstarlet sel -T -t -m '/_:MediaInfo/_:media/_:track[@type="Audio"]' -v '_:Duration' -n | awk -F '.' '{print $1}'
- this_duration=$( mediainfo --Output=XML --Full "${check_file}" | xmlstarlet sel -T -t -m '/_:MediaInfo/_:media/_:track[@type="Audio"]' -v '_:Duration' -n | awk -F '.' '{print $1}' )
- if [[ $(abs_diff "${this_duration}" "${expected_duration}" ) -le "${acceptable_duration_difference}" ]]
- then
- echo "INFO: The file \"${check_file}\" duration of ${this_duration} () is close enough to ${expected_duration}"
- else
- echo "ERROR: The file \"${check_file}\" actual duration of ${this_duration} is not close enough to posted duration of ${expected_duration}."
- echo " Fix or update the posted duration to ${source_duration}."
- media_error="1"
- fi
- #${expected_duration}
- fi
-done
-echo "Source: ${source_duration}"
-
-if [[ "${media_error}" -eq "1" ]]
-then
- echo "ERROR: Media is not encoded correctly"
- exit
-else
- echo "INFO: Media duration is correct"
-fi
-
-
-if [[ ! -s ${upload_dir}/hpr${ep_num}.wav ]] || [[ ! -s ${upload_dir}/hpr${ep_num}.opus ]] || [[ ! -s ${upload_dir}/hpr${ep_num}.flac ]] || [[ ! -s ${upload_dir}/hpr${ep_num}.mp3 ]] || [[ ! -s ${upload_dir}/hpr${ep_num}.ogg ]] || [[ ! -s ${upload_dir}/hpr${ep_num}.spx ]]
-then
- echo "ERROR: Something went wrong encoding the files"
- exit 1
-fi
-
-
-echo "--------------------------------------------------------------------------------" | tee -a ${fname}_tmp.log
-echo "Fixing Tags" | tee -a ${fname}_tmp.log
-
-fix_tags -album="$HPR_album" -artist="$HPR_artist" -comment="${HPR_comment} The license is ${HPR_license}" -genre="$HPR_genre" -title="$HPR_title" -track="$HPR_track" -year="$HPR_year" ${upload_dir}/hpr${ep_num}* 2>> ${fname}_tmp.log 1>&2
-
-fix_tags ${upload_dir}/hpr${ep_num}*
-
-#echo "Changing the file dates to the time of upload"
-touch -r ${mediafile} hpr${ep_num}*
-touch -r ${mediafile} ${upload_dir}/hpr${ep_num}*
-
-ls -al hpr${ep_num}* ${upload_dir}/hpr${ep_num}* | tee -a ${fname}_tmp.log
-
-# # echo "--------------------------------------------------------------------------------" | tee -a ${fname}_tmp.log
-# # echo "Getting info for the asset table" | tee -a ${fname}_tmp.log
-# #
-# # echo "INSERT INTO assets (episode_id,filename,extension,size,sha1sum,mime_type,file_type) VALUES"
-# #
-# # for asset_file in \
-# # ${upload_dir}/hpr${ep_num}.wav \
-# # ${upload_dir}/hpr${ep_num}.opus \
-# # ${upload_dir}/hpr${ep_num}.flac \
-# # ${upload_dir}/hpr${ep_num}.mp3 \
-# # ${upload_dir}/hpr${ep_num}.spx \
-# # ${upload_dir}/hpr${ep_num}.ogg
-# # do
-# # size="$( ls -al "${asset_file}" | awk '{print $5}' )"
-# # sha1sum="$( sha1sum "${asset_file}" | awk '{print $1}' )"
-# # mime_type=$( file --dereference --brief --mime "${asset_file}" )
-# # file_type=$( file --dereference --brief "${asset_file}" )
-# # echo "(${ep_num},'${filename}','${extension}','${size}','${sha1sum}','${mime_type}','${file_type}'),"
-# # done
-
-echo "--------------------------------------------------------------------------------" | tee -a ${fname}_tmp.log
-echo "Transferring files to Servers" | tee -a ${fname}_tmp.log
-
-
-#rsync -ave ssh --partial --progress --ignore-existing ${upload_dir}/hpr${ep_num}.mp3 ${upload_dir}/hpr${ep_num}.ogg ${upload_dir}/hpr${ep_num}.spx hpr:www/eps/
-
-#firefox "https://hackerpublicradio.org/local/hpr${ep_num}.mp3" >/dev/null 2>&1 &
-#firefox "https://hackerpublicradio.org/local/hpr${ep_num}.ogg" >/dev/null 2>&1 &
-firefox "file://${upload_dir}/hpr${ep_num}.mp3" >/dev/null 2>&1 &
-firefox "file://${upload_dir}/hpr${ep_num}.ogg" >/dev/null 2>&1 &
-#firefox "https://hackerpublicradio.org/eps.php?id=${ep_num}" >/dev/null 2>&1 &
-
-#mpv "http://hackerpublicradio.org/local/hpr${ep_num}.spx" "http://hackerpublicradio.org/local/hpr${ep_num}.ogg" "http://hackerpublicradio.org/local/hpr${ep_num}.mp3" "file://${upload_dir}/hpr${ep_num}.spx" "file://${upload_dir}/hpr${ep_num}.opus" "file://${upload_dir}/hpr${ep_num}.ogg" "file://${upload_dir}/hpr${ep_num}.mp3" "file://${upload_dir}/hpr${ep_num}.flac"
-mpv "file://${upload_dir}/hpr${ep_num}.spx" "file://${upload_dir}/hpr${ep_num}.opus" "file://${upload_dir}/hpr${ep_num}.ogg" "file://${upload_dir}/hpr${ep_num}.mp3" "file://${upload_dir}/hpr${ep_num}.flac"
-
-read -p "Remove files for \"${fname}\" (y|N) ? " -n 1 -r
-echo # (optional) move to a new line
-if [[ $REPLY =~ ^[Yy]$ ]]
-then
- mediafilename=$(basename "${mediafile}")
- mediaextension="${mediafilename##*.}" # "
-# ssh hpr -t "mkdir /home/hpr/www/eps/hpr${ep_num}" >/dev/null 2>&1
-# rsync -ave ssh --partial --progress --ignore-existing "${mediafile}" hpr:www/eps/hpr${ep_num}/hpr${ep_num}_source.${mediaextension} | tee -a ${fname}_tmp.log
-#
-# rsync -ave ssh --partial --progress --ignore-existing "${media_dir}/hpr${ep_num}.wav".vtt hpr:www/eps/hpr${ep_num}/hpr${ep_num}.vtt | tee -a ${fname}_tmp.log
-# rsync -ave ssh --partial --progress --ignore-existing "${media_dir}/hpr${ep_num}.wav".srt hpr:www/eps/hpr${ep_num}/hpr${ep_num}.srt | tee -a ${fname}_tmp.log
-# rsync -ave ssh --partial --progress --ignore-existing "${media_dir}/hpr${ep_num}.wav".txt hpr:www/eps/hpr${ep_num}/hpr${ep_num}.txt | tee -a ${fname}_tmp.log
-#
-# ssh hpr -t "ls -al /home/hpr/www/eps/hpr${ep_num}*"
-# cp -v "${mediafile}" "${upload_dir}/hpr${ep_num}_source.${mediaextension}"
-
- #echo "Remove temp files"
- rm -v ~hpr${ep_num}_summary.wav ~~hpr${ep_num}_summary.wav silence.wav
- rm -v ${fname}_mezzanine.wav ${fname}_tmp*.pcm ${fname}_tmp.log ${fname}_mez.wav
- #mv -v ${fname}* hpr${ep_num}* *_${ep_num}_* /var/IA/done/
-
-# wget --timeout=0 -q "http://hackerpublicradio.org/hpr_ogg_rss.php?gomax=1" -O - | xmlstarlet val --err -
-# wget --timeout=0 -q "http://hackerpublicradio.org/hpr_mp3_rss.php?gomax=1" -O - | xmlstarlet val --err -
-# wget --timeout=0 -q "http://hackerpublicradio.org/hpr_spx_rss.php?gomax=1" -O - | xmlstarlet val --err -
-# wget --timeout=0 -q "http://hackerpublicradio.org/rss-future.php" -O - | xmlstarlet val --err -
-
- echo "INFO: rsync -ave ssh --partial --progress ${upload_dir}/hpr${ep_num}* borg:/data/IA/uploads/"
- rsync -ave ssh --partial --progress ${upload_dir}/hpr${ep_num}* borg:/data/IA/uploads/
- echo "$( ssh borg -t "ls -al /data/IA/uploads/hpr${ep_num}*" ; ls -al ${upload_dir}/hpr${ep_num}* )" | grep "hpr${ep_num}" | awk '{print $5, $NF}' | sort
-
- if [ ${show_type} == "remote" ]
- then
- echo "INFO: Setting the status"
- # SHOW_SUBMITTED → METADATA_PROCESSED → SHOW_POSTED → MEDIA_TRANSCODED → UPLOADED_TO_IA → UPLOADED_TO_RSYNC_NET
- curl --netrc-file ${HOME}/.netrc "https://hub.hackerpublicradio.org/cms/status.php?ep_num=${ep_num}&status=MEDIA_TRANSCODED"
- curl --silent --netrc-file ${HOME}/.netrc "https://hub.hackerpublicradio.org/cms/status.php"
- fi
-else
- echo "skipping...."
- echo "cp -v \"${mediafile}\" \"${upload_dir}/hpr${ep_num}_source.${mediaextension}\""
- echo "rm -v ${fname}_mezzanine.wav ${fname}_tmp*.pcm ${fname}_tmp.log ${fname}_mez.wav"
- #echo "mv -v ${fname}* hpr${ep_num}* *_${ep_num}_* /var/IA/done/"
- echo "wget --timeout=0 -q \"http://hackerpublicradio.org/hpr_ogg_rss.php?gomax=1\" -O - | xmlstarlet val --err -"
- echo "wget --timeout=0 -q \"http://hackerpublicradio.org/hpr_mp3_rss.php?gomax=1\" -O - | xmlstarlet val --err -"
- echo "wget --timeout=0 -q \"http://hackerpublicradio.org/hpr_spx_rss.php?gomax=1\" -O - | xmlstarlet val --err -"
- echo "rsync -ave ssh --partial --progress ${upload_dir}/ borg:/data/IA/uploads/"
-fi
diff --git a/workflow/hprtranscode-simple.bash.2022-07-31 b/workflow/hprtranscode-simple.bash.2022-07-31
deleted file mode 100644
index eada88e..0000000
--- a/workflow/hprtranscode-simple.bash.2022-07-31
+++ /dev/null
@@ -1,397 +0,0 @@
-#!/usr/bin/env bash
-# Copyright Ken Fallon - Released into the public domain. http://creativecommons.org/publicdomain/
-#============================================================
-TEMP_DIR="/var/tmp/"
-CHANNELS="1"
-FIXAUDIO="1"
-ARTIST="EMPTY"
-TITLE="EMPTY"
-YEAR="EMPTY"
-SLOT="EMPTY"
-basedir="/var/IA"
-upload_dir="${basedir}/uploads"
-theme="${basedir}/theme.wav"
-outro="${basedir}/2022-03-07-outro.wav"
-ttsserver="http://localhost:5500"
-processing_dir="/home/ken/tmp/hpr/processing"
-git_image_dir="/home/ken/sourcecode/hpr/HPR_Public_Code/www/images/hosts"
-thedate=$(/usr/bin/date -u +%Y-%m-%d_%H-%M-%SZ_%A)
-echo "Processing the next HPR Show in the queue"
-
-
-if [ $( curl -s -o /dev/null -w "%{http_code}" -X 'GET' "${ttsserver}/api/voices" -H 'accept: */*' ) != "200" ]
-then
- echo "Please start the tts-server \"podman run -it -p 5500:5500 synesthesiam/opentts:en\""
- exit
-fi
-
-###################
-# Get the show
-#
-#
-if [[ -f "${1}" && -n "${2}" ]]
-then
- mediafile="${1}"
- ep_num="${2}"
- echo "The duration is \"$( \date -ud "1970-01-01 $( ffprobe -i "${mediafile}" 2>&1| awk -F ': |, ' '/Duration:/ { print $2 }' )" +%s )\"."
-else
- response=$( curl --silent --netrc-file ${HOME}/.netrc "https://hackerpublicradio.org/cms/status.php" | \
- grep 'SHOW_POSTED' | \
- head -1 | \
- sed 's/,/ /g' )
-
- if [ -z "${response}" ]
- then
- echo "INFO: There appear to be no more shows with the status \"SHOW_POSTED\"."
- echo "Getting a list of all the reservations."
- curl --silent --netrc-file ${HOME}/.netrc "https://hackerpublicradio.org/cms/status.php"
- exit 3
- fi
-
- timestamp_epoc="$( echo ${response} | awk '{print $1}' )"
- ep_num="$( echo ${response} | awk '{print $2}' )"
- ep_date="$( echo ${response} | awk '{print $3}' )"
- key="$( echo ${response} | awk '{print $4}' )"
- status="$( echo ${response} | awk '{print $5}' )"
- email="$( echo ${response} | awk '{print $6}' )"
-
- #source_dir="hpr:/home/hpr/upload/${timestamp_epoc}_${ep_num}_${ep_date}_${key}"
- dest_dir="${timestamp_epoc}_${ep_num}_${ep_date}_${key}"
- echo detox -v "${processing_dir}/${dest_dir}/"
- detox -vr "${processing_dir}/${dest_dir}/"
- cd "${processing_dir}/${dest_dir}/"
- pwd
-
- echo "INFO: Processing hpr${ep_num} from ${email}"
- echo "INFO: Working directory is \"${processing_dir}/${dest_dir}/\""
- echo ""
-
- media=$( find "${processing_dir}/${timestamp_epoc}_${ep_num}_${ep_date}_${key}" -type f -exec file {} \; | grep -Ei 'audio|mpeg|video|MP4' | awk -F ': ' '{print $1}' )
- if [ -z "${media}" ]
- then
- echo "ERROR: Can't find any media in \"${processing_dir}/${dest_dir}/\""
- find "${processing_dir}/${dest_dir}/" -type f
- exit 1
- fi
-
- mediafile=""
-
- if [ "$( echo "${media}" | wc -l )" -ne 1 ]
- then
- select this_media in $( echo "${media}" )
- do
- echo "INFO: You selected \"${this_media}\"."
- ls -al "${this_media}"
- mediafile="${this_media}"
- break
- done
- else
- echo "INFO: Selecting media as \"${media}\"."
- mediafile="${media}"
- fi
- echo "--------------------------------------------------------------------------------" | tee -a ${fname}_tmp.log
- echo "File information for \"${mediafile}\"" | tee -a ${fname}_tmp.log
- ffprobe ${mediafile} 2>&1 | grep Audio:
- mediainfo ${mediafile}
- audio2image.bash ${mediafile}
- xdg-open ${mediafile%.*}.png >/dev/null 2>&1 &
- read -p "Source Waveform look ok ? (N|y) ? " -n 1 -r
- echo # (optional) move to a new line
- if [[ ! $REPLY =~ ^[yY]$ ]]
- then
- echo "skipping...."
- exit
- fi
-
-fi
-
-re='^[0-9]+$'
-if ! [[ $ep_num =~ $re ]]
-then
- echo "error: episode \"${ep_num}\" is not a number"
- exit 1
-fi
-
-if [ ! -f "${outro}" ]
-then
- echo "sorry, file \"${outro}\" does not exist"
- exit 1
-fi
-
-if [ ! -f "${theme}" ]
-then
- echo "sorry, file \"${theme}\" does not exist"
- exit 1
-fi
-
-if [ ! -f "${mediafile}" ]
-then
- echo "sorry, media file \"${mediafile}\" does not exist"
- exit
-fi
-
-if [ ! -r "${mediafile}" ]
-then
- echo "sorry, media file \"${mediafile}\" is not readable"
- exit
-fi
-
-if [ $(ffprobe "${mediafile}" 2>&1 | grep "Audio:" | wc -l ) -eq 0 ]
-then
- echo "sorry, media file \"${mediafile}\" has no audio track"
- exit
-fi
-
-mpv -vo=null "${mediafile}"
-read -p "Is there any problems with the audio (N|y) ? " -n 1 -r
-echo # (optional) move to a new line
-if [[ $REPLY =~ ^[yY]$ ]]
-then
- echo "skipping...."
- exit 1
-fi
-
-# extract file name and extension
-media_dir=$(dirname ${mediafile})
-fname=${mediafile%.*}
-ext=${mediafile/*./}
-
-if [[ -e hpr${ep_num}.wav ]] || [[ -e hpr${ep_num}.mp3 ]] || [[ -e hpr${ep_num}.ogg ]] || [[ -e hpr${ep_num}.spx ]] || [[ -e hpr${ep_num}_summary.wav ]] || [[ -e hpr${ep_num}.wav ]] || [[ -e ${fname}_mez.wav ]] || [[ -e ${fname}_sox_norm.wav ]] || [[ -e ${fname}_mezzanine.wav ]] || [[ -e ${fname}_tmp.pcm ]] || [[ -e ${fname}_tmp.log ]] || [[ -e hpr${ep_num}_intro.wav ]] || [[ -e ~hpr${ep_num}_summary.wav ]] || [[ -e ~~hpr${ep_num}_summary.wav ]]
-then
- echo "Files for this episode already exist."
- ls -1 *hpr${ep_num}* ${fname}_* 2>/dev/null
- exit 1
-fi
-
-echo "--------------------------------------------------------------------------------"
-echo "Geting metadata for hpr${ep_num}"
-
-while read -r line
-do
- field=$(echo $line | awk -F ':' '{print $1}')
- case $field in
- "HPR_summary")
- HPR_summary=$(echo $line | grep "HPR_summary: " | cut -c 14- )
- continue
- ;;
- "HPR_album")
- HPR_album=$(echo $line | grep "HPR_album: " | cut -c 12- )
- continue
- ;;
- "HPR_artist")
- HPR_artist=$(echo $line | grep "HPR_artist: " | cut -c 13- )
- continue
- ;;
- "HPR_comment")
- HPR_comment=$(echo $line | grep "HPR_comment: " | cut -c 14- )
- continue
- ;;
- "HPR_genre")
- HPR_genre=$(echo $line | grep "HPR_genre: " | cut -c 12- )
- continue
- ;;
- "HPR_title")
- HPR_title=$(echo $line | grep "HPR_title: " | cut -c 12- )
- continue
- ;;
- "HPR_track")
- HPR_track=$(echo $line | grep "HPR_track: " | cut -c 12- )
- continue
- ;;
- "HPR_year")
- HPR_year=$(echo $line | grep "HPR_year: " | cut -c 11- )
- continue
- ;;
- "HPR_duration")
- HPR_duration=$(echo $line | grep "HPR_duration: " | cut -c 15- )
- continue
- ;;
- "HPR_explicit")
- HPR_explicit=$(echo $line | grep "HPR_explicit: " | cut -c 15- )
- continue
- ;;
- "HPR_license")
- HPR_license=$(echo $line | grep "HPR_license: " | cut -c 14- )
- continue
- ;;
- esac
-done < <( wget --timeout=10 --tries=1 --quiet http://hackerpublicradio.org/say.php?id=${ep_num} -O - )
-
-if [[ -z "$HPR_album" || -z "$HPR_artist" || -z "$HPR_comment" || -z "$HPR_genre" || -z "$HPR_title" || -z "$HPR_track" || -z "$HPR_year" || -z "$HPR_summary" || -z "$HPR_duration" || -z "$HPR_explicit" || -z "$HPR_license" ]]
-then
- echo "Could not find information on ${ep_num}. Has the show been posted ?"
- exit;
-fi
-echo "--------------------------------------------------------------------------------"
-echo "album : $HPR_album"
-echo "artist : $HPR_artist"
-echo "comment : $HPR_comment"
-echo "genre : $HPR_genre"
-echo "title : $HPR_title"
-echo "track : $HPR_track"
-echo "year : $HPR_year"
-echo "summary : $HPR_summary"
-echo "duration : $HPR_duration"
-echo "explicit : $HPR_explicit"
-echo "license : $HPR_license"
-
-if [[ $HPR_duration == "0" ]]
-then
- echo "The duration is set to 0. Please update the show with the correct time."
- exit;
-fi
-
-#============================================================
-# Preproc`s the source file
-
-echo "--------------------------------------------------------------------------------" | tee -a ${fname}_tmp.log
-echo "Prepare mezzanine file" | tee -a ${fname}_tmp.log
-ffmpeg -i ${mediafile} -ar 44100 -ac $CHANNELS ${fname}_mezzanine.wav > ${fname}_tmp.log 2>&1
-
-echo "--------------------------------------------------------------------------------" | tee -a ${fname}_tmp.log
-echo "Add HPR Branding" | tee -a ${fname}_tmp.log
-
-echo "Creating the summary" | tee -a ${fname}_tmp.log
-#echo "$HPR_summary" - | text2wave -F 44100 - -o hpr${ep_num}_summary.wav #festival --tts
-#echo "$HPR_summary" - | espeak -w ~hpr${ep_num}_summary.wav
-echo "$HPR_summary" - | curl -X 'GET' -G --data-urlencode "voice=coqui-tts:en_ljspeech" --data-urlencode "text=${HPR_summary}" --data-urlencode "vocoder=high" --data-urlencode "denoiserStrength=0.03" --data-urlencode "cache=false" ${ttsserver}/api/tts -H 'accept: */*' --output ~hpr${ep_num}_summary.wav
-
-ffmpeg -i ~hpr${ep_num}_summary.wav -ar 44100 ~~hpr${ep_num}_summary.wav >> ${fname}_tmp.log 2>&1
-
-sox -n -r 44100 -c 1 silence.wav trim 0.0 6.0 >> ${fname}_tmp.log 2>&1
-
-sox silence.wav ~~hpr${ep_num}_summary.wav hpr${ep_num}_summary.wav >> ${fname}_tmp.log 2>&1
-
-echo "Adding the theme" | tee -a ${fname}_tmp.log
-sox -m "hpr${ep_num}_summary.wav" "${theme}" "hpr${ep_num}_intro.wav" >> ${fname}_tmp.log 2>&1
-
-echo "Creating the sandwitch" | tee -a ${fname}_tmp.log
-
-sox "hpr${ep_num}_intro.wav" "${fname}_mezzanine.wav" "${outro}" "hpr${ep_num}.wav" >> ${fname}_tmp.log 2>&1
-
-echo "Normalizing the wav files" | tee -a ${fname}_tmp.log
-#sox --temp "${TEMP_DIR}" --norm hpr${ep_num}.wav hpr${ep_num}_norm.wav
-ffmpeg -i hpr${ep_num}.wav -af loudnorm=I=-16:LRA=11:TP=-1.5 hpr${ep_num}_norm.wav >> ${fname}_tmp.log 2>&1
-
-mv -v hpr${ep_num}_norm.wav ${upload_dir}/hpr${ep_num}.wav >> ${fname}_tmp.log 2>&1
-
-echo "--------------------------------------------------------------------------------" | tee -a ${fname}_tmp.log
-echo "File information" | tee -a ${fname}_tmp.log
-ffprobe ${upload_dir}/hpr${ep_num}.wav 2>&1 | grep Audio:
-mediainfo ${upload_dir}/hpr${ep_num}.wav
-audio2image.bash ${upload_dir}/hpr${ep_num}.wav
-xdg-open ${upload_dir}/hpr${ep_num}.png >/dev/null 2>&1 &
-read -p "Processed Waveform look ok ? (N|y) ? " -n 1 -r
-echo # (optional) move to a new line
-if [[ ! $REPLY =~ ^[yY]$ ]]
-then
- echo "skipping...."
- exit
-fi
-rm -v ${upload_dir}/hpr${ep_num}.png
-
-echo "--------------------------------------------------------------------------------" | tee -a ${fname}_tmp.log
-echo "Convert to opus" | tee -a ${fname}_tmp.log
-ffmpeg -y -i ${upload_dir}/hpr${ep_num}.wav ${upload_dir}/hpr${ep_num}.opus 2>> ${fname}_tmp.log 1>&2
-
-echo "--------------------------------------------------------------------------------" | tee -a ${fname}_tmp.log
-echo "Convert to flac" | tee -a ${fname}_tmp.log
-sox --temp "${TEMP_DIR}" -S ${upload_dir}/hpr${ep_num}.wav ${upload_dir}/hpr${ep_num}.flac 2>> ${fname}_tmp.log 1>&2
-
-echo "--------------------------------------------------------------------------------" | tee -a ${fname}_tmp.log
-echo "Convert to mp3" | tee -a ${fname}_tmp.log
-sox --temp "${TEMP_DIR}" -S ${upload_dir}/hpr${ep_num}.wav ${upload_dir}/hpr${ep_num}.mp3 2>> ${fname}_tmp.log 1>&2
-
-echo "--------------------------------------------------------------------------------" | tee -a ${fname}_tmp.log
-echo "Convert to ogg" | tee -a ${fname}_tmp.log
-ffmpeg -y -i ${upload_dir}/hpr${ep_num}.wav ${upload_dir}/hpr${ep_num}.ogg 2>> ${fname}_tmp.log 1>&2
-
-echo "--------------------------------------------------------------------------------" | tee -a ${fname}_tmp.log
-echo "Convert to spx" | tee -a ${fname}_tmp.log
-ffmpeg -y -i ${upload_dir}/hpr${ep_num}.wav ${upload_dir}/hpr${ep_num}.spx 2>> ${fname}_tmp.log 1>&2
-
-for check_file in \
-${upload_dir}/hpr${ep_num}.wav \
-${upload_dir}/hpr${ep_num}.opus \
-${upload_dir}/hpr${ep_num}.flac \
-${upload_dir}/hpr${ep_num}.mp3 \
-${upload_dir}/hpr${ep_num}.ogg \
-${upload_dir}/hpr${ep_num}.spx
-do
- if [[ ! -s "${check_file}" ]]
- then
- echo "ERROR: Something went wrong encoding of the file \"${check_file}\""
- fi
-done
-
-if [[ ! -s ${upload_dir}/hpr${ep_num}.wav ]] || [[ ! -s ${upload_dir}/hpr${ep_num}.opus ]] || [[ ! -s ${upload_dir}/hpr${ep_num}.flac ]] || [[ ! -s ${upload_dir}/hpr${ep_num}.mp3 ]] || [[ ! -s ${upload_dir}/hpr${ep_num}.ogg ]] || [[ ! -s ${upload_dir}/hpr${ep_num}.spx ]]
-then
- echo "ERROR: Something went wrong encoding the files"
- exit 1
-fi
-
-echo "--------------------------------------------------------------------------------" | tee -a ${fname}_tmp.log
-echo "Fixing Tags" | tee -a ${fname}_tmp.log
-
-fix_tags -album="$HPR_album" -artist="$HPR_artist" -comment="${HPR_comment} The license is ${HPR_license}" -genre="$HPR_genre" -title="$HPR_title" -track="$HPR_track" -year="$HPR_year" ${upload_dir}/hpr${ep_num}* 2>> ${fname}_tmp.log 1>&2
-
-fix_tags ${upload_dir}/hpr${ep_num}*
-
-#echo "Changing the file dates to the time of upload"
-touch -r ${mediafile} hpr${ep_num}*
-touch -r ${mediafile} ${upload_dir}/hpr${ep_num}*
-
-ls -al hpr${ep_num}* ${upload_dir}/hpr${ep_num}* | tee -a ${fname}_tmp.log
-
-
-echo "--------------------------------------------------------------------------------" | tee -a ${fname}_tmp.log
-echo "Transferring files to Servers" | tee -a ${fname}_tmp.log
-
-
-rsync -ave ssh --partial --progress --ignore-existing ${upload_dir}/hpr${ep_num}.mp3 ${upload_dir}/hpr${ep_num}.ogg ${upload_dir}/hpr${ep_num}.spx hpr:www/eps/
-
-firefox "https://hackerpublicradio.org/local/hpr${ep_num}.mp3" >/dev/null 2>&1 &
-firefox "https://hackerpublicradio.org/local/hpr${ep_num}.ogg" >/dev/null 2>&1 &
-firefox "file://${upload_dir}/hpr${ep_num}.mp3" >/dev/null 2>&1 &
-firefox "file://${upload_dir}/hpr${ep_num}.ogg" >/dev/null 2>&1 &
-firefox "https://hackerpublicradio.org/eps.php?id=${ep_num}" >/dev/null 2>&1 &
-
-mpv "http://hackerpublicradio.org/local/hpr${ep_num}.spx" "http://hackerpublicradio.org/local/hpr${ep_num}.ogg" "http://hackerpublicradio.org/local/hpr${ep_num}.mp3" "file://${upload_dir}/hpr${ep_num}.spx" "file://${upload_dir}/hpr${ep_num}.opus" "file://${upload_dir}/hpr${ep_num}.ogg" "file://${upload_dir}/hpr${ep_num}.mp3" "file://${upload_dir}/hpr${ep_num}.flac"
-
-echo "Source: $( mediainfo --Output=XML --Full "${mediafile}" | xmlstarlet sel -T -t -m '/_:MediaInfo/_:media/_:track[@type="Audio"]' -v '_:Duration' -n | awk -F '.' '{print $1}' )"
-mediainfo --Output=XML --Full hpr${ep_num}* ${upload_dir}/hpr${ep_num}* | xmlstarlet sel -T -t -m '/_:MediaInfo/_:media/_:track[@type="Audio"]' -v '_:Duration' -n | awk -F '.' '{print $1}' | sort | uniq -c
-
-read -p "Remove files for \"${fname}\" (y|N) ? " -n 1 -r
-echo # (optional) move to a new line
-if [[ $REPLY =~ ^[Yy]$ ]]
-then
- mediafilename=$(basename "${mediafile}")
- mediaextension="${mediafilename##*.}" # "
- ssh hpr -t "mkdir /home/hpr/www/eps/hpr${ep_num}" >/dev/null 2>&1
- rsync -ave ssh --partial --progress --ignore-existing "${mediafile}" hpr:www/eps/hpr${ep_num}/hpr${ep_num}_source.${mediaextension}
- ssh hpr -t "ls -al /home/hpr/www/eps/hpr${ep_num}*"
- cp -v "${mediafile}" "${upload_dir}/hpr${ep_num}_source.${mediaextension}"
-
- #echo "Remove temp files"
- rm -v ~hpr${ep_num}_summary.wav ~~hpr${ep_num}_summary.wav silence.wav
- rm -v ${fname}_mezzanine.wav ${fname}_tmp*.pcm ${fname}_tmp.log ${fname}_mez.wav
- #mv -v ${fname}* hpr${ep_num}* *_${ep_num}_* /var/IA/done/
- wget --timeout=0 -q "http://hackerpublicradio.org/hpr_ogg_rss.php?gomax=1" -O - | xmlstarlet val --err -
- wget --timeout=0 -q "http://hackerpublicradio.org/hpr_mp3_rss.php?gomax=1" -O - | xmlstarlet val --err -
- wget --timeout=0 -q "http://hackerpublicradio.org/hpr_spx_rss.php?gomax=1" -O - | xmlstarlet val --err -
- wget --timeout=0 -q "http://hackerpublicradio.org/rss-future.php" -O - | xmlstarlet val --err -
-
- rsync -ave ssh --partial --progress ${upload_dir}/hpr${ep_num}* borg:/data/IA/uploads/
- echo "$( ssh borg -t "ls -al /data/IA/uploads/hpr${ep_num}*" ; ls -al ${upload_dir}/hpr${ep_num}* )" | grep "hpr${ep_num}" | awk '{print $5, $NF}' | sort
- # SHOW_SUBMITTED → METADATA_PROCESSED → SHOW_POSTED → MEDIA_TRANSCODED → UPLOADED_TO_IA → UPLOADED_TO_RSYNC_NET
- curl --netrc-file ${HOME}/.netrc "https://hackerpublicradio.org/cms/status.php?ep_num=${ep_num}&status=MEDIA_TRANSCODED"
-else
- echo "skipping...."
- echo "cp -v \"${mediafile}\" \"${upload_dir}/hpr${ep_num}_source.${mediaextension}\""
- echo "rm -v ${fname}_mezzanine.wav ${fname}_tmp*.pcm ${fname}_tmp.log ${fname}_mez.wav"
- #echo "mv -v ${fname}* hpr${ep_num}* *_${ep_num}_* /var/IA/done/"
- echo "wget --timeout=0 -q \"http://hackerpublicradio.org/hpr_ogg_rss.php?gomax=1\" -O - | xmlstarlet val --err -"
- echo "wget --timeout=0 -q \"http://hackerpublicradio.org/hpr_mp3_rss.php?gomax=1\" -O - | xmlstarlet val --err -"
- echo "wget --timeout=0 -q \"http://hackerpublicradio.org/hpr_spx_rss.php?gomax=1\" -O - | xmlstarlet val --err -"
- echo "rsync -ave ssh --partial --progress ${upload_dir}/ borg:/data/IA/uploads/"
-fi
diff --git a/workflow/show2youtube.bash b/workflow/show2youtube.bash
deleted file mode 100755
index f72c08d..0000000
--- a/workflow/show2youtube.bash
+++ /dev/null
@@ -1,60 +0,0 @@
-#!/bin/bash
-# http://eddmann.com/posts/uploading-podcast-audio-to-youtube/
-# http://cutycapt.sourceforge.net/ xvfb-run
-# https://el-tramo.be/blog/ken-burns-ffmpeg/
-
-#hpr${ep_num}.wav
-
-ep_num=2463
-
-xvfb-run --server-args="-screen 0, 1024x768x24" CutyCapt --url="http://hackerpublicradio.org/eps.php?id=${ep_num}" --out=${ep_num}.png --insecure
-
-ffmpeg -i input.wav -filter_complex "[0:a]showwaves=s=800x600:mode=line:rate=25,format=yuv420p[v]" -map "[v]" -map 0:a output-showwaves.mp4
-
-
-# ffmpeg -start_number n -i test_%d.jpg -vcodec mpeg4 test.avi
-# ffmpeg -loop 1 -r 2 -i image.jpg -i input.mp3 -vf scale=-1:380 -c:v libx264 -preset slow -tune stillimage -crf 18 -c:a copy -shortest -pix_fmt yuv420p -threads 0 output.mkv
-
-# https://video.stackexchange.com/questions/9644/how-do-i-turn-audio-into-video-that-is-show-the-waveforms-in-a-video
-
-#this
-#
-# rm out.mp4 output.mp4 ; ffmpeg -i 2463.png -filter_complex "pad=w=9600:h=6000:x='(ow-iw)/2':y='(oh-ih)/2',zoompan=x='(iw-0.625*ih)/2':y='(1-on/(25*4))*(ih-ih/zoom)':z='if(eq(on,1),2.56,zoom+0.002)':d=25*4:s=1280x800" -pix_fmt yuv420p -c:v libx264 out.mp4
-#
-# rm out.mp4 output.mp4; ffmpeg -i 2463.png -filter_complex "pad=w=9600:h=6000:x='(ow-iw)/2':y='(oh-ih)/2',zoompan=z='zoom+0':d=25*4:s=1280x2048,crop=w=1280:h=800:x='(iw-ow)/2':y='(ih-oh)/2' " -pix_fmt yuv420p -c:v libx264 out.mp4
-#
-# ffmpeg -i in.jpg
-# -filter_complex
-# "zoompan=z='zoom+0.002':d=25*4:s=1280x800"
-# -pix_fmt yuv420p -c:v libx264 out.mp4
-#
-#
-#
-# ffmpeg -i input.flac -filter_complex "[0:a]ahistogram,format=yuv420p[v]" -map "[v]" -map 0:a output.mp4
-#
-#
-# ffmpeg -i input -i background.png -filter_complex "[0:a]showwavespic=s=640x240[fg];[1:v][top]overlay=format=auto" -frames:v 1 output.png
-
-
-ffmpeg -loop 1 -i background.png -i video1.mp4 -i video2.mp4 -filter_complex \
-"[1:v]scale=(iw/2)-20:-1[a]; \
- [2:v]scale=(iw/2)-20:-1[b]; \
- [0:v][a]overlay=10:(main_h/2)-(overlay_h/2):shortest=1[c]; \
- [c][b]overlay=main_w-overlay_w-10:(main_h/2)-(overlay_h/2)[video]" \
--map "[video]" output.mkv
-
-
-https://stackoverflow.com/questions/13390714/superimposing-two-videos-onto-a-static-image
-https://video.stackexchange.com/questions/14519/add-image-under-the-video-with-ffmepg
-
-
-ffmpeg \
- -loop 1 -i hprback.png \
- -i output-showwaves-320x240.mp4 \
- -filter_complex "overlay=0:0:shortest=1" \
- out.m4v
-
-
-# ffmpeg -i input.wav -filter_complex "[0:a]showfreqs=s=320x266:mode=line:fscale=log,format=yuv420p[v]" -map "[v]" -map 0:a output-showfreqs-319x266.mp4
-# ffmpeg -loop 1 -i hprback.png -i output-showfreqs-319x266.mp4 -filter_complex "overlay=663:143:shortest=1" out1.m4v
-
diff --git a/workflow/status_lighttower.py b/workflow/status_lighttower.py
deleted file mode 100644
index 9ac21e3..0000000
--- a/workflow/status_lighttower.py
+++ /dev/null
@@ -1,233 +0,0 @@
-#!/usr/bin/env python3
-#
-# Copyright (C) 2017 Ken Fallon ken@fallon.ie
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero 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 Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see .
-
-# UTF-8 Test >> ÇirçösÚáóíéőöÓÁśł <<
-# 213.46.252.136 gateway
-
-import sys, getopt, json, os, logging, sys, requests, datetime, re, dateutil.parser, base64, xmltodict, random, psycopg2, time, automationhat
-
-from pprint import pprint
-#import traceback
-logging.basicConfig(level=logging.DEBUG, format='%(asctime)s - %(levelname)s - %(message)s')
-#logging.disable(logging.DEBUG)
-settings = dict()
-
-def usage(exitcode, message = None):
- '''
- prints usage and exits
- '''
- if message is not None:
- logging.error( message )
- print( os.path.basename(sys.argv[0]) + ' [--help -l -c ]')
- sys.exit(exitcode)
-
-def get_lab_settings(settings):
- '''
- Get configuration for the lab, usually from http://172.30.218.244/autotest/settings.json
- '''
- if os.path.isfile( settings[ 'config_url' ] ):
- with open( settings[ 'config_url' ] ) as json_file:
- info_dict = json.load(json_file)
- return info_dict
- else:
- session = requests.session()
- resp = session.get(url=settings[ 'config_url' ], headers={'Accept-Encoding': 'gzip'})
- if resp.status_code == 200:
- info_dict = json.loads(resp.text)
- return info_dict
- return None
-
-def argumentTest():
- '''
- Gets the required paramaters that the program needs in order to run. These can either be provided on the command line, or as environemental variables, or both.
-
- export LAB="lab4b"
- export config_url="http://172.30.218.244/autotest/settings.json"
- export service="purcha#!/usr/bin/env python
-
-import automationhat
-import time
-import os
-import sys
-
-counter = -1
-lightPattern = [
- [1,0,0],
- [0,1,0],
- [0,0,1],
- [0,1,1],
- [0,1,0],
- [1,1,0],
- [1,0,0],
- [1,1,0],
- [0,1,0],
- [0,1,1],
- [0,0,1],
- [0,0,0],
- [1,0,1],
- [0,1,0],
- [0,0,0],
-]
-
-def increment():
- global counter
- counter+=1
- if counter==len(lightPattern):
- counter = 0
-
-def doCurrentCycle():
- currentCycle = lightPattern[counter]
- print currentCycle
- if (currentCycle[0]==1) :
- automationhat.output.one.on()
- else:
- automationhat.output.one.off()
-
- if (currentCycle[1] == 1):
- automationhat.output.two.on()
- else:
- automationhat.output.two.off()
-
- if (currentCycle[2] == 1):
- automationhat.output.three.on()
- else:
- automationhat.output.three.off()
-
- time.sleep(2)
-
-
-
-while True:
- increment()
- doCurrentCycle()se-service"
- export customers="customers.json"
-
- '''
- lab = str()
- config_url = str()
- service = str()
- settings = dict()
-
- for evariable in [ 'LAB', 'config_url' ]:
- if os.getenv( evariable ) is not None:
- settings[ evariable ] = os.environ[ evariable ]
- logging.debug( "Setting \"" + evariable + "\" set to \"" + settings[ evariable ] + "\" from an enviroment variable.")
-
- try:
- options, remainder = getopt.getopt(sys.argv[1:], 'hl:c:', [ 'help', 'lab=', 'config=' ])
-
- except getopt.GetoptError:
- usage(1, "Unrecognized option was found or missing argument." )
-
- for opt, arg in options:
- if opt in ('-h', '--help'):
- usage(2)
- elif opt in ('-l', '--lab'):
- logging.debug( "Setting \"LAB\" set to \"" + arg + "\" from the \"" + opt + "\" command line argument.")
- settings[ 'LAB' ] = arg
- elif opt in ('-c', '--config'):
- logging.debug( "Setting \"config_url\" set to \"" + arg + "\" from the \"" + opt + "\" command line argument.")
- settings[ 'config_url' ] = arg
-
- for param in [ 'LAB', 'config_url' ]:
- if not param in settings:
- usage( 3, "Cant find value for \"" + param +"\"")
-
- try:
- settings[ 'config' ] = get_lab_settings( settings )[ settings[ 'LAB' ] ]
- if 'jenkins' in settings.keys():
- logging.debug('Updating TraxIS Customer file to include the Purchase Service status.')
-
- except Exception as e:
- print('Error: Could not get Lab Configuration for "%s".' % settings[ 'LAB' ] )
- traceback.print_exc()
- exit(1)
-
- return settings
-
-
-#def get_server_instance():
- #jenkins_url = 'http://172.22.137.160:8080'
- #server = Jenkins(jenkins_url, username='autotest', password='autotest')
- #return server
-
-def get_server_instance(settings):
- jenkins_url = 'http://%s:%s' % ( settings[ 'config' ][ 'jenkins' ][ 'host' ] , settings[ 'config' ][ 'jenkins' ][ 'port' ] )
- server = Jenkins(jenkins_url, username = settings[ 'config' ][ 'jenkins' ][ 'user' ], password = settings[ 'config' ][ 'jenkins' ][ 'password' ])
- return server
-
-def alloff():
- automationhat.relay.one.off()
- automationhat.output.one.off()
- automationhat.output.two.off()
- automationhat.output.three.off()
-
-# Set according to status
-def setstatus(status):
- if status != "":
- alloff()
- if status == "SUCCESS":
- automationhat.output.three.on()
- print( "SUCCESS" )
-
- if status == "UNSTABLE":
- automationhat.output.two.on()
- print( "UNSTABLE" )
-
- if status == "FAILURE":
- automationhat.output.one.on()
- print( "FAILURE" )
- return
-
-def get_job_details( settings ):
- # Refer Example #1 for definition of function 'get_server_instance'
- server = get_server_instance( settings )
- settings[ 'teststatus' ] = str()
- for job in settings[ 'config' ][ 'jenkins' ][ 'jobs' ]:
- logging.debug( "Checking job %s" % job )
- job_instance = server.get_job( job )
- this_status = job_instance.get_last_build().get_status()
- if not ( settings[ 'teststatus' ] == "FAILURE" or (settings[ 'teststatus' ] == "UNSTABLE" and this_status == "SUCCESS") ):
- settings[ 'teststatus' ] = this_status
- return settings
-
-if __name__ == "__main__":
- logging.debug( "start" )
- try:
- while True:
- alloff()
- automationhat.relay.one.on()
- settings = argumentTest()
- #pprint( settings[ 'config' ][ 'jenkins' ] )
- #print( "Hello" )
- #pprint ( get_server_instance( settings ).version )
- settings = get_job_details( settings )
- status = settings[ 'teststatus' ]
- setstatus(status)
- #print( get_server_instance().version )
- time.sleep(300)
-
- except Exception as e:
- print("Error: " + str(e))
- traceback.print_exc()
- exit(1)
- logging.debug('done')
-
-'''
-export LAB="lab4b"
-export config_url="http://172.30.218.244/autotest/settings.json"
-'''
diff --git a/workflow/this_duration.bash b/workflow/this_duration.bash
deleted file mode 100755
index 5245ac2..0000000
--- a/workflow/this_duration.bash
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/bin/bash
-# Copyright Ken Fallon - Released into the public domain. http://creativecommons.org/publicdomain/
-find ${pwd} -type f | while read mediafile
-do
- duration=$( mediainfo --full --Output=XML "${mediafile}" | xmlstarlet sel -T -t -m "_:MediaInfo/_:media/_:track[@type='Audio']/_:Duration[1]" -v "." -n - | awk -F '.' '{print $1}' )
- if [ "${duration}" != "" ]
- then
- echo "${duration} ${mediafile}"
- continue
- fi
- duration=$( /bin/date -ud "1970-01-01 $( ffprobe -i "${mediafile}" 2>&1| awk -F ': |, ' '/Duration:/ { print $2 }' )" +%s )
- if [ "${duration}" != 0 ]
- then
- echo "${duration} ${mediafile}"
- continue
- fi
-done
-find -type f -exec file {} \; | grep -vEi 'audio|mpeg|video'
diff --git a/workflow/unpack.bash b/workflow/unpack.bash
deleted file mode 100644
index 6cfeaa3..0000000
--- a/workflow/unpack.bash
+++ /dev/null
@@ -1,44 +0,0 @@
-#!/bin/bash
-# Copyright Ken Fallon - Released into the public domain. http://creativecommons.org/publicdomain/
-intro_clip_end="00:01:30"
-quality_clip_duration="90"
-outro_clip="90"
-#DEBUG="echo "
-cd /mnt/DUMP/hpr-for-archive.org/todo/
-for FILEX in *
-do
- if [[ "$(file "$FILEX" | grep -i audio | wc -l )" -ne 1 && "$(mediainfo "$FILEX" | grep -i audio | wc -l )" -ne 1 ]]
- then
- echo "$FILEX is not an audio file"
- else
- echo "Processing $FILEX"
- fname=${FILEX%.*}
- ext=${FILEX/*./}
- # We get the druation from mediainfo in miliseconds and remove the last three digits to convert it to seconds
- # Then calculate the times of the end clip working back from the end of the file
- # We then pick a random segment between the intro and outro.
- # Finally we convert to hour minute second format and the date command is the easiest way to do that
- duration=$( mediainfo --full "${fname}.${ext}" | grep Duration | egrep -v ".*:.*:|ms|s|mn" | head -1 | awk -F ': ' '{print $2}' )
- duration="${duration:0:${#duration}-3}"
- outro_clip_start="$(($duration-$outro_clip))"
- quality_clip_end="$(($outro_clip_start-$quality_clip_duration))"
- quality_clip_start=$(shuf -i ${intro_clip_end}-${quality_clip_end} -n 1)
- quality_clip_end="$(($quality_clip_start+$quality_clip_duration))"
- duration=$(\date -d@${duration} -u +%H:%M:%S)
- quality_clip_start=$(\date -d@${quality_clip_start} -u +%H:%M:%S)
- quality_clip_end=$(\date -d@${quality_clip_end} -u +%H:%M:%S)
- outro_clip_start=$(\date -d@${outro_clip_start} -u +%H:%M:%S)
- echo -e "\tExtracting spectrogram"
- ${DEBUG} sox "${fname}.${ext}" -n spectrogram -Y 130 -l -r -t "${fname}.${ext}" -o "${fname}_spectrogram.png"
- echo -e "\tExtracting intro clip from 0 to ${intro_clip_end}"
- ${DEBUG} ffmpeg -y -ss 0 -t ${intro_clip_end} -i "${fname}.${ext}" "${fname}_intro_clip".wav 2>/dev/null
- echo -e "\tExtracting quality clip from ${quality_clip_start} to ${quality_clip_end}"
- ${DEBUG} ffmpeg -y -ss ${quality_clip_start} -t ${quality_clip_end} -i "${fname}.${ext}" "${fname}_quality_clip".wav 2>/dev/null
- echo -e "\tExtracting outro clip from ${outro_clip_start} ${duration}"
- ${DEBUG} ffmpeg -y -ss ${outro_clip_start} -t ${duration} -i "${fname}.${ext}" "${fname}_outro_clip".wav 2>/dev/null
- echo -e "\tCreating low fidelity version"
- ${DEBUG} ffmpeg -y -i "${fname}.${ext}" temp.wav 2>/dev/null
- ${DEBUG} sox "temp.wav" -c 1 -r 16000 -t wav - 2>/dev/null | speexenc - "${fname}_low_fidelity.spx" 2>/dev/null
- ${DEBUG} rm temp.wav
- fi
-done
diff --git a/workflow/x.bash b/workflow/x.bash
deleted file mode 100755
index 27abb48..0000000
--- a/workflow/x.bash
+++ /dev/null
@@ -1,50 +0,0 @@
-#cd /home/ken/processing/1659905303_3664_2022-08-18_037b55af6b77191b2610f5cedb5d2bd962f0251720bf0
-ttsserver="http://localhost:5500"
-ep_num="3664"
-
-echo "This is Hacker Public Radio " > "hpr${ep_num}_summary.txt"
-
-## Jump to encoding
-
-function create_tts_summary {
- HPR_summary="$( cat "hpr${ep_num}_summary.txt" )"
- echo "INFO: Converting text \"${HPR_summary}\" to speech."
- curl -X 'GET' -G --data-urlencode "voice=coqui-tts:en_ljspeech" --data-urlencode "text=${HPR_summary}" --data-urlencode "vocoder=high" --data-urlencode "denoiserStrength=0.03" --data-urlencode "cache=false" ${ttsserver}/api/tts -H 'accept: */*' --output ~hpr${ep_num}_summary.wav
-}
-
-create_tts_summary_ok="not-ok"
-
-while [ "${create_tts_summary_ok}" != "OK" ]
-do
- create_tts_summary
-
- mpv ~hpr${ep_num}_summary.wav
-
- read -p "Is the text to speech correct (y|N) ? " -n 1 -r
- echo # (optional) move to a new line
- if [[ $REPLY =~ ^[Yy]$ ]]
- then
- create_tts_summary_ok="OK"
- else
- echo "WARN: Please correct the text and try again."
- xdg-open "hpr${ep_num}_summary.txt" 2>&1 &
- inotifywait --event modify "hpr${ep_num}_summary.txt"
- fi
-done
-echo "INFO: TTS complete."
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-#
-# exit 9999