Files @ 4b542d321c8f
Branch filter:

Location: light9/bin/wavecurve - annotation

Drew Perttula
effectnode runs multiple lines of code in dependency order
Ignore-this: 45e7a4f332c6b1e15eefb7bd8a3ed657
#!bin/python
import optparse
import run_local
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 = file(outpath, 'w')
    for time_val in points:
        print >>f, "%s %s" % time_val

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.namespaces import L9
    from rdflib import RDF
    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)