feat/audio recording#408
Closed
diegohh0411 wants to merge 6 commits into
Closed
Conversation
Adds platformConfig struct with platform-specific ffmpeg input flags for macOS (avfoundation), Linux (pulse), and Windows (dshow). Implements ffmpeg subprocess management: start, stop, pause, resume, cancel with appropriate error handling. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Implements nextAttemptNumber() that scans for existing attempt-N.mp3 files and auto-increments. Adds --force flag to restart numbering from 1. Command parses QID, validates ffmpeg, and will launch TUI (runRecorderTUI added in next task). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Implements recorderModel with bubbletea for audio recording interface. Features: real-time timer (MM:SS), pause/resume (Unix), stop/cancel with file cleanup, platform-aware controls (Windows pause disabled), and styled status display with lipgloss. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds recordCmd to the commands slice in initCommands() after editCmd. Command now appears in help with proper description and --force flag. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds real-time frequency spectrum display during recording using: - Radix-2 Cooley-Tukey FFT (no external deps) - ffmpeg asplit filter: MP3 to file + raw PCM to stdout pipe - Logarithmic band grouping over voice range (80Hz-8kHz) - Colored Unicode block characters with green→red gradient - PCM reader as bubbletea async command for smooth updates Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Removes rainbow colors, uses plain Unicode block characters - Dynamically adjusts number of frequency bands to terminal width via tea.WindowSizeMsg (each band = 2 chars, ~40 bands on 80-col terminal, ~60 on 120-col, etc.) - Logarithmic band grouping still covers voice range (80Hz–8kHz) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Contributor
Author
|
Nvm, this is a feature I'm developing on my own fork. I opened this up by accident. I basically want to add functionality to record myself while I solve the leetcode problems, using LeetGo directly. And I even want LeetGo to talk to LLM providers to transcribe my audio recording & generate an analysis summary using any LeetCode problem's description, my solution & my audio transcription. But I'm still prototyping all of this, so I'll create a proper PR after I've built this & used it myself for a while. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.