/examples/videx/vreverse.py

http://echo-nest-remix.googlecode.com/ · Python · 48 lines · 34 code · 6 blank · 8 comment · 8 complexity · 1746dfbe7ca589cae67ca32524e1925c MD5 · raw file

  1. #!/usr/bin/env python
  2. # encoding: utf-8
  3. """
  4. vreverse.py
  5. Created by Ben Lacker on 2009-06-19.
  6. Copyright (c) 2009 __MyCompanyName__. All rights reserved.
  7. """
  8. import sys
  9. import os
  10. from echonest import video
  11. usage = """
  12. Usage:
  13. python vreverse.py <beats|tatums> <inputFilename> <outputFilename>
  14. Example:
  15. python vreverse.py beats YouCanCallMeAl.mpg AlMeCallCanYou.mpg
  16. """
  17. def main(toReverse, inputFilename, outputFilename):
  18. if inputFilename.startswith("http://"):
  19. av = video.loadavfromyoutube(inputFilename)
  20. else:
  21. av = video.loadav(inputFilename)
  22. if toReverse == 'tatums':
  23. chunks = av.audio.analysis.tatums
  24. elif toReverse == 'beats':
  25. chunks = av.audio.analysis.beats
  26. chunks.reverse()
  27. out = video.getpieces(av, chunks)
  28. out.save(outputFilename)
  29. if __name__ == '__main__':
  30. try :
  31. toReverse = sys.argv[1]
  32. inputFilename = sys.argv[2]
  33. outputFilename = sys.argv[3]
  34. except :
  35. print usage
  36. sys.exit(-1)
  37. if not toReverse in ["beats", "tatums"]:
  38. print usage
  39. sys.exit(-1)
  40. main(toReverse, inputFilename, outputFilename)