April Music Player

Music player for language learners

April Music Player

My proudest project - a full-featured music player.

Features:

- Precise lyric synchronization

- Note-taking tied to lyrics

- Vocabulary tracking

- Custom waveform visualization

Screenshots

April Music Player screenshot 1

Main player interface with synchronized lyrics

April Music Player screenshot 2

Note-taking feature with timestamped comments

System Architecture

1. Presentation Layer (PyQt UI) 2. Application Layer (Core logic) 3. Service Layer (Audio processing) 4. Data Access Layer (SQLite)

Technology Stack

  • PythonCore application
  • PyQtGUI framework
  • SQLiteLocal storage
  • FFmpegAudio processing

Challenges

  • Millisecond-precise lyric sync
  • Memory management for large libraries
  • Cross-platform compatibility

Solutions

  • Custom timing algorithms
  • Lazy-loading system
  • Platform abstraction layers

Lessons Learned

Separation of UI and business logic

Python performance optimization

Cross-platform development