Tim’s Status Report (9/26)

Found suitable donor guitar on Facebook Marketplace. Negotiating and planning to purchase this week.

Finalized overall design for the guitar’s fret matrix. Planning to implement in KiCad and order flex PCB after the precise measurements are taken of our guitar neck.

 

Aaqib’s Status Report (9/26)

  • Researched piezo pickups and implementation to analyze drum’s frequency.
  • Considering different methodologies of pickup filtering for quality audio (and also so that I don’t create a crater on the Teensy).
  • Slightly behind schedule; however, I should be able to achieve required implementations which include piezo mounting, wiring and testing along with calibrations.

Team Status Update 9/26

Model Risks:
Low Accuracy or high accuracy with too low latency. This would be mitigated by trying to predict longer into the future. but also risks user changing in the middle of the prediction. However since usecase is for beginners, this should more than likely not be a problem since chords will be predictable.

Fret sensing + Piezo electric sensors:

Complete plan has been finalized. Moved on designing the PCB for the guitar neck and firmware design. Quotation and part finalization will happen this week. Not on schedule, however plan was reworked and we are on schedule according to new plan. The new plan also takes into account better parallelization in work.

Everything else is still on schedule.

Tim: Part A: SoloMuse can reduce the isolation of solo practice by giving a user the felt experience of playing with other musicians, which has a real psychological benefit for motivation and enjoyment. SoloMuse uses embedded electronics inside a physical instrument a user holds against their body. This will be a low-voltage design with no exposed high-current paths. The fret matrix will be sealed/insulated so a broken string or sweat doesn’t create a short. SoloMuse lowers the economic and social barrier to a creative/expressive outlet, which matters most for people who otherwise have no path to it (no access to instruments/lessons/bandmates)

Aaqib: Part B: Considering social factors, it is significant to ensure that the piezo pickups along with the teensy can adapt to different cultural music playing. That is, different playing patterns induce different electrical oscillations that can be really aggressive therefore inducing voltages high enough to destroy the teensy if not carefully filtered. An example with aggressive playing includes the flamenco.

Jai: Part C: In regards to economic factors the product is meant to run locally on a user’s laptop. Thus the barrier to entry for model generation is almost non existent given users have a relatively newer laptop. The guitar is built using a donor guitar. In a high volume production environment, this cost would be more than a regular guitar, but no so much more that it would be out of reach to a normal user. A normal user in theory would be able to go to the store, buy the guitar, download the application and plug it in, letting it work without much hassle. Because of the hardware needed to add to the guitar, it is not feasible to have them install it themselves, but given guitar players often buy multiple guitars for multiple purposes this would not be a problem.

Jai 9/26 Status Report

Began training on custom dataset for next note prediction. Using LightGBM as  model. Trained on all instruments in order to teach the model music theory. Will finetune on guitar specifically after base training reaches acceptable level.

Did research and choose the options I will run tests on for different model options. Features are still up to testing and I will change those more than the model options

Small test result

Progress is on schedule. Plan to finish the larger training and analyze results. Will experiment with many different optimizations and features in order to increase accuracy. Should run many different ablations next week to test accuracy and inference latency.

Ran on the AMD GPUs in the 1305 clusters. Some stats

GPU benchmark matmul throughput bf16 122 TFLOP/s, fp32 1.2 TFLOP/s (~100x gap)
Test suite 16 unit tests all pass on-box
Overfit test 1,000 fixed windows, 3,000 steps loss 18.1 → 0.012; guitar/bass/drum head accuracy 99.8%+
Training slice 18,284 songs, 6,000 steps, 197M tokens (~1 epoch of a 5% slice) held-out loss 1.79, next-note top-1 67.5% (clean), 47.6% (±30ms jitter)

Memory / throughput

Peak VRAM: 7.6 GB of 32 GB (24%)
Step time: 224 ms for batch 32 × 1024 tokens
Training throughput: ~146,000 tokens/s
Model size: 25.9M params (6-layer decoder, RoPE + SwiGLU)
bf16 check: every matmul in forward+backward confirmed bf16, zero fp32 fallback

Tim Status Report 9/19

Researched the MIDI protocol.

Weighed the trade-offs of using a donor guitar versus building our own.

Looked at donor guitar options.

Learned about piezo hex bridge and its installation on an existing guitar.

Research .wav format as an alternate to MIDI evaluating pros and cons of both file formats.

 

Jai Status Report 9/19

Isolated, grabbed and parsed relevant data and dataset into my custom dataset in order to have data to train the prediction model

Currently researching best prediction models for this kind of word to allow for low latency prediction

Waiting on getting compute in order to actually train anything.

Aaqib Status Report (9/19)

Ongoing:

  1. Learning of MIDI language and relevant protocols. As a side, I am also researching on whether it is possible to encode a MIDI note with intensity in some way to further enhance the music quality.
  2. Research on Piezo Pickups
  3. Research on existing MIDI guitars and relevant equipment to model our own equipment with.

SoloMuse Overview

No experience with other instruments, or don’t have anybody to play with? Start playing guitar and SoloMuse will adapt to and play along as if you were creating music with a band!