def main(): usage = "usage: %s [options] <one_single_mp3>" % sys.argv[0] parser = OptionParser(usage=usage) parser.add_option("-o", "--offset", default=0, help="offset where to start counting") parser.add_option("-l", "--low", default=100, help="low tempo") parser.add_option("-H", "--high", default=192, help="high tempo") parser.add_option("-r", "--rate", default=0, help="acceleration rate (try 30)") parser.add_option("-R", "--rubato", default=0, help="rubato on second beat (try 0.2)") parser.add_option("-t", "--tempo", default=0, help="target tempo (try 160)") parser.add_option("-v", "--verbose", action="store_true", help="show results on screen") (options, args) = parser.parse_args() if len(args) < 1: parser.print_help() return -1 verbose = options.verbose # get Echo Nest analysis for this file track = LocalAudioFile(args[0], verbose=verbose) if verbose: print "Waltzifying..." # this is where the work takes place actions = do_work(track, options) if verbose: display_actions(actions) # new name name = os.path.splitext(os.path.basename(args[0])) name = str(name[0] + '_waltz_%d' % int(options.offset) + '.mp3') if verbose: print "Rendering... %s" % name # send to renderer render(actions, name, verbose=verbose) if verbose: print "Success!" return 1
def main(): options, args = get_options(warn=True) actions = do_work(args, options) verbose = bool(options.verbose) if verbose: display_actions(actions) display_songlist(actions) print "Output Duration = %.3f sec" % sum(act.duration for act in actions) print "Rendering..." # Send to renderer #import pdb; pdb.set_trace() render(actions, 'capsule.mp3', verbose) return 1
def main(): usage = "usage: %s [options] <one_single_mp3>" % sys.argv[0] parser = OptionParser(usage=usage) parser.add_option("-d", "--duration", default=DEF_DUR, help="target duration (argument in seconds) default=600") parser.add_option("-m", "--minimum", default=MIN_JUMP, help="minimal loop size (in beats) default=8") parser.add_option("-i", "--infinite", action="store_true", help="generate an infinite loop (outputs a wav file)") parser.add_option("-l", "--length", action="store_true", help="length must be accurate") parser.add_option("-k", "--pickle", action="store_true", help="output graph as a pickle object") parser.add_option("-g", "--graph", action="store_true", help="output graph as a gml text file") parser.add_option("-p", "--plot", action="store_true", help="output graph as png image") parser.add_option("-f", "--force", action="store_true", help="force (re)computing the graph") parser.add_option("-S", "--shortest", action="store_true", help="output the shortest loop") parser.add_option("-L", "--longest", action="store_true", help="output the longest loop") parser.add_option("-v", "--verbose", action="store_true", help="show results on screen") (options, args) = parser.parse_args() if len(args) < 1: parser.print_help() return -1 verbose = options.verbose track = LocalAudioFile(args[0], verbose=verbose) # this is where the work takes place actions = do_work(track, options) if verbose: display_actions(actions) print "Output Duration = %.3f sec" % sum(act.duration for act in actions) # Send to renderer name = os.path.splitext(os.path.basename(args[0])) # Output wav for loops in order to remain sample accurate if bool(options.infinite) == True: name = name[0]+'_'+str(int(options.duration))+'_loop.wav' elif bool(options.shortest) == True: name = name[0]+'_'+str(int(sum(act.duration for act in actions)))+'_shortest.wav' elif bool(options.longest) == True: name = name[0]+'_'+str(int(sum(act.duration for act in actions)))+'_longest.wav' else: name = name[0]+'_'+str(int(options.duration))+'.mp3' if options.verbose: print "Rendering..." render(actions, name, verbose=verbose) return 1
def main(): usage = "usage: %s [options] <one_single_mp3>" % sys.argv[0] parser = OptionParser(usage=usage) parser.add_option("-o", "--offset", default=0, help="offset where to start counting") parser.add_option("-l", "--low", default=100, help="low tempo") parser.add_option("-H", "--high", default=192, help="high tempo") parser.add_option("-r", "--rate", default=0, help="acceleration rate (try 30)") parser.add_option("-R", "--rubato", default=0, help="rubato on second beat (try 0.2)") parser.add_option("-t", "--tempo", default=0, help="target tempo (try 160)") parser.add_option("-v", "--verbose", action="store_true", help="show results on screen") (options, args) = parser.parse_args() if len(args) < 1: parser.print_help() return -1 verbose = options.verbose # get Echo Nest analysis for this file track = LocalAudioFile(args[0], verbose=verbose) if verbose: print "Waltzifying..." # this is where the work takes place actions = do_work(track, options) if verbose: display_actions(actions) # new name name = os.path.splitext(os.path.basename(args[0])) name = str(name[0] + '_waltz_%d' % int(options.offset) +'.mp3') if verbose: print "Rendering... %s" % name # send to renderer render(actions, name, verbose=verbose) if verbose: print "Success!" return 1
def main(): usage = "usage: %s [options] <one_single_mp3>" % sys.argv[0] parser = OptionParser(usage=usage) parser.add_option("-s", "--swing", default=0.33, help="swing factor default=0.33") parser.add_option("-v", "--verbose", action="store_true", help="show results on screen") (options, args) = parser.parse_args() if len(args) < 1: parser.print_help() return -1 verbose = options.verbose track = None track = LocalAudioFile(args[0], verbose=verbose) if verbose: print "Computing swing . . ." # this is where the work takes place actions = do_work(track, options) if verbose: display_actions(actions) # Send to renderer name = os.path.splitext(os.path.basename(args[0])) sign = ('-', '+')[float(options.swing) >= 0] name = name[0] + '_swing' + sign + str(int( abs(float(options.swing)) * 100)) + '.mp3' name = name.replace(' ', '') name = os.path.join(os.getcwd(), name) # TODO: use sys.path[0] instead of getcwd()? if verbose: print "Rendering... %s" % name render(actions, name, verbose=verbose) if verbose: print "Success!" return 1
def main(): usage = "usage: %s [options] <one_single_mp3>" % sys.argv[0] parser = OptionParser(usage=usage) parser.add_option("-s", "--swing", default=0.33, help="swing factor default=0.33") parser.add_option("-v", "--verbose", action="store_true", help="show results on screen") (options, args) = parser.parse_args() if len(args) < 1: parser.print_help() return -1 verbose = options.verbose track = None track = LocalAudioFile(args[0], verbose=verbose) if verbose: print "Computing swing . . ." # this is where the work takes place actions = do_work(track, options) if verbose: display_actions(actions) # Send to renderer name = os.path.splitext(os.path.basename(args[0])) sign = ('-','+')[float(options.swing) >= 0] name = name[0] + '_swing' + sign + str(int(abs(float(options.swing))*100)) +'.mp3' name = name.replace(' ','') name = os.path.join(os.getcwd(), name) # TODO: use sys.path[0] instead of getcwd()? if verbose: print "Rendering... %s" % name render(actions, name, verbose=verbose) if verbose: print "Success!" return 1