Mercurial > code > home > repos > light9
diff bin/attic/wavecurve @ 2376:4556eebe5d73
topdir reorgs; let pdm have its src/ dir; separate vite area from light9/
author | drewp@bigasterisk.com |
---|---|
date | Sun, 12 May 2024 19:02:10 -0700 |
parents | bin/wavecurve@3c523c71da29 |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bin/attic/wavecurve Sun May 12 19:02:10 2024 -0700 @@ -0,0 +1,46 @@ +#!bin/python +import optparse +from run_local import log +from light9.wavepoints import simp + + +def createCurve(inpath, outpath, t): + print("reading %s, writing %s" % (inpath, outpath)) + points = simp(inpath.replace('.ogg', '.wav'), seconds_per_average=t) + + f = open(outpath, 'w') + for time_val in points: + print("%s %s" % time_val, file=f) + log.info(r'Wrote {outpath}') + + +parser = optparse.OptionParser(usage="""%prog inputSong.wav outputCurve + +You probably just want -a + +""") +parser.add_option("-t", + type="float", + default=.01, + help="seconds per sample (default .01, .07 is smooth)") +parser.add_option("-a", + "--all", + action="store_true", + help="make standard curves for all songs") +options, args = parser.parse_args() + +if options.all: + from light9 import showconfig + from light9.ascoltami.playlist import Playlist + graph = showconfig.getGraph() + + playlist = Playlist.fromShow(showconfig.getGraph(), showconfig.showUri()) + for song in playlist.allSongs(): + inpath = showconfig.songOnDisk(song) + for curveName, t in [('music', .01), ('smooth_music', .07)]: + outpath = showconfig.curvesDir() + "/%s-%s" % ( + showconfig.songFilenameFromURI(song), curveName) + createCurve(inpath, outpath, t) +else: + inpath, outpath = args + createCurve(inpath, outpath, options.t)