Back to selected work

Flagship project

GuitarSense

An end-to-end desktop guitar practice platform that brings real-time audio processing, tablature, practice feedback and media workflows into a single application.

  • Desktop application
  • TÜBİTAK 2209-A supported
  • Windows beta
  • Electron + Python
GuitarSense Practice View with tablature, playback controls and practice feedback

My role

I designed and implemented the application’s core software systems, including the Electron interface, Python audio-engine integration, practice tooling, runtime packaging, performance work and security hardening.

Overview

Guitar practice often requires separate tools for tablature, amplification, effects, metronome control, media playback and performance feedback. GuitarSense combines these workflows in a desktop application designed around active practice.

The problem

Practice workflows were fragmented across multiple applications. Real-time guitar audio and synchronized tablature needed to coexist without making the interface feel delayed, desktop distribution required Python and native audio dependencies to work outside the development environment, and imported media and project files required clear trust boundaries.

The solution

  • Electron and React desktop interface
  • Python audio engine
  • ZMQ communication between application layers
  • Real-time amp and effects workflow
  • Tablature playback and editing
  • Pitch-aware note validation and practice scoring
  • Tempo and offset alignment
  • Local and YouTube media-import workflows
  • Modular runtime packaging

Key features

Real-time guitar audio

Amp and effects processing through the Python audio engine.

Tablature workspace

Playback, editing, tempo control, offset handling and count-in workflows.

Practice feedback

Pitch-aware note validation, accuracy, score and streak tracking.

Media importing

Local media and YouTube-oriented import workflows.

Desktop packaging

Packaged Windows beta with separated runtime responsibilities.

Safety and recovery

Runtime validation, constrained project-file access and rollback-aware installation.

Product walkthrough

Selected interfaces showing how GuitarSense brings audio, practice and media workflows into one desktop application.

Build and save guitar tones

Custom presets combine output control, tone-analysis settings and an editable effects chain that can be reused during practice.

GuitarSense preset editor with output level and guitar effects chain controls
Custom preset creation with output control and an editable effects chain.

Import without hiding runtime state

Local and YouTube-oriented workflows expose core, live-audio and AI runtime readiness instead of assuming every dependency is already installed.

GuitarSense import screen showing local, YouTube and AI-assisted import options
Local and YouTube-oriented import workflows with separate core, live-audio and AI runtime states.

Architecture

  1. React Renderer
  2. Electron Main Process
  3. ZMQ IPC
  4. Python Audio Engine
  5. PortAudio / ASIO / WASAPI

Runtime separation

  • Core Python
  • Live Runtime
  • AI Runtime Pack

Engineering challenges

Real-time audio and latency

Audio behavior was evaluated across multiple backend and buffer configurations. In a tested 64-sample configuration, the backend reported approximately 6 ms with ASIO and approximately 46 ms with WASAPI.

These are backend-reported values from tested configurations, not laboratory-measured end-to-end round-trip latency.

Practice-view performance

High-frequency playback and accuracy updates initially caused unnecessary rendering work. The practice view was moved toward event-driven updates, throttled realtime data and transform-focused visual movement.

Packaging and runtime management

The desktop build separates core, live-audio and AI runtime responsibilities. Runtime installation includes validation, staging, backup and rollback behavior rather than assuming development-machine dependencies exist.

Security hardening

Navigation, project-media access, runtime resolution and imported files were constrained with fail-closed policies, path validation, containment checks and safer child-process environments.

Test configuration interface

GuitarSense advanced audio settings with backend, device and buffer-size controls
Audio backend, device, buffer-size and synchronization controls used during backend testing.

Results

  • Packaged Windows beta produced
  • TÜBİTAK 2209-A support received
  • Library navigation measured at approximately 35–80 ms after capability caching and duplicate-request reduction
  • Backend-reported audio values of approximately 6 ms with ASIO and 46 ms with WASAPI in tested 64-sample configurations
  • Runtime installation supports validation, backup and rollback behavior