Research and find a project (experiments, websites, art installations, games, etc) that creatively utilizes machine learning.
https://experiments.withgoogle.com/ai/drum-machine/view/
What type of machine learning models did the creator use?
The primary machine learning model used in the project is t-SNE, which is utilized to organize thousands of everyday sounds through machine learning.
What data might have been used to train the machine-learning model?
The dataset fed into the model likely consisted of sound samples from everyday objects. Researchers collected thousands of short audio clips from different sources, covering various textures, timbres, and acoustic properties. These sounds could have come from environmental sound databases, user-generated content, or recordings of daily life objects (e.g., breaking glass, typing, snapping fingers, etc.).
Why did the project's creator choose to use this machine-learning model?
t-SNE allows for unsupervised clustering of similar sounds intuitively, and visually organized, enhancing user interaction and creative exploration.
Create a surprising interaction or one inspired by the project you find.
The example code inspired me:https://editor.p5js.org/ml5/sketches/DNbSiIYKB
I was thinking about what other phenomena could be associated with this gesture, and I realized that we typically use two fingers whenever we zoom in on our phones or computers. So, I also created a magnifying glass effect.



https://editor.p5js.org/yh4069/sketches/PZqP3YqUm
let handPose;
let video;
let hands = [];
let pinch = 0;
function preload() {
handPose = ml5.handPose();
}
function setup() {
createCanvas(640, 480);
video = createCapture(VIDEO);
video.size(640, 480);
video.hide();
handPose.detectStart(video, gotHands);
}
function draw() {
image(video, 0, 0, width, height);
if (hands.length > 0) {
let finger = hands[0].index_finger_tip;
let thumb = hands[0].thumb_tip;
let centerX = (finger.x + thumb.x) / 2;
let centerY = (finger.y + thumb.y) / 2;
pinch = dist(finger.x, finger.y, thumb.x, thumb.y);
let magnificationSize = map(pinch, 0, 200, 50, 200);
let magnifiedImage = video.get(centerX - magnificationSize / 2, centerY - magnificationSize / 2, magnificationSize, magnificationSize);
image(magnifiedImage, centerX - magnificationSize / 2, centerY - magnificationSize / 2, magnificationSize * 2, magnificationSize * 2);
}
}
function gotHands(results) {
hands = results;
}