Goal:
Develop an embedded machine learning system on BeagleBoard that leverages Differentiable Logic (DiffLogic) for real-time interactive music creation and environment sensing. The system will enable on-device learning, fine-tuning, and efficient processing for applications in new interfaces for musical expression (see http://nime.org).
Hardware Skills:
Audio and sensor IO with http://bela.io
Software Skills:
Machine learning, deep learning, BB PRU programming
Possible Mentors:
@jarm, Chris Kiefer (see bios and links below)
Expected size of project:
350 hour
Rating:
medium
Upstream Repository:
Early experiments using DiffLogic on Bela: GitHub - jarmitage/DiffLogicBela: Differentiable logic gate networks on Bela Platform
See also examples of compiled models deployed on RP2040: uSEQ/uSEQ at main · lnfiniteMonkeys/uSEQ · GitHub
References:
- Deep Differentiable Logic Gate Networks [2210.08277] Deep Differentiable Logic Gate Networks
- Embedded AI for NIME Workshop 2022 https://embedded-ai-for-nime.github.io/
- Agential Instrument Design Workshop AIMC 2023 Agential Instruments Design Workshop · AIMC 2023
Project Overview
This project seeks to explore the potential of embedded AI, specifically using Differentiable Logic (DiffLogic) for NIME, by creating a system that can perform tasks like machine listening, sensor processing, sound and gesture classification, and generative AI. The focus will be on leveraging the BeagleBoard’s hardware, specifically its PRU, for fast, efficient processing of tasks like FFT and MFCC calculations for real-time interactive applications.
Objectives
- Develop a framework for embedding DiffLogic models on BeagleBoard for real-time audio, sensing and other creative AI tasks.
- Create examples of machine listening, using the PRU for fast FFT and MFCC processing.
- Implement sensor processing, sound and gesture classification algorithms using embedded AI.
- Explore other possible applications and make interactive demos to share with the community (see Usage Scenarios).
Possible Usage Scenarios
- Learning or fine-tuning on-device
- Pre-process training on Beagle’s PRU / PIO
- Machine listening, Sound classification, Gesture classification
- Sound-gesture mapping via interactive machine learning (see Wekinator)
- Generative AI, logic-based VAE (How to represent continuous numbers)
- Integer randomness - parameterised integer distributions
- Computer vision - QR code hacking
- Neural cellular automatas Growing Neural Cellular Automata
Expected Outcomes
- GitHub repo
- Documentation in the form of Python notebooks, Bela examples, and more
- Demos of real-world usage in musical and artistic contexts of your choosing
- Possibly a conference paper submission depending on progress (see our last GSOC project publication here: Bela-IREE: An Approach to Embedded Machine Learning for Real-Time Music Interaction · AIMC 2023)
Potential Challenges
- PRU programming
- Ensuring models are efficient enough for real-time performance on embedded systems (see Real-time audio programming 101: time waits for nothing)
- Developing intuitive interfaces for interacting with AI-driven musical and sensing applications.
Community and Educational Benefits
- This project will contribute to the NIME and embedded AI communities by providing a novel approach to integrating advanced AI models into interactive music and environmental sensing applications, expanding the possibilities for artists, musicians, and developers.
Mentorship and Collaboration
We welcome additional mentors from the community who are interested in this project!
Mentor backgrounds:
-
Dr Jack Armitage (jack@lhi.is), Intelligent Instruments Lab, University of Iceland: I am a postdoctoral research fellow at the Intelligent Instruments Lab. I have a doctorate in Media and Arts Technologies from Queen Mary University of London, where I studied in Prof. Andrew McPherson’s Augmented Instruments Lab. During my PhD I was a Visiting Scholar at Georgia Tech under Prof. Jason Freeman. Before then, I was a Research Engineer at ROLI after graduating with a BSc in Music, Multimedia & Electronics from the University of Leeds. My research interests include embodied interaction, craft practice and design cognition. I also produce, perform and live code music as Lil Data, as part of the PC Music record label. Website: https://jackarmitage.com, Code: jarmitage (Jack Armitage) · GitHub.
-
Dr Chris Kiefer (C.Kiefer@sussex.ac.uk), EMUTE Lab, University of Sussex: I am a musician and musical instrument designer, specialising in musician-computer interaction, physical computing, and machine learning. Currently my research focuses on feedback (or multistable) musicianship, machine learning and livecoding. I co-ran the AHRC Feedback Musicianship Network, and I was recently awarded an AHRC Fellowship grant, Musically Embodied Machine Learning. I’m also involved in projects on robot music theatre and ecoacoustics. My main approach to research is to learn from building and performing with new musical instruments, both through my own experience, and through engaging in participatory design projects with others. Recent instruments I have developed include The Nalima, a membrane-based feedback instrument, and the Feedback Cello, a hacked cello based on the halldorophone. I’m also very interested in analogue/hybrid sound synthesis, and have been developing a eurorack module for livecoding, uSEQ. Underpinning my research is a focus on complex and dynamical systems, and signal processing with machine learning. Website: http://luuma.net, Code: chriskiefer (Chris Kiefer) · GitHub.