This week marked the start of the final project for this unit, which involves developing an interactive machine learning artwork using ml5.js. We were given the option to either train a new model or use an existing one. Diana shared several example projects and links to the ml5.js documentation, which I found particularly helpful for understanding the range of possibilities and technical approaches available.
After exploring different examples, I decided to work with sound and focus on sound classification. I was inspired by the speechcommand18w example, as I liked the idea of creating an artwork that responds directly to spoken input. Through further research, I realised that I would need to train my own model to suit my specific set of words. I used Google’s Teachable Machine to create and train the model, which I found relatively straightforward and accessible, even with limited prior experience in training machine learning models.


Once the model was trained, I integrated it into my project by following a walkthrough from the ml5.js website, adapting the example code to load my custom model instead of the provided one. My aim was for the project to recognise a set of predefined spoken words, display the detected word on screen, and play an associated audio response. While the walkthrough provided a strong starting point, I needed to independently modify the styling, formatting, and logic, as the example assumed a larger set of labels than my model used.
const options = { probabilityThreshold: 0.3 };
classifier = ml5.soundClassifier(
"https://teachablemachine.withgoogle.com/models/uRBdnMMu7/",
options
);
}
I became very engaged with this project and was able to complete a working version within the same week. I am really pleased with the final outcome, as it behaves as intended and feels interactive and responsive. Next week, I plan to attempt the bonus goal by exploring how React could be incorporated, and I may also expand my dataset by adding more training samples to improve the model’s prediction accuracy.

