Hannah Davis is a programmer and generative musician based in NYC. Her work falls along the lines of music generation, data sonification, artificial intelligence, and sentiment analysis. For a few years now she has been working on an algorithm called TransProse, which identifies emotions in a piece of text and translates it into a musical piece with a similar emotional tone. A human-computer collaboration, where she analyzed the sentiment of articles talking about technology over time, was recently performed by an orchestra at The Louvre.

Hannah is currently working on creating unique datasets for art and machine learning, and is also working on a project to generatively score films. Through her work on emotions in AI, she’s become particularly interested in the idea of "subjective data" and has recently started further research into this area. She is a 2017 AI Grant recipient.
Invisible Structures in Music and Machine Learning

Hannah will present a number of creative projects that apply machine learning to art, music, and emotion. Through this process she will seek to identify and interrogate the invisible relational structures that give these works meaning, and explore new narratives to reframe the way we think about machine learning more broadly.

Workshop: Friendly Machine Learning with ml5.js! -sold out


Folks are really interested in Machine Learning these days. But where do you start? How do you jump in? This workshop on ml5.js with the amazing Hannah Davis is how. ml5.js is a project maintained at NYU ITP by a community of teachers, residents and students. Last year at Eyeo Hannah actually publicly announced the release of ml5.js at the end of her talk. (She and also ran a great workshop on ‘turning data into sound and music’.) So we’re bringing her back to help you jump into ML with this workshop.


ml5.js aims to make machine learning approachable for a broad audience of artists, creative coders, and students. The library provides access to machine learning algorithms and models in the browser, building on top of TensorFlow.js with no other external dependencies. ml5.js is a friendly high level interface to TensorFlow.js, a library for handling GPU-accelerated mathematical operations and memory management for machine learning algorithms. ml5.js provides immediate access in the browser to pre-trained models for detecting human poses, generating text, styling an image with another, composing music, pitch detection, and common English language word relationships. Additionally, ml5.js provides an API for training new models based on pre-trained ones as well as training from custom user data from scratch.

We'll do an overview of machine learning - what it is, why it's so popular right now, and a light introduction of how it works. Then, we'll use ml5.js to use machine learning to create a large range of fun programs, such as generating text, creating interactive experiences with pose estimation, transferring the style of an image to another image, and more!


Familiarity with p5.js would be helpful, but not essential.

- cover machine learning and introduce core concepts
- cover how ml5.js can be used in computer vision, generative art, music and audio, and many other types of projects
- implement a selection of ml5.js programs
- address how to go further, including how to train your own model and collect your own data

• personal laptop
• headphones

• install ml5 together in the workshop https://ml5js.org/