$30 off During Our Annual Pro Sale. View Details »

Cats, The Musical! Algorithmic Song Meow-ification

Cats, The Musical! Algorithmic Song Meow-ification

How are you supposed to sing along with your favorite TV theme song every week if it doesn't have lyrics? At my house, we "meow" along (loudly). We also code, so I built 'Meowifier' to convert any song into a cat's meows. Join me in this exploration of melody analysis APIs and gratuitous cat gifs.
I built an application that takes a song's audio and outputs a new audio file with that song's melody **sung by cats**. It's a technical feat. It's hilarious. It's beautiful. It's a new way to waste time on the internet.

Beth Haubert

August 02, 2018
Tweet

More Decks by Beth Haubert

Other Decks in Programming

Transcript

  1. CATS, THE MUSICAL! ALGORITHMIC
    SONG MEOW-IFICATION
    Beth Haubert

    View Slide

  2. LIGHTBULB
    MOMENT(S)
    @haubertdashery

    View Slide

  3. @haubertdashery
    WTF, BETH?
    @haubertdashery

    View Slide

  4. @haubertdashery
    @haubertdashery
    LISTEN
    TO US!
    @haubertdashery

    View Slide

  5. @haubertdashery
    @haubertdashery
    HOW
    DOES IT
    WORK?

    View Slide

  6. FAMOUS
    MUSICAL
    CATS
    @haubertdashery
    @haubertdashery
    @haubertdashery

    View Slide

  7. @haubertdashery

    View Slide

  8. @haubertdashery
    @haubertdashery
    @haubertdashery
    HISTORICAL
    PRECEDENT

    View Slide

  9. @haubertdashery

    @haubertdashery
    PLUG AND
    PLAY
    CLASSES

    View Slide

  10. TESTING
    @haubertdashery
    @haubertdashery

    View Slide

  11. @haubertdashery
    @haubertdashery
    @haubertdashery
    THREE
    BIG
    CHALLENGES

    View Slide

  12. ⽄THE MELODY⽄
    @haubertdashery

    View Slide

  13. SO…
    WHAT’D
    YOU DO?
    @haubertdashery

    View Slide

  14. FIRST
    TRY…
    @haubertdashery
    @haubertdashery

    View Slide

  15. @haubertdashery

    View Slide

  16. @haubertdashery

    View Slide

  17. @haubertdashery

    View Slide

  18. @haubertdashery
    @haubertdashery
    MIDI
    MAPPING

    View Slide

  19. @haubertdashery
    36 KEYBOARD MAPPING

    View Slide

  20. @haubertdashery
    CONSTANTS

    View Slide

  21. View Slide

  22. @haubertdashery

    View Slide

  23. @haubertdashery

    View Slide

  24. @haubertdashery

    View Slide

  25. @haubertdashery

    View Slide

  26. View Slide

  27. NOTE LENGTH
    @haubertdashery

    View Slide

  28. DO AS
    LITTLE WORK
    AS POSSIBLE
    @haubertdashery

    View Slide

  29. FFMPEG
    @haubertdashery

    View Slide

  30. @haubertdashery

    View Slide

  31. View Slide

  32. @haubertdashery

    View Slide

  33. @haubertdashery

    View Slide

  34. SHORT
    NOTES
    @haubertdashery

    View Slide

  35. note[“duration”] (analyzed note duration)
    note_to_adjust (meow audio file duration)
    0.48 seconds
    1 second
    @haubertdashery

    View Slide

  36. note[“duration”] (analyzed note duration)
    note_to_adjust (meow audio file duration)
    0.46 seconds
    0.48 seconds
    @haubertdashery

    View Slide

  37. LONG
    NOTES
    @haubertdashery

    View Slide

  38. @haubertdashery

    View Slide

  39. note_length (analyzed note duration)
    file_length (meow audio file duration)
    2.46 seconds
    1 second
    @haubertdashery

    View Slide

  40. note_length (analyzed note duration)
    file_length (meow audio file duration)
    2.46 seconds
    1 second 1 second
    1 second
    @haubertdashery

    View Slide

  41. note_length (analyzed note duration)
    file_length (meow audio file duration)
    2.46 seconds
    3 seconds
    @haubertdashery

    View Slide

  42. note_length (analyzed note duration)
    file_length (meow audio file duration)
    2.46 seconds
    2.46 seconds
    @haubertdashery

    View Slide

  43. View Slide

  44. @haubertdashery

    View Slide

  45. @haubertdashery

    View Slide

  46. MEOW LIBRARY
    @haubertdashery

    View Slide

  47. DO,
    RE,
    MI,
    FA,
    SO…
    @haubertdashery

    View Slide

  48. LA,
    TI,
    DOH!
    @haubertdashery

    View Slide

  49. View Slide

  50. EASY
    ROAD
    @haubertdashery

    View Slide

  51. @haubertdashery

    View Slide

  52. @haubertdashery

    View Slide

  53. @haubertdashery

    View Slide

  54. @haubertdashery

    View Slide

  55. THE MOMENT
    YOU’VE ALL BEEN
    WAITING FOR….
    @haubertdashery

    View Slide


  56. @haubertdashery

    View Slide

  57. PROBLEMS
    @haubertdashery
    @haubertdashery
    @haubertdashery

    View Slide

  58. SECOND TRY
    @haubertdashery

    View Slide

  59. RELEASE FORM
    @haubertdashery

    View Slide

  60. @haubertdashery
    @haubertdashery
    THE COMMAND
    @haubertdashery

    View Slide

  61. YAASSS
    QUEEN
    @haubertdashery
    @haubertdashery

    View Slide

  62. NOPE
    @haubertdashery

    View Slide

  63. @haubertdashery
    MELODY EXTRACTION IS HARD
    Jazz Pop Opera
    @haubertdashery

    View Slide

  64. @haubertdashery
    @haubertdashery
    NOPE

    View Slide

  65. View Slide

  66. IS IT
    PERFECT?
    @haubertdashery

    View Slide

  67. WHAT’S NEXT?
    @haubertdashery

    View Slide

  68. SHAZAM!
    @haubertdashery

    View Slide

  69. @haubertdashery

    View Slide

  70. View Slide


  71. HTTPS://GITHUB.COM/BETHANYHAUBERT
    DEV.TO@BETHANYHAUBERT
    BETHANYHAUBERT.COM
    @HAUBERTDASHERY

    View Slide