[PR #110] [MERGED] Add FLAC Audio Quality Analyzer with Spectrum Visualization #518

Closed
opened 2026-02-27 19:04:12 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/afkarxyz/SpotiFLAC/pull/110
Author: @Lukas200301
Created: 11/25/2025
Status: Merged
Merged: 11/25/2025
Merged by: @afkarxyz

Base: mainHead: main


📝 Commits (1)

  • b7b2065 Add FLAC audio quality analysis and spectrum visualization

📊 Changes

12 files changed (+1145 additions, -0 deletions)

View changed files

📝 app.go (+49 -0)
backend/analysis.go (+181 -0)
📝 backend/folder.go (+28 -0)
backend/spectrum.go (+205 -0)
frontend/src/components/AudioAnalysis.tsx (+161 -0)
frontend/src/components/AudioAnalysisDialog.tsx (+143 -0)
📝 frontend/src/components/Header.tsx (+2 -0)
frontend/src/components/SpectrumVisualization.tsx (+275 -0)
frontend/src/hooks/useAudioAnalysis.ts (+60 -0)
📝 frontend/src/types/api.ts (+27 -0)
📝 go.mod (+4 -0)
📝 go.sum (+10 -0)

📄 Description

Add FLAC Audio Quality Analyzer with Spectrum Visualization

🎯 What's New

Audio quality analyzer that verifies true lossless quality of FLAC files with detailed technical metrics and frequency spectrum visualization.

Key Features:

  • 📊 Technical analysis: sample rate, bit depth, channels, dynamic range, peak/RMS levels
  • 🎨 Real-time spectrogram with enhanced color gradient visualization
  • 🔍 Support for 44.1kHz to 384kHz+ sample rates
  • 💾 File selection dialog integrated into header

🔧 Technical Details

Backend:

  • Custom FFT implementation (Cooley-Tukey, 8192 samples, Hann windowing)
  • New files: backend/analysis.go, backend/spectrum.go
  • Efficient processing: 10M sample limit for memory optimization

Frontend:

  • New components: AudioAnalysisDialog, AudioAnalysis, SpectrumVisualization
  • Canvas-based 1600x800 spectrogram with dynamic frequency scaling
  • Custom useAudioAnalysis hook for state management

📦 Dependencies

  • Added: github.com/mewkiz/flac v1.0.13
  • Auto-resolved: icza/bitio, mewkiz/pkg, mewpkg/term

📝 Files Changed

  • Added: 7 files (~1025 lines)
  • Modified: app.go, backend/folder.go, Header.tsx, types/api.ts

Parent: ddf1844 (v6.2)


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/afkarxyz/SpotiFLAC/pull/110 **Author:** [@Lukas200301](https://github.com/Lukas200301) **Created:** 11/25/2025 **Status:** ✅ Merged **Merged:** 11/25/2025 **Merged by:** [@afkarxyz](https://github.com/afkarxyz) **Base:** `main` ← **Head:** `main` --- ### 📝 Commits (1) - [`b7b2065`](https://github.com/afkarxyz/SpotiFLAC/commit/b7b2065d362833720929f603e91a174da6289b90) Add FLAC audio quality analysis and spectrum visualization ### 📊 Changes **12 files changed** (+1145 additions, -0 deletions) <details> <summary>View changed files</summary> 📝 `app.go` (+49 -0) ➕ `backend/analysis.go` (+181 -0) 📝 `backend/folder.go` (+28 -0) ➕ `backend/spectrum.go` (+205 -0) ➕ `frontend/src/components/AudioAnalysis.tsx` (+161 -0) ➕ `frontend/src/components/AudioAnalysisDialog.tsx` (+143 -0) 📝 `frontend/src/components/Header.tsx` (+2 -0) ➕ `frontend/src/components/SpectrumVisualization.tsx` (+275 -0) ➕ `frontend/src/hooks/useAudioAnalysis.ts` (+60 -0) 📝 `frontend/src/types/api.ts` (+27 -0) 📝 `go.mod` (+4 -0) 📝 `go.sum` (+10 -0) </details> ### 📄 Description # Add FLAC Audio Quality Analyzer with Spectrum Visualization ## 🎯 What's New Audio quality analyzer that verifies true lossless quality of FLAC files with detailed technical metrics and frequency spectrum visualization. **Key Features:** - 📊 Technical analysis: sample rate, bit depth, channels, dynamic range, peak/RMS levels - 🎨 Real-time spectrogram with enhanced color gradient visualization - 🔍 Support for 44.1kHz to 384kHz+ sample rates - 💾 File selection dialog integrated into header ## 🔧 Technical Details **Backend:** - Custom FFT implementation (Cooley-Tukey, 8192 samples, Hann windowing) - New files: `backend/analysis.go`, `backend/spectrum.go` - Efficient processing: 10M sample limit for memory optimization **Frontend:** - New components: `AudioAnalysisDialog`, `AudioAnalysis`, `SpectrumVisualization` - Canvas-based 1600x800 spectrogram with dynamic frequency scaling - Custom `useAudioAnalysis` hook for state management ## 📦 Dependencies - Added: `github.com/mewkiz/flac v1.0.13` - Auto-resolved: `icza/bitio`, `mewkiz/pkg`, `mewpkg/term` ## 📝 Files Changed - **Added:** 7 files (~1025 lines) - **Modified:** `app.go`, `backend/folder.go`, `Header.tsx`, `types/api.ts` --- **Parent:** ddf1844 (v6.2) --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-02-27 19:04:12 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/SpotiFLAC#518
No description provided.