diff --git a/scripts/generate-test-files.py b/scripts/generate-test-files.py new file mode 100644 index 0000000..eae2459 --- /dev/null +++ b/scripts/generate-test-files.py @@ -0,0 +1,66 @@ +import os, subprocess +from os import listdir +from os.path import isfile, join +from optparse import OptionParser + +usage = "usage: %prog [options] SONGS_PATH DESTINATION_FOLDER" +parser = OptionParser(usage=usage, version="%prog 1.1") + +parser.add_option("-s", "--start", + action="store", + dest="start_time", + type=int, + default=10, + metavar="X", + help='Test files begin on X sec of the original song' + ) + +parser.add_option("--test-seconds", + action="append", + dest="test_seconds", + type=int, + default=[], + metavar="X", + help='Sets the seconds of the test files' + ) + +parser.add_option("--audio-format", + action="append", + dest="audio_formats", + default=[], + metavar="FORMAT", + help='Sets audio formats of files to read' + ) + + +(options, args) = parser.parse_args() + +if len(args) != 2: + parser.error("wrong number of arguments") + +if args[0][len(args[0])-1] != "/": + args[0] += "/" + +if args[1][len(args[1])-1] != "/": + args[1] += "/" + +print "coisa : ", args[1] + +if len(options.test_seconds) == 0: + options.test_seconds = [1,2,3,4,5,6,7,8,9,10] + +if len(options.audio_formats) == 0: + options.audio_formats = ['wav','mp3'] + +test_files = [ f for f in listdir(args[0]) if isfile(join(args[0],f)) and + os.path.splitext(f)[len(os.path.splitext(f))-1][1:] in options.audio_formats ] + +for file in test_files: + + filename = os.path.basename(file) + filename,extension = os.path.splitext(filename) + + for i in options.test_seconds: + + test_file_name = "%s%s_%s_%ssec%s" % (args[1],filename,options.start_time,i,extension) + subprocess.check_output(["ffmpeg", "-ss", "%s" % options.start_time, '-t' , "%s" % i, "-i", args[0]+file, test_file_name])