NAME
fadecut - Toolset to rip audiostreams, cut, fade in/out and tag the resulting audiofiles
SYNOPSIS
-
fadecut -p <profile> [ OPTIONS ]
DESCRIPTION
fadecut is a script to rip audio files from a livestream (using stream- ripper) and to process them automatically. Beginning and ending fo the audio files will be cut and faded in/out. So logos and advertising of radio stations will be automatically removed.
In streaming mode fadecut is ripping audio files using streamripper. The downloaded audio files are cutted using silence detection and then faded in and out. Subsequently, the files are encoded to either ogg or mp3 and tagged with tags (title, artist, genre and comment provided).
In file mode fadecut is just processing already ripped audio files.
An audio file which has already been processed is detected and will not be processed again. Not desired songs can be stored in a separate directory. This files are not processed anymore too.
FOLDERS
fadecut is working with some standard folders. You may change them in your profile or fadecutrc
done/ here you put all your songs which were already processed by fadecut and which you want to keep. See also new/ folder.
dontlike/ in this folder you may put songs which you don’t like. Fadecut is checking this folder before it is processing new files in the working folder. Null size files are ok.
error/ whenever an error occurs while fadecut is processing a file, that file is moved to the error folder for later examining.
incomplete/ this folder is created by streamripper. All not fully ripped songs are saved here.
new/ processed songs are going here. Usually you may rip and process files with fadecut, they are going in to new/ folder, you listen to them and put good songs to the done/ folder.
orig/ if you want to keep the original file (which is ripped by stream-ripper), you may use the -k option. fadecut is putting the ripped files untouched into that folder.
OPTIONS
-c Create a new profile
-e Edit an existing profile
-l list all existing profiles
-i optional input
-o optional output
-k optional to keep the untouched original song in the /orig folder
-d Debug: -d 0|1|2|3 (level 0 is standard, -d without number is like 1)
-h Show this message
-p Profile
-q Quiet
-r Stream (and rip), start streamripper
-t add Timestamp to the Filename
-v Verbose
VARIABLES
URL to stream
-
STREAM_URL="http://streamurl"
Preferred destination fileformat. (opus/ogg/mp3)
-
ENCODING=ogg
Processed files will get the above genre.
-
GENRE="SwissPop"
Processed files will get the above comment.
-
COMMENT="Radio Swiss Pop"
Cut seconds off the file in the beginning.
-
TRIM_BEGIN=0
Cut seconds off the file at the end.
-
TRIM_END=0
Fade in for seconds.
-
FADE_IN=1
Fade out for seconds.
-
FADE_OUT=4
Set the user-agent used by streamripper
-
USER_AGENT="Streamripper/1.x"
EXAMPLES
Create a new ripping profile
-
fadecut -c test
Edit/update profile test
-
fadecut -e test
Rip, cut and fade in-/out with profile test
-
fadecut -p test -r
Only cut and fade in-/out without ripping from livestream
-
fadecut -p test
SEE ALSO
id3v2(1), oggenc(1), opusenc(1), sox(1), streamripper(1), lame(1)
FILES
~/.fadecut/fadecutrc is the main fadecut configuration file, executed with every start of fadecut.
Content of fadecutrc # which files to work on FILES=*.mp3
-
# target format [ogg/mp3]ENCODING=mp3# --- Defaults for the profiles ---# trim n seconds at beginningTRIM_BEGIN=0# trim n seconds at end of songTRIM_END=0# seconds to fade inFADE_IN=0# seconds to fade outFADE_OUT=0# --- Directories ---# main directory of fadecutPWD=$(pwd)# where to write logfilesLOGDIR=/tmp# profiledirPROFILEDIR="$HOME/.fadecut"# workdirWORKDIR="$PWD"# where to put fadecut'ted filesOUTPUTDIR="$PWD/new"# where to put original filesORIGDIR="$PWD/orig"# here the user puts finished files, which are# tested and listenedDONEDIR="$PWD/done"# here are songs we don't likeDONTLIKEDIR="$PWD/dontlike"# files had an errorERRORDIR="$PWD/error"# here to put temporary filesTMPDIR=/tmp# --- Other options ---# enqueue to rhythmbox or vlcENQUEUE=0# keep or don't keep original filesKEEPORIG=1# debug level 0-3DEBUG=0# verbosity levelVERBOSE=1# loop interval in secondsLOOP_INTERVAL=10# restart interval streamripperRESTART_STREAMRIPPER_INTERVAL=900# start streamripper [0/1]STREAMRIPPER_START=0# streamripper useragentUSER_AGENT="Streamripper/1.x"# streamripper optionsSTREAMRIPPER_OPTS="-o always -T"
~/.fadecut/statslog.csv is the statistics file.
-
Contains a table of processed filesFormat:Date dd.mm.yyyy;Time hh:mm:ss;Artist;Songtitle;Genre;profile;fadecut-task;filenameExample:09.05.2014;10:14:54;Androcell;Hindu Kush;Lounge;alounge;processing;androcell_-_hindu_kush.ogg
~/.fadecut/profiles is the folder where all profiles are located.
To create a profile file
-
fadecut -c myradiostation
Settings in the profile file
-
# url to the radio stream:STREAM_URL="http://streamurl"# mp3-genre which will be written to the downloaded mp3-filesGENRE="Pop"# comment which will be written to the downloaded mp3-filesCOMMENT="Radio station comment"# how many seconds to fade in the songFADE_IN=1# how many seconds to fade out the songFADE_OUT=4# how many seconds to cut from the beginning of the songTRIM_BEGIN=0# how many seconds to cut at the end of the songTRIM_END=0
RESOURCES
fadecut git website: https://github.com/fadecut/fadecut
AUTHORS
Martin Gafner, Marco Balmer.