Everyone is talking about Artificial Intelligence(AI) and Machine Learning(ML) and I beginning to investigate how it may shape the way we design musical instruments. First let’s get the terminology straight, AI and Machine Learning are not the same thing, although many use the words interchangeably.
Artificial Intelligence is a large umbrella term for when computing could be perceived as thinking autonomously. Under the umbrella of this term are concepts like computer vision, pattern recognition – like facial and speech recognition, generative creativity, natural language processing and yes, you guessed it, machine learning.
Machine Learning is one of the ways we may achieve AI. Machine learning relies on working with large data-sets, by examining and comparing the data to find common patterns and explore nuances.
Machine learning is the study of computer algorithms that improve automatically through experience.Former Chair of the Machine Learning Department at Carnegie Mellon University, Tom M. Mitchell
My first foray into Machine Learning was taking a fantastic online course by Rebecca Fiebrink called Machine Learning for Artists and Musicians. I highly recommend the course if you’re interested in the topic and the way the course is structured provides a solid understanding and practical working knowledge of machine learning.
Next I chose to build Google’s open source project NSynth with some of my students over the past summer and I’m finally getting around to understanding it and playing around with it. Their team did a great job of documenting how to build it using, yes, a Raspberry Pi. Instructions on how to build it are on the NSynth Github.
According the Magenta team that build the NSynth:
NSynth uses deep neural networks to generate sounds at the level of individual samples. Learning directly from data, NSynth provides artists with intuitive control over timbre and dynamics, and the ability to explore new sounds that would be difficult or impossible to produce with a hand-tuned synthesizer.
NSynth is an algorithm that can generate new sounds by combining the features of existing sounds. To do that, the algorithm takes different sounds as input.
The Magenta team from Google also have some great open source tools that are worth exploring. More on that later…