Files @ a78e77f9aa66
Branch filter:

Location: light9/bin/wavecurve

David McClosky
keyboardcomposer: some corner buttons change row now
#!/usr/bin/env python
import os, sys, optparse
import run_local
from light9.wavepoints import simp


def createCurve(inpath, outpath, t):
    print "reading %s, writing %s" % (inpath, outpath)
    points = simp(inpath, 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", action="store_true",
                  help="make standard curves for all songs")
options,args = parser.parse_args()


if options.a:
    from light9 import showconfig
    from light9.namespaces import L9
    from rdflib import RDF
    graph = showconfig.getGraph()
    for song in graph.subjects(RDF.type, L9['Song']):
        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)