The Voice Memo Graveyard: Building a Second Brain for Musicians with Python

Pablo Diéguez

Pablo Diéguez

Day 2 • Sun, Oct 18
13:20 - 13:50
Location
R2
Language
English
Category • Level
Application • Medium

Every musician has a phone full of voice memos — riffs, lyric ideas, rough melodies that rarely become finished songs. Keep Audio XYZ uses Python to help musicians organize and reconnect their own ideas, not generate new ones.

This talk walks through building a lightweight second brain for songwriters on FastAPI, SQLite, and local Whisper — following a musical idea from upload through transcription, metadata tagging, deterministic matching, and song-seed creation.

Along the way, we explore why semantic similarity alone was not enough for matching musical ideas, what breaks when CPU-bound ML inference runs inside an async web framework, and why some bottlenecks live below Python entirely.

Attendees leave with concrete lessons on local AI integration, data modeling, and building systems around real creative workflows.

Description

Keep Audio XYZ is a web platform that helps musicians turn fragmented voice memos into structured song ideas. Rather than generating music, the system focuses on organizing and connecting what musicians already have.

The talk follows a musical idea through the full system lifecycle:

  1. Audio upload and local Whisper transcription
  2. User-driven metadata tagging and domain modeling (Idea → SongSeed → Song)
  3. Deterministic matching engine and song-seed generation

Along the way, several engineering tradeoffs are examined:

  • Why a single FastAPI + SQLite monolith running on an Oracle Cloud VM was chosen deliberately over distributed infrastructure during the MVP stage.
  • Why explainable deterministic similarity beats embeddings when your domain has explicit structure.
  • How deterministic scoring with explicit Python logic works by modeling musical constraints, providing more predictable behavior.
  • What breaks when CPU-bound ML inference runs inside async web frameworks. We will cover purely Pythonic deployment gotchas: how async def inadvertently blocks uvicorn workers during ML inference (and how to fix it), plus navigating Python 3.8 vs 3.12+ type-hinting mismatches when moving from local development to cloud VMs.

The talk is based on real implementation tradeoffs discovered while building and deploying the system as a solo developer. Attendees will walk away with explicit takeaways and patterns they can reuse in their own small Python monoliths.

Pablo Diéguez
Pablo Diéguez

Machine Learning Engineer from 🇪🇸 Spain, currently based in 🇹🇼 Taiwan and working in the semiconductor industry. Background in Electronic Engineering and Computer Science, with experience across Spain, Portugal, China, and Taiwan working on machine learning systems, fraud detection, behavioral analytics, AI music generation, and audio hardware projects. Interested in the intersection of machine learning, creative systems, music, and real-world engineering. Outside work, I play guitar, study Mandarin, and enjoy building technical and creative projects.

Related Speeches